/* Options:
Date: 2025-10-31 16:23:47
Version: 8.80
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.bokamera.se
//GlobalNamespace: 
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddNullableAnnotations: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//InitializeCollections: False
//ExportValueTypes: False
IncludeTypes: UpdateHomepageWidgetSettings.*
//ExcludeTypes: 
//AddNamespaces: 
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using System.Globalization;
using ServiceStack.Data;
using System.Net;
using System.Net.Http.Headers;
using BokaMera.API.ServiceModel.Interfaces;
using BokaMera.API.ServiceModel.Dtos;
namespace BokaMera.API.ServiceModel.Dtos
{
    public partial class HomepageWidgetBookingLayoutsResponse
    {
        ///
        ///The layout id.
        ///
        [ApiMember(Description="The layout id.")]
        public virtual int Id { get; set; }
        ///
        ///The layout name.
        ///
        [ApiMember(Description="The layout name.")]
        public virtual string Name { get; set; }
        ///
        ///The layout description.
        ///
        [ApiMember(Description="The layout description.")]
        public virtual string Description { get; set; }
        ///
        ///The layout code.
        ///
        [ApiMember(Description="The layout code.")]
        public virtual string Code { get; set; }
    }
    public partial class HomepageWidgetBookingMethodsResponse
    {
        ///
        ///The layout id.
        ///
        [ApiMember(Description="The layout id.")]
        public virtual int Id { get; set; }
        ///
        ///The layout name.
        ///
        [ApiMember(Description="The layout name.")]
        public virtual string Name { get; set; }
        ///
        ///The layout description.
        ///
        [ApiMember(Description="The layout description.")]
        public virtual string Description { get; set; }
        ///
        ///The layout code.
        ///
        [ApiMember(Description="The layout code.")]
        public virtual string Code { get; set; }
    }
    public partial class HomepageWidgetServiceLayoutsResponse
    {
        ///
        ///The layout id.
        ///
        [ApiMember(Description="The layout id.")]
        public virtual int Id { get; set; }
        ///
        ///The layout name.
        ///
        [ApiMember(Description="The layout name.")]
        public virtual string Name { get; set; }
        ///
        ///The layout description.
        ///
        [ApiMember(Description="The layout description.")]
        public virtual string Description { get; set; }
        ///
        ///The layout code.
        ///
        [ApiMember(Description="The layout code.")]
        public virtual string Code { get; set; }
    }
    public partial class HomepageWidgetSettingsQueryResponse
    {
        ///
        ///The company id.
        ///
        [ApiMember(Description="The company id.")]
        public virtual Guid CompanyId { get; set; }
        ///
        ///The service layouts id.
        ///
        [ApiMember(Description="The service layouts id.")]
        public virtual int ServiceLayoutId { get; set; }
        ///
        ///The time layouts id.
        ///
        [ApiMember(Description="The time layouts id.")]
        public virtual int TimeLayoutId { get; set; }
        ///
        ///The booking layouts id.
        ///
        [ApiMember(Description="The booking layouts id.")]
        public virtual int BookingLayoutId { get; set; }
        ///
        ///The primary color of the booking widget.
        ///
        [ApiMember(Description="The primary color of the booking widget.")]
        public virtual string PrimaryColor { get; set; }
        ///
        ///If you should show the service image in the booking widget.
        ///
        [ApiMember(Description="If you should show the service image in the booking widget.")]
        public virtual bool ShowServiceImage { get; set; }
        ///
        ///If you should show the rebate code field in the booking widget.
        ///
        [ApiMember(Description="If you should show the rebate code field in the booking widget.")]
        public virtual bool ShowRebateCodeField { get; set; }
        ///
        ///If you should show the next available time in the booking widget.
        ///
        [ApiMember(Description="If you should show the next available time in the booking widget.")]
        public virtual bool ShowNextAvailableTime { get; set; }
        ///
        ///If you should show the subscribe to newsletter checkbox in the booking widget.
        ///
        [ApiMember(Description="If you should show the subscribe to newsletter checkbox in the booking widget.")]
        public virtual bool ShowSubscribeToNewsletter { get; set; }
        ///
        ///If you should show the create account option.
        ///
        [ApiMember(Description="If you should show the create account option.")]
        public virtual bool EnableCreateAccount { get; set; }
        ///
        ///If you should show the login to account option.
        ///
        [ApiMember(Description="If you should show the login to account option.")]
        public virtual bool EnableLogin { get; set; }
        ///
        ///If you should show the facebook login to account option.
        ///
        [ApiMember(Description="If you should show the facebook login to account option.")]
        public virtual bool EnableFacebookLogin { get; set; }
        ///
        ///If you should show the direct booking option. This enables customer to book with entering contact information.
        ///
        [ApiMember(Description="If you should show the direct booking option. This enables customer to book with entering contact information.")]
        public virtual bool EnableDirectBooking { get; set; }
        ///
        ///If the site should have dark theme or not.
        ///
        [ApiMember(Description="If the site should have dark theme or not.")]
        public virtual bool DarkTheme { get; set; }
        ///
        ///If you should show the end time in the booking widget.
        ///
        [ApiMember(Description="If you should show the end time in the booking widget.")]
        public virtual bool ShowEndTime { get; set; }
        ///
        ///What text to show on booked time slots. Default text is Booked
        ///
        [ApiMember(Description="What text to show on booked time slots. Default text is Booked")]
        public virtual string BookedTimeSlotText { get; set; }
        public virtual List ServiceLayoutOptions { get; set; } = [];
        public virtual List TimeLayoutOptions { get; set; } = [];
        public virtual List BookingLayoutOptions { get; set; } = [];
        public virtual List BookingMethodOptions { get; set; } = [];
    }
    public partial class HomepageWidgetTimeLayoutsResponse
    {
        ///
        ///The layout id.
        ///
        [ApiMember(Description="The layout id.")]
        public virtual int Id { get; set; }
        ///
        ///The layout name.
        ///
        [ApiMember(Description="The layout name.")]
        public virtual string Name { get; set; }
        ///
        ///The layout description.
        ///
        [ApiMember(Description="The layout description.")]
        public virtual string Description { get; set; }
        ///
        ///The layout code.
        ///
        [ApiMember(Description="The layout code.")]
        public virtual string Code { get; set; }
    }
    [Route("/homepage/widget/settings", "PUT")]
    [ValidateRequest("IsAuthenticated")]
    public partial class UpdateHomepageWidgetSettings
        : IReturn, 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.")]
        public virtual Guid? CompanyId { get; set; }
        ///
        ///Serivce Layout.
        ///
        [ApiMember(Description="Serivce Layout.")]
        public virtual int? ServiceLayoutId { get; set; }
        ///
        ///Time Layout.
        ///
        [ApiMember(Description="Time Layout.")]
        public virtual int? TimeLayoutId { get; set; }
        ///
        ///Booking Layout.
        ///
        [ApiMember(Description="Booking Layout.")]
        public virtual int? BookingLayoutId { get; set; }
        ///
        ///The primary color of the booking widget.
        ///
        [ApiMember(Description="The primary color of the booking widget.")]
        public virtual string PrimaryColor { get; set; }
        ///
        ///If the site should have dark theme or not.
        ///
        [ApiMember(Description="If the site should have dark theme or not.")]
        public virtual bool? DarkTheme { get; set; }
        ///
        ///If you should show the service image in the booking widget.
        ///
        [ApiMember(Description="If you should show the service image in the booking widget.")]
        public virtual bool? ShowServiceImage { get; set; }
        ///
        ///If you should show the rebate code field in the booking widget.
        ///
        [ApiMember(Description="If you should show the rebate code field in the booking widget.")]
        public virtual bool? ShowRebateCodeField { get; set; }
        ///
        ///If you should show the next available time in the booking widget.
        ///
        [ApiMember(Description="If you should show the next available time in the booking widget.")]
        public virtual bool? ShowNextAvailableTime { get; set; }
        ///
        ///If you should show the end time in the booking widget.
        ///
        [ApiMember(Description="If you should show the end time in the booking widget.")]
        public virtual bool? ShowEndTime { get; set; }
        ///
        ///Show subscribe to newsletter checkbox on the page
        ///
        [ApiMember(Description="Show subscribe to newsletter checkbox on the page")]
        public virtual bool? ShowSubscribeToNewsletter { get; set; }
        ///
        ///What text to show on booked time slots. Default text is Booked
        ///
        [ApiMember(Description="What text to show on booked time slots. Default text is Booked")]
        public virtual string BookedTimeSlotText { get; set; }
        ///
        ///If you should show the create account option.
        ///
        [ApiMember(Description="If you should show the create account option.")]
        public virtual bool? EnableCreateAccount { get; set; }
        ///
        ///If you should show the login to account option.
        ///
        [ApiMember(Description="If you should show the login to account option.")]
        public virtual bool? EnableLogin { get; set; }
        ///
        ///If you should show the facebook login to account option.
        ///
        [ApiMember(Description="If you should show the facebook login to account option.")]
        public virtual bool? EnableFacebookLogin { get; set; }
        ///
        ///If you should show the direct booking option. This enables customer to book with entering contact information.
        ///
        [ApiMember(Description="If you should show the direct booking option. This enables customer to book with entering contact information.")]
        public virtual bool? EnableDirectBooking { get; set; }
    }
}
namespace BokaMera.API.ServiceModel.Interfaces
{
    public partial interface ICompany
    {
        Guid? CompanyId { get; set; }
    }
}