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 'package:servicestack/servicestack.dart';

class ScheduleViewResponse implements IConvertible
{
    int? Id;
    String? Name;

    ScheduleViewResponse({this.Id,this.Name});
    ScheduleViewResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name
    };

    getTypeName() => "ScheduleViewResponse";
    TypeContext? context = _ctx;
}

class WeekNumberSettingResponse implements IConvertible
{
    int? Id;
    String? Name;
    String? Description;

    WeekNumberSettingResponse({this.Id,this.Name,this.Description});
    WeekNumberSettingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Description = json['Description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Description': Description
    };

    getTypeName() => "WeekNumberSettingResponse";
    TypeContext? context = _ctx;
}

class BookingTemplateResponse implements IConvertible
{
    int? Id;
    String? Name;
    String? Description;
    String? UsedByApplication;

    BookingTemplateResponse({this.Id,this.Name,this.Description,this.UsedByApplication});
    BookingTemplateResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Description = json['Description'];
        UsedByApplication = json['UsedByApplication'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Description': Description,
        'UsedByApplication': UsedByApplication
    };

    getTypeName() => "BookingTemplateResponse";
    TypeContext? context = _ctx;
}

class CalendarTypeResponse implements IConvertible
{
    int? Id;
    String? Name;
    String? Description;
    bool? Active;

    CalendarTypeResponse({this.Id,this.Name,this.Description,this.Active});
    CalendarTypeResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Description = json['Description'];
        Active = json['Active'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Description': Description,
        'Active': Active
    };

    getTypeName() => "CalendarTypeResponse";
    TypeContext? context = _ctx;
}

class BookingStatusOptions implements IConvertible
{
    int? Id;
    String? Name;
    String? Description;

    BookingStatusOptions({this.Id,this.Name,this.Description});
    BookingStatusOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Description = json['Description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Description': Description
    };

    getTypeName() => "BookingStatusOptions";
    TypeContext? context = _ctx;
}

class FreeSpotTextsResponse implements IConvertible
{
    int? Id;
    String? TextSingular;
    String? TextPlural;

    FreeSpotTextsResponse({this.Id,this.TextSingular,this.TextPlural});
    FreeSpotTextsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        TextSingular = json['TextSingular'];
        TextPlural = json['TextPlural'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'TextSingular': TextSingular,
        'TextPlural': TextPlural
    };

    getTypeName() => "FreeSpotTextsResponse";
    TypeContext? context = _ctx;
}

class SettingResponse implements IConvertible
{
    String? CompanyId;
    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? BookingStatusId;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? ScheduleViewId;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? BookingTemplateId;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? CalendarTypeId;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? AllowBookingOnUnbookedTimes;

    /**
    * 
    */
    // @DataMember(Name="SendEmailReminder")
    // @ApiMember(DataType="boolean", Description="")
    bool? SendEmailReminder;

    /**
    * 
    */
    // @DataMember(Name="SendSmsReminder")
    // @ApiMember(DataType="boolean", Description="")
    bool? SendSmsReminder;

    /**
    * 
    */
    // @DataMember(Name="SendEmailConfirmation")
    // @ApiMember(DataType="boolean", Description="")
    bool? SendEmailConfirmation;

    /**
    * 
    */
    // @DataMember(Name="SendSmsConfirmation")
    // @ApiMember(DataType="boolean", Description="")
    bool? SendSmsConfirmation;

    /**
    * 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].")
    String? MessageText;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? EmailReminderTime;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? SmsReminderTime;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? MaxActiveBookings;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? SendNotifications;

    /**
    * 
    */
    // @ApiMember(DataType="string", Description="")
    String? SendNotificationsEmail;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? EnableMobileApp;

    /**
    * 
    */
    // @ApiMember(Description="")
    Duration? ScheduleStartTime;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    Duration? ScheduleEndTime;

    /**
    * 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")
    bool? ScheduleGroupResources;

    /**
    * 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")
    bool? SchedulerDisableHorizontalScrolling;

    /**
    * 
    */
    // @ApiMember(DataType="string", Description="")
    String? ReceiptTemplate;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? ScheduleTimeSlotMinutes;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? ShowFreeTimesLeft;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? FreeSpotTextsId;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? EnableICalGroupBookings;

    /**
    * 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#")
    String? AgreementTemplate;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? ScheduleShowTimeExeptions;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? EnableBookingsOnSameTime;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? ShowWeekNumberSettingId;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? EnableShowBookedTimes;

    /**
    * 
    */
    // @ApiMember(DataType="", Description="")
    int? BookSpotUserResponseMinutes;

    /**
    * 
    */
    // @ApiMember(DataType="", Description="")
    bool? IsBookSpotDirectly;

    /**
    * 
    */
    // @ApiMember(DataType="", Description="")
    int? BookSpotDirectlyTimeLeftMinutes;

    /**
    * 
    */
    // @ApiMember(DataType="", Description="")
    bool? SendEmailNotificationQueue;

    /**
    * 
    */
    // @ApiMember(DataType="", Description="")
    bool? SendSMSNotificationQueue;

    /**
    * 
    */
    // @ApiMember(Description="")
    bool? EnableSendFollowUpMessage;

    /**
    * 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.")
    int? FollowUpMessageTime;

    /**
    * If it's only allowed for existing customers to book
    */
    // @ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book")
    bool? BookOnlyOnExistingCustomers;

    /**
    * 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")
    bool? AutoGenerateUniquePinCode;

    /**
    * 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.")
    bool? AutoCreateUserProfile;

    /**
    * The available schedule view options to choose from
    */
    // @ApiMember(Description="The available schedule view options to choose from")
    List<ScheduleViewResponse>? ScheduleViewOptions;

    /**
    * The available week number options to choose from
    */
    // @ApiMember(Description="The available week number options to choose from")
    List<WeekNumberSettingResponse>? WeekNumberOptions;

    /**
    * The booking template options to choose from
    */
    // @ApiMember(Description="The booking template options to choose from")
    List<BookingTemplateResponse>? BookingTemplateOptions;

    /**
    * The calendar type options to choose from
    */
    // @ApiMember(Description="The calendar type options to choose from")
    List<CalendarTypeResponse>? CalendarTypeOptions;

    /**
    * The booking status options to choose from
    */
    // @ApiMember(Description="The booking status options to choose from")
    List<BookingStatusOptions>? BookingStatusOptions;

    /**
    * The free spot text options to choose from
    */
    // @ApiMember(Description="The free spot text options to choose from")
    List<FreeSpotTextsResponse>? FreeSpotTextOptions;

    /**
    * 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.")
    bool? WeightedPrices;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? ShowMultiDayAsTime;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? ShowMultipleResourcesAsOne;

    SettingResponse({this.CompanyId,this.BookingStatusId,this.ScheduleViewId,this.BookingTemplateId,this.CalendarTypeId,this.AllowBookingOnUnbookedTimes,this.SendEmailReminder,this.SendSmsReminder,this.SendEmailConfirmation,this.SendSmsConfirmation,this.MessageText,this.EmailReminderTime,this.SmsReminderTime,this.MaxActiveBookings,this.SendNotifications,this.SendNotificationsEmail,this.EnableMobileApp,this.ScheduleStartTime,this.ScheduleEndTime,this.ScheduleGroupResources,this.SchedulerDisableHorizontalScrolling,this.ReceiptTemplate,this.ScheduleTimeSlotMinutes,this.ShowFreeTimesLeft,this.FreeSpotTextsId,this.EnableICalGroupBookings,this.AgreementTemplate,this.ScheduleShowTimeExeptions,this.EnableBookingsOnSameTime,this.ShowWeekNumberSettingId,this.EnableShowBookedTimes,this.BookSpotUserResponseMinutes,this.IsBookSpotDirectly,this.BookSpotDirectlyTimeLeftMinutes,this.SendEmailNotificationQueue,this.SendSMSNotificationQueue,this.EnableSendFollowUpMessage,this.FollowUpMessageTime,this.BookOnlyOnExistingCustomers,this.AutoGenerateUniquePinCode,this.AutoCreateUserProfile,this.ScheduleViewOptions,this.WeekNumberOptions,this.BookingTemplateOptions,this.CalendarTypeOptions,this.BookingStatusOptions,this.FreeSpotTextOptions,this.WeightedPrices,this.ShowMultiDayAsTime,this.ShowMultipleResourcesAsOne});
    SettingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        BookingStatusId = json['BookingStatusId'];
        ScheduleViewId = json['ScheduleViewId'];
        BookingTemplateId = json['BookingTemplateId'];
        CalendarTypeId = json['CalendarTypeId'];
        AllowBookingOnUnbookedTimes = json['AllowBookingOnUnbookedTimes'];
        SendEmailReminder = json['SendEmailReminder'];
        SendSmsReminder = json['SendSmsReminder'];
        SendEmailConfirmation = json['SendEmailConfirmation'];
        SendSmsConfirmation = json['SendSmsConfirmation'];
        MessageText = json['MessageText'];
        EmailReminderTime = json['EmailReminderTime'];
        SmsReminderTime = json['SmsReminderTime'];
        MaxActiveBookings = json['MaxActiveBookings'];
        SendNotifications = json['SendNotifications'];
        SendNotificationsEmail = json['SendNotificationsEmail'];
        EnableMobileApp = json['EnableMobileApp'];
        ScheduleStartTime = JsonConverters.fromJson(json['ScheduleStartTime'],'Duration',context!);
        ScheduleEndTime = JsonConverters.fromJson(json['ScheduleEndTime'],'Duration',context!);
        ScheduleGroupResources = json['ScheduleGroupResources'];
        SchedulerDisableHorizontalScrolling = json['SchedulerDisableHorizontalScrolling'];
        ReceiptTemplate = json['ReceiptTemplate'];
        ScheduleTimeSlotMinutes = json['ScheduleTimeSlotMinutes'];
        ShowFreeTimesLeft = json['ShowFreeTimesLeft'];
        FreeSpotTextsId = json['FreeSpotTextsId'];
        EnableICalGroupBookings = json['EnableICalGroupBookings'];
        AgreementTemplate = json['AgreementTemplate'];
        ScheduleShowTimeExeptions = json['ScheduleShowTimeExeptions'];
        EnableBookingsOnSameTime = json['EnableBookingsOnSameTime'];
        ShowWeekNumberSettingId = json['ShowWeekNumberSettingId'];
        EnableShowBookedTimes = json['EnableShowBookedTimes'];
        BookSpotUserResponseMinutes = json['BookSpotUserResponseMinutes'];
        IsBookSpotDirectly = json['IsBookSpotDirectly'];
        BookSpotDirectlyTimeLeftMinutes = json['BookSpotDirectlyTimeLeftMinutes'];
        SendEmailNotificationQueue = json['SendEmailNotificationQueue'];
        SendSMSNotificationQueue = json['SendSMSNotificationQueue'];
        EnableSendFollowUpMessage = json['EnableSendFollowUpMessage'];
        FollowUpMessageTime = json['FollowUpMessageTime'];
        BookOnlyOnExistingCustomers = json['BookOnlyOnExistingCustomers'];
        AutoGenerateUniquePinCode = json['AutoGenerateUniquePinCode'];
        AutoCreateUserProfile = json['AutoCreateUserProfile'];
        ScheduleViewOptions = JsonConverters.fromJson(json['ScheduleViewOptions'],'List<ScheduleViewResponse>',context!);
        WeekNumberOptions = JsonConverters.fromJson(json['WeekNumberOptions'],'List<WeekNumberSettingResponse>',context!);
        BookingTemplateOptions = JsonConverters.fromJson(json['BookingTemplateOptions'],'List<BookingTemplateResponse>',context!);
        CalendarTypeOptions = JsonConverters.fromJson(json['CalendarTypeOptions'],'List<CalendarTypeResponse>',context!);
        BookingStatusOptions = JsonConverters.fromJson(json['BookingStatusOptions'],'List<BookingStatusOptions>',context!);
        FreeSpotTextOptions = JsonConverters.fromJson(json['FreeSpotTextOptions'],'List<FreeSpotTextsResponse>',context!);
        WeightedPrices = json['WeightedPrices'];
        ShowMultiDayAsTime = json['ShowMultiDayAsTime'];
        ShowMultipleResourcesAsOne = json['ShowMultipleResourcesAsOne'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'BookingStatusId': BookingStatusId,
        'ScheduleViewId': ScheduleViewId,
        'BookingTemplateId': BookingTemplateId,
        'CalendarTypeId': CalendarTypeId,
        'AllowBookingOnUnbookedTimes': AllowBookingOnUnbookedTimes,
        'SendEmailReminder': SendEmailReminder,
        'SendSmsReminder': SendSmsReminder,
        'SendEmailConfirmation': SendEmailConfirmation,
        'SendSmsConfirmation': SendSmsConfirmation,
        'MessageText': MessageText,
        'EmailReminderTime': EmailReminderTime,
        'SmsReminderTime': SmsReminderTime,
        'MaxActiveBookings': MaxActiveBookings,
        'SendNotifications': SendNotifications,
        'SendNotificationsEmail': SendNotificationsEmail,
        'EnableMobileApp': EnableMobileApp,
        'ScheduleStartTime': JsonConverters.toJson(ScheduleStartTime,'Duration',context!),
        'ScheduleEndTime': JsonConverters.toJson(ScheduleEndTime,'Duration',context!),
        'ScheduleGroupResources': ScheduleGroupResources,
        'SchedulerDisableHorizontalScrolling': SchedulerDisableHorizontalScrolling,
        'ReceiptTemplate': ReceiptTemplate,
        'ScheduleTimeSlotMinutes': ScheduleTimeSlotMinutes,
        'ShowFreeTimesLeft': ShowFreeTimesLeft,
        'FreeSpotTextsId': FreeSpotTextsId,
        'EnableICalGroupBookings': EnableICalGroupBookings,
        'AgreementTemplate': AgreementTemplate,
        'ScheduleShowTimeExeptions': ScheduleShowTimeExeptions,
        'EnableBookingsOnSameTime': EnableBookingsOnSameTime,
        'ShowWeekNumberSettingId': ShowWeekNumberSettingId,
        'EnableShowBookedTimes': EnableShowBookedTimes,
        'BookSpotUserResponseMinutes': BookSpotUserResponseMinutes,
        'IsBookSpotDirectly': IsBookSpotDirectly,
        'BookSpotDirectlyTimeLeftMinutes': BookSpotDirectlyTimeLeftMinutes,
        'SendEmailNotificationQueue': SendEmailNotificationQueue,
        'SendSMSNotificationQueue': SendSMSNotificationQueue,
        'EnableSendFollowUpMessage': EnableSendFollowUpMessage,
        'FollowUpMessageTime': FollowUpMessageTime,
        'BookOnlyOnExistingCustomers': BookOnlyOnExistingCustomers,
        'AutoGenerateUniquePinCode': AutoGenerateUniquePinCode,
        'AutoCreateUserProfile': AutoCreateUserProfile,
        'ScheduleViewOptions': JsonConverters.toJson(ScheduleViewOptions,'List<ScheduleViewResponse>',context!),
        'WeekNumberOptions': JsonConverters.toJson(WeekNumberOptions,'List<WeekNumberSettingResponse>',context!),
        'BookingTemplateOptions': JsonConverters.toJson(BookingTemplateOptions,'List<BookingTemplateResponse>',context!),
        'CalendarTypeOptions': JsonConverters.toJson(CalendarTypeOptions,'List<CalendarTypeResponse>',context!),
        'BookingStatusOptions': JsonConverters.toJson(BookingStatusOptions,'List<BookingStatusOptions>',context!),
        'FreeSpotTextOptions': JsonConverters.toJson(FreeSpotTextOptions,'List<FreeSpotTextsResponse>',context!),
        'WeightedPrices': WeightedPrices,
        'ShowMultiDayAsTime': ShowMultiDayAsTime,
        'ShowMultipleResourcesAsOne': ShowMultipleResourcesAsOne
    };

    getTypeName() => "SettingResponse";
    TypeContext? context = _ctx;
}

// @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 UpdateSetting implements ICompany, IConvertible
{
    /**
    * 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.")
    String? CompanyId;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? BookingStatusId;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? ScheduleViewId;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? BookingTemplateId;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? CalendarTypeId;

    /**
    * 
    */
    // @ApiMember(DataType="bool", Description="")
    bool? AllowBookingOnUnbookedTimes;

    /**
    * 
    */
    // @DataMember(Name="SendEmailReminder")
    // @ApiMember(DataType="boolean", Description="")
    bool? SendEmailReminder;

    /**
    * 
    */
    // @DataMember(Name="SendSmsReminder")
    // @ApiMember(DataType="boolean", Description="")
    bool? SendSmsReminder;

    /**
    * 
    */
    // @DataMember(Name="SendEmailConfirmation")
    // @ApiMember(DataType="boolean", Description="")
    bool? SendEmailConfirmation;

    /**
    * 
    */
    // @DataMember(Name="SendSmsConfirmation")
    // @ApiMember(DataType="boolean", Description="")
    bool? SendSmsConfirmation;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? EmailReminderTime;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? SmsReminderTime;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? MaxActiveBookings;

    /**
    * 
    */
    // @ApiMember(DataType="bool", Description="")
    bool? SendNotifications;

    /**
    * 
    */
    // @ApiMember(DataType="string", Description="")
    String? SendNotificationsEmail;

    /**
    * 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].")
    String? MessageText;

    /**
    * 
    */
    // @ApiMember(DataType="bool", Description="")
    bool? EnableMobileApp;

    /**
    * The admin scheduler start time to show as default
    */
    // @ApiMember(Description="The admin scheduler start time to show as default")
    Duration? ScheduleStartTime;

    /**
    * The admin scheduler end time to show as default
    */
    // @ApiMember(Description="The admin scheduler end time to show as default")
    Duration? ScheduleEndTime;

    /**
    * Booking receipt text.
    */
    // @ApiMember(DataType="string", Description="Booking receipt text.")
    String? ReceiptTemplate;

    /**
    * The admin scheduler minutes of each timeslot
    */
    // @ApiMember(Description="The admin scheduler minutes of each timeslot")
    int? ScheduleTimeSlotMinutes;

    /**
    * 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")
    bool? ScheduleGroupResources;

    /**
    * 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")
    bool? SchedulerDisableHorizontalScrolling;

    /**
    * If it's only allowed for existing customers to book
    */
    // @ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book")
    bool? BookOnlyOnExistingCustomers;

    /**
    * 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")
    bool? AutoGenerateUniquePinCode;

    /**
    * 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.")
    bool? AutoCreateUserProfile;

    /**
    * 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.")
    int? FollowUpMessageTime;

    /**
    * 
    */
    // @ApiMember(Description="")
    bool? ShowFreeTimesLeft;

    /**
    * 
    */
    // @ApiMember(Description="")
    int? FreeSpotTextsId;

    /**
    * 
    */
    // @ApiMember(Description="")
    bool? EnableICalGroupBookings;

    /**
    * 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#")
    String? AgreementTemplate;

    /**
    * 
    */
    // @ApiMember(Description="")
    bool? ScheduleShowTimeExeptions;

    /**
    * 
    */
    // @ApiMember(Description="")
    bool? EnableBookingsOnSameTime;

    /**
    * 
    */
    // @ApiMember(Description="")
    int? ShowWeekNumberSettingId;

    /**
    * 
    */
    // @ApiMember(Description="")
    bool? EnableShowBookedTimes;

    /**
    * 
    */
    // @ApiMember(Description="")
    bool? EnableSendFollowUpMessage;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? BookSpotUserResponseMinutes;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? IsBookSpotDirectly;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    int? BookSpotDirectlyTimeLeftMinutes;

    /**
    * 
    */
    // @ApiMember(DataType="int", Description="")
    bool? SendEmailNotificationQueue;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? SendSMSNotificationQueue;

    /**
    * 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.")
    bool? WeightedPrices;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? ShowMultiDayAsTime;

    /**
    * 
    */
    // @ApiMember(DataType="boolean", Description="")
    bool? ShowMultipleResourcesAsOne;

    UpdateSetting({this.CompanyId,this.BookingStatusId,this.ScheduleViewId,this.BookingTemplateId,this.CalendarTypeId,this.AllowBookingOnUnbookedTimes,this.SendEmailReminder,this.SendSmsReminder,this.SendEmailConfirmation,this.SendSmsConfirmation,this.EmailReminderTime,this.SmsReminderTime,this.MaxActiveBookings,this.SendNotifications,this.SendNotificationsEmail,this.MessageText,this.EnableMobileApp,this.ScheduleStartTime,this.ScheduleEndTime,this.ReceiptTemplate,this.ScheduleTimeSlotMinutes,this.ScheduleGroupResources,this.SchedulerDisableHorizontalScrolling,this.BookOnlyOnExistingCustomers,this.AutoGenerateUniquePinCode,this.AutoCreateUserProfile,this.FollowUpMessageTime,this.ShowFreeTimesLeft,this.FreeSpotTextsId,this.EnableICalGroupBookings,this.AgreementTemplate,this.ScheduleShowTimeExeptions,this.EnableBookingsOnSameTime,this.ShowWeekNumberSettingId,this.EnableShowBookedTimes,this.EnableSendFollowUpMessage,this.BookSpotUserResponseMinutes,this.IsBookSpotDirectly,this.BookSpotDirectlyTimeLeftMinutes,this.SendEmailNotificationQueue,this.SendSMSNotificationQueue,this.WeightedPrices,this.ShowMultiDayAsTime,this.ShowMultipleResourcesAsOne});
    UpdateSetting.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        BookingStatusId = json['BookingStatusId'];
        ScheduleViewId = json['ScheduleViewId'];
        BookingTemplateId = json['BookingTemplateId'];
        CalendarTypeId = json['CalendarTypeId'];
        AllowBookingOnUnbookedTimes = json['AllowBookingOnUnbookedTimes'];
        SendEmailReminder = json['SendEmailReminder'];
        SendSmsReminder = json['SendSmsReminder'];
        SendEmailConfirmation = json['SendEmailConfirmation'];
        SendSmsConfirmation = json['SendSmsConfirmation'];
        EmailReminderTime = json['EmailReminderTime'];
        SmsReminderTime = json['SmsReminderTime'];
        MaxActiveBookings = json['MaxActiveBookings'];
        SendNotifications = json['SendNotifications'];
        SendNotificationsEmail = json['SendNotificationsEmail'];
        MessageText = json['MessageText'];
        EnableMobileApp = json['EnableMobileApp'];
        ScheduleStartTime = JsonConverters.fromJson(json['ScheduleStartTime'],'Duration',context!);
        ScheduleEndTime = JsonConverters.fromJson(json['ScheduleEndTime'],'Duration',context!);
        ReceiptTemplate = json['ReceiptTemplate'];
        ScheduleTimeSlotMinutes = json['ScheduleTimeSlotMinutes'];
        ScheduleGroupResources = json['ScheduleGroupResources'];
        SchedulerDisableHorizontalScrolling = json['SchedulerDisableHorizontalScrolling'];
        BookOnlyOnExistingCustomers = json['BookOnlyOnExistingCustomers'];
        AutoGenerateUniquePinCode = json['AutoGenerateUniquePinCode'];
        AutoCreateUserProfile = json['AutoCreateUserProfile'];
        FollowUpMessageTime = json['FollowUpMessageTime'];
        ShowFreeTimesLeft = json['ShowFreeTimesLeft'];
        FreeSpotTextsId = json['FreeSpotTextsId'];
        EnableICalGroupBookings = json['EnableICalGroupBookings'];
        AgreementTemplate = json['AgreementTemplate'];
        ScheduleShowTimeExeptions = json['ScheduleShowTimeExeptions'];
        EnableBookingsOnSameTime = json['EnableBookingsOnSameTime'];
        ShowWeekNumberSettingId = json['ShowWeekNumberSettingId'];
        EnableShowBookedTimes = json['EnableShowBookedTimes'];
        EnableSendFollowUpMessage = json['EnableSendFollowUpMessage'];
        BookSpotUserResponseMinutes = json['BookSpotUserResponseMinutes'];
        IsBookSpotDirectly = json['IsBookSpotDirectly'];
        BookSpotDirectlyTimeLeftMinutes = json['BookSpotDirectlyTimeLeftMinutes'];
        SendEmailNotificationQueue = json['SendEmailNotificationQueue'];
        SendSMSNotificationQueue = json['SendSMSNotificationQueue'];
        WeightedPrices = json['WeightedPrices'];
        ShowMultiDayAsTime = json['ShowMultiDayAsTime'];
        ShowMultipleResourcesAsOne = json['ShowMultipleResourcesAsOne'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'BookingStatusId': BookingStatusId,
        'ScheduleViewId': ScheduleViewId,
        'BookingTemplateId': BookingTemplateId,
        'CalendarTypeId': CalendarTypeId,
        'AllowBookingOnUnbookedTimes': AllowBookingOnUnbookedTimes,
        'SendEmailReminder': SendEmailReminder,
        'SendSmsReminder': SendSmsReminder,
        'SendEmailConfirmation': SendEmailConfirmation,
        'SendSmsConfirmation': SendSmsConfirmation,
        'EmailReminderTime': EmailReminderTime,
        'SmsReminderTime': SmsReminderTime,
        'MaxActiveBookings': MaxActiveBookings,
        'SendNotifications': SendNotifications,
        'SendNotificationsEmail': SendNotificationsEmail,
        'MessageText': MessageText,
        'EnableMobileApp': EnableMobileApp,
        'ScheduleStartTime': JsonConverters.toJson(ScheduleStartTime,'Duration',context!),
        'ScheduleEndTime': JsonConverters.toJson(ScheduleEndTime,'Duration',context!),
        'ReceiptTemplate': ReceiptTemplate,
        'ScheduleTimeSlotMinutes': ScheduleTimeSlotMinutes,
        'ScheduleGroupResources': ScheduleGroupResources,
        'SchedulerDisableHorizontalScrolling': SchedulerDisableHorizontalScrolling,
        'BookOnlyOnExistingCustomers': BookOnlyOnExistingCustomers,
        'AutoGenerateUniquePinCode': AutoGenerateUniquePinCode,
        'AutoCreateUserProfile': AutoCreateUserProfile,
        'FollowUpMessageTime': FollowUpMessageTime,
        'ShowFreeTimesLeft': ShowFreeTimesLeft,
        'FreeSpotTextsId': FreeSpotTextsId,
        'EnableICalGroupBookings': EnableICalGroupBookings,
        'AgreementTemplate': AgreementTemplate,
        'ScheduleShowTimeExeptions': ScheduleShowTimeExeptions,
        'EnableBookingsOnSameTime': EnableBookingsOnSameTime,
        'ShowWeekNumberSettingId': ShowWeekNumberSettingId,
        'EnableShowBookedTimes': EnableShowBookedTimes,
        'EnableSendFollowUpMessage': EnableSendFollowUpMessage,
        'BookSpotUserResponseMinutes': BookSpotUserResponseMinutes,
        'IsBookSpotDirectly': IsBookSpotDirectly,
        'BookSpotDirectlyTimeLeftMinutes': BookSpotDirectlyTimeLeftMinutes,
        'SendEmailNotificationQueue': SendEmailNotificationQueue,
        'SendSMSNotificationQueue': SendSMSNotificationQueue,
        'WeightedPrices': WeightedPrices,
        'ShowMultiDayAsTime': ShowMultiDayAsTime,
        'ShowMultipleResourcesAsOne': ShowMultipleResourcesAsOne
    };

    getTypeName() => "UpdateSetting";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: <String, TypeInfo> {
    'ScheduleViewResponse': TypeInfo(TypeOf.Class, create:() => ScheduleViewResponse()),
    'WeekNumberSettingResponse': TypeInfo(TypeOf.Class, create:() => WeekNumberSettingResponse()),
    'BookingTemplateResponse': TypeInfo(TypeOf.Class, create:() => BookingTemplateResponse()),
    'CalendarTypeResponse': TypeInfo(TypeOf.Class, create:() => CalendarTypeResponse()),
    'BookingStatusOptions': TypeInfo(TypeOf.Class, create:() => BookingStatusOptions()),
    'FreeSpotTextsResponse': TypeInfo(TypeOf.Class, create:() => FreeSpotTextsResponse()),
    'SettingResponse': TypeInfo(TypeOf.Class, create:() => SettingResponse()),
    'List<ScheduleViewResponse>': TypeInfo(TypeOf.Class, create:() => <ScheduleViewResponse>[]),
    'List<WeekNumberSettingResponse>': TypeInfo(TypeOf.Class, create:() => <WeekNumberSettingResponse>[]),
    'List<BookingTemplateResponse>': TypeInfo(TypeOf.Class, create:() => <BookingTemplateResponse>[]),
    'List<CalendarTypeResponse>': TypeInfo(TypeOf.Class, create:() => <CalendarTypeResponse>[]),
    'List<BookingStatusOptions>': TypeInfo(TypeOf.Class, create:() => <BookingStatusOptions>[]),
    'List<FreeSpotTextsResponse>': TypeInfo(TypeOf.Class, create:() => <FreeSpotTextsResponse>[]),
    'UpdateSetting': TypeInfo(TypeOf.Class, create:() => UpdateSetting()),
});

Dart UpdateSetting DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

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

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

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

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