/* Options: Date: 2024-11-21 11:58:04 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: BookingQuery.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/bookings", Verbs="GET") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) open class BookingQuery : QueryDb(), IReturn> { /** * Query for specific Booked Resources, default is all resources */ @DataMember(Name="BookedResourceIds") @SerializedName("BookedResourceIds") @ApiMember(Description="Query for specific Booked Resources, default is all resources", ParameterType="query") var BookingResourceRelationResourceIds:ArrayList? = null /** * Query for specific Booked Resource types, default is all resource types */ @DataMember(Name="BookedResourceTypeIds") @SerializedName("BookedResourceTypeIds") @ApiMember(Description="Query for specific Booked Resource types, default is all resource types", ParameterType="query") var BookingResourceRelationResourceTypeIds:ArrayList? = null /** * 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.") var CompanyId:UUID? = null /** * Id of the booking */ @ApiMember(Description="Id of the booking", ParameterType="path") var Id:Int? = null /** * The cancellation code of the booking, can be used if you want to get a booking without being authenticated */ @ApiMember(DataType="string", Description="The cancellation code of the booking, can be used if you want to get a booking without being authenticated", ParameterType="query") var CancellationCode:String? = null /** * Start of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339 */ @ApiMember(DataType="dateTime", Description="Start of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query") var BookingStart:Date? = null /** * End of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339 */ @ApiMember(DataType="dateTime", Description="End of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query") var BookingEnd:Date? = null /** * Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339 */ @ApiMember(DataType="dateTime", Description="Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query") var CreatedFrom:Date? = null /** * End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339 */ @ApiMember(DataType="dateTime", Description="End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query") var CreatedTo:Date? = null /** * Set to true if you want to include the bookings for the company you are logged in as administrator on, if false only bookings for the logged in user will be retrieved. Only administrators are allowed to do this. */ @ApiMember(DataType="boolean", Description="Set to true if you want to include the bookings for the company you are logged in as administrator on, if false only bookings for the logged in user will be retrieved. Only administrators are allowed to do this.", ParameterType="query") var CompanyBookings:Boolean? = null /** * Query for specific services. */ @ApiMember(Description="Query for specific services.", ParameterType="query") var ServiceIds:ArrayList? = null /** * Query for specific booking statuses. Valid statuses are TimeBooked = 1, TimeUnbooked = 2, TimeReserved = 3, TimeCanceled = 4, AwaitingPayment = 5, AwaitingPaymentNoTimeLimit = 6, BookedAndPayed = 7, 8 = AwaitingPaymentRequestFromAdmin, 9 = AwaitingPaymentFromProvider. Default is all. */ @ApiMember(Description="Query for specific booking statuses. Valid statuses are TimeBooked = 1, TimeUnbooked = 2, TimeReserved = 3, TimeCanceled = 4, AwaitingPayment = 5, AwaitingPaymentNoTimeLimit = 6, BookedAndPayed = 7, 8 = AwaitingPaymentRequestFromAdmin, 9 = AwaitingPaymentFromProvider. Default is all.", ParameterType="query") var StatusIds:ArrayList? = null /** * Query for specific customer */ @ApiMember(Description="Query for specific customer", ParameterType="query") var CustomerId:UUID? = null /** * If you want to include the external references for the booking */ @ApiMember(DataType="boolean", Description="If you want to include the external references for the booking", ParameterType="query") var IncludeExternalReferences:Boolean? = null /** * If you want to include the connected resource types and resources */ @ApiMember(DataType="boolean", Description="If you want to include the connected resource types and resources", ParameterType="query") var IncludeCustomFields: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") var IncludeCustomFieldValues:Boolean? = null /** * If you want to include the booked resources */ @ApiMember(DataType="boolean", Description="If you want to include the booked resources", ParameterType="query") var IncludeBookedResourceTypes:Boolean? = null /** * If you want to include the company information for the booking */ @ApiMember(DataType="boolean", Description="If you want to include the company information for the booking", ParameterType="query") var IncludeCompanyInformation:Boolean? = null /** * If you want to include the service information for the booking */ @ApiMember(DataType="boolean", Description="If you want to include the service information for the booking", ParameterType="query") var IncludeServiceInformation:Boolean? = null /** * If you want to include the customer information for the booking */ @ApiMember(DataType="boolean", Description="If you want to include the customer information for the booking", ParameterType="query") var IncludeCustomerInformation:Boolean? = null /** * If you want to include the log of all events on the booking */ @ApiMember(DataType="boolean", Description="If you want to include the log of all events on the booking", ParameterType="query") var IncludeLog:Boolean? = null /** * If you want to include the payment log on the booking */ @ApiMember(DataType="boolean", Description="If you want to include the payment log on the booking", ParameterType="query") var IncludePaymentLog:Boolean? = null /** * If you want to include the checkouts for payson */ @ApiMember(DataType="boolean", Description="If you want to include the checkouts for payson", ParameterType="query") var IncludeCheckoutLog:Boolean? = null /** * If you want to include the quantity and price information on the booking */ @ApiMember(DataType="boolean", Description="If you want to include the quantity and price information on the booking", ParameterType="query") var IncludeQuantityInformation:Boolean? = null /** * If you want to include google calendar sync status */ @ApiMember(DataType="boolean", Description="If you want to include google calendar sync status", ParameterType="query") var IncludeCalendarExportStatus:Boolean? = null /** * If you want to include booking status information */ @ApiMember(DataType="boolean", Description="If you want to include booking status information", ParameterType="query") var IncludeStatusInformation:Boolean? = null /** * The max limit of records you want to retrieve, default is 100 */ @ApiMember(DataType="int", Description="The max limit of records you want to retrieve, default is 100", ParameterType="query") var MaxLimit:Int? = null var ResponseStatus:ResponseStatus? = null companion object { private val responseType = object : TypeToken>(){}.type } override fun getResponseType(): Any? = BookingQuery.responseType } @DataContract open class QueryResponse { @DataMember(Order=1) var Offset:Int? = null @DataMember(Order=2) var Total:Int? = null @DataMember(Order=3) var Results:ArrayList = ArrayList() @DataMember(Order=4) var Meta:HashMap = HashMap() @DataMember(Order=5) var ResponseStatus:ResponseStatus? = null } open class QueryDb : QueryBase() { } open interface ICompany { var CompanyId:UUID? } open class BookingLog : BaseModel() { @References(BookingLogEventType.class) var EventTypeId:Int? = null var EventType:BookingLogEventType? = null @Required() var CompanyId:UUID? = null @Required() var BookingId:Int? = null var Id:Int? = null var Comments:String? = null var UserId:String? = null @Required() var Created:Date? = null var ModifiedDate:Date? = null } open class BookingStatus : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var Color:String? = null @Required() var Icon:String? = null var ModifiedDate:Date? = null var Id:Int? = null } open class BookingStatusQueryResponse { var Id:Int? = null var Name:String? = null var Description:String? = null var Icon:String? = null var Color:String? = null } open class Booking : PayableEntity(), IInterval, ICustomFieldTable, IBaseModelUpdated, IBaseModelCreated { @Ignore() var Service:Service? = null @Ignore() var CalendarExport:CalendarExport? = null @Ignore() var Log:ArrayList = ArrayList() @Ignore() var CheckoutLogs:ArrayList = ArrayList() @Ignore() var Prices:ArrayList = ArrayList() @Ignore() var Status:BookingStatusEnum? = null @Ignore() var IsReserved:Boolean? = null @Ignore() var StatusName:String? = null var CurrencyInfo:Currency? = null var BookingStatus:BookingStatus? = null @Ignore() var TotalPrice:Double? = null @Ignore() var TotalSpots:Int? = null @Ignore() var Resources:IList? = null @Ignore() var ExternalReferences:IList? = null @Ignore() var BookedResources:IList? = null @Ignore() var CustomFieldsConfig:IList? = null @Ignore() var CustomFieldsData:IList? = null @Ignore() var DeterministicId:UUID? = null @Ignore() var Active:Boolean? = null @Ignore() var LastTimeToUnBook:Date? = null @Ignore() var PriceMappings:ArrayList = ArrayList() @Ignore() var InternalReferenceId:String? = null @Required() var UpdatedDate:Date? = null @Required() var CreatedDate:Date? = null var Id:Int? = null @Required() var CustomerId:UUID? = null @Required() var ServiceId:Int? = null @Required() var StatusId:Int? = null var UnbookedOn:Date? = null var UnbookedComments:String? = null var BookedComments:String? = null @Required() var BookedBy:String? = null var UnBookedBy:String? = null @Required() var SendSmsReminder:Boolean? = null @Required() var SendEmailReminder:Boolean? = null @Required() var SendSmsConfirmation:Boolean? = null var RebateCode:String? = null var Comments:String? = null var IpAddress:String? = null @Required() var NumberOfBookedSpots:Int? = null var CommentsToCustomer:String? = null var PaymentExpiration:Date? = null @Required() var SendEmailConfirmation:Boolean? = null var CancellationCode:String? = null var ModifiedDate:Date? = null var RatingCode:String? = null var TextField1:String? = null var TextField2:String? = null var TextField3:String? = null var TextField4:String? = null var TextField5:String? = null var TextField6:String? = null var TextField7:String? = null var TextField8:String? = null var TextField9:String? = null var TextField10:String? = null var TextField11:String? = null var TextField12:String? = null var TextField13:String? = null var TextField14:String? = null var TextField15:String? = null var TextField16:String? = null var TextField17:String? = null var TextField18:String? = null var TextField19:String? = null var TextField20:String? = null @Required() var From:Date? = null @Required() var To:Date? = null } 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), } open interface IInterval { var From:Date? var To:Date? } open class CompanyCategory : BaseModel() { @Required() var Name:String? = null @Required() var Header:String? = null @Required() var Description:String? = null var ImageUrl:Uri? = null @Required() var Active:Boolean? = null var SortOrder:Int? = null var ModifiedDate:Date? = null var Id:Int? = null } open class CompanyType : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class Company : BaseModel() { @Ignore() var Status:CompanyStatus? = null @Ignore() var Active:Boolean? = null @Ignore() var CustomerCustomFieldsConfig:IList? = null @Ignore() var BookingAgreements:String? = null @Ignore() var BookingSettings:BookingSettings? = null @Ignore() var CompanyType:CompanyType? = null @Ignore() var CodeLockSettings:CodeLockSetting? = null @Ignore() var PaymentSettings:PaymentSetting? = null @Ignore() var Settings:CompanySetting? = null @Ignore() var WidgetSettings:HomepageWidgetSetting? = null @Ignore() var HomepageSettings:HomepageSetting? = null @Ignore() var RatingScore:AverageRatingScore? = null @Ignore() var Ratings:ArrayList = ArrayList() @Ignore() var Distance:Double? = null @Ignore() var Licenses:ArrayList = ArrayList() @Ignore() var ActiveLicenses:ArrayList = ArrayList() @Ignore() var CurrentLicense:License? = null @Ignore() var IsFreeAccount:Boolean? = null @Ignore() var DefaultLanguage:CultureInfo? = null var Category:CompanyCategory? = null @Ignore() var Lat:Double? = null @Ignore() var Lon:Double? = null @Ignore() var IsFavorite:Boolean? = null @Ignore() var ExternalReferences:IList? = null @Required() var OrganisationNumber:String? = null @Required() var StatusId:Int? = null @Required() var CategoryId:Int? = null @Required() var SitePath:String? = null @Required() var Name:String? = null var Street1:String? = null var Street2:String? = null var ZipCode:String? = null var City:String? = null var OpeningHours:String? = null var FaxNumber:String? = null @Required() var Email:String? = null var Phone:String? = null var Details:String? = null var LogoType:String? = null @Required() var ApprovedByAdmin:Boolean? = null @Required() var Updated:Date? = null @Required() var Created:Date? = null var IpAddress:String? = null var Homepage:String? = null var DomainName:String? = null @Required() var CountryId:String? = null @Required() var CompanyOwnerId:Int? = null var TypeId:Int? = null var ModifiedDate:Date? = null @Required() var Id:UUID? = null } open class Country : BaseModel() { @References(Currency.class) var CurrencyId:String? = null var CurrencyInfo:Currency? = null @Required() var Name:String? = null var Culture:String? = null var TimeZone:String? = null var ModifiedDate:Date? = null @Required() var Id:String? = null } open class Currency : BaseModel() { @Required() var Name:String? = null @Required() var CurrencySign:String? = null @Required() var Active:Boolean? = null var ModifiedDate:Date? = null @Required() var Id:String? = null } open class Customer : BaseModel(), IUser, ICustomFieldTable { var IdentityId:Int? = null var Id:UUID? = null @Ignore() var CustomerId:UUID? = null @Ignore() var AccessKeys:IList? = null var Email:String? = null @Ignore() var ExternalReferences:IList? = null @Ignore() var Company:Company? = null @Ignore() var CustomFieldsConfig:IList? = null @Ignore() var CustomFieldsData:IList? = null @Ignore() var Comments:IList? = null @Ignore() var RebateCodes:IList? = null var Firstname:String? = null @Ignore() var ImageUrl:String? = null @Required() var Active:Boolean? = null var FacebookUsername:String? = null @Required() var Updated:Date? = null @Required() var Created:Date? = null var IpAddress:String? = null var ModifiedDate:Date? = null var TextField1:String? = null var TextField2:String? = null var TextField3:String? = null var TextField4:String? = null var TextField5:String? = null var TextField6:String? = null var TextField7:String? = null var TextField8:String? = null var TextField9:String? = null var TextField10:String? = null var TextField11:String? = null var TextField12:String? = null var TextField13:String? = null var TextField14:String? = null var TextField15:String? = null var TextField16:String? = null var TextField17:String? = null var TextField18:String? = null var TextField19:String? = null var TextField20:String? = null var UserId:UUID? = null var Lastname:String? = null var Phone:String? = null var CorporateIdentityNumber:String? = null var InvoiceAddress1:String? = null var InvoiceAddress2:String? = null var InvoiceCity:String? = null var InvoicePostalCode:String? = null var InvoiceCountryCode:String? = null @Required() var CompanyId:UUID? = null var SubscribedToNewsletter:Boolean? = null } open class CustomFieldConfig : BaseModel() { @Ignore() var Values:ArrayList = ArrayList() var CustomField:CustomField? = null @Ignore() var RegEx:RegEx? = null @Ignore() var Services:ArrayList = ArrayList() var CustomFieldServiceRelation:ArrayList = ArrayList() @Required() var CompanyId:UUID? = null var Id:Int? = null var GroupId:Int? = null @Required() var FieldId:Int? = null @Required() var IconId:Int? = null var RegExId:Int? = null @Required() var Name:String? = null @Required() var Description:String? = null @Required() var Datatype:String? = null @Required() var MaxLength:Int? = null @Required() var IsPublic:Boolean? = null @Required() var IsHidden:Boolean? = null @Required() var IsMandatory:Boolean? = null var DefaultValue:String? = null var RegExErrorMessage:String? = null var MandatoryErrorMessage:String? = null var Width:Int? = null @Required() var MultipleLineText:Boolean? = null var ModifiedDate:Date? = null } open class License : BaseModel() { var Type:LicenseType? = null @Required() var CompanyId:UUID? = null var Id:Int? = null @Required() var TypeId:Int? = null @Required() var ValidFrom:Date? = null @Required() var ValidTo:Date? = null @Required() var Active:Boolean? = null @Required() var Updated:Date? = null @Required() var Created:Date? = null var ModifiedDate:Date? = null var MetaData:String? = null } open class LicenseType : BaseModel() { @Ignore() var LicenseItems:IList? = null @Ignore() var Prices:IList? = null @Ignore() var PeriodOfNoticeDays:Int? = null @Ignore() var NextLicenseOption:LicenseType? = null @Required() var Name:String? = null @Required() var Description:String? = null @Required() var ExtraLicenseOption:Boolean? = null var ModifiedDate:Date? = null var Active:Boolean? = null var Id:Int? = null } open class Rating : BaseModel() { var ReviewId:UUID? = null var Review:Review? = null @Required() var CompanyId:UUID? = null @Required() var BookingId:Int? = null @Required() var RatingScore:Int? = null @Required() var Status:Int? = null @Required() var Created:Date? = null @Required() var Updated:Date? = null var ModifiedDate:Date? = null } open class Review : BaseModel() { var ReviewId:UUID? = null @Required() var CompanyId:UUID? = null @Required() var Title:String? = null @Required() var Description:String? = null @Required() var Author:String? = null @Required() var Status:Int? = null @Required() var Created:Date? = null @Required() var Updated:Date? = null var ModifiedDate:Date? = null var ReviewAnswer:String? = null } open class ExternalReference : BaseModel() { @Required() var CompanyId:UUID? = null @Required() var Id:UUID? = null @Required() var OwnerId:UUID? = null @Required() var ReferenceType:String? = null var ExternalData:String? = null var CreatedBy:String? = null @Required() var Updated:Date? = null @Required() var Created:Date? = null var ModifiedDate:Date? = null } open class Resource : BaseModel(), ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated { @Ignore() var Priority:Int? = null @Ignore() var Schedules:IList? = null @Ignore() var Exceptions:IList? = null @Ignore() var Bookings:IList? = null @Ignore() var CustomFieldsConfig:IList? = null @Ignore() var CustomFieldsData:IList? = null @Required() var CompanyId:UUID? = null var Id:Int? = null @Required() var Name:String? = null @Required() var Active:Boolean? = null var Description:String? = null var ImageUrl:String? = null @Required() var UpdatedDate:Date? = null @Required() var CreatedDate:Date? = null @Required() var Color:String? = null var Email:String? = null var MobilePhone:String? = null var EmailNotification:Boolean? = null var SMSNotification:Boolean? = null @Required() var SendSMSReminder:Boolean? = null @Required() var SendEmailReminder:Boolean? = null var ModifiedDate:Date? = null var AccessGroup:String? = null var TextField1:String? = null var TextField2:String? = null var TextField3:String? = null var TextField4:String? = null var TextField5:String? = null var TextField6:String? = null var TextField7:String? = null var TextField8:String? = null var TextField9:String? = null var TextField10:String? = null var TextField11:String? = null var TextField12:String? = null var TextField13:String? = null var TextField14:String? = null var TextField15:String? = null var TextField16:String? = null var TextField17:String? = null var TextField18:String? = null var TextField19:String? = null var TextField20:String? = null } open class GroupBookingSettings { var Active:Boolean? = null var Min:Int? = null var Max:Int? = null } open class MultipleResourceSettings { var Active:Boolean? = null var Min:Int? = null var Max:Int? = null } open class ServiceInfoResponse { var Id:Int? = null var Name:String? = null var Description:String? = null var ImageUrl:Uri? = null var LengthInMinutes:Int? = null var MaxNumberOfSpotsPerBooking:Int? = null var MinNumberOfSpotsPerBooking:Int? = null var GroupBooking:GroupBookingSettings? = null var MultipleResource:MultipleResourceSettings? = null var IsGroupBooking:Boolean? = null var IsPaymentEnabled:Boolean? = 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() } open class CustomFieldDataResponse { var Id:Int? = null var Column:String? = null var Name:String? = null var Description:String? = null 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'") var DataType:String? = null } open class BookedResourceType { /** * The resource type id */ @ApiMember(Description="The resource type id") var Id:Int? = null /** * The resource type name */ @ApiMember(Description="The resource type name") var Name:String? = null /** * The resources inside resource type */ @ApiMember(Description="The resources inside resource type") var Resources:ArrayList = ArrayList() } open class BookedCompany { var Id:UUID? = null var Name:String? = null var LogoType:Uri? = null var Category:String? = 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 Phone:String? = null var Email:String? = null var HomePage:String? = null var SitePath:String? = null var IsFavorite:Boolean? = null var PaymentProviderId:Int? = null } open class BookedCustomer { var Id:UUID? = null var Firstname:String? = null var Lastname:String? = null var Email:String? = null var Phone:String? = null var FacebookUserName:String? = null var ImageUrl:String? = null var CorporateIdentityNumber:String? = null var InvoiceAddress1:String? = null var InvoiceAddress2:String? = null var InvoiceCity:String? = null var InvoicePostalCode:String? = null var InvoiceCountryCode:String? = null } open class BookingPaymentLogQueryResponse { /** * The booking payment log id */ @ApiMember(Description="The booking payment log id") var Id:Int? = null /** * The booking id */ @ApiMember(Description="The booking id") var BookingId:Int? = null /** * The payment reference id */ @ApiMember(Description="The payment reference id") var PaymentReferenceId:String? = null /** * The payment order item reference id */ @ApiMember(Description="The payment order item reference id") var OrderItemReferenceId:String? = null /** * The payment reference id */ @ApiMember(Description="The payment reference id") var PaymentProviderId:Int? = null /** * The payment amount */ @ApiMember(Description="The payment amount") var Amount:Double? = null /** * The payment VAT in percent */ @ApiMember(Description="The payment VAT in percent") var VAT:BigDecimal? = null /** * The payment amount that is credited */ @ApiMember(Description="The payment amount that is credited") var AmountCredited:Double? = null /** * The payment currency id */ @ApiMember(Description="The payment currency id") var CurrencyId:String? = null /** * The payment currency info */ @ApiMember(Description="The payment currency info") var CurrencyInfo:CurrencyInfoResponse? = null /** * Comments that could be added to the event log item */ @ApiMember(Description="Comments that could be added to the event log item") var Comments:String? = null /** * The date when the payment items was created */ @ApiMember(Description="The date when the payment items was created") var Created:Date? = null /** * The date when the payment items was update */ @ApiMember(Description="The date when the payment items was update") var Updated:Date? = null } open class BookingCheckoutQueryResponse { /** * The checkout id */ @ApiMember(Description="The checkout id") var Id:UUID? = null /** * The booking id */ @ApiMember(Description="The booking id") var BookingId:Int? = null /** * The purchase id */ @ApiMember(Description="The purchase id") var PurchaseId:Int? = null /** * The payment checkout expiration datetime */ @ApiMember(Description="The payment checkout expiration datetime") var ExpirationTime:Date? = null /** * The payment snippet code */ @ApiMember(Description="The payment snippet code") var Snippet:String? = null /** * The payment status */ @ApiMember(Description="The payment status") var Status:String? = null /** * Log message */ @ApiMember(Description="Log message") var Message:String? = null /** * When the checkout log item was created */ @ApiMember(Description="When the checkout log item was created") var Created:Date? = null /** * When the checkout log item was updated */ @ApiMember(Description="When the checkout log item was updated") var Updated:Date? = null } open class ExternalReferenceResponse { var CompanyId:UUID? = null var Id:UUID? = null var OwnerId:UUID? = null var ReferenceType:String? = null var ExternalData:String? = null var CreatedBy:String? = null var Updated:Date? = null var Created:Date? = null } open class BookingCalendarExportStatus { var CalendarId:String? = null var BookingId:Int? = null var Synced:Boolean? = null } enum class Payson2CheckoutStatus { None, Created, FormsFilled, ReadyToPay, ProcessingPayment, ReadyToShip, Shipped, PaidToAccount, Canceled, Credited, Expired, Denied, } enum class ScheduleType { NotDefined, RecurringSchedule, DateSchedule, } open class BookingStatusOptions { var Id:Int? = null var Name:String? = null var Description:String? = null } open class LanguageResponse { var Id:String? = null 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) 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) 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) 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) 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) var Include:String? = null @DataMember(Order=6) var Fields:String? = null @DataMember(Order=7) var Meta:HashMap = HashMap() } open class BaseModel { } open interface IBaseModelCreated { var CreatedDate:Date? } open interface IBaseModelUpdated { var UpdatedDate:Date? } open class CurrencyInfoResponse { /** * The currency id */ @ApiMember(Description="The currency id") var Id:String? = null /** * The currency id */ @ApiMember(Description="The currency id") var Name:String? = null /** * The currency id */ @ApiMember(Description="The currency id") var CurrencySign:String? = null } open class BookingLogEventType : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class CalendarExport : BaseModel() { @Required() var CompanyId:UUID? = null @Required() var BookingId:Int? = null @Required() var ExceptionId:Int? = null var CalendarSync:Boolean? = null var CalendarId:String? = null var IsExceptionDeleted:Boolean? = null var ModifiedDate:Date? = null var Id:Int? = null } open class PaymentDetails : BaseModel(), IBaseModelCreated, IBaseModelUpdated { @Ignore() var QvicklyCheckoutSerialized:QvicklyCheckoutResponse? = null @Ignore() var Payson2CheckoutSerialized:Payson2CheckoutResponse? = null @Required() var CompanyId:UUID? = null @Required() var InternalReferenceId:String? = null @Required() var ArticleTypeId:Int? = null @Required() var ExternalResponseData:String? = null @Required() var ExternalResponseReference:String? = null @Required() var PaymentProviderId:Int? = null @Required() var CreatedDate:Date? = null @Required() var UpdatedDate:Date? = null var ModifiedDate:Date? = null } open class BookingPrice : BaseModel() { @References(Currency.class) var CurrencyId:String? = null var PriceId:Int? = null var CurrencyInfo:Currency? = null @Ignore() var PriceText:String? = null @Ignore() var AppliedCodes:ArrayList = ArrayList() @Ignore() var IsRebate:Boolean? = null @Required() var CompanyId:UUID? = null @Required() var BookingId:Int? = null @Required() var Quantity:Int? = null var Price:Double? = null var VAT:BigDecimal? = null var Category:String? = null @Required() var Updated:Date? = null @Required() var Created:Date? = null @Required() var Invoiced:Boolean? = null @Required() var OccupiesSpot:Boolean? = null var ModifiedDate:Date? = null var Id:Int? = null } open class PriceMapping : BaseModel() { @Required() var CompanyId:UUID? = null @Required() var Id:UUID? = null @Required() var PriceId:Int? = null var ReferenceType:String? = null var ExternalReference:String? = null @Required() var UpdatedDate:Date? = null @Required() var CreatedDate:Date? = null var ModifiedDate:Date? = null } open interface IDbConnectionFactory { } open interface IBokameraPaymentManager { } open class InitCheckoutRequestBody { var credentials:Credentials? = null @SerializedName("data") var Data:InitCheckoutData? = null var function:String? = null } open class QvicklyCheckoutResponse { var Number:Int? = null var Status:String? = null var OrderId:String? = null var Url:String? = null } open class QvicklyPaymentResponse { var PaymentData:QvikclyPaymentData? = null var PaymentInfo:PaymentInfo? = null var Card:Card? = null var Settlement:Settlement? = null var QvicklyCustomer:QvicklyCustomer? = null var Articles:ArrayList? = null var Cart:Cart? = null } open class Payson2CheckoutResponse { var Id:UUID? = null var ExpirationTime:Date? = null var Snippet:String? = null var Status:Payson2CheckoutStatus? = null var Customer:Customer? = null var Order:Order? = null var Merchant:Merchant? = null var Gui:Gui? = null var History:History? = null var PurchaseId:Int? = null } open interface IPaysonPaymentCheckout1 { } open interface ILogger_1 : ILogger { } open class PayableEntity : BaseModel(), IPayableEntity { @Ignore() var DbFactory:IDbConnectionFactory? = null @Ignore() var QvicklyPaymentManager:IBokameraPaymentManager? = null @Ignore() var Payson2PaymentManager:IBokameraPaymentManager? = null @Ignore() var PaysonPaymentCheckout1:IPaysonPaymentCheckout1? = null @Ignore() var Logger:ILogger_1? = null @Ignore() var InternalReferenceId:String? = null @Ignore() var PaymentLog:ArrayList = ArrayList() var CompanyId:UUID? = null var PriceVat:BigDecimal? = null @References(Currency.class) var CurrencyId:String? = null @Ignore() var Customer:Customer? = null @Ignore() var Customers:ArrayList = ArrayList() @Ignore() var Company:Company? = null } open class PaymentLog : BaseModel() { @References(Currency.class) var CurrencyId:String? = null var CurrencyInfo:Currency? = null @Required() var CompanyId:UUID? = null var Id:Int? = null @Required() var InternalReferenceId:String? = null @Required() var ArticleTypeId:Int? = null var PaymentReferenceId:String? = null var PaymentProviderId:Int? = null var OrderItemReferenceId:String? = null var Amount:Double? = null var VAT:BigDecimal? = null var AmountCredited:Double? = null var Comments:String? = null @Required() var Created:Date? = null @Required() var Updated:Date? = null var ModifiedDate:Date? = null } open interface IPayableEntity : ICompanyInformationLoader, ICustomerInformationLoader { var InternalReferenceId:String? @Ignore() var PaymentLog:ArrayList? } open interface ICompanyInformationLoader { var CompanyId:UUID? } open interface ICustomerInformationLoader { var Customer:Customer? var Customers:ArrayList? } open 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(FreeSpotTexts.class) var FreeSpotTextsId:Int? = null @Ignore() var SendEmailConfirmation:Boolean? = null @Ignore() var ScheduleViewOptions:ArrayList = ArrayList() @Ignore() var WeekNumberSettingOptions:ArrayList = ArrayList() @Ignore() var BookingTemplateOptions:ArrayList = ArrayList() @Ignore() var CalendarTypeOptions:ArrayList = ArrayList() @Ignore() var FreeSpotTextOptions:ArrayList = ArrayList() @Ignore() var BookingStatusOptions:ArrayList = ArrayList() var FreeSpotTextsInfo:FreeSpotTexts? = null @Ignore() var FreeSpotsTextSingular:String? = null @Ignore() var FreeSpotsTextPlural:String? = null @Required() var BookingStatusId:Int? = null @Required() var ScheduleViewId:Int? = null @Required() var BookingTemplateId:Int? = null @Required() var CalendarTypeId:Int? = null @Required() var AllowBookingOnUnbookedTimes:Boolean? = null @Required() var SendEmailReminder:Boolean? = null @Required() var SendSmsReminder:Boolean? = null @Required() var SendSmsConfirmation:Boolean? = null @Required() var EmailReminderTime:Int? = null @Required() var SmsReminderTime:Int? = null @Required() var MaxActiveBookings:Int? = null @Required() var SendNotifications:Boolean? = null var SendNotificationsEmail:String? = null @Required() var EnableMobileApp:Boolean? = null var ScheduleStartTime:TimeSpan? = null var ScheduleEndTime:TimeSpan? = null var ReceiptTemplate:String? = null @Required() var ScheduleTimeSlotMinutes:Int? = null @Required() var ShowFreeTimesLeft:Boolean? = null @Required() var EnableICalGroupBookings:Boolean? = null var AgreementTemplate:String? = null @Required() var ScheduleShowTimeExeptions:Boolean? = null @Required() var EnableBookingsOnSameTime:Boolean? = null @Required() var ShowWeekNumberSettingId:Int? = null @Required() var EnableShowBookedTimes:Boolean? = null @Required() var EnableSendFollowUpMessage:Boolean? = null @Required() var FollowUpMessageTime:Int? = null var MessageText:String? = null @Required() var ScheduleGroupResources:Boolean? = null @Required() var BookSpotUserResponseMinutes:Int? = null @Required() var IsBookSpotDirectly:Boolean? = null @Required() var BookSpotDirectlyTimeLeftMinutes:Int? = null @Required() var SendEmailNotificationQueue:Boolean? = null @Required() var SendSMSNotificationQueue:Boolean? = null @Required() var SchedulerDisableHorizontalScrolling:Boolean? = null @Required() var BookOnlyOnExistingCustomers:Boolean? = null @Required() var AutoGenerateUniquePinCode:Boolean? = null @Required() var WeightedPrices:Boolean? = null var ModifiedDate:Date? = null @Required() var AutoCreateUserProfile:Boolean? = null var ShowMultipleResourcesAsOne:Boolean? = null var ShowMultiDayAsTime:Boolean? = null @Required() var Id:UUID? = null } open class CodeLockSetting : BaseModel() { @Ignore() var CodeLockSystemOptions:ArrayList = ArrayList() @Required() var Active:Boolean? = null @Required() var CodeLockSystemsId:Int? = null @Required() var ValidBeforeMinutes:Int? = null @Required() var ValidAfterMinutes:Int? = null @Required() var DeleteOldBySchedule:Boolean? = null @Required() var Created:Date? = null @Required() var Updated:Date? = null var ModifiedDate:Date? = null @Required() var SendEmailNotification:Boolean? = null @Required() var SendSMSNotification:Boolean? = null @Required() var EmailNotificationTime:Short? = null @Required() var SMSNotificationTime:Short? = null @Required() var Id:UUID? = null } open class PaymentSetting : BaseModel() { var AdminPaymentOption:AdminPaymentOptions? = null @Ignore() var AdminPaymentOptions:ArrayList = ArrayList() @Ignore() var PaymentProviderOptions:ArrayList = ArrayList() @Required() var Enabled:Boolean? = null @Required() var InvoiceFee:Int? = null @Required() var AllowCreditCardPayment:Boolean? = null @Required() var AllowInvoicePayment:Boolean? = null @Required() var AllowBankPayment:Boolean? = null @Required() var GuaranteeOffered:Boolean? = null @Required() var RefundOnCancelBooking:Boolean? = null var DefaultPaymentOptionId:Int? = null @Required() var PaymentProviderId:Int? = null @Required() var SendPaymentRequestDirectly:Boolean? = null var ModifiedDate:Date? = null @Required() var Id:UUID? = null } open class CompanySetting : BaseModel() { @Ignore() var Languages:ArrayList = ArrayList() @Required() var Active:Boolean? = null var InactiveMessage:String? = null @Required() var Searchable:Boolean? = null var GATrackingId:String? = null var FacebookPixelId:String? = null @Required() var MultiLanguage:Boolean? = null @Required() var EnableAPITranslation:Boolean? = null @Required() var DefaultLanguage:String? = null var ModifiedDate:Date? = null var GTMTrackingId:String? = null @Required() var ShowOnMarketPlace:Boolean? = null var GoogleAdsConversionId:String? = null var LinkedinTagId:String? = null var GoogleAdsConversionLabel:String? = null var SendCustomerInformationToExternalProviders:Boolean? = null @Required() var Id:UUID? = null } open class HomepageWidgetSetting : BaseModel() { @Ignore() var WidgetServiceLayoutOptions:ArrayList = ArrayList() @Ignore() var WidgetTimeLayoutOptions:ArrayList = ArrayList() @Ignore() var WidgetBookingLayoutOptions:ArrayList = ArrayList() @Ignore() var WidgetBookingMethodOptions:ArrayList = ArrayList() @Required() var ServiceLayoutId:Int? = null @Required() var TimeLayoutId:Int? = null @Required() var BookingLayoutId:Int? = null @Required() var PrimaryColor:String? = null @Required() var ShowServiceImage:Boolean? = null @Required() var ShowNextAvailableTime:Boolean? = null @Required() var ShowEndTime:Boolean? = null var BookedTimeSlotText:String? = null @Required() var DarkTheme:Boolean? = null @Required() var ShowRebateCodeField:Boolean? = null var ModifiedDate:Date? = null @Required() var EnableCreateAccount:Boolean? = null @Required() var EnableLogin:Boolean? = null @Required() var EnableDirectBooking:Boolean? = null @Required() var EnableFacebookLogin:Boolean? = null @Required() var ShowSubscribeToNewsletter:Boolean? = null @Required() var Id:UUID? = null } open class HomepageSetting : BaseModel(), ICompany { @Ignore() var HomepageTemplateOptions:ArrayList = ArrayList() @Ignore() var HomepageHeroSectionStyleOptions:ArrayList = ArrayList() @Ignore() var CompanyId:UUID? = null var WelcomePageHeading:String? = null var WelcomePageBody:String? = null var AboutUsPageHeading:String? = null var AboutUsPageBody:String? = null @Required() var HomePageTemplateId:Int? = null var ImageUrl:String? = null @Required() var Updated:Date? = null @Required() var Created:Date? = null var HomepageHeading:String? = null @Required() var HeroSectionStyleId:Int? = null var ModifiedDate:Date? = null @Required() var ShowRating:Boolean? = null @Required() var EnableHomepage:Boolean? = null @Required() var Id:UUID? = null } open class AverageRatingScore { var AverageScore:Double? = null var Score1Count:Int? = null var Score2Count:Int? = null var Score3Count:Int? = null var Score4Count:Int? = null var Score5Count:Int? = null var Count:Int? = null } open class CustomFieldValue : BaseModel() { @Required() var CompanyId:UUID? = null var Id:Int? = null @Required() var Value:String? = null @Required() var Active:Boolean? = null var SortOrder:Short? = null var ModifiedDate:Date? = null } open class CustomField : BaseModel() { @Required() var Table:String? = null @Required() var Column:String? = null @Required() var DataType:String? = null @Required() var Description:String? = null @Required() var Active:Boolean? = null var ModifiedDate:Date? = null var Id:Int? = null } open class RegEx : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var RegExCode:String? = null var ErrorMessage:String? = null var ModifiedDate:Date? = null var Id:Int? = null } open class CustomFieldServiceRelation : BaseModel() { @Required() var CompanyId:UUID? = null var Id:Int? = null @Required() var CustomFieldConfigId:Int? = null @Required() var ServiceId:Int? = null var ModifiedDate:Date? = null } open class LicensePrice : BaseModel() { @Ignore() var Country:Country? = null @Ignore() var MonthlyPayment:Boolean? = null @Required() var LicenseTypeId:Int? = null @Required() var CountryId:String? = null @Required() var Price:Int? = null var ModifiedDate:Date? = null } open class LicenseTypeItem : BaseModel() { @Ignore() var Name:String? = null @Ignore() var LicenseType:LicenseType? = null @Required() var LicenseTypesId:Int? = null @Required() var LicenseItemsId:Int? = null @Required() var NumberOfItems:Int? = null var Id:Int? = null var ModifiedDate:Date? = null } open class RebateCodeType : BaseModel() { @Required() var Name:String? = null var Description:String? = null var ModifiedDate:Date? = null var Id:Int? = null } open interface ISchedule { var Resources:IList? var Type:ScheduleType? var Active:Boolean? var IsResourceSpecific:Boolean? } open interface ITimeException : IInterval { var Id:Int? var ReasonText:String? var IsBlock:Boolean? var ReasonTextPublic:String? var IsRecurring:Boolean? var ResourceIds:ArrayList? } open 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 { var Value:String? = null } open class BookedResource { var Id:Int? = null var Name:String? = null var Color:String? = null var ImageUrl:Uri? = null var Email:String? = null var MobilePhone:String? = null var AccessGroup:String? = null var EmailNotification:Boolean? = null var SMSNotification:Boolean? = null var EmailReminder:Boolean? = null var SMSReminder:Boolean? = null } open class AppliedRebateCodes { var RebateCodeId:Int? = null var RebateCodeSign:String? = null var RebateCodeValue:Int? = null var RebateAmount:Double? = null var RebateCodeType:RebateCodeType? = null } open class Credentials { var hash:String? = null var id:String? = null var version:String? = null var client:String? = null var serverdata:ServerData? = null var time:String? = null var test:String? = null var language:String? = null } open class InitCheckoutData { var CheckoutData:CheckoutData? = null var PaymentData:CheckoutPaymentData? = null var PaymentInfo:PaymentInfo? = null var Articles:ArrayList? = null var Cart:Cart? = null var QvicklyCustomer:QvicklyCustomer? = null } open class QvikclyPaymentData { var method:String? = null var paymentplanid:String? = null var currency:String? = null var country:String? = null var language:String? = null var autoactivate:String? = null var orderid:String? = null var status:String? = null var paymentid_related:String? = null var url:String? = null } open class PaymentInfo { var paymentdate:String? = null var paymentterms:String? = null var yourreference:String? = null var ourreference:String? = null var projectname:String? = null var deliverymethod:String? = null var deliveryterms:String? = null } open class Card { var promptname:String? = null var recurring:String? = null var recurringnr:String? = null var accepturl:String? = null var cancelurl:String? = null var callbackurl:String? = null var returnmethod:String? = null } open class Settlement { var number:String? = null var date:String? = null } open class QvicklyCustomer { var nr:String? = null var pno:String? = null var Billing:CustomerBilling? = null } open class Cart { var Handling:CartHandling? = null var Total:CartTotal? = null var Shipping:Shipping? = null } open class Customer { var City:String? = null var CountryCode:String? = null var IdentityNumber:String? = null var Email:String? = null var FirstName:String? = null var LastName:String? = null var Phone:String? = null var PostalCode:String? = null var Street:String? = null var Reference:String? = null var Type:CustomerType? = null } open class Order { var Currency:Currency? = null var TotalFeeExcludingTax:BigDecimal? = null var TotalFeeIncludingTax:BigDecimal? = null var TotalPriceExcludingTax:BigDecimal? = null var TotalPriceIncludingTax:BigDecimal? = null var TotalTaxAmount:BigDecimal? = null var TotalCreditedAmount:BigDecimal? = null var Items:IList? = null } open class Merchant { var CheckoutUri:Uri? = null var ConfirmationUri:Uri? = null var NotificationUri:Uri? = null var ValidationUri:Uri? = null var TermsUri:Uri? = null var Reference:String? = null var PartnerId:String? = null } open class Gui { var ColorScheme:ColorScheme? = null var Locale:String? = null var RequestPhone:Boolean? = null var PhoneOptional:Boolean? = null } open class History { var Created:Date? = null var ReadyToPay:Date? = null var ReadyToShip:Date? = null var Shipped:Date? = null var PaidToAccount:Date? = null var Canceled:Date? = null var Expired:Date? = null var Denied:Date? = null } open interface ILogger { } open class ScheduleView : BaseModel() { @Required() var Name:String? = null var ModifiedDate:Date? = null var Id:Int? = null } open class WeekNumberSetting : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class BookingTemplate : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var UsedByApplication:String? = null var ModifiedDate:Date? = null var Id:Int? = null } open class CalendarType : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var Active:Boolean? = null var ModifiedDate:Date? = null var Id:Int? = null } open class FreeSpotTexts : BaseModel() { @Required() var TextSingular:String? = null @Required() var TextPlural:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class CodeLockSystem : BaseModel() { @Required() var Name:String? = null @Required() var Supplier:String? = null var LogoType:String? = null @Required() var Description:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class AdminPaymentOptions : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class PaymentProviders : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var Category:String? = null var Url:String? = null @Required() var Active:Boolean? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class WidgetServiceLayouts : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var Code:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class WidgetTimeLayouts : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var Code:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class WidgetBookingLayouts : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var Code:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class WidgetBookingMethods : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null @Required() var Code:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class HomepageTemplate : BaseModel() { @Required() var Name:String? = null @Required() var Description:String? = null var ImageUrl:Uri? = null @Required() var Premium:Boolean? = null var ModifiedDate:Date? = null var Id:Int? = null } open class HeroSectionStyle : BaseModel() { @Required() var Name:String? = null var Description:String? = null var ModifiedDate:Date? = null @Required() var Id:Int? = null } open class ServerData { var HTTP_HOST:String? = null var HTTP_CONNECTION:String? = null var HTTP_CACHE_CONTROL:String? = null var HTTP_ACCEPT:String? = null var HTTP_USER_AGENT:String? = null var HTTP_ACCEPT_ENCODING:String? = null var HTTP_ACCEPT_LANGUAGE:String? = null var PATH:String? = null var SERVER_SOFTWARE:String? = null var SERVER_NAME:String? = null var SERVER_ADDR:String? = null var SERVER_PORT:String? = null var REMOTE_ADDR:String? = null var REMOTE_PORT:String? = null var GATEWAY_INTERFACE:String? = null var SERVER_PROTOCOL:String? = null var REQUEST_METHOD:String? = null var QUERY_STRING:String? = null var REQUEST_TIME:String? = null } open class CheckoutData { var terms:Uri? = null var privacyPolicy:Uri? = null var redirectOnSuccess:String? = null } open class CheckoutPaymentData { var currency:String? = null var language:String? = null var country:String? = null var autoactivate:String? = null var orderid:String? = null var returnmethod:String? = null var accepturl:Uri? = null var cancelurl:Uri? = null var callbackurl:Uri? = null } open class CustomerBilling { var firstname:String? = null var lastname:String? = null var company:String? = null var street:String? = null var street2:String? = null var zip:String? = null var city:String? = null var country:String? = null var phone:String? = null var email:String? = null } open class CartHandling { var withouttax:String? = null var taxrate:String? = null } open class CartTotal { var rounding:String? = null var withouttax:String? = null var tax:String? = null var withtax:String? = null } open class Shipping { var firstname:String? = null var lastname:String? = null var company:String? = null var street:String? = null var street2:String? = null var zip:String? = null var city:String? = null var country:String? = null var phone:String? = null var withouttax:String? = null var taxrate:String? = null } enum class Currency(val value:Int) { Sek(1), Eur(2), } open class Item { var ItemId:UUID? = null var DiscountRate:BigDecimal? = null var Ean:String? = null var ImageUri:Uri? = null var Name:String? = null var Quantity:BigDecimal? = null var Reference:String? = null var TaxRate:BigDecimal? = null var TotalPriceExcludingTax:BigDecimal? = null var TotalPriceIncludingTax:BigDecimal? = null var TotalTaxAmount:BigDecimal? = null var CreditedAmount:BigDecimal? = null var Type:ItemType? = null var UnitPrice:BigDecimal? = null var Uri:Uri? = null } enum class ColorScheme { White, Blue, Gray, GrayTextLogos, BlueTextLogos, WhiteTextLogos, WhiteNoFooter, GrayNoFooter, BlueNoFooter, } enum class ItemType { Physical, Service, Fee, Discount, } open class BookingLogQueryResponse { /** * The booking log id */ @ApiMember(Description="The booking log id") var Id:Int? = null /** * The booking id */ @ApiMember(Description="The booking id") var BookingId:Int? = null /** * The type of event */ @ApiMember(Description="The type of event") var EventTypeId:Int? = null /** * The type of event */ @ApiMember(Description="The type of event") var EventType:BookingLogEventTypeResponse? = null /** * Comments that could be added to the event log item */ @ApiMember(Description="Comments that could be added to the event log item") var Comments:String? = null /** * The user created the event */ @ApiMember(Description="The user created the event") var UserName:String? = null /** * Then date when the event occured */ @ApiMember(Description="Then date when the event occured") var Created:Date? = null } open class BookingQueryResponse { var Id:Int? = null var CompanyId:UUID? = null var From:Date? = null var To:Date? = null var Status:BookingStatusEnum? = null var StatusId:Int? = null var StatusName:String? = null var StatusInfo:BookingStatusQueryResponse? = null var SendEmailReminder:Boolean? = null var SendSmsReminder:Boolean? = null var SendSmsConfirmation:Boolean? = null var SendEmailConfirmation:Boolean? = null var LastTimeToUnBook:Date? = null var CustomFields:ArrayList = ArrayList() var CustomFieldValues:ArrayList = ArrayList() var BookedResourceTypes:ArrayList = ArrayList() var Company:BookedCompany? = null var Customer:BookedCustomer? = null var Quantities:ArrayList = ArrayList() var Service:ServiceInfoResponse? = null var PaymentExpiration:Date? = null var Log:ArrayList = ArrayList() var PaymentLog:ArrayList = ArrayList() var CheckoutLog:ArrayList = ArrayList() var ExternalReference:ArrayList = ArrayList() var ResponseStatus:ResponseStatus? = null var CalendarExportStatus:BookingCalendarExportStatus? = null var LengthInMinutes:Int? = null var BookedBy:String? = null var BookedComments:String? = null var UnbookedComments:String? = null var CommentsToCustomer:String? = null var CreatedDate:Date? = null var UpdatedDate:Date? = null var UnbookedOn:Date? = null var CancellationCode:String? = null var RatingCode:String? = null } open class BookedQuantity { /** * The quantity Id */ @ApiMember(Description="The quantity Id") var Id:Int? = null /** * The quantity for booked on this price category */ @ApiMember(Description="The quantity for booked on this price category") var Quantity:Int? = null /** * The price */ @ApiMember(Description="The price") var Price:Double? = null /** * The price bofore rebate codes */ @ApiMember(Description="The price bofore rebate codes") var PriceBeforeRebate:Double? = null /** * The price currency */ @ApiMember(Description="The price currency") var CurrencyId:String? = null /** * The price sign */ @ApiMember(Description="The price sign") var PriceSign:String? = null /** * The price category */ @ApiMember(Description="The price category") var Category:String? = null /** * The price VAT in percent */ @ApiMember(Description="The price VAT in percent") var VAT:BigDecimal? = null /** * The price text to display */ @ApiMember(Description="The price text to display") var PriceText:String? = null /** * If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information. */ @ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.") var OccupiesSpot:Boolean? = null }