BokaMera.API.Host

<back to all web services

UpdateHomepageWidgetSettings

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/homepage/widget/settingsUpdate homepage widget settingsUpdate homepage widget settings on the company of the currently logged in user, only administrators are allowed to update homepage menu.
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


@ValidateRequest(Validator="IsAuthenticated")
open class UpdateHomepageWidgetSettings : ICompany
{
    /**
    * The company id, if empty will use the company id for the user you are logged in with.
    */
    @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    override var CompanyId:UUID? = null

    /**
    * Serivce Layout.
    */
    @ApiMember(Description="Serivce Layout.")
    open var ServiceLayoutId:Int? = null

    /**
    * Time Layout.
    */
    @ApiMember(Description="Time Layout.")
    open var TimeLayoutId:Int? = null

    /**
    * Booking Layout.
    */
    @ApiMember(Description="Booking Layout.")
    open var BookingLayoutId:Int? = null

    /**
    * The primary color of the booking widget.
    */
    @ApiMember(Description="The primary color of the booking widget.")
    open var PrimaryColor:String? = null

    /**
    * If the site should have dark theme or not.
    */
    @ApiMember(Description="If the site should have dark theme or not.")
    open var DarkTheme:Boolean? = null

    /**
    * If you should show the service image in the booking widget.
    */
    @ApiMember(Description="If you should show the service image in the booking widget.")
    open var ShowServiceImage:Boolean? = null

    /**
    * 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.")
    open var ShowRebateCodeField:Boolean? = null

    /**
    * 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.")
    open var ShowNextAvailableTime:Boolean? = null

    /**
    * If you should show the end time in the booking widget.
    */
    @ApiMember(Description="If you should show the end time in the booking widget.")
    open var ShowEndTime:Boolean? = null

    /**
    * Show subscribe to newsletter checkbox on the page
    */
    @ApiMember(Description="Show subscribe to newsletter checkbox on the page")
    open var ShowSubscribeToNewsletter:Boolean? = null

    /**
    * 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")
    open var BookedTimeSlotText:String? = null

    /**
    * If you should show the create account option.
    */
    @ApiMember(Description="If you should show the create account option.")
    open var EnableCreateAccount:Boolean? = null

    /**
    * If you should show the login to account option.
    */
    @ApiMember(Description="If you should show the login to account option.")
    open var EnableLogin:Boolean? = null

    /**
    * If you should show the facebook login to account option.
    */
    @ApiMember(Description="If you should show the facebook login to account option.")
    open var EnableFacebookLogin:Boolean? = null

    /**
    * 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.")
    open var EnableDirectBooking:Boolean? = null
}

open class HomepageWidgetSettingsQueryResponse
{
    /**
    * The company id.
    */
    @ApiMember(Description="The company id.")
    open var CompanyId:UUID? = null

    /**
    * The service layouts id.
    */
    @ApiMember(Description="The service layouts id.")
    open var ServiceLayoutId:Int? = null

    /**
    * The time layouts id.
    */
    @ApiMember(Description="The time layouts id.")
    open var TimeLayoutId:Int? = null

    /**
    * The booking layouts id.
    */
    @ApiMember(Description="The booking layouts id.")
    open var BookingLayoutId:Int? = null

    /**
    * The primary color of the booking widget.
    */
    @ApiMember(Description="The primary color of the booking widget.")
    open var PrimaryColor:String? = null

    /**
    * If you should show the service image in the booking widget.
    */
    @ApiMember(Description="If you should show the service image in the booking widget.")
    open var ShowServiceImage:Boolean? = null

    /**
    * 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.")
    open var ShowRebateCodeField:Boolean? = null

    /**
    * 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.")
    open var ShowNextAvailableTime:Boolean? = null

    /**
    * 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.")
    open var ShowSubscribeToNewsletter:Boolean? = null

    /**
    * If you should show the create account option.
    */
    @ApiMember(Description="If you should show the create account option.")
    open var EnableCreateAccount:Boolean? = null

    /**
    * If you should show the login to account option.
    */
    @ApiMember(Description="If you should show the login to account option.")
    open var EnableLogin:Boolean? = null

    /**
    * If you should show the facebook login to account option.
    */
    @ApiMember(Description="If you should show the facebook login to account option.")
    open var EnableFacebookLogin:Boolean? = null

    /**
    * 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.")
    open var EnableDirectBooking:Boolean? = null

    /**
    * If the site should have dark theme or not.
    */
    @ApiMember(Description="If the site should have dark theme or not.")
    open var DarkTheme:Boolean? = null

    /**
    * If you should show the end time in the booking widget.
    */
    @ApiMember(Description="If you should show the end time in the booking widget.")
    open var ShowEndTime:Boolean? = null

    /**
    * 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")
    open var BookedTimeSlotText:String? = null

    open var ServiceLayoutOptions:ArrayList<HomepageWidgetServiceLayoutsResponse>? = null
    open var TimeLayoutOptions:ArrayList<HomepageWidgetTimeLayoutsResponse>? = null
    open var BookingLayoutOptions:ArrayList<HomepageWidgetBookingLayoutsResponse>? = null
    open var BookingMethodOptions:ArrayList<HomepageWidgetBookingMethodsResponse>? = null
}

open class HomepageWidgetServiceLayoutsResponse
{
    /**
    * The layout id.
    */
    @ApiMember(Description="The layout id.")
    open var Id:Int? = null

    /**
    * The layout name.
    */
    @ApiMember(Description="The layout name.")
    open var Name:String? = null

    /**
    * The layout description.
    */
    @ApiMember(Description="The layout description.")
    open var Description:String? = null

    /**
    * The layout code.
    */
    @ApiMember(Description="The layout code.")
    open var Code:String? = null
}

open class HomepageWidgetTimeLayoutsResponse
{
    /**
    * The layout id.
    */
    @ApiMember(Description="The layout id.")
    open var Id:Int? = null

    /**
    * The layout name.
    */
    @ApiMember(Description="The layout name.")
    open var Name:String? = null

    /**
    * The layout description.
    */
    @ApiMember(Description="The layout description.")
    open var Description:String? = null

    /**
    * The layout code.
    */
    @ApiMember(Description="The layout code.")
    open var Code:String? = null
}

open class HomepageWidgetBookingLayoutsResponse
{
    /**
    * The layout id.
    */
    @ApiMember(Description="The layout id.")
    open var Id:Int? = null

    /**
    * The layout name.
    */
    @ApiMember(Description="The layout name.")
    open var Name:String? = null

    /**
    * The layout description.
    */
    @ApiMember(Description="The layout description.")
    open var Description:String? = null

    /**
    * The layout code.
    */
    @ApiMember(Description="The layout code.")
    open var Code:String? = null
}

open class HomepageWidgetBookingMethodsResponse
{
    /**
    * The layout id.
    */
    @ApiMember(Description="The layout id.")
    open var Id:Int? = null

    /**
    * The layout name.
    */
    @ApiMember(Description="The layout name.")
    open var Name:String? = null

    /**
    * The layout description.
    */
    @ApiMember(Description="The layout description.")
    open var Description:String? = null

    /**
    * The layout code.
    */
    @ApiMember(Description="The layout code.")
    open var Code:String? = null
}

Kotlin UpdateHomepageWidgetSettings 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 /homepage/widget/settings HTTP/1.1 
Host: api.bookmore.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateHomepageWidgetSettings xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <BookedTimeSlotText>String</BookedTimeSlotText>
  <BookingLayoutId>0</BookingLayoutId>
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <DarkTheme>false</DarkTheme>
  <EnableCreateAccount>false</EnableCreateAccount>
  <EnableDirectBooking>false</EnableDirectBooking>
  <EnableFacebookLogin>false</EnableFacebookLogin>
  <EnableLogin>false</EnableLogin>
  <PrimaryColor>String</PrimaryColor>
  <ServiceLayoutId>0</ServiceLayoutId>
  <ShowEndTime>false</ShowEndTime>
  <ShowNextAvailableTime>false</ShowNextAvailableTime>
  <ShowRebateCodeField>false</ShowRebateCodeField>
  <ShowServiceImage>false</ShowServiceImage>
  <ShowSubscribeToNewsletter>false</ShowSubscribeToNewsletter>
  <TimeLayoutId>0</TimeLayoutId>
</UpdateHomepageWidgetSettings>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<HomepageWidgetSettingsQueryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <BookedTimeSlotText>String</BookedTimeSlotText>
  <BookingLayoutId>0</BookingLayoutId>
  <BookingLayoutOptions>
    <HomepageWidgetBookingLayoutsResponse>
      <Code>String</Code>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
    </HomepageWidgetBookingLayoutsResponse>
  </BookingLayoutOptions>
  <BookingMethodOptions>
    <HomepageWidgetBookingMethodsResponse>
      <Code>String</Code>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
    </HomepageWidgetBookingMethodsResponse>
  </BookingMethodOptions>
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <DarkTheme>false</DarkTheme>
  <EnableCreateAccount>false</EnableCreateAccount>
  <EnableDirectBooking>false</EnableDirectBooking>
  <EnableFacebookLogin>false</EnableFacebookLogin>
  <EnableLogin>false</EnableLogin>
  <PrimaryColor>String</PrimaryColor>
  <ServiceLayoutId>0</ServiceLayoutId>
  <ServiceLayoutOptions>
    <HomepageWidgetServiceLayoutsResponse>
      <Code>String</Code>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
    </HomepageWidgetServiceLayoutsResponse>
  </ServiceLayoutOptions>
  <ShowEndTime>false</ShowEndTime>
  <ShowNextAvailableTime>false</ShowNextAvailableTime>
  <ShowRebateCodeField>false</ShowRebateCodeField>
  <ShowServiceImage>false</ShowServiceImage>
  <ShowSubscribeToNewsletter>false</ShowSubscribeToNewsletter>
  <TimeLayoutId>0</TimeLayoutId>
  <TimeLayoutOptions>
    <HomepageWidgetTimeLayoutsResponse>
      <Code>String</Code>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
    </HomepageWidgetTimeLayoutsResponse>
  </TimeLayoutOptions>
</HomepageWidgetSettingsQueryResponse>