Requires any of the roles: | bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read |
GET | /settings | Get settings for the currently logged in user | Get settings for the currently logged in user. |
---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
class ScheduleViewResponse implements JsonSerializable
{
public function __construct(
/** @var int */
public int $Id=0,
/** @var string|null */
public ?string $Name=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Id'])) $this->Id = $o['Id'];
if (isset($o['Name'])) $this->Name = $o['Name'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Id)) $o['Id'] = $this->Id;
if (isset($this->Name)) $o['Name'] = $this->Name;
return empty($o) ? new class(){} : $o;
}
}
class WeekNumberSettingResponse implements JsonSerializable
{
public function __construct(
/** @var int */
public int $Id=0,
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $Description=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Id'])) $this->Id = $o['Id'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['Description'])) $this->Description = $o['Description'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Id)) $o['Id'] = $this->Id;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->Description)) $o['Description'] = $this->Description;
return empty($o) ? new class(){} : $o;
}
}
class BookingTemplateResponse implements JsonSerializable
{
public function __construct(
/** @var int */
public int $Id=0,
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $Description=null,
/** @var string|null */
public ?string $UsedByApplication=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Id'])) $this->Id = $o['Id'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['Description'])) $this->Description = $o['Description'];
if (isset($o['UsedByApplication'])) $this->UsedByApplication = $o['UsedByApplication'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Id)) $o['Id'] = $this->Id;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->Description)) $o['Description'] = $this->Description;
if (isset($this->UsedByApplication)) $o['UsedByApplication'] = $this->UsedByApplication;
return empty($o) ? new class(){} : $o;
}
}
class CalendarTypeResponse implements JsonSerializable
{
public function __construct(
/** @var int */
public int $Id=0,
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $Description=null,
/** @var bool|null */
public ?bool $Active=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Id'])) $this->Id = $o['Id'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['Description'])) $this->Description = $o['Description'];
if (isset($o['Active'])) $this->Active = $o['Active'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Id)) $o['Id'] = $this->Id;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->Description)) $o['Description'] = $this->Description;
if (isset($this->Active)) $o['Active'] = $this->Active;
return empty($o) ? new class(){} : $o;
}
}
class BookingStatusOptions implements JsonSerializable
{
public function __construct(
/** @var int */
public int $Id=0,
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $Description=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Id'])) $this->Id = $o['Id'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['Description'])) $this->Description = $o['Description'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Id)) $o['Id'] = $this->Id;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->Description)) $o['Description'] = $this->Description;
return empty($o) ? new class(){} : $o;
}
}
class FreeSpotTextsResponse implements JsonSerializable
{
public function __construct(
/** @var int */
public int $Id=0,
/** @var string|null */
public ?string $TextSingular=null,
/** @var string|null */
public ?string $TextPlural=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Id'])) $this->Id = $o['Id'];
if (isset($o['TextSingular'])) $this->TextSingular = $o['TextSingular'];
if (isset($o['TextPlural'])) $this->TextPlural = $o['TextPlural'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Id)) $o['Id'] = $this->Id;
if (isset($this->TextSingular)) $o['TextSingular'] = $this->TextSingular;
if (isset($this->TextPlural)) $o['TextPlural'] = $this->TextPlural;
return empty($o) ? new class(){} : $o;
}
}
class SettingResponse implements JsonSerializable
{
public function __construct(
/** @var string */
public string $CompanyId='',
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $BookingStatusId=0,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $ScheduleViewId=0,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $BookingTemplateId=0,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $CalendarTypeId=0,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $AllowBookingOnUnbookedTimes=null,
/** @description */
// @DataMember(Name="SendEmailReminder")
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $SendEmailReminder=null,
/** @description */
// @DataMember(Name="SendSmsReminder")
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $SendSmsReminder=null,
/** @description */
// @DataMember(Name="SendEmailConfirmation")
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $SendEmailConfirmation=null,
/** @description */
// @DataMember(Name="SendSmsConfirmation")
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $SendSmsConfirmation=null,
/** @description 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 string|null */
public ?string $MessageText=null,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $EmailReminderTime=0,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $SmsReminderTime=0,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $MaxActiveBookings=0,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $SendNotifications=null,
/** @description */
// @ApiMember(DataType="string", Description="")
/** @var string|null */
public ?string $SendNotificationsEmail=null,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $EnableMobileApp=null,
/** @description */
// @ApiMember(Description="")
/** @var DateInterval|null */
public ?DateInterval $ScheduleStartTime=null,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var DateInterval|null */
public ?DateInterval $ScheduleEndTime=null,
/** @description 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 bool|null */
public ?bool $ScheduleGroupResources=null,
/** @description 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 bool|null */
public ?bool $SchedulerDisableHorizontalScrolling=null,
/** @description */
// @ApiMember(DataType="string", Description="")
/** @var string|null */
public ?string $ReceiptTemplate=null,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $ScheduleTimeSlotMinutes=0,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $ShowFreeTimesLeft=null,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $FreeSpotTextsId=0,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $EnableICalGroupBookings=null,
/** @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# */
// @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 string|null */
public ?string $AgreementTemplate=null,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $ScheduleShowTimeExeptions=null,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $EnableBookingsOnSameTime=null,
/** @description */
// @ApiMember(DataType="int", Description="")
/** @var int */
public int $ShowWeekNumberSettingId=0,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $EnableShowBookedTimes=null,
/** @description */
// @ApiMember(DataType="", Description="")
/** @var int|null */
public ?int $BookSpotUserResponseMinutes=null,
/** @description */
// @ApiMember(DataType="", Description="")
/** @var bool|null */
public ?bool $IsBookSpotDirectly=null,
/** @description */
// @ApiMember(DataType="", Description="")
/** @var int */
public int $BookSpotDirectlyTimeLeftMinutes=0,
/** @description */
// @ApiMember(DataType="", Description="")
/** @var bool|null */
public ?bool $SendEmailNotificationQueue=null,
/** @description */
// @ApiMember(DataType="", Description="")
/** @var bool|null */
public ?bool $SendSMSNotificationQueue=null,
/** @description */
// @ApiMember(Description="")
/** @var bool|null */
public ?bool $EnableSendFollowUpMessage=null,
/** @description 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 int */
public int $FollowUpMessageTime=0,
/** @description 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 bool|null */
public ?bool $BookOnlyOnExistingCustomers=null,
/** @description 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 bool|null */
public ?bool $AutoGenerateUniquePinCode=null,
/** @description 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 bool|null */
public ?bool $AutoCreateUserProfile=null,
/** @description The available schedule view options to choose from */
// @ApiMember(Description="The available schedule view options to choose from")
/** @var array<ScheduleViewResponse>|null */
public ?array $ScheduleViewOptions=null,
/** @description The available week number options to choose from */
// @ApiMember(Description="The available week number options to choose from")
/** @var array<WeekNumberSettingResponse>|null */
public ?array $WeekNumberOptions=null,
/** @description The booking template options to choose from */
// @ApiMember(Description="The booking template options to choose from")
/** @var array<BookingTemplateResponse>|null */
public ?array $BookingTemplateOptions=null,
/** @description The calendar type options to choose from */
// @ApiMember(Description="The calendar type options to choose from")
/** @var array<CalendarTypeResponse>|null */
public ?array $CalendarTypeOptions=null,
/** @description The booking status options to choose from */
// @ApiMember(Description="The booking status options to choose from")
/** @var array<BookingStatusOptions>|null */
public ?array $BookingStatusOptions=null,
/** @description The free spot text options to choose from */
// @ApiMember(Description="The free spot text options to choose from")
/** @var array<FreeSpotTextsResponse>|null */
public ?array $FreeSpotTextOptions=null,
/** @description 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 bool|null */
public ?bool $WeightedPrices=null,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $ShowMultiDayAsTime=null,
/** @description */
// @ApiMember(DataType="boolean", Description="")
/** @var bool|null */
public ?bool $ShowMultipleResourcesAsOne=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['CompanyId'])) $this->CompanyId = $o['CompanyId'];
if (isset($o['BookingStatusId'])) $this->BookingStatusId = $o['BookingStatusId'];
if (isset($o['ScheduleViewId'])) $this->ScheduleViewId = $o['ScheduleViewId'];
if (isset($o['BookingTemplateId'])) $this->BookingTemplateId = $o['BookingTemplateId'];
if (isset($o['CalendarTypeId'])) $this->CalendarTypeId = $o['CalendarTypeId'];
if (isset($o['AllowBookingOnUnbookedTimes'])) $this->AllowBookingOnUnbookedTimes = $o['AllowBookingOnUnbookedTimes'];
if (isset($o['SendEmailReminder'])) $this->SendEmailReminder = $o['SendEmailReminder'];
if (isset($o['SendSmsReminder'])) $this->SendSmsReminder = $o['SendSmsReminder'];
if (isset($o['SendEmailConfirmation'])) $this->SendEmailConfirmation = $o['SendEmailConfirmation'];
if (isset($o['SendSmsConfirmation'])) $this->SendSmsConfirmation = $o['SendSmsConfirmation'];
if (isset($o['MessageText'])) $this->MessageText = $o['MessageText'];
if (isset($o['EmailReminderTime'])) $this->EmailReminderTime = $o['EmailReminderTime'];
if (isset($o['SmsReminderTime'])) $this->SmsReminderTime = $o['SmsReminderTime'];
if (isset($o['MaxActiveBookings'])) $this->MaxActiveBookings = $o['MaxActiveBookings'];
if (isset($o['SendNotifications'])) $this->SendNotifications = $o['SendNotifications'];
if (isset($o['SendNotificationsEmail'])) $this->SendNotificationsEmail = $o['SendNotificationsEmail'];
if (isset($o['EnableMobileApp'])) $this->EnableMobileApp = $o['EnableMobileApp'];
if (isset($o['ScheduleStartTime'])) $this->ScheduleStartTime = JsonConverters::from('TimeSpan', $o['ScheduleStartTime']);
if (isset($o['ScheduleEndTime'])) $this->ScheduleEndTime = JsonConverters::from('TimeSpan', $o['ScheduleEndTime']);
if (isset($o['ScheduleGroupResources'])) $this->ScheduleGroupResources = $o['ScheduleGroupResources'];
if (isset($o['SchedulerDisableHorizontalScrolling'])) $this->SchedulerDisableHorizontalScrolling = $o['SchedulerDisableHorizontalScrolling'];
if (isset($o['ReceiptTemplate'])) $this->ReceiptTemplate = $o['ReceiptTemplate'];
if (isset($o['ScheduleTimeSlotMinutes'])) $this->ScheduleTimeSlotMinutes = $o['ScheduleTimeSlotMinutes'];
if (isset($o['ShowFreeTimesLeft'])) $this->ShowFreeTimesLeft = $o['ShowFreeTimesLeft'];
if (isset($o['FreeSpotTextsId'])) $this->FreeSpotTextsId = $o['FreeSpotTextsId'];
if (isset($o['EnableICalGroupBookings'])) $this->EnableICalGroupBookings = $o['EnableICalGroupBookings'];
if (isset($o['AgreementTemplate'])) $this->AgreementTemplate = $o['AgreementTemplate'];
if (isset($o['ScheduleShowTimeExeptions'])) $this->ScheduleShowTimeExeptions = $o['ScheduleShowTimeExeptions'];
if (isset($o['EnableBookingsOnSameTime'])) $this->EnableBookingsOnSameTime = $o['EnableBookingsOnSameTime'];
if (isset($o['ShowWeekNumberSettingId'])) $this->ShowWeekNumberSettingId = $o['ShowWeekNumberSettingId'];
if (isset($o['EnableShowBookedTimes'])) $this->EnableShowBookedTimes = $o['EnableShowBookedTimes'];
if (isset($o['BookSpotUserResponseMinutes'])) $this->BookSpotUserResponseMinutes = $o['BookSpotUserResponseMinutes'];
if (isset($o['IsBookSpotDirectly'])) $this->IsBookSpotDirectly = $o['IsBookSpotDirectly'];
if (isset($o['BookSpotDirectlyTimeLeftMinutes'])) $this->BookSpotDirectlyTimeLeftMinutes = $o['BookSpotDirectlyTimeLeftMinutes'];
if (isset($o['SendEmailNotificationQueue'])) $this->SendEmailNotificationQueue = $o['SendEmailNotificationQueue'];
if (isset($o['SendSMSNotificationQueue'])) $this->SendSMSNotificationQueue = $o['SendSMSNotificationQueue'];
if (isset($o['EnableSendFollowUpMessage'])) $this->EnableSendFollowUpMessage = $o['EnableSendFollowUpMessage'];
if (isset($o['FollowUpMessageTime'])) $this->FollowUpMessageTime = $o['FollowUpMessageTime'];
if (isset($o['BookOnlyOnExistingCustomers'])) $this->BookOnlyOnExistingCustomers = $o['BookOnlyOnExistingCustomers'];
if (isset($o['AutoGenerateUniquePinCode'])) $this->AutoGenerateUniquePinCode = $o['AutoGenerateUniquePinCode'];
if (isset($o['AutoCreateUserProfile'])) $this->AutoCreateUserProfile = $o['AutoCreateUserProfile'];
if (isset($o['ScheduleViewOptions'])) $this->ScheduleViewOptions = JsonConverters::fromArray('ScheduleViewResponse', $o['ScheduleViewOptions']);
if (isset($o['WeekNumberOptions'])) $this->WeekNumberOptions = JsonConverters::fromArray('WeekNumberSettingResponse', $o['WeekNumberOptions']);
if (isset($o['BookingTemplateOptions'])) $this->BookingTemplateOptions = JsonConverters::fromArray('BookingTemplateResponse', $o['BookingTemplateOptions']);
if (isset($o['CalendarTypeOptions'])) $this->CalendarTypeOptions = JsonConverters::fromArray('CalendarTypeResponse', $o['CalendarTypeOptions']);
if (isset($o['BookingStatusOptions'])) $this->BookingStatusOptions = JsonConverters::fromArray('BookingStatusOptions', $o['BookingStatusOptions']);
if (isset($o['FreeSpotTextOptions'])) $this->FreeSpotTextOptions = JsonConverters::fromArray('FreeSpotTextsResponse', $o['FreeSpotTextOptions']);
if (isset($o['WeightedPrices'])) $this->WeightedPrices = $o['WeightedPrices'];
if (isset($o['ShowMultiDayAsTime'])) $this->ShowMultiDayAsTime = $o['ShowMultiDayAsTime'];
if (isset($o['ShowMultipleResourcesAsOne'])) $this->ShowMultipleResourcesAsOne = $o['ShowMultipleResourcesAsOne'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->CompanyId)) $o['CompanyId'] = $this->CompanyId;
if (isset($this->BookingStatusId)) $o['BookingStatusId'] = $this->BookingStatusId;
if (isset($this->ScheduleViewId)) $o['ScheduleViewId'] = $this->ScheduleViewId;
if (isset($this->BookingTemplateId)) $o['BookingTemplateId'] = $this->BookingTemplateId;
if (isset($this->CalendarTypeId)) $o['CalendarTypeId'] = $this->CalendarTypeId;
if (isset($this->AllowBookingOnUnbookedTimes)) $o['AllowBookingOnUnbookedTimes'] = $this->AllowBookingOnUnbookedTimes;
if (isset($this->SendEmailReminder)) $o['SendEmailReminder'] = $this->SendEmailReminder;
if (isset($this->SendSmsReminder)) $o['SendSmsReminder'] = $this->SendSmsReminder;
if (isset($this->SendEmailConfirmation)) $o['SendEmailConfirmation'] = $this->SendEmailConfirmation;
if (isset($this->SendSmsConfirmation)) $o['SendSmsConfirmation'] = $this->SendSmsConfirmation;
if (isset($this->MessageText)) $o['MessageText'] = $this->MessageText;
if (isset($this->EmailReminderTime)) $o['EmailReminderTime'] = $this->EmailReminderTime;
if (isset($this->SmsReminderTime)) $o['SmsReminderTime'] = $this->SmsReminderTime;
if (isset($this->MaxActiveBookings)) $o['MaxActiveBookings'] = $this->MaxActiveBookings;
if (isset($this->SendNotifications)) $o['SendNotifications'] = $this->SendNotifications;
if (isset($this->SendNotificationsEmail)) $o['SendNotificationsEmail'] = $this->SendNotificationsEmail;
if (isset($this->EnableMobileApp)) $o['EnableMobileApp'] = $this->EnableMobileApp;
if (isset($this->ScheduleStartTime)) $o['ScheduleStartTime'] = JsonConverters::to('TimeSpan', $this->ScheduleStartTime);
if (isset($this->ScheduleEndTime)) $o['ScheduleEndTime'] = JsonConverters::to('TimeSpan', $this->ScheduleEndTime);
if (isset($this->ScheduleGroupResources)) $o['ScheduleGroupResources'] = $this->ScheduleGroupResources;
if (isset($this->SchedulerDisableHorizontalScrolling)) $o['SchedulerDisableHorizontalScrolling'] = $this->SchedulerDisableHorizontalScrolling;
if (isset($this->ReceiptTemplate)) $o['ReceiptTemplate'] = $this->ReceiptTemplate;
if (isset($this->ScheduleTimeSlotMinutes)) $o['ScheduleTimeSlotMinutes'] = $this->ScheduleTimeSlotMinutes;
if (isset($this->ShowFreeTimesLeft)) $o['ShowFreeTimesLeft'] = $this->ShowFreeTimesLeft;
if (isset($this->FreeSpotTextsId)) $o['FreeSpotTextsId'] = $this->FreeSpotTextsId;
if (isset($this->EnableICalGroupBookings)) $o['EnableICalGroupBookings'] = $this->EnableICalGroupBookings;
if (isset($this->AgreementTemplate)) $o['AgreementTemplate'] = $this->AgreementTemplate;
if (isset($this->ScheduleShowTimeExeptions)) $o['ScheduleShowTimeExeptions'] = $this->ScheduleShowTimeExeptions;
if (isset($this->EnableBookingsOnSameTime)) $o['EnableBookingsOnSameTime'] = $this->EnableBookingsOnSameTime;
if (isset($this->ShowWeekNumberSettingId)) $o['ShowWeekNumberSettingId'] = $this->ShowWeekNumberSettingId;
if (isset($this->EnableShowBookedTimes)) $o['EnableShowBookedTimes'] = $this->EnableShowBookedTimes;
if (isset($this->BookSpotUserResponseMinutes)) $o['BookSpotUserResponseMinutes'] = $this->BookSpotUserResponseMinutes;
if (isset($this->IsBookSpotDirectly)) $o['IsBookSpotDirectly'] = $this->IsBookSpotDirectly;
if (isset($this->BookSpotDirectlyTimeLeftMinutes)) $o['BookSpotDirectlyTimeLeftMinutes'] = $this->BookSpotDirectlyTimeLeftMinutes;
if (isset($this->SendEmailNotificationQueue)) $o['SendEmailNotificationQueue'] = $this->SendEmailNotificationQueue;
if (isset($this->SendSMSNotificationQueue)) $o['SendSMSNotificationQueue'] = $this->SendSMSNotificationQueue;
if (isset($this->EnableSendFollowUpMessage)) $o['EnableSendFollowUpMessage'] = $this->EnableSendFollowUpMessage;
if (isset($this->FollowUpMessageTime)) $o['FollowUpMessageTime'] = $this->FollowUpMessageTime;
if (isset($this->BookOnlyOnExistingCustomers)) $o['BookOnlyOnExistingCustomers'] = $this->BookOnlyOnExistingCustomers;
if (isset($this->AutoGenerateUniquePinCode)) $o['AutoGenerateUniquePinCode'] = $this->AutoGenerateUniquePinCode;
if (isset($this->AutoCreateUserProfile)) $o['AutoCreateUserProfile'] = $this->AutoCreateUserProfile;
if (isset($this->ScheduleViewOptions)) $o['ScheduleViewOptions'] = JsonConverters::toArray('ScheduleViewResponse', $this->ScheduleViewOptions);
if (isset($this->WeekNumberOptions)) $o['WeekNumberOptions'] = JsonConverters::toArray('WeekNumberSettingResponse', $this->WeekNumberOptions);
if (isset($this->BookingTemplateOptions)) $o['BookingTemplateOptions'] = JsonConverters::toArray('BookingTemplateResponse', $this->BookingTemplateOptions);
if (isset($this->CalendarTypeOptions)) $o['CalendarTypeOptions'] = JsonConverters::toArray('CalendarTypeResponse', $this->CalendarTypeOptions);
if (isset($this->BookingStatusOptions)) $o['BookingStatusOptions'] = JsonConverters::toArray('BookingStatusOptions', $this->BookingStatusOptions);
if (isset($this->FreeSpotTextOptions)) $o['FreeSpotTextOptions'] = JsonConverters::toArray('FreeSpotTextsResponse', $this->FreeSpotTextOptions);
if (isset($this->WeightedPrices)) $o['WeightedPrices'] = $this->WeightedPrices;
if (isset($this->ShowMultiDayAsTime)) $o['ShowMultiDayAsTime'] = $this->ShowMultiDayAsTime;
if (isset($this->ShowMultipleResourcesAsOne)) $o['ShowMultipleResourcesAsOne'] = $this->ShowMultipleResourcesAsOne;
return empty($o) ? new class(){} : $o;
}
}
// @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")
class SettingQuery implements JsonSerializable
{
public function __construct(
/** @description If you want to include the schedule views to select from */
// @ApiMember(DataType="boolean", Description="If you want to include the schedule views to select from", ParameterType="query")
/** @var bool|null */
public ?bool $IncludeScheduleViewOptions=null,
/** @description If you want to include the week number settings to select from */
// @ApiMember(DataType="boolean", Description="If you want to include the week number settings to select from", ParameterType="query")
/** @var bool|null */
public ?bool $IncludeWeekNumberOptions=null,
/** @description If you want to include the booking template options to select from */
// @ApiMember(DataType="boolean", Description="If you want to include the booking template options to select from", ParameterType="query")
/** @var bool|null */
public ?bool $IncludeBookingTemplateOptions=null,
/** @description If you want to include the calendar type options to select from */
// @ApiMember(DataType="boolean", Description="If you want to include the calendar type options to select from", ParameterType="query")
/** @var bool|null */
public ?bool $IncludeCalendarTypeOptions=null,
/** @description If you want to include the booking status options to select from */
// @ApiMember(DataType="boolean", Description="If you want to include the booking status options to select from", ParameterType="query")
/** @var bool|null */
public ?bool $IncludeBookingStatusOptions=null,
/** @description If you want to include the Free spot text options to select from */
// @ApiMember(DataType="boolean", Description="If you want to include the Free spot text options to select from", ParameterType="query")
/** @var bool|null */
public ?bool $IncludeFreeSpotTextOptions=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['IncludeScheduleViewOptions'])) $this->IncludeScheduleViewOptions = $o['IncludeScheduleViewOptions'];
if (isset($o['IncludeWeekNumberOptions'])) $this->IncludeWeekNumberOptions = $o['IncludeWeekNumberOptions'];
if (isset($o['IncludeBookingTemplateOptions'])) $this->IncludeBookingTemplateOptions = $o['IncludeBookingTemplateOptions'];
if (isset($o['IncludeCalendarTypeOptions'])) $this->IncludeCalendarTypeOptions = $o['IncludeCalendarTypeOptions'];
if (isset($o['IncludeBookingStatusOptions'])) $this->IncludeBookingStatusOptions = $o['IncludeBookingStatusOptions'];
if (isset($o['IncludeFreeSpotTextOptions'])) $this->IncludeFreeSpotTextOptions = $o['IncludeFreeSpotTextOptions'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->IncludeScheduleViewOptions)) $o['IncludeScheduleViewOptions'] = $this->IncludeScheduleViewOptions;
if (isset($this->IncludeWeekNumberOptions)) $o['IncludeWeekNumberOptions'] = $this->IncludeWeekNumberOptions;
if (isset($this->IncludeBookingTemplateOptions)) $o['IncludeBookingTemplateOptions'] = $this->IncludeBookingTemplateOptions;
if (isset($this->IncludeCalendarTypeOptions)) $o['IncludeCalendarTypeOptions'] = $this->IncludeCalendarTypeOptions;
if (isset($this->IncludeBookingStatusOptions)) $o['IncludeBookingStatusOptions'] = $this->IncludeBookingStatusOptions;
if (isset($this->IncludeFreeSpotTextOptions)) $o['IncludeFreeSpotTextOptions'] = $this->IncludeFreeSpotTextOptions;
return empty($o) ? new class(){} : $o;
}
}
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.
GET /settings HTTP/1.1 Host: api.bokamera.se Accept: text/jsv
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 }