BokaMera.API.Host

<back to all web services

HomepageWidgetSettingsQuery

The following routes are available for this service:
GET/homepage/widget/settingsGet homepage widget settingsGet homepage widget settings on the company of the currently logged in user, only administrators are allowed to update homepage menu.
import Foundation
import ServiceStack

public class HomepageWidgetSettingsQuery : ICompany, ICompanyRequest, Codable
{
    /**
    * 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 var companyId:String?

    /**
    * The homepage sitepath.
    */
    // @ApiMember(Description="The homepage sitepath.")
    public var sitePath:String

    /**
    * If you want to include what service layout options to select from
    */
    // @ApiMember(Description="If you want to include what service layout options to select from")
    public var includeServiceLayoutOptions:Bool

    /**
    * If you want to include what time layout options to select from
    */
    // @ApiMember(Description="If you want to include what time layout options to select from")
    public var includeTimeLayoutOptions:Bool

    /**
    * If you want to include what booking layout options to select from
    */
    // @ApiMember(Description="If you want to include what booking layout options to select from")
    public var includeBookingLayoutOptions:Bool

    /**
    * If you want to include what booking method options to select from
    */
    // @ApiMember(Description="If you want to include what booking method options to select from")
    public var includeBookingMethodOptions:Bool

    required public init(){}
}

public class HomepageWidgetSettingsQueryResponse : Codable
{
    /**
    * The company id.
    */
    // @ApiMember(Description="The company id.")
    public var companyId:String

    /**
    * The service layouts id.
    */
    // @ApiMember(Description="The service layouts id.")
    public var serviceLayoutId:Int

    /**
    * The time layouts id.
    */
    // @ApiMember(Description="The time layouts id.")
    public var timeLayoutId:Int

    /**
    * The booking layouts id.
    */
    // @ApiMember(Description="The booking layouts id.")
    public var bookingLayoutId:Int

    /**
    * The primary color of the booking widget.
    */
    // @ApiMember(Description="The primary color of the booking widget.")
    public var primaryColor:String

    /**
    * 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 var showServiceImage:Bool

    /**
    * 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 var showRebateCodeField:Bool

    /**
    * 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 var showNextAvailableTime:Bool

    /**
    * 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 var showSubscribeToNewsletter:Bool

    /**
    * If you should show the create account option.
    */
    // @ApiMember(Description="If you should show the create account option.")
    public var enableCreateAccount:Bool

    /**
    * If you should show the login to account option.
    */
    // @ApiMember(Description="If you should show the login to account option.")
    public var enableLogin:Bool

    /**
    * If you should show the facebook login to account option.
    */
    // @ApiMember(Description="If you should show the facebook login to account option.")
    public var enableFacebookLogin:Bool

    /**
    * 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 var enableDirectBooking:Bool

    /**
    * If the site should have dark theme or not.
    */
    // @ApiMember(Description="If the site should have dark theme or not.")
    public var darkTheme:Bool

    /**
    * 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 var showEndTime:Bool

    /**
    * 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 var bookedTimeSlotText:String

    public var serviceLayoutOptions:[HomepageWidgetServiceLayoutsResponse] = []
    public var timeLayoutOptions:[HomepageWidgetTimeLayoutsResponse] = []
    public var bookingLayoutOptions:[HomepageWidgetBookingLayoutsResponse] = []
    public var bookingMethodOptions:[HomepageWidgetBookingMethodsResponse] = []

    required public init(){}
}

public class HomepageWidgetServiceLayoutsResponse : Codable
{
    /**
    * The layout id.
    */
    // @ApiMember(Description="The layout id.")
    public var id:Int

    /**
    * The layout name.
    */
    // @ApiMember(Description="The layout name.")
    public var name:String

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

    /**
    * The layout code.
    */
    // @ApiMember(Description="The layout code.")
    public var code:String

    required public init(){}
}

public class HomepageWidgetTimeLayoutsResponse : Codable
{
    /**
    * The layout id.
    */
    // @ApiMember(Description="The layout id.")
    public var id:Int

    /**
    * The layout name.
    */
    // @ApiMember(Description="The layout name.")
    public var name:String

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

    /**
    * The layout code.
    */
    // @ApiMember(Description="The layout code.")
    public var code:String

    required public init(){}
}

public class HomepageWidgetBookingLayoutsResponse : Codable
{
    /**
    * The layout id.
    */
    // @ApiMember(Description="The layout id.")
    public var id:Int

    /**
    * The layout name.
    */
    // @ApiMember(Description="The layout name.")
    public var name:String

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

    /**
    * The layout code.
    */
    // @ApiMember(Description="The layout code.")
    public var code:String

    required public init(){}
}

public class HomepageWidgetBookingMethodsResponse : Codable
{
    /**
    * The layout id.
    */
    // @ApiMember(Description="The layout id.")
    public var id:Int

    /**
    * The layout name.
    */
    // @ApiMember(Description="The layout name.")
    public var name:String

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

    /**
    * The layout code.
    */
    // @ApiMember(Description="The layout code.")
    public var code:String

    required public init(){}
}


Swift HomepageWidgetSettingsQuery DTOs

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

HTTP + JSV

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

GET /homepage/widget/settings HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ServiceLayoutId: 0,
	TimeLayoutId: 0,
	BookingLayoutId: 0,
	PrimaryColor: String,
	ShowServiceImage: False,
	ShowRebateCodeField: False,
	ShowNextAvailableTime: False,
	ShowSubscribeToNewsletter: False,
	EnableCreateAccount: False,
	EnableLogin: False,
	EnableFacebookLogin: False,
	EnableDirectBooking: False,
	DarkTheme: False,
	ShowEndTime: False,
	BookedTimeSlotText: String,
	ServiceLayoutOptions: 
	[
		{
			Id: 0,
			Name: String,
			Description: String,
			Code: String
		}
	],
	TimeLayoutOptions: 
	[
		{
			Id: 0,
			Name: String,
			Description: String,
			Code: String
		}
	],
	BookingLayoutOptions: 
	[
		{
			Id: 0,
			Name: String,
			Description: String,
			Code: String
		}
	],
	BookingMethodOptions: 
	[
		{
			Id: 0,
			Name: String,
			Description: String,
			Code: String
		}
	]
}