Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
PUT | /homepage/settings | Update the homepage settings | Update the homepage settings on the company of the currently logged in user, only administrators are allowed to update homepage menu. |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageTemplateResponse:
# @ApiMember(Description="The template id")
id: int = 0
"""
The template id
"""
# @ApiMember(Description="The template name")
name: Optional[str] = None
"""
The template name
"""
# @ApiMember(Description="The template description")
description: Optional[str] = None
"""
The template description
"""
# @ApiMember(Description="The template image url")
image_url: Optional[str] = None
"""
The template image url
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageHeroSectionStyleResponse:
# @ApiMember(Description="The hero section style id")
id: int = 0
"""
The hero section style id
"""
# @ApiMember(Description="The hero section style name")
name: Optional[str] = None
"""
The hero section style name
"""
# @ApiMember(Description="The hero section style description")
description: Optional[str] = None
"""
The hero section style description
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageSettingsQueryResponse:
# @ApiMember(Description="The company id")
company_id: Optional[str] = None
"""
The company id
"""
# @ApiMember(Description="The text for homepage heading")
homepage_heading: Optional[str] = None
"""
The text for homepage heading
"""
# @ApiMember(Description="The text for homepage startpage heading")
welcome_page_heading: Optional[str] = None
"""
The text for homepage startpage heading
"""
# @ApiMember(Description="The text for homepage startpage body")
welcome_page_body: Optional[str] = None
"""
The text for homepage startpage body
"""
# @ApiMember(Description="The text for homepage about us page heading")
about_us_page_heading: Optional[str] = None
"""
The text for homepage about us page heading
"""
# @ApiMember(Description="The text for homepage about us page body")
about_us_page_body: Optional[str] = None
"""
The text for homepage about us page body
"""
# @ApiMember(Description="The startpage image url")
image_url: Optional[str] = None
"""
The startpage image url
"""
# @ApiMember(Description="The template for the homepage")
home_page_template_id: int = 0
"""
The template for the homepage
"""
# @ApiMember(Description="The hero section style for the homepage")
hero_section_style_id: int = 0
"""
The hero section style for the homepage
"""
# @ApiMember(Description="Show rating on the page")
show_rating: bool = False
"""
Show rating on the page
"""
# @ApiMember(Description="Enable the BokaMera Homepage")
enable_homepage: bool = False
"""
Enable the BokaMera Homepage
"""
# @ApiMember(DataType="datetime", Description="Will show when the homepage settings was created, note it will only be shown if your logged in as admin for the company.")
updated: Optional[datetime.datetime] = None
"""
Will show when the homepage settings was created, note it will only be shown if your logged in as admin for the company.
"""
# @ApiMember(DataType="datetime", Description="Will show when the homepage settings was updated, note it will only be shown if your logged in as admin for the company.")
created: Optional[datetime.datetime] = None
"""
Will show when the homepage settings was updated, note it will only be shown if your logged in as admin for the company.
"""
# @ApiMember(DataType="boolean", Description="The homepage templates options to select from", ParameterType="query")
home_page_template_options: Optional[List[HomepageTemplateResponse]] = None
"""
The homepage templates options to select from
"""
# @ApiMember(DataType="boolean", Description="The homepage hero section style options to select from", ParameterType="query")
homepage_hero_section_style_options: Optional[List[HomepageHeroSectionStyleResponse]] = None
"""
The homepage hero section style options to select from
"""
# @ValidateRequest(Validator="IsAuthenticated")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UpdateHomepageSettings(ICompany):
# @ApiMember(Description="The company id")
company_id: Optional[str] = None
"""
The company id
"""
# @ApiMember(Description="The text for homepage heading")
homepage_heading: Optional[str] = None
"""
The text for homepage heading
"""
# @ApiMember(Description="The text for homepage startpage heading")
welcome_page_heading: Optional[str] = None
"""
The text for homepage startpage heading
"""
# @ApiMember(Description="The text for homepage startpage body")
welcome_page_body: Optional[str] = None
"""
The text for homepage startpage body
"""
# @ApiMember(Description="The text for homepage about us page heading")
about_us_page_heading: Optional[str] = None
"""
The text for homepage about us page heading
"""
# @ApiMember(Description="The text for homepage about us page body")
about_us_page_body: Optional[str] = None
"""
The text for homepage about us page body
"""
# @ApiMember(Description="The start page image url")
image_url: Optional[str] = None
"""
The start page image url
"""
# @ApiMember(Description="The template for the homepage")
home_page_template_id: Optional[int] = None
"""
The template for the homepage
"""
# @ApiMember(Description="Show rating on the page")
show_rating: Optional[bool] = None
"""
Show rating on the page
"""
# @ApiMember(Description="Enable the BokaMera Homepage")
enable_homepage: Optional[bool] = None
"""
Enable the BokaMera Homepage
"""
# @ApiMember(Description="The hero section style for the homepage")
hero_section_style_id: Optional[int] = None
"""
The hero section style for the homepage
"""
Python UpdateHomepageSettings DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /homepage/settings HTTP/1.1
Host: api.bokamera.se
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","HomepageHeading":"String","WelcomePageHeading":"String","WelcomePageBody":"String","AboutUsPageHeading":"String","AboutUsPageBody":"String","HomePageTemplateId":0,"ShowRating":false,"EnableHomepage":false,"HeroSectionStyleId":0}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"HomepageHeading":"String","WelcomePageHeading":"String","WelcomePageBody":"String","AboutUsPageHeading":"String","AboutUsPageBody":"String","HomePageTemplateId":0,"HeroSectionStyleId":0,"ShowRating":false,"EnableHomepage":false,"Updated":"0001-01-01T00:00:00","Created":"0001-01-01T00:00:00","HomePageTemplateOptions":[{"Id":0,"Name":"String","Description":"String"}],"HomepageHeroSectionStyleOptions":[{"Id":0,"Name":"String","Description":"String"}]}