/* Options: Date: 2024-06-17 04:39:08 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateCompany.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/companies/", Verbs="POST") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) open class CreateCompany : IReturn { /** * */ @ApiMember(DataType="string", Description="", IsRequired=true) var Name:String? = null /** * */ @ApiMember(DataType="string", Description="", IsRequired=true) 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", IsRequired=true) var TypeId:Int? = null /** * What company owner. 1 = BokaMera (default) */ @ApiMember(DataType="int", Description="What company owner. 1 = BokaMera (default)", IsRequired=true) var CompanyOwnerId:Int? = null /** * */ @ApiMember(DataType="string", Description="", IsRequired=true) var OpeningHours:String? = null /** * */ @ApiMember(DataType="string", Description="") var Details:String? = null /** * */ @ApiMember(DataType="string", Description="", IsRequired=true) var CategoryId:Int? = null /** * */ @ApiMember(DataType="uri", Description="", IsRequired=true) var LogoType:Uri? = null /** * */ @ApiMember(DataType="string", Description="") var Street1:String? = null /** * */ @ApiMember(DataType="string", Description="") var Street2:String? = null /** * */ @ApiMember(DataType="string", Description="") var ZipCode:String? = null /** * */ @ApiMember(DataType="string", Description="") var City:String? = null /** * */ @ApiMember(DataType="string", Description="") var CountryId:String? = null /** * */ @ApiMember(DataType="string", Description="", IsRequired=true) var Longitude:String? = null /** * */ @ApiMember(DataType="string", Description="") var Latitude:String? = null /** * */ @ApiMember(DataType="string", Description="") var Phone:String? = null /** * */ @ApiMember(DataType="string", Description="", IsRequired=true) var Email:String? = null /** * */ @ApiMember(DataType="string", Description="") var Fax:String? = null /** * */ @ApiMember(DataType="string", Description="") var Homepage:String? = null /** * */ @ApiMember(DataType="string", Description="", IsRequired=true) var SitePath:String? = null /** * */ @ApiMember(Description="", IsRequired=true) var CompanyUser:CreateCompanyCompanyUser? = null var BillingInformation:CreateCompanyBillingInformation? = null /** * Id of the license type. If none is set it's free license */ @ApiMember(Description="Id of the license type. If none is set it's free license", IsRequired=true) var LicenseTypeId:Int? = null /** * */ @ApiMember(DataType="string", Description="") var DomainName:String? = null companion object { private val responseType = CompanyQueryResponse::class.java } override fun getResponseType(): Any? = CreateCompany.responseType } open class CompanyQueryResponse { var Id:UUID? = null var Name:String? = null /** * The organisation number will only be visible if your owner to the company */ @ApiMember(DataType="string", Description="The organisation number will only be visible if your owner to the company") 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.") var TypeId:Int? = null var Details:String? = null var CategoryId:Int? = null var Category:String? = null var LogoType:Uri? = null var CoverImage:Uri? = null var Street1:String? = null var Street2:String? = null var ZipCode:String? = null var City:String? = null var CountryId:String? = null var Longitude:String? = null var Latitude:String? = null var Distance:Double? = null var Phone:String? = null var Email:String? = null var Homepage:String? = null var SitePath:String? = null var Active:Boolean? = null var CodeLockSystem:CodeLockSystemType? = null 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.") 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.") var Created:Date? = null 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") var IsFavorite:Boolean? = null var BookingAgreements:String? = null var BookingSettings:CompanyBookingSettings? = null var SystemSettings:CompanySystemSettings? = null var WidgetSettings:CompanyWidgetSettings? = null var HomepageSettings:HomepageSettingsResponse? = null var RatingSummary:CompanyRatingSummary? = null var Reviews:ArrayList = ArrayList() var CustomerCustomFields:ArrayList = ArrayList() var ResponseStatus:ResponseStatus? = null } open class CreateCompanyCompanyUser { @ApiMember(IsRequired=true) var Firstname:String? = null @ApiMember(IsRequired=true) var Lastname:String? = null @ApiMember(IsRequired=true) var Phone:String? = null @ApiMember(IsRequired=true) var Email:String? = null @ApiMember() var WorkerId:Int? = null } open class CreateCompanyBillingInformation { /** * The prefered billing method. */ @ApiMember(Description="The prefered billing method.", IsRequired=true) var BillingMethodId:Int? = null /** * The name that should be printed on the billing information, normally this would be your company name. */ @ApiMember(Description="The name that should be printed on the billing information, normally this would be your company name.") var Name:String? = null /** * If you want to add the attention to the billing address. */ @ApiMember(Description="If you want to add the attention to the billing address.") var Attention:String? = null /** * The street for the billing adress. This is required when having postal invoice as billing method. */ @ApiMember(Description="The street for the billing adress. This is required when having postal invoice as billing method.") var Street1:String? = null /** * The street for the billing adress. */ @ApiMember(Description="The street for the billing adress.") var Street2:String? = null /** * The zip code (postal code) for the billing adress. This is required when having postal invoice as billing method. */ @ApiMember(Description="The zip code (postal code) for the billing adress. This is required when having postal invoice as billing method.") var ZipCode:String? = null /** * The city for the billing adress. This is required when having postal invoice as billing method. */ @ApiMember(Description="The city for the billing adress. This is required when having postal invoice as billing method.") var City:String? = null /** * The country for the billing adress. This is required when having postal invoice as billing method. */ @ApiMember(Description="The country for the billing adress. This is required when having postal invoice as billing method.") var CountryId:String? = null /** * The billing email. This is required when having email invoice as billing method. */ @ApiMember(Description="The billing email. This is required when having email invoice as billing method.") var Email:String? = null /** * The billing payment terms in days. This is default 15 days. */ @ApiMember(Description="The billing payment terms in days. This is default 15 days.") var PaymentTermsDays:Int? = null /** * The company vat registration number. */ @ApiMember(Description="The company vat registration number.") var VatRegistrationNumber:String? = null } open class RatingReviewResponse { /** * The title for the review */ @ApiMember(Description="The title for the review") var Title:String? = null /** * The description for the review */ @ApiMember(Description="The description for the review") var Description:String? = null /** * The rating score */ @ApiMember(Description="The rating score") var RatingScore:Int? = null /** * The review author */ @ApiMember(Description="The review author") var Author:String? = null /** * The created date */ @ApiMember(Description="The created date") var Created:Date? = null /** * The review answer from the company */ @ApiMember(Description="The review answer from the company") var ReviewAnswer:String? = null } open class CustomFieldConfigData { /** * Custom field id */ @ApiMember(Description="Custom field id") var Id:Int? = null /** * Configuration name. Example: 'Number of persons'. */ @ApiMember(Description="Configuration name. Example: 'Number of persons'.") 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?'") var Description:String? = null /** * Field width. Example: 20 for 20px */ @ApiMember(Description="Field width. Example: 20 for 20px") 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'") var DataType:String? = null /** * Default value of the field. Example: '3' */ @ApiMember(Description="Default value of the field. Example: '3'") 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") 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") var MandatoryErrorMessage:String? = null /** * Max lenght of the field */ @ApiMember(Description="Max lenght of the field") var MaxLength:Int? = null /** * If the field should have multiple lines */ @ApiMember(Description="If the field should have multiple lines") var MultipleLineText:Boolean? = null /** * Regular expression used for validation of the field */ @ApiMember(Description="Regular expression used for validation of the field") var RegEx:String? = null /** * Error message shown if the regular expression validation failed */ @ApiMember(Description="Error message shown if the regular expression validation failed") 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") var Values:ArrayList = ArrayList() } enum class CodeLockSystemType { Sample, RcoM5, AxemaVaka, VanderbiltOmnis, ParakeyParakey, AmidoDax, TelkeyTelkey, TechSolutionsSiedle, Accessy, Zesec, Enabla, } open class CompanyBookingSettings { var EnableMobileApp:Boolean? = null var BookingReceiptMessage:String? = null var ShowFreeTimesLeft:Boolean? = null var EnableShowBookedTimes:Boolean? = null 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 ") var WeekNumberSetting:Int? = null 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") 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") var BookOnlyOnExistingCustomers:Boolean? = null /** * If payment is enabled */ @ApiMember(DataType="boolean", Description="If payment is enabled") var PaymentEnabled:Boolean? = null } open class CompanySystemSettings { /** * If the booking is active or not */ @ApiMember(DataType="bool", Description="If the booking is active or not") 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") var InactiveMessage:String? = null /** * If the company should be visible in search results on hompage */ @ApiMember(DataType="bool", Description="If the company should be visible in search results on hompage") 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.") 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.") 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.") 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.") 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.") 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.") var FacebookPixelId:String? = null /** * If you want your customers to be albe to change language on your homepage */ @ApiMember(DataType="bool", Description="If you want your customers to be albe to change language on your homepage") 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") var ShowOnMarketplace:Boolean? = null /** * If you want your own written text on your homepage to be translated using google analytics when a user changes language */ @ApiMember(DataType="bool", Description="If you want your own written text on your homepage to be translated using google analytics when a user changes language") var EnableAPITranslation:Boolean? = null /** * What is the standard language your homepage information is written in. Select from the different countries, ie. SE,NO,EN */ @ApiMember(DataType="string", Description="What is the standard language your homepage information is written in. Select from the different countries, ie. SE,NO,EN") var DefaultLanguage:String? = null } open class CompanyWidgetSettings { /** * The service layouts id. */ @ApiMember(Description="The service layouts id.") var ServiceLayoutId:Int? = null /** * The time layouts id. */ @ApiMember(Description="The time layouts id.") var TimeLayoutId:Int? = null /** * The booking layouts id. */ @ApiMember(Description="The booking layouts id.") var BookingLayoutId:Int? = null /** * The primary color of the booking widget. */ @ApiMember(Description="The primary color of the booking widget.") 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.") 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.") 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.") 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.") 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") var BookedTimeSlotText:String? = null /** * If the widget should be displayed in dark theme */ @ApiMember(Description="If the widget should be displayed in dark theme") var DarkTheme:Boolean? = null } open class HomepageSettingsResponse { /** * The text for homepage heading */ @ApiMember(Description="The text for homepage heading") var HomepageHeading:String? = null /** * The text for homepage startpage heading */ @ApiMember(Description="The text for homepage startpage heading") var WelcomePageHeading:String? = null /** * The text for homepage startpage body */ @ApiMember(Description="The text for homepage startpage body") var WelcomePageBody:String? = null /** * The text for homepage about us page heading */ @ApiMember(Description="The text for homepage about us page heading") var AboutUsPageHeading:String? = null /** * The text for homepage about us page body */ @ApiMember(Description="The text for homepage about us page body") var AboutUsPageBody:String? = null /** * The startpage image url */ @ApiMember(Description="The startpage image url") var ImageUrl:Uri? = null /** * The cover image url */ @ApiMember(Description="The cover image url") var CoverImage:Uri? = null /** * Show rating on the page */ @ApiMember(Description="Show rating on the page") var ShowRating:Boolean? = null /** * The template for the homepage */ @ApiMember(Description="The template for the homepage") var HomePageTemplateId:Int? = null /** * The hero section style for the homepage */ @ApiMember(Description="The hero section style for the homepage") var HeroSectionStyleId:Int? = null /** * Enable the BokaMera Homepage */ @ApiMember(Description="Enable the BokaMera Homepage") var EnableHomepage:Boolean? = null } open class CompanyRatingSummary { /** * The average rating score */ @ApiMember(Description="The average rating score") var AverageScore:Double? = null /** * The number of ratings of score 1 */ @ApiMember(Description="The number of ratings of score 1") var RatingScore1Count:Int? = null /** * The number of ratings of score 2 */ @ApiMember(Description="The number of ratings of score 2") var RatingScore2Count:Int? = null /** * The number of ratings of score 3 */ @ApiMember(Description="The number of ratings of score 3") var RatingScore3Count:Int? = null /** * The number of ratings of score 4 */ @ApiMember(Description="The number of ratings of score 4") var RaingScore4Count:Int? = null /** * The number of ratings of score 5 */ @ApiMember(Description="The number of ratings of score 5") var RatingScore5Count:Int? = null /** * The number of ratings */ @ApiMember(Description="The number of ratings") var Count:Int? = null } open class CustomFieldValueResponse { var Value:String? = null }