/* Options: Date: 2025-09-14 14:29:41 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: CompanyQuery.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/companies", Verbs="GET") open class CompanyQuery : QueryDb(), IReturn> { /** * Id for a specific company you want to retrieve. */ @ApiMember(Description="Id for a specific company you want to retrieve.", ParameterType="query") open var Id:UUID? = null /** * Include companies in these categories. */ @ApiMember(Description="Include companies in these categories.", ParameterType="query") open var Categories:ArrayList? = null /** * Search nearby this latitude coordinate. */ @ApiMember(Description="Search nearby this latitude coordinate.", ParameterType="query") open var Latitude:Double? = null /** * Search nearby this longitude coordinate. */ @ApiMember(Description="Search nearby this longitude coordinate.", ParameterType="query") open var Longitude:Double? = null /** * The site path url for the company homepage */ @ApiMember(Description="The site path url for the company homepage", ParameterType="query") open var SitePath:String? = null /** * Search active companies. You're only allowed to search active companies. */ @ApiMember(Description="Search active companies. You're only allowed to search active companies.", ParameterType="query") open var Active:Boolean? = null /** * The organisation number for the company */ @ApiMember(Description="The organisation number for the company", ParameterType="query") open var OrganisationNumber:String? = null /** * Maxium distance from the coordinates to be included in the result. */ @ApiMember(Description="Maxium distance from the coordinates to be included in the result.", ParameterType="query") open var Distance:Double? = null /** * Will search by any company name or city that contains the search string provided. */ @ApiMember(Description="Will search by any company name or city that contains the search string provided.", ParameterType="query") open var Search:String? = null /** * Will search by any company owner id. Default is 1 = BokaMera. */ @ApiMember(Description="Will search by any company owner id. Default is 1 = BokaMera.", ParameterType="query") open var CompanyOwnerId:Int? = null /** * If you want to get the booking agreements loaded into the field BookingAgreements */ @ApiMember(DataType="boolean", Description="If you want to get the booking agreements loaded into the field BookingAgreements", ParameterType="query") open var IncludeBookingAgreements:Boolean? = null /** * If you want to get the code lock system used by the company */ @ApiMember(DataType="boolean", Description="If you want to get the code lock system used by the company", ParameterType="query") open var IncludeCodeLockSystem:Boolean? = null /** * If you want to get the booking settings loaded into the field BookingSettings */ @ApiMember(DataType="boolean", Description="If you want to get the booking settings loaded into the field BookingSettings", ParameterType="query") open var IncludeBookingSettings:Boolean? = null /** * If you want to get the system settings loaded into the field SystemSettings */ @ApiMember(DataType="boolean", Description="If you want to get the system settings loaded into the field SystemSettings", ParameterType="query") open var IncludeSystemSettings:Boolean? = null /** * If you want to get the widget settings loaded into the field WidgetSettings */ @ApiMember(DataType="boolean", Description="If you want to get the widget settings loaded into the field WidgetSettings", ParameterType="query") open var IncludeWidgetSettings:Boolean? = null /** * If you want to get the homepage settings loaded into the field HomepageSettings */ @ApiMember(DataType="boolean", Description="If you want to get the homepage settings loaded into the field HomepageSettings", ParameterType="query") open var IncludeHomepageSettings:Boolean? = null /** * If you want to include the connected custom fields for the customers */ @ApiMember(DataType="boolean", Description="If you want to include the connected custom fields for the customers", ParameterType="query") open var IncludeCustomerCustomFields:Boolean? = null /** * If you want to include the connected custom fields */ @ApiMember(DataType="boolean", Description="If you want to include the connected custom fields", ParameterType="query") open var IncludeCustomFields:Boolean? = null /** * If you want to include the rating reviews */ @ApiMember(DataType="boolean", Description="If you want to include the rating reviews", ParameterType="query") open var IncludeRatingReviews:Boolean? = null /** * If you want to include the rating summary */ @ApiMember(DataType="boolean", Description="If you want to include the rating summary", ParameterType="query") open var IncludeRatingSummary:Boolean? = null open var ResponseStatus:ResponseStatus? = null companion object { private val responseType = object : TypeToken>(){}.type } override fun getResponseType(): Any? = CompanyQuery.responseType } @DataContract open class QueryResponse { @DataMember(Order=1) open var Offset:Int? = null @DataMember(Order=2) open var Total:Int? = null @DataMember(Order=3) open var Results:ArrayList? = null @DataMember(Order=4) open var Meta:HashMap? = null @DataMember(Order=5) open var ResponseStatus:ResponseStatus? = null } open class QueryDb : QueryBase() { } interface ICompany { var CompanyId:UUID? } enum class BookingStatusEnum(val value:Int) { Booked(1), Unbooked(2), Reserved(3), Canceled(4), AwaitingPayment(5), AwaitingPaymentNoTimeLimit(6), Payed(7), AwaitingPaymentRequestFromAdmin(8), AwaitingPaymentFromProvider(9), Invoiced(10), } interface IInterval { var From:Date? var To:Date? } open class CompanyCategory : BaseModel() { @Required() open var Name:String? = null @Required() open var Header:String? = null @Required() open var Description:String? = null open var ImageUrl:Uri? = null @Required() open var Active:Boolean? = null open var SortOrder:Int? = null open var ModifiedDate:Date? = null open var Id:Int? = null } open class CompanyType : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class Company : BaseModel() { @Ignore() open var Status:CompanyStatus? = null @Ignore() open var Active:Boolean? = null @Ignore() open var CustomerCustomFieldsConfig:IList? = null @Ignore() open var BookingAgreements:String? = null @Ignore() open var BookingSettings:BookingSettings? = null @Ignore() open var CompanyType:CompanyType? = null @Ignore() open var CodeLockSettings:CodeLockSetting? = null @Ignore() open var PaymentSettings:PaymentSetting? = null @Ignore() open var Settings:CompanySetting? = null @Ignore() open var WidgetSettings:HomepageWidgetSetting? = null @Ignore() open var HomepageSettings:HomepageSetting? = null @Ignore() open var RatingScore:AverageRatingScore? = null @Ignore() open var Ratings:ArrayList? = null @Ignore() open var Distance:Double? = null @Ignore() open var Licenses:ArrayList? = null @Ignore() open var CompanyUsers:ArrayList? = null @Ignore() open var ActiveLicenses:ArrayList? = null @Ignore() open var CurrentLicense:License? = null @Ignore() open var IsFreeAccount:Boolean? = null @Ignore() open var DefaultLanguage:CultureInfo? = null open var Category:CompanyCategory? = null @Ignore() open var Lat:Double? = null @Ignore() open var Lon:Double? = null @Ignore() open var IsFavorite:Boolean? = null @Ignore() open var ExternalReferences:IList? = null @Required() open var OrganisationNumber:String? = null @Required() open var StatusId:Int? = null @Required() open var CategoryId:Int? = null @Required() open var SitePath:String? = null @Required() open var Name:String? = null open var Street1:String? = null open var Street2:String? = null open var ZipCode:String? = null open var City:String? = null open var OpeningHours:String? = null open var FaxNumber:String? = null @Required() open var Email:String? = null open var Phone:String? = null open var Details:String? = null open var LogoType:String? = null @Required() open var ApprovedByAdmin:Boolean? = null @Required() open var Updated:Date? = null @Required() open var Created:Date? = null open var IpAddress:String? = null open var Homepage:String? = null open var DomainName:String? = null @Required() open var CountryId:String? = null @Required() open var CompanyOwnerId:Int? = null open var TypeId:Int? = null open var ModifiedDate:Date? = null @Required() open var Id:UUID? = null open var DeletionNotificationDate:Date? = null } open class CompanyUser : BaseModel(), IUser, IBaseModelCreated, IBaseModelUpdated { open var Resource:Resource? = null @Ignore() open var Roles:ArrayList? = null @Ignore() open var Company:Company? = null override var Email:String? = null @Ignore() open var FullName:String? = null open var ResourceId:Int? = null open var WorkerId:String? = null @Required() open var Active:Boolean? = null @Required() open var IsSuperAdmin:Boolean? = null @Required() override var CreatedDate:Date? = null @Required() override var UpdatedDate:Date? = null open var ModifiedDate:Date? = null @Required() open var CompanyId:UUID? = null @Required() override var Id:UUID? = null override var UserId:UUID? = null override var Firstname:String? = null override var Lastname:String? = null @Required() open var SendPushNotification:Boolean? = null @Required() open var SendPushNotificationReminder:Boolean? = null override var Phone:String? = null } open class Country : BaseModel() { @References(Type=Currency::class) open var CurrencyId:String? = null open var CurrencyInfo:Currency? = null @Required() open var Name:String? = null open var Culture:String? = null open var TimeZone:String? = null open var ModifiedDate:Date? = null @Required() open var Id:String? = null } open class Currency : BaseModel() { @Required() open var Name:String? = null @Required() open var CurrencySign:String? = null @Required() open var Active:Boolean? = null open var ModifiedDate:Date? = null @Required() open var Id:String? = null } open class CustomFieldConfig : BaseModel() { @Ignore() open var Values:ArrayList? = null open var CustomField:CustomField? = null @Ignore() open var RegEx:RegEx? = null @Ignore() open var Services:ArrayList? = null open var CustomFieldServiceRelation:ArrayList? = null @Required() open var CompanyId:UUID? = null open var Id:Int? = null open var GroupId:Int? = null @Required() open var FieldId:Int? = null @Required() open var IconId:Int? = null open var RegExId:Int? = null @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var Datatype:String? = null @Required() open var MaxLength:Int? = null @Required() open var IsPublic:Boolean? = null @Required() open var IsHidden:Boolean? = null @Required() open var IsMandatory:Boolean? = null open var DefaultValue:String? = null open var RegExErrorMessage:String? = null open var MandatoryErrorMessage:String? = null open var Width:Int? = null @Required() open var MultipleLineText:Boolean? = null open var ModifiedDate:Date? = null } open class License : BaseModel() { open var Type:LicenseType? = null @Required() open var CompanyId:UUID? = null open var Id:Int? = null @Required() open var TypeId:Int? = null @Required() open var ValidFrom:Date? = null @Required() open var ValidTo:Date? = null @Required() open var Active:Boolean? = null @Required() open var Updated:Date? = null @Required() open var Created:Date? = null open var ModifiedDate:Date? = null open var MetaData:String? = null } open class LicenseType : BaseModel() { @Ignore() open var LicenseItems:IList? = null @Ignore() open var Prices:IList? = null @Ignore() open var IsFree:Boolean? = null @Ignore() open var PeriodOfNoticeDays:Int? = null @Ignore() open var NextLicenseOption:LicenseType? = null @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var ExtraLicenseOption:Boolean? = null open var ModifiedDate:Date? = null open var Active:Boolean? = null open var Id:Int? = null } open class Rating : BaseModel() { open var ReviewId:UUID? = null open var Review:Review? = null @Required() open var CompanyId:UUID? = null @Required() open var BookingId:Int? = null @Required() open var RatingScore:Int? = null @Required() open var Status:Int? = null @Required() open var Created:Date? = null @Required() open var Updated:Date? = null open var ModifiedDate:Date? = null } open class Review : BaseModel() { open var ReviewId:UUID? = null @Required() open var CompanyId:UUID? = null @Required() open var Title:String? = null @Required() open var Description:String? = null @Required() open var Author:String? = null @Required() open var Status:Int? = null @Required() open var Created:Date? = null @Required() open var Updated:Date? = null open var ModifiedDate:Date? = null open var ReviewAnswer:String? = null } 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 ExternalReference : BaseModel() { @Required() open var CompanyId:UUID? = null @Required() open var Id:UUID? = null @Required() open var OwnerId:UUID? = null @Required() open var ReferenceType:String? = null open var ExternalData:String? = null open var CreatedBy:String? = null @Required() open var Updated:Date? = null @Required() open var Created:Date? = null open var ModifiedDate:Date? = null } open class Resource : BaseModel(), ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated { @Ignore() open var Priority:Int? = null @Ignore() open var Schedules:IList? = null @Ignore() open var Exceptions:IList? = null @Ignore() open var Bookings:IList? = null @Ignore() override var CustomFieldsConfig:IList? = null @Ignore() override var CustomFieldsData:IList? = null @Required() open var CompanyId:UUID? = null open var Id:Int? = null @Required() open var Name:String? = null @Required() open var Active:Boolean? = null open var Description:String? = null open var ImageUrl:String? = null @Required() override var UpdatedDate:Date? = null @Required() override var CreatedDate:Date? = null @Required() open var Color:String? = null open var Email:String? = null open var MobilePhone:String? = null open var EmailNotification:Boolean? = null open var SMSNotification:Boolean? = null @Required() open var SendSMSReminder:Boolean? = null @Required() open var SendEmailReminder:Boolean? = null open var ModifiedDate:Date? = null open var AccessGroup:String? = null override var TextField1:String? = null override var TextField2:String? = null override var TextField3:String? = null override var TextField4:String? = null override var TextField5:String? = null override var TextField6:String? = null override var TextField7:String? = null override var TextField8:String? = null override var TextField9:String? = null override var TextField10:String? = null override var TextField11:String? = null override var TextField12:String? = null override var TextField13:String? = null override var TextField14:String? = null override var TextField15:String? = null override var TextField16:String? = null override var TextField17:String? = null override var TextField18:String? = null override var TextField19:String? = null override var TextField20: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 } open class CustomFieldDataResponse { open var Id:Int? = null open var Column:String? = null open var Name:String? = null open var Description:String? = null open var Value:String? = 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 } open class BookedCustomer { open var Id:UUID? = null open var Firstname:String? = null open var Lastname:String? = null open var Email:String? = null open var Phone:String? = null open var FacebookUserName:String? = null open var ImageUrl:String? = null open var CorporateIdentityNumber:String? = null open var InvoiceAddress1:String? = null open var InvoiceAddress2:String? = null open var InvoiceCity:String? = null open var InvoicePostalCode:String? = null open var InvoiceCountryCode:String? = 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 } enum class ScheduleType { NotDefined, RecurringSchedule, DateSchedule, } open class BookingStatusOptions { open var Id:Int? = null open var Name:String? = null open var Description:String? = null } open class LanguageResponse { open var Id:String? = null open var Name:String? = null } @DataContract open class QueryBase { /** * Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.

Example:
?skip=10&orderBy=Id */ @DataMember(Order=1) open var Skip:Int? = null /** * Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.

Example:
?take=20 */ @DataMember(Order=2) open var Take:Int? = null /** * Comma separated list of fields to order by. Prefix the field name with a minus if you wan't to invert the sort for that field.

Example:
?orderBy=Id,-Age,FirstName */ @DataMember(Order=3) open var OrderBy:String? = null /** * Comma separated list of fields to order by in descending order. Prefix the field name with a minus if you wan't to invert the sort for that field.

Example:
?orderByDesc=Id,-Age,FirstName */ @DataMember(Order=4) open var OrderByDesc:String? = null /** * Include any of the aggregates AVG, COUNT, FIRST, LAST, MAX, MIN, SUM in your result set. The results will be returned in the meta field.

Example:
?include=COUNT(*) as Total

or multiple fields with
?include=Count(*) Total, Min(Age), AVG(Age) AverageAge

or unique with
?include=COUNT(DISTINCT LivingStatus) as UniqueStatus */ @DataMember(Order=5) open var Include:String? = null @DataMember(Order=6) open var Fields:String? = null @DataMember(Order=7) open var Meta:HashMap? = null } open class BaseModel { } interface IBaseModelCreated { var CreatedDate:Date? } interface IBaseModelUpdated { var UpdatedDate:Date? } interface ICustomFieldTable { var CustomFieldsConfig:IList? var CustomFieldsData:IList? var TextField1:String? var TextField2:String? var TextField3:String? var TextField4:String? var TextField5:String? var TextField6:String? var TextField7:String? var TextField8:String? var TextField9:String? var TextField10:String? var TextField11:String? var TextField12:String? var TextField13:String? var TextField14:String? var TextField15:String? var TextField16:String? var TextField17:String? var TextField18:String? var TextField19:String? var TextField20:String? } enum class CompanyStatus(val value:Int) { Registered(1), AwaitingApproval(2), Approved(3), Inactive(4), ClosedDown(5), NotApproved(6), } open class BookingSettings : BaseModel() { @References(Type=FreeSpotTexts::class) open var FreeSpotTextsId:Int? = null @Ignore() open var SendEmailConfirmation:Boolean? = null @Ignore() open var ScheduleViewOptions:ArrayList? = null @Ignore() open var WeekNumberSettingOptions:ArrayList? = null @Ignore() open var BookingTemplateOptions:ArrayList? = null @Ignore() open var CalendarTypeOptions:ArrayList? = null @Ignore() open var FreeSpotTextOptions:ArrayList? = null @Ignore() open var BookingStatusOptions:ArrayList? = null open var FreeSpotTextsInfo:FreeSpotTexts? = null @Ignore() open var FreeSpotsTextSingular:String? = null @Ignore() open var FreeSpotsTextPlural:String? = null @Required() open var BookingStatusId:Int? = null @Required() open var ScheduleViewId:Int? = null @Required() open var BookingTemplateId:Int? = null @Required() open var CalendarTypeId:Int? = null @Required() open var AllowBookingOnUnbookedTimes:Boolean? = null @Required() open var SendEmailReminder:Boolean? = null @Required() open var SendSmsReminder:Boolean? = null @Required() open var SendSmsConfirmation:Boolean? = null @Required() open var EmailReminderTime:Int? = null @Required() open var SmsReminderTime:Int? = null @Required() open var SendPushNotification:Boolean? = null @Required() open var SendPushNotificationReminder:Boolean? = null @Required() open var PushNotificationReminderTime:Int? = null @Required() open var MaxActiveBookings:Int? = null @Required() open var SendNotifications:Boolean? = null open var SendNotificationsEmail:String? = null @Required() open var EnableMobileApp:Boolean? = null open var ScheduleStartTime:TimeSpan? = null open var ScheduleEndTime:TimeSpan? = null open var ReceiptTemplate:String? = null @Required() open var ScheduleTimeSlotMinutes:Int? = null @Required() open var ShowFreeTimesLeft:Boolean? = null @Required() open var EnableICalGroupBookings:Boolean? = null open var AgreementTemplate:String? = null @Required() open var ScheduleShowTimeExeptions:Boolean? = null @Required() open var EnableBookingsOnSameTime:Boolean? = null @Required() open var ShowWeekNumberSettingId:Int? = null @Required() open var EnableShowBookedTimes:Boolean? = null @Required() open var EnableSendFollowUpMessage:Boolean? = null @Required() open var FollowUpMessageTime:Int? = null open var MessageText:String? = null @Required() open var ScheduleGroupResources:Boolean? = null @Required() open var BookSpotUserResponseMinutes:Int? = null @Required() open var IsBookSpotDirectly:Boolean? = null @Required() open var BookSpotDirectlyTimeLeftMinutes:Int? = null @Required() open var SendEmailNotificationQueue:Boolean? = null @Required() open var SendSMSNotificationQueue:Boolean? = null @Required() open var SchedulerDisableHorizontalScrolling:Boolean? = null @Required() open var BookOnlyOnExistingCustomers:Boolean? = null @Required() open var AutoGenerateUniquePinCode:Boolean? = null @Required() open var WeightedPrices:Boolean? = null open var ModifiedDate:Date? = null @Required() open var AutoCreateUserProfile:Boolean? = null open var ShowMultipleResourcesAsOne:Boolean? = null open var ShowMultiDayAsTime:Boolean? = null open var BookingPinCodeRestriction:String? = null open var CustomerInvoiceAdressRequired:Boolean? = null @Required() open var Id:UUID? = null } open class CodeLockSetting : BaseModel() { @Ignore() open var CodeLockSystemOptions:ArrayList? = null @Required() open var Active:Boolean? = null @Required() open var CodeLockSystemsId:Int? = null @Required() open var ValidBeforeMinutes:Int? = null @Required() open var ValidAfterMinutes:Int? = null @Required() open var DeleteOldBySchedule:Boolean? = null @Required() open var Created:Date? = null @Required() open var Updated:Date? = null open var ModifiedDate:Date? = null @Required() open var SendEmailNotification:Boolean? = null @Required() open var SendSMSNotification:Boolean? = null @Required() open var EmailNotificationTime:Short? = null @Required() open var SMSNotificationTime:Short? = null @Required() open var Id:UUID? = null } open class PaymentSetting : BaseModel() { open var AdminPaymentOption:AdminPaymentOptions? = null @Ignore() open var AdminPaymentOptions:ArrayList? = null @Ignore() open var PaymentProviderOptions:ArrayList? = null @Required() open var Enabled:Boolean? = null @Required() open var InvoiceFee:Int? = null @Required() open var AllowCreditCardPayment:Boolean? = null @Required() open var AllowInvoicePayment:Boolean? = null @Required() open var AllowBankPayment:Boolean? = null @Required() open var GuaranteeOffered:Boolean? = null @Required() open var RefundOnCancelBooking:Boolean? = null open var DefaultPaymentOptionId:Int? = null @Required() open var PaymentProviderId:Int? = null @Required() open var SendPaymentRequestDirectly:Boolean? = null open var ModifiedDate:Date? = null @Required() open var Id:UUID? = null } open class CompanySetting : BaseModel() { @Ignore() open var Languages:ArrayList? = null @Required() open var Active:Boolean? = null open var InactiveMessage:String? = null @Required() open var Searchable:Boolean? = null open var GATrackingId:String? = null open var FacebookPixelId:String? = null @Required() open var MultiLanguage:Boolean? = null @Required() open var EnableAPITranslation:Boolean? = null @Required() open var DefaultLanguage:String? = null open var ModifiedDate:Date? = null open var GTMTrackingId:String? = null @Required() open var ShowOnMarketPlace:Boolean? = null open var GoogleAdsConversionId:String? = null open var LinkedinTagId:String? = null open var GoogleAdsConversionLabel:String? = null open var SendCustomerInformationToExternalProviders:Boolean? = null @Required() open var Id:UUID? = null open var IsWebhookFeatureEnabled:Boolean? = null open var SmsMessageSendLimit:Int? = null open var EmailMessageSendLimit:Int? = null } open class HomepageWidgetSetting : BaseModel() { @Ignore() open var WidgetServiceLayoutOptions:ArrayList? = null @Ignore() open var WidgetTimeLayoutOptions:ArrayList? = null @Ignore() open var WidgetBookingLayoutOptions:ArrayList? = null @Ignore() open var WidgetBookingMethodOptions:ArrayList? = null @Required() open var ServiceLayoutId:Int? = null @Required() open var TimeLayoutId:Int? = null @Required() open var BookingLayoutId:Int? = null @Required() open var PrimaryColor:String? = null @Required() open var ShowServiceImage:Boolean? = null @Required() open var ShowNextAvailableTime:Boolean? = null @Required() open var ShowEndTime:Boolean? = null open var BookedTimeSlotText:String? = null @Required() open var DarkTheme:Boolean? = null @Required() open var ShowRebateCodeField:Boolean? = null open var ModifiedDate:Date? = null @Required() open var EnableCreateAccount:Boolean? = null @Required() open var EnableLogin:Boolean? = null @Required() open var EnableDirectBooking:Boolean? = null @Required() open var EnableFacebookLogin:Boolean? = null @Required() open var ShowSubscribeToNewsletter:Boolean? = null @Required() open var Id:UUID? = null } open class HomepageSetting : BaseModel(), ICompany { @Ignore() open var HomepageTemplateOptions:ArrayList? = null @Ignore() open var HomepageHeroSectionStyleOptions:ArrayList? = null @Ignore() override var CompanyId:UUID? = null open var WelcomePageHeading:String? = null open var WelcomePageBody:String? = null open var AboutUsPageHeading:String? = null open var AboutUsPageBody:String? = null @Required() open var HomePageTemplateId:Int? = null open var ImageUrl:String? = null @Required() open var Updated:Date? = null @Required() open var Created:Date? = null open var HomepageHeading:String? = null @Required() open var HeroSectionStyleId:Int? = null open var ModifiedDate:Date? = null @Required() open var ShowRating:Boolean? = null @Required() open var EnableHomepage:Boolean? = null @Required() open var Id:UUID? = null } open class AverageRatingScore { open var AverageScore:Double? = null open var Score1Count:Int? = null open var Score2Count:Int? = null open var Score3Count:Int? = null open var Score4Count:Int? = null open var Score5Count:Int? = null open var Count:Int? = null } open class KeyCloakRole { open var Id:UUID? = null open var Name:String? = null } interface IUser { var Id:UUID? var UserId:UUID? var Email:String? var Firstname:String? var Lastname:String? var Phone:String? } open class CustomFieldValue : BaseModel() { @Required() open var CompanyId:UUID? = null open var Id:Int? = null @Required() open var Value:String? = null @Required() open var Active:Boolean? = null open var SortOrder:Short? = null open var ModifiedDate:Date? = null } open class CustomField : BaseModel() { @Required() open var Table:String? = null @Required() open var Column:String? = null @Required() open var DataType:String? = null @Required() open var Description:String? = null @Required() open var Active:Boolean? = null open var ModifiedDate:Date? = null open var Id:Int? = null } open class RegEx : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var RegExCode:String? = null open var ErrorMessage:String? = null open var ModifiedDate:Date? = null open var Id:Int? = null } open class CustomFieldServiceRelation : BaseModel() { @Required() open var CompanyId:UUID? = null open var Id:Int? = null @Required() open var CustomFieldConfigId:Int? = null @Required() open var ServiceId:Int? = null open var ModifiedDate:Date? = null } open class LicensePrice : BaseModel() { @Ignore() open var Country:Country? = null @Ignore() open var MonthlyPayment:Boolean? = null @Required() open var LicenseTypeId:Int? = null @Required() open var CountryId:String? = null @Required() open var Price:Int? = null open var ModifiedDate:Date? = null } open class LicenseTypeItem : BaseModel() { @Ignore() open var Name:String? = null @Ignore() open var LicenseType:LicenseType? = null @Required() open var LicenseTypesId:Int? = null @Required() open var LicenseItemsId:Int? = null @Required() open var NumberOfItems:Int? = null open var Id:Int? = null open var ModifiedDate:Date? = null } interface ISchedule { var CompanyId:UUID? var Resources:IList? var Type:ScheduleType? var Active:Boolean? var IsResourceSpecific:Boolean? } interface ITimeException : IInterval { var Id:Int? var ReasonText:String? var IsBlock:Boolean? var ReasonTextPublic:String? var IsRecurring:Boolean? var ResourceIds:ArrayList? } interface IBookedTime : IInterval { var Id:Int? var ServiceId:Int? var BookedSpots:Int? var TotalSpots:Int? var PauseAfterInMinutes:Int? var Status:BookingStatusEnum? var StatusId:Int? var Customer:BookedCustomer? } open class CustomFieldValueResponse { open var Value:String? = null } open class ScheduleView : BaseModel() { @Required() open var Name:String? = null open var ModifiedDate:Date? = null open var Id:Int? = null } open class WeekNumberSetting : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class BookingTemplate : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var UsedByApplication:String? = null open var ModifiedDate:Date? = null open var Id:Int? = null } open class CalendarType : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var Active:Boolean? = null open var ModifiedDate:Date? = null open var Id:Int? = null } open class FreeSpotTexts : BaseModel() { @Required() open var TextSingular:String? = null @Required() open var TextPlural:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class CodeLockSystem : BaseModel() { @Required() open var Name:String? = null @Required() open var Supplier:String? = null open var LogoType:String? = null @Required() open var Description:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class AdminPaymentOptions : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class PaymentProviders : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var Category:String? = null open var Url:String? = null @Required() open var Active:Boolean? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class WidgetServiceLayouts : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var Code:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class WidgetTimeLayouts : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var Code:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class WidgetBookingLayouts : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var Code:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class WidgetBookingMethods : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null @Required() open var Code:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } open class HomepageTemplate : BaseModel() { @Required() open var Name:String? = null @Required() open var Description:String? = null open var ImageUrl:Uri? = null @Required() open var Premium:Boolean? = null open var ModifiedDate:Date? = null open var Id:Int? = null } open class HeroSectionStyle : BaseModel() { @Required() open var Name:String? = null open var Description:String? = null open var ModifiedDate:Date? = null @Required() open var Id:Int? = null } enum class Currency(val value:Int) { Sek(1), Eur(2), } 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 }