/* Options: Date: 2025-09-15 07:15:14 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: UpdateCompany.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/companies/{CompanyId}", Verbs="PUT") @ValidateRequest(Validator="IsAuthenticated") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) open class UpdateCompany : 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.", IsRequired=true, ParameterType="path") override var CompanyId:UUID? = null open var Name:String? = null open var OrganisationNumber:String? = null /** * What type of company. If it's used for personal use or as a company. 1 = Company use, 2 = Personal use */ @ApiMember(DataType="int", Description="What type of company. If it's used for personal use or as a company. 1 = Company use, 2 = Personal use") open var TypeId:Int? = null open var OpeningHours:String? = null open var Details:String? = null open var CategoryId:Int? = null open var LogoType:Uri? = null open var Street1:String? = null open var Street2:String? = null open var ZipCode:String? = null open var City:String? = null open var CountryId:String? = null open var Longitude:String? = null open var Latitude:String? = null open var Phone:String? = null open var Email:String? = null open var Fax:String? = null open var Homepage:String? = null open var SitePath:String? = null companion object { private val responseType = CompanyQueryResponse::class.java } override fun getResponseType(): Any? = UpdateCompany.responseType } open class CompanyQueryResponse { open var Id:UUID? = null open var Name:String? = null /** * The organisation number will only be visible if you are the owner of the company. */ @ApiMember(DataType="string", Description="The organisation number will only be visible if you are the owner of the company.") open var OrganisationNumber:String? = null /** * What type of company. If it's used for personal use or as a company. */ @ApiMember(DataType="int", Description="What type of company. If it's used for personal use or as a company.") open var TypeId:Int? = null open var Details:String? = null open var CategoryId:Int? = null open var Category:String? = null open var LogoType:Uri? = null open var CoverImage:Uri? = null open var Street1:String? = null open var Street2:String? = null open var ZipCode:String? = null open var City:String? = null open var CountryId:String? = null open var Longitude:String? = null open var Latitude:String? = null open var Distance:Double? = null open var Phone:String? = null open var Email:String? = null open var Homepage:String? = null open var SitePath:String? = null open var Active:Boolean? = null open var CodeLockSystem:CodeLockSystemType? = null open var IsFreeAccount:Boolean? = null /** * Will show when the company was updated, note it will only be shown if your logged in as admin for the company. */ @ApiMember(DataType="datetime", Description="Will show when the company was updated, note it will only be shown if your logged in as admin for the company.") open var Updated:Date? = null /** * Will show when the company 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 company was created, note it will only be shown if your logged in as admin for the company.") open var Created:Date? = null open var StatusId:Int? = null /** * If the company is marked as favourite for the logged in user */ @ApiMember(DataType="boolean", Description="If the company is marked as favourite for the logged in user") open var IsFavorite:Boolean? = null open var BookingAgreements:String? = null open var BookingSettings:CompanyBookingSettings? = null open var SystemSettings:CompanySystemSettings? = null open var WidgetSettings:CompanyWidgetSettings? = null open var HomepageSettings:HomepageSettingsResponse? = null open var RatingSummary:CompanyRatingSummary? = null open var Reviews:ArrayList? = null open var CustomerCustomFields:ArrayList? = null open var ResponseStatus:ResponseStatus? = null } interface ICompany { var CompanyId:UUID? } open class RatingReviewResponse { /** * The title for the review */ @ApiMember(Description="The title for the review") open var Title:String? = null /** * The description for the review */ @ApiMember(Description="The description for the review") open var Description:String? = null /** * The rating score */ @ApiMember(Description="The rating score") open var RatingScore:Int? = null /** * The review author */ @ApiMember(Description="The review author") open var Author:String? = null /** * The created date */ @ApiMember(Description="The created date") open var Created:Date? = null /** * The review answer from the company */ @ApiMember(Description="The review answer from the company") open var ReviewAnswer:String? = null } open class CustomFieldConfigData { /** * Custom field id */ @ApiMember(Description="Custom field id") open var Id:Int? = null /** * Configuration name. Example: 'Number of persons'. */ @ApiMember(Description="Configuration name. Example: 'Number of persons'.") open var Name:String? = null /** * Custom field description. Example: 'For how many persons is this booking?' */ @ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'") open var Description:String? = null /** * Field width. Example: 20 for 20px */ @ApiMember(Description="Field width. Example: 20 for 20px") open var Width:Int? = null /** * Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */ @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'") open var DataType:String? = null /** * Default value of the field. Example: '3' */ @ApiMember(Description="Default value of the field. Example: '3'") open var DefaultValue:String? = null /** * Determines if the field is required to have a value or not */ @ApiMember(Description="Determines if the field is required to have a value or not") open var IsMandatory:Boolean? = null /** * Error message shown to the user if the field data is required but not entered */ @ApiMember(Description="Error message shown to the user if the field data is required but not entered") open var MandatoryErrorMessage:String? = null /** * Max lenght of the field */ @ApiMember(Description="Max lenght of the field") open var MaxLength:Int? = null /** * If the field should have multiple lines */ @ApiMember(Description="If the field should have multiple lines") open var MultipleLineText:Boolean? = null /** * Regular expression used for validation of the field */ @ApiMember(Description="Regular expression used for validation of the field") open var RegEx:String? = null /** * Error message shown if the regular expression validation failed */ @ApiMember(Description="Error message shown if the regular expression validation failed") open var RegExErrorMessage:String? = null /** * The values to select from if Datatype is DropDown for this custom field */ @ApiMember(Description="The values to select from if Datatype is DropDown for this custom field") open var Values:ArrayList? = null } enum class CodeLockSystemType { Sample, RcoM5, AxemaVaka, VanderbiltOmnis, ParakeyParakey, AmidoDax, TelkeyTelkey, TechSolutionsSiedle, Accessy, Zesec, Enabla, } open class CompanyBookingSettings { open var EnableMobileApp:Boolean? = null open var BookingReceiptMessage:String? = null open var ShowFreeTimesLeft:Boolean? = null open var EnableShowBookedTimes:Boolean? = null open var BookingAgreement:String? = null /** * The settings for how to display week number. 1 = ShowWeekNumberFromDate, 2 = ShowWeekNumberToDate, 3 = ShowWeekNumberFromToDate, 4 = DontShowWeekNumber */ @ApiMember(DataType="int", Description="The settings for how to display week number. 1 = ShowWeekNumberFromDate, 2 = ShowWeekNumberToDate, 3 = ShowWeekNumberFromToDate, 4 = DontShowWeekNumber ") open var WeekNumberSetting:Int? = null open var ShowBookedTimes:Boolean? = null /** * The payment provider id. 1 = Payson Checkout 1.0, 2= Payson Checkout 2.0 ... To get the full payment provider for the company call GET /payment/settings */ @ApiMember(Description="The payment provider id. 1 = Payson Checkout 1.0, 2= Payson Checkout 2.0 ... To get the full payment provider for the company call GET /payment/settings") open var PaymentProviderId:Int? = null /** * If it's only allowed for existing customers to book */ @ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book") open var BookOnlyOnExistingCustomers:Boolean? = null /** * If payment is enabled */ @ApiMember(DataType="boolean", Description="If payment is enabled") open var PaymentEnabled:Boolean? = null open var BookingPinCodeRestriction:String? = null open var CustomerInvoiceAdressRequired:Boolean? = null } open class CompanySystemSettings { /** * If the booking is active or not */ @ApiMember(DataType="bool", Description="If the booking is active or not") open var Active:Boolean? = null /** * If the booking is not active, what message to show to the customers */ @ApiMember(DataType="string", Description="If the booking is not active, what message to show to the customers") open var InactiveMessage:String? = null /** * If the company should be visible in search results on homepage */ @ApiMember(DataType="bool", Description="If the company should be visible in search results on homepage") open var Searchable:Boolean? = null /** * If you have a Google Analytics account and want to track your customers behaviors. */ @ApiMember(DataType="string", Description="If you have a Google Analytics account and want to track your customers behaviors.") open var GATrackingId:String? = null /** * If you have a Google Ads Conversion Id account and want to track your customers behaviors. */ @ApiMember(DataType="string", Description="If you have a Google Ads Conversion Id account and want to track your customers behaviors.") open var GoogleAdsConversionId:String? = null /** * If you have a LinkedIn account and want to track your customers behaviors. */ @ApiMember(DataType="string", Description="If you have a LinkedIn account and want to track your customers behaviors.") open var LinkedinTagId:String? = null /** * If you have a Google Ads Conversion Label and want to track your customers behaviors. */ @ApiMember(DataType="string", Description="If you have a Google Ads Conversion Label and want to track your customers behaviors.") open var GoogleAdsConversionLabel:String? = null /** * If you have a Google Tag Manager account and want to track your customers behaviors. */ @ApiMember(DataType="string", Description="If you have a Google Tag Manager account and want to track your customers behaviors.") open var GTMTrackingId:String? = null /** * If you have a Facebook account and want to track your customers behaviors. */ @ApiMember(DataType="string", Description="If you have a Facebook account and want to track your customers behaviors.") open var FacebookPixelId:String? = null /** * If you want your customers to be able to change language on your homepage */ @ApiMember(DataType="bool", Description="If you want your customers to be able to change language on your homepage") open var MultiLanguage:Boolean? = null /** * If the company should be visible on the marketplace */ @ApiMember(DataType="bool", Description="If the company should be visible on the marketplace") open var ShowOnMarketplace:Boolean? = null /** * If you want your own written text on your homepage to be translated using Google Translate when a user changes language */ @ApiMember(DataType="bool", Description="If you want your own written text on your homepage to be translated using Google Translate when a user changes language") open var EnableAPITranslation:Boolean? = null /** * What is the standard language your homepage information is written in. Select from the different countries, i.e. SE,NO,EN */ @ApiMember(DataType="string", Description="What is the standard language your homepage information is written in. Select from the different countries, i.e. SE,NO,EN") open var DefaultLanguage:String? = null /** * If you want to allow to send customer information in the tracking events to the external providers. Note you as a company are responsible for informing your customers and handling the data in terms of GDPR. */ @ApiMember(Description="If you want to allow to send customer information in the tracking events to the external providers. Note you as a company are responsible for informing your customers and handling the data in terms of GDPR. ") open var SendCustomerInformationToExternalProviders:Boolean? = null /** * The maximum number of SMS messages that can be sent per day. */ @ApiMember(Description="The maximum number of SMS messages that can be sent per day.") open var SMSMessageDailySendLimit:Int? = null /** * The maximum number of email messages that can be sent per day. */ @ApiMember(Description="The maximum number of email messages that can be sent per day.") open var EmailMessageDailySendLimit:Int? = null } open class CompanyWidgetSettings { /** * 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 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 /** * If the widget should be displayed in dark theme */ @ApiMember(Description="If the widget should be displayed in dark theme") open var DarkTheme: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 } open class HomepageSettingsResponse { /** * The text for homepage heading */ @ApiMember(Description="The text for homepage heading") open var HomepageHeading:String? = null /** * The text for homepage startpage heading */ @ApiMember(Description="The text for homepage startpage heading") open var WelcomePageHeading:String? = null /** * The text for homepage startpage body */ @ApiMember(Description="The text for homepage startpage body") open var WelcomePageBody:String? = null /** * The text for homepage about us page heading */ @ApiMember(Description="The text for homepage about us page heading") open var AboutUsPageHeading:String? = null /** * The text for homepage about us page body */ @ApiMember(Description="The text for homepage about us page body") open var AboutUsPageBody:String? = null /** * The startpage image url */ @ApiMember(Description="The startpage image url") open var ImageUrl:Uri? = null /** * The cover image url */ @ApiMember(Description="The cover image url") open var CoverImage:Uri? = null /** * Show rating on the page */ @ApiMember(Description="Show rating on the page") open var ShowRating:Boolean? = null /** * The template for the homepage */ @ApiMember(Description="The template for the homepage") open var HomePageTemplateId:Int? = null /** * The hero section style for the homepage */ @ApiMember(Description="The hero section style for the homepage") open var HeroSectionStyleId:Int? = null /** * Enable the BokaMera Homepage */ @ApiMember(Description="Enable the BokaMera Homepage") open var EnableHomepage:Boolean? = null } open class CompanyRatingSummary { /** * The average rating score */ @ApiMember(Description="The average rating score") open var AverageScore:Double? = null /** * The number of ratings of score 1 */ @ApiMember(Description="The number of ratings of score 1") open var RatingScore1Count:Int? = null /** * The number of ratings of score 2 */ @ApiMember(Description="The number of ratings of score 2") open var RatingScore2Count:Int? = null /** * The number of ratings of score 3 */ @ApiMember(Description="The number of ratings of score 3") open var RatingScore3Count:Int? = null /** * The number of ratings of score 4 */ @ApiMember(Description="The number of ratings of score 4") open var RaingScore4Count:Int? = null /** * The number of ratings of score 5 */ @ApiMember(Description="The number of ratings of score 5") open var RatingScore5Count:Int? = null /** * The number of ratings */ @ApiMember(Description="The number of ratings") open var Count:Int? = null } open class CustomFieldValueResponse { open var Value:String? = null }