Requires any of the roles: | bookingsupplier-administrator-write, bookingsupplier-administrator-read, superadmin |
GET | /schedules/recurring | Find recurring schedules for a company |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
@ValidateRequest(Validator="IsAuthenticated")
open class RecuringScheduleQuery : QueryDb<RecurringSchedule, RecurringScheduleQueryResponse>()
{
/**
* Enter the company you want to see news for, if blank and you are an admin, your company id will be used
*/
@ApiMember(Description="Enter the company you want to see news for, if blank and you are an admin, your company id will be used", ParameterType="path")
var CompanyId:UUID? = null
/**
* Enter the From Date you want to see news from, only allowed if admin
*/
@ApiMember(DataType="dateTime", Description="Enter the From Date you want to see news from, only allowed if admin", ParameterType="query")
var ValidFrom:Date? = null
/**
* Enter the To Date you want to see news to, only allowed if admin
*/
@ApiMember(DataType="dateTime", Description="Enter the To Date you want to see news to, only allowed if admin", ParameterType="query")
var ValidTo:Date? = null
/**
* If you want to include the connected days for the schedule
*/
@ApiMember(DataType="bool", Description="If you want to include the connected days for the schedule", ParameterType="query")
var IncludeRecurringDays:Boolean? = null
/**
* If you want to include the connected resources for the schedule
*/
@ApiMember(DataType="bool", Description="If you want to include the connected resources for the schedule", ParameterType="query")
var IncludeConnectedResources:Boolean? = null
/**
* If you want to include the connected services for the schedule
*/
@ApiMember(DataType="bool", Description="If you want to include the connected services for the schedule", ParameterType="query")
var IncludeConnectedServices:Boolean? = null
/**
* If you want to include the exceptions for the schedule
*/
@ApiMember(DataType="bool", Description="If you want to include the exceptions for the schedule", ParameterType="query")
var IncludeExceptions:Boolean? = null
/**
* Use this parameter if you want to only show active news
*/
@ApiMember(DataType="boolean", Description="Use this parameter if you want to only show active news")
var Active:Boolean? = null
/**
* If you want to include the connected dates for the schedule. This is used when the schedule having setting, different opening hours per week (not rolling schedule using days of week).
*/
@ApiMember(DataType="bool", Description="If you want to include the connected dates for the schedule. This is used when the schedule having setting, different opening hours per week (not rolling schedule using days of week).", ParameterType="query")
var IncludeScheduleDates:Boolean? = null
}
open class QueryDb<From, Into> : QueryBase()
{
}
@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.<br/><br/><strong>Example:</strong><br/><code>?skip=10&orderBy=Id</code>
*/
@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.<br/><br/><strong>Example:</strong><br/><code>?take=20</code>
*/
@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.<br/><br/><strong>Example:</strong><br/><code>?orderBy=Id,-Age,FirstName</code>
*/
@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.<br/><br/><strong>Example:</strong><br/><code>?orderByDesc=Id,-Age,FirstName</code>
*/
@DataMember(Order=4)
var OrderByDesc:String? = null
/**
* Include any of the aggregates <code>AVG, COUNT, FIRST, LAST, MAX, MIN, SUM</code> in your result set. The results will be returned in the meta field.<br/><br/><strong>Example:</strong><br/><code>?include=COUNT(*) as Total</code><br/><br/>or multiple fields with<br/><code>?include=Count(*) Total, Min(Age), AVG(Age) AverageAge</code><br/></br>or unique with<br/><code>?include=COUNT(DISTINCT LivingStatus) as UniqueStatus</code>
*/
@DataMember(Order=5)
var Include:String? = null
@DataMember(Order=6)
var Fields:String? = null
@DataMember(Order=7)
var Meta:HashMap<String,String> = HashMap<String,String>()
}
open class RecurringSchedule : BaseModel(), ISchedule, IBaseModelCreated, IBaseModelUpdated
{
@Ignore()
var Type:ScheduleType? = null
@Ignore()
var Dates:IList<RecurringScheduleDate>? = null
@Ignore()
var Resources:IList<Resource>? = null
@Ignore()
var Services:IList<Service>? = null
var RecurringScheduleResourceRelation:ArrayList<RecurringScheduleResourceRelation> = ArrayList<RecurringScheduleResourceRelation>()
var RecurringScheduleDates:ArrayList<RecurringScheduleDate> = ArrayList<RecurringScheduleDate>()
var RecurringScheduleDayOfWeekRelation:ArrayList<RecurringScheduleDayOfWeekRelation> = ArrayList<RecurringScheduleDayOfWeekRelation>()
var ServiceRecurringScheduleRelation:ArrayList<ServiceRecurringScheduleRelation> = ArrayList<ServiceRecurringScheduleRelation>()
var RecurringScheduleExceptions:ArrayList<RecurringScheduleException> = ArrayList<RecurringScheduleException>()
@Ignore()
var Exceptions:IList<IScheduleException>? = null
@Ignore()
var IsRecurringByDayOfWeek:Boolean? = null
@Ignore()
var IsRecurringByDates:Boolean? = null
@Ignore()
var IsResourceSpecific:Boolean? = null
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
@Required()
var Name:String? = null
@Required()
var Description:String? = null
@Required()
var TimeInterval:Int? = null
@Required()
var StartTime:TimeSpan? = null
@Required()
var EndTime:TimeSpan? = null
@Required()
var NumberOfScheduleDays:Int? = null
@Required()
var UpdatedDate:Date? = null
@Required()
var CreatedDate:Date? = null
@Required()
var EnableBookingUntilClosingTime:Boolean? = null
@Required()
var ValidFrom:Date? = null
@Required()
var ValidTo:Date? = null
var ModifiedDate:Date? = null
@Required()
var Active:Boolean? = null
}
open class BaseModel
{
}
enum class ScheduleType
{
NotDefined,
RecurringSchedule,
DateSchedule,
}
open class RecurringScheduleDate : BaseModel(), IInterval
{
@Ignore()
var From:Date? = null
@Ignore()
var To:Date? = null
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
@Required()
var RecurringScheduleId:Int? = null
@Required()
var Date:Date? = null
@Required()
var StartTime:TimeSpan? = null
@Required()
var EndTime:TimeSpan? = null
var ModifiedDate:Date? = null
}
open class Resource : BaseModel(), ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated
{
@Ignore()
var Priority:Int? = null
@Ignore()
var Schedules:IList<ISchedule>? = null
@Ignore()
var Exceptions:IList<ITimeException>? = null
@Ignore()
var Bookings:IList<IBookedTime>? = null
@Ignore()
var CustomFieldsConfig:IList<CustomFieldConfig>? = null
@Ignore()
var CustomFieldsData:IList<CustomFieldDataResponse>? = 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 interface ISchedule
{
var Resources:IList<Resource>?
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<Int>?
}
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?
}
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 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 CustomFieldConfig : BaseModel()
{
@Ignore()
var Values:ArrayList<CustomFieldValue> = ArrayList<CustomFieldValue>()
var CustomField:CustomField? = null
@Ignore()
var RegEx:RegEx? = null
@Ignore()
var Services:ArrayList<Service> = ArrayList<Service>()
var CustomFieldServiceRelation:ArrayList<CustomFieldServiceRelation> = ArrayList<CustomFieldServiceRelation>()
@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 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 Service : BaseModel(), ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated
{
@Ignore()
var ResourceTypes:ArrayList<ResourceType> = ArrayList<ResourceType>()
@Ignore()
var Resources:ArrayList<Resource> = ArrayList<Resource>()
@Ignore()
var TotalPrice:TotalPriceInformation? = null
@Ignore()
var Prices:ArrayList<ServicePrice> = ArrayList<ServicePrice>()
@Ignore()
var BookingStatusOptions:ArrayList<BookingStatusOptions> = ArrayList<BookingStatusOptions>()
@Ignore()
var IsGroupBooking:Boolean? = null
@Ignore()
var IsMultipleResource:Boolean? = null
@Ignore()
var Settings:BookingSettings? = null
@Ignore()
var PaymentSetting:PaymentSetting? = null
@Ignore()
var BookingCustomFieldsConfig:IList<CustomFieldConfig>? = null
@Ignore()
var CustomerCustomFieldsConfig:IList<CustomFieldConfig>? = null
@Ignore()
var CustomFieldsConfig:IList<CustomFieldConfig>? = null
@Ignore()
var CustomFieldsData:IList<CustomFieldDataResponse>? = null
@Ignore()
var Schedules:IList<ISchedule>? = null
@Ignore()
var CustomerActiveBookings:IList<Booking>? = null
@Ignore()
var ScheduleType:ScheduleType? = null
@Ignore()
var LastTimeToUnbookThreshold:TimeSpan? = null
@Ignore()
var LastTimeToBookThreshold:TimeSpan? = null
@Ignore()
var RatingScore:AverageRatingScore? = null
@Ignore()
var Ratings:ArrayList<Rating> = ArrayList<Rating>()
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
@Required()
var Name:String? = null
@Required()
var Description:String? = null
var Group:String? = null
@Required()
var Active:Boolean? = null
@Required()
var SortOrder:Int? = null
@Required()
var PauseAfterBooking:Int? = null
@Required()
var UnbookBeforeDays:Int? = null
@Required()
var UnbookBeforeHours:Int? = null
@Required()
var UnbookBeforeMinutes:Int? = null
@Required()
var BookBeforeDays:Int? = null
@Required()
var BookBeforeHours:Int? = null
@Required()
var BookBeforeMinutes:Int? = null
var Duration:Int? = null
var DurationTypeId:Int? = null
var MinDuration:Int? = null
var MaxDuration:Int? = null
var DurationInterval:Int? = null
var TotalSpots:Int? = null
var ImageUrl:String? = null
@Required()
var ScheduleTypeId:Int? = null
@Required()
var UpdatedDate:Date? = null
@Required()
var CreatedDate:Date? = null
@Required()
var OnlyVisibleByAdmin:Boolean? = null
@Required()
var MinNumberOfSpotsPerBooking:Int? = null
@Required()
var MaxNumberOfSpotsPerBooking:Int? = null
@Required()
var MinNumberOfResourcesToBook:Int? = null
@Required()
var MaxNumberOfResourcesToBook:Int? = null
@Required()
var IsPaymentEnabled:Boolean? = null
@Required()
var MaxPaymentTime:Int? = null
@Required()
var LockSpotsToBooking:Boolean? = null
@Required()
var EnableBookingQueue:Boolean? = null
var ModifiedDate:Date? = null
@Required()
var BookingStatusId:Int? = null
@Required()
var EnableCodeLockSync:Boolean? = null
@Required()
var EnableCustomerManualPayment:Boolean? = null
var PriceViewTypeId:Int? = 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 ResourceType : BaseModel(), IBaseModelCreated, IBaseModelUpdated
{
@Ignore()
var SelectableByUser:Boolean? = null
@Ignore()
var Resources:ArrayList<Resource> = ArrayList<Resource>()
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
@Required()
var Name:String? = null
var Description:String? = null
@Required()
var Active:Boolean? = null
@Required()
var UpdatedDate:Date? = null
@Required()
var CreatedDate:Date? = null
var ModifiedDate:Date? = null
}
open class TotalPriceInformation
{
var TotalPrice:Double? = null
var TotalVATAmount:Double? = null
var TotalRebate:Double? = null
var TotalPriceBeforeRebate:Double? = null
var AppliedCodes:ArrayList<AppliedRebateCodes> = ArrayList<AppliedRebateCodes>()
var PriceSign:String? = null
var CurrencyId:String? = null
var VAT:BigDecimal? = 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 RebateCodeType : BaseModel()
{
@Required()
var Name:String? = null
var Description:String? = null
var ModifiedDate:Date? = null
var Id:Int? = null
}
open class ServicePrice : BaseModel(), IInterval
{
@References(Currency.class)
var CurrencyId:String? = null
var CurrencyInfo:Currency? = null
@Ignore()
var Service:Service? = null
@Ignore()
var PriceMappings:ArrayList<PriceMapping> = ArrayList<PriceMapping>()
@Ignore()
var isTimeSpecific:Boolean? = null
@Ignore()
var isDaysOfWeekSpecific:Boolean? = null
var DayOfWeeks:ArrayList<ServicePriceDayOfWeekRelation> = ArrayList<ServicePriceDayOfWeekRelation>()
@Ignore()
var PriceBeforeRebate:Double? = null
@Ignore()
var RebateCodesApplied:ArrayList<RebateCode> = ArrayList<RebateCode>()
@Ignore()
var PriceText:String? = null
@Ignore()
var OverlappingPrices:ArrayList<ServicePrice> = ArrayList<ServicePrice>()
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
@Required()
var ServiceId:Int? = null
var Price:Double? = null
@Required()
var Updated:Date? = null
@Required()
var Created:Date? = null
@Required()
var FromTime:TimeSpan? = null
@Required()
var ToTime:TimeSpan? = null
@Required()
var VAT:BigDecimal? = null
var Category:String? = null
var ModifiedDate:Date? = null
@Required()
var From:Date? = null
@Required()
var To:Date? = null
@Required()
var CalculationTypeId:Int? = 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 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 class ServicePriceDayOfWeekRelation : BaseModel()
{
@Ignore()
var DayOfWeek:BokaMeraDayOfWeek? = null
@Required()
var CompanyId:UUID? = null
@Required()
var ServicePriceId:Int? = null
@Required()
var DayOfWeekId:Int? = null
var ModifiedDate:Date? = null
var Id:Int? = null
}
enum class BokaMeraDayOfWeek(val value:Int)
{
Monday(1),
Tuesday(2),
Wednesday(3),
Thursday(4),
Friday(5),
Saturday(6),
Sunday(7),
}
open class RebateCode : PayableEntity()
{
@References(RebateCodeType.class)
var RebateCodeTypeId:Int? = null
var RebateCodeTypeInfo:RebateCodeType? = null
@References(RebateCodeStatus.class)
var RebateCodeStatusId:Int? = null
var RebateCodeStatusInfo:RebateCodeStatus? = null
@Ignore()
var Article:Article? = null
@Ignore()
var Services:ArrayList<Service> = ArrayList<Service>()
var RebateCodeDayOfWeekRelation:ArrayList<RebateCodeDayOfWeekRelation> = ArrayList<RebateCodeDayOfWeekRelation>()
var RebateCodeServiceRelation:ArrayList<RebateCodeServiceRelation> = ArrayList<RebateCodeServiceRelation>()
var RebateCodeBookingPriceRelation:ArrayList<RebateCodeBookingPriceRelation> = ArrayList<RebateCodeBookingPriceRelation>()
var RebateCodeCustomerRelation:ArrayList<RebateCodeCustomerRelation> = ArrayList<RebateCodeCustomerRelation>()
@Ignore()
var ServicesNames:String? = null
@Ignore()
var DaysOfWeek:ArrayList<DaysOfWeek> = ArrayList<DaysOfWeek>()
@Ignore()
var RebateCodeStatus:RebateCodeStatus? = null
@Ignore()
var RebateCodeType:RebateCodeType? = null
@Ignore()
var Transactions:ArrayList<RebateCodeTransaction> = ArrayList<RebateCodeTransaction>()
@Ignore()
var RemainingAmount:Double? = null
@Ignore()
var RemainingUsage:Int? = null
@Ignore()
var CurrentNumberOfUsesPerCustomer:Int? = null
@Ignore()
var IsSpecificByDayOfWeek:Boolean? = null
@Ignore()
var Active:Boolean? = null
@Ignore()
var ActiveByStatus:Boolean? = null
@Ignore()
var RebateCodeCurrencySign:String? = null
var CurrencyInfo:Currency? = null
@Ignore()
var PaymentReceived:Boolean? = null
@Ignore()
var InternalReferenceId:String? = null
@Required()
var ValidFrom:Date? = null
@Required()
var ValidTo:Date? = null
@Required()
var RebateCodeSign:String? = null
@Required()
var RebateCodeValue:Int? = null
@Required()
var MaxNumberOfUses:Int? = null
@Required()
var MaxNumberOfUsesPerCustomer:Int? = null
@Required()
var NumberOfUsesUsed:Int? = null
var PersonalNote:String? = null
@Required()
var CreatedBy:String? = null
@Required()
var Created:Date? = null
@Required()
var UpdatedBy:String? = null
@Required()
var UpdatedDate:Date? = null
@Required()
var FromTime:TimeSpan? = null
@Required()
var ToTime:TimeSpan? = null
var ModifiedDate:Date? = null
var Id:Int? = null
var ArticleId:Int? = null
}
open class PayableEntity : BaseModel(), IPayableEntity
{
@Ignore()
var DbFactory:IDbConnectionFactory? = null
@Ignore()
var QvicklyPaymentManager:IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse>? = null
@Ignore()
var Payson2PaymentManager:IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse>? = null
@Ignore()
var PaysonPaymentCheckout1:IPaysonPaymentCheckout1? = null
@Ignore()
var Logger:ILogger<PayableEntity>? = null
@Ignore()
var InternalReferenceId:String? = null
@Ignore()
var PaymentLog:ArrayList<PaymentLog> = ArrayList<PaymentLog>()
var CompanyId:UUID? = null
var PriceVat:BigDecimal? = null
@References(Currency.class)
var CurrencyId:String? = null
@Ignore()
var Customer:Customer? = null
@Ignore()
var Customers:ArrayList<Customer> = ArrayList<Customer>()
@Ignore()
var Company:Company? = null
}
open interface IDbConnectionFactory
{
}
open interface IBokameraPaymentManager<TCreatedCheckoutResponse, TCheckoutResponse, TPaymentResponse>
{
}
open class InitCheckoutRequestBody
{
var credentials:Credentials? = null
@SerializedName("data") var Data:InitCheckoutData? = null
var function:String? = 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 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 InitCheckoutData
{
var CheckoutData:CheckoutData? = null
var PaymentData:CheckoutPaymentData? = null
var PaymentInfo:PaymentInfo? = null
var Articles:ArrayList<QvicklyArticle>? = null
var Cart:Cart? = null
var QvicklyCustomer:QvicklyCustomer? = 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 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 QvicklyArticle
{
var artnr:String? = null
var title:String? = null
var quantity:Int? = null
var aprice:Int? = null
var tax:Int? = null
var discount:Int? = null
var withouttax:Int? = null
var taxrate:Int? = null
}
open class Cart
{
var Handling:CartHandling? = null
var Total:CartTotal? = null
var Shipping:Shipping? = 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
}
open class QvicklyCustomer
{
var nr:String? = null
var pno:String? = null
var Billing:CustomerBilling? = 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 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<QvicklyArticle>? = null
var Cart:Cart? = 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 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 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
}
enum class Payson2CheckoutStatus
{
None,
Created,
FormsFilled,
ReadyToPay,
ProcessingPayment,
ReadyToShip,
Shipped,
PaidToAccount,
Canceled,
Credited,
Expired,
Denied,
}
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
}
enum class CustomerType
{
Person,
Business,
}
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<Item>? = 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 ItemType
{
Physical,
Service,
Fee,
Discount,
}
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
}
enum class ColorScheme
{
White,
Blue,
Gray,
GrayTextLogos,
BlueTextLogos,
WhiteTextLogos,
WhiteNoFooter,
GrayNoFooter,
BlueNoFooter,
}
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 IPaysonPaymentCheckout1
{
}
open interface ILogger<TCategoryName> : ILogger
{
}
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 class Customer : BaseModel(), IUser, ICustomFieldTable
{
var IdentityId:Int? = null
var Id:UUID? = null
@Ignore()
var CustomerId:UUID? = null
@Ignore()
var AccessKeys:IList<UserAccessKeys>? = null
var Email:String? = null
@Ignore()
var ExternalReferences:IList<ExternalReference>? = null
@Ignore()
var Company:Company? = null
@Ignore()
var CustomFieldsConfig:IList<CustomFieldConfig>? = null
@Ignore()
var CustomFieldsData:IList<CustomFieldDataResponse>? = null
@Ignore()
var Comments:IList<CustomerComment>? = null
@Ignore()
var RebateCodes:IList<RebateCode>? = 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 UserAccessKeys : BaseModel()
{
@Required()
var CompanyId:UUID? = null
@Required()
var AccessKeyTypeId:Int? = null
@Required()
var Value:String? = null
@Required()
var CustomerId:UUID? = null
var Description:String? = null
@Required()
var Id:UUID? = 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 Company : BaseModel()
{
@Ignore()
var Status:CompanyStatus? = null
@Ignore()
var Active:Boolean? = null
@Ignore()
var CustomerCustomFieldsConfig:IList<CustomFieldConfig>? = 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<Rating> = ArrayList<Rating>()
@Ignore()
var Distance:Double? = null
@Ignore()
var Licenses:ArrayList<License> = ArrayList<License>()
@Ignore()
var ActiveLicenses:ArrayList<License> = ArrayList<License>()
@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<ExternalReference>? = 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
}
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<ScheduleView> = ArrayList<ScheduleView>()
@Ignore()
var WeekNumberSettingOptions:ArrayList<WeekNumberSetting> = ArrayList<WeekNumberSetting>()
@Ignore()
var BookingTemplateOptions:ArrayList<BookingTemplate> = ArrayList<BookingTemplate>()
@Ignore()
var CalendarTypeOptions:ArrayList<CalendarType> = ArrayList<CalendarType>()
@Ignore()
var FreeSpotTextOptions:ArrayList<FreeSpotTexts> = ArrayList<FreeSpotTexts>()
@Ignore()
var BookingStatusOptions:ArrayList<BookingStatusOptions> = ArrayList<BookingStatusOptions>()
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 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 BookingStatusOptions
{
var Id:Int? = null
var Name:String? = null
var Description:String? = 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 CodeLockSetting : BaseModel()
{
@Ignore()
var CodeLockSystemOptions:ArrayList<CodeLockSystem> = ArrayList<CodeLockSystem>()
@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 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 PaymentSetting : BaseModel()
{
var AdminPaymentOption:AdminPaymentOptions? = null
@Ignore()
var AdminPaymentOptions:ArrayList<AdminPaymentOptions> = ArrayList<AdminPaymentOptions>()
@Ignore()
var PaymentProviderOptions:ArrayList<PaymentProviders> = ArrayList<PaymentProviders>()
@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 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 CompanySetting : BaseModel()
{
@Ignore()
var Languages:ArrayList<LanguageResponse> = ArrayList<LanguageResponse>()
@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 LanguageResponse
{
var Id:String? = null
var Name:String? = null
}
open class HomepageWidgetSetting : BaseModel()
{
@Ignore()
var WidgetServiceLayoutOptions:ArrayList<WidgetServiceLayouts> = ArrayList<WidgetServiceLayouts>()
@Ignore()
var WidgetTimeLayoutOptions:ArrayList<WidgetTimeLayouts> = ArrayList<WidgetTimeLayouts>()
@Ignore()
var WidgetBookingLayoutOptions:ArrayList<WidgetBookingLayouts> = ArrayList<WidgetBookingLayouts>()
@Ignore()
var WidgetBookingMethodOptions:ArrayList<WidgetBookingMethods> = ArrayList<WidgetBookingMethods>()
@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 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 HomepageSetting : BaseModel(), ICompany
{
@Ignore()
var HomepageTemplateOptions:ArrayList<HomepageTemplate> = ArrayList<HomepageTemplate>()
@Ignore()
var HomepageHeroSectionStyleOptions:ArrayList<HeroSectionStyle> = ArrayList<HeroSectionStyle>()
@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 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 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 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 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<LicenseTypeItem>? = null
@Ignore()
var Prices:IList<LicensePrice>? = 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 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 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 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 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 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 CustomerComment : BaseModel()
{
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
@Required()
var CustomerId:UUID? = null
@Required()
var Comments:String? = null
@Required()
var Updated:Date? = null
@Required()
var Created:Date? = null
var ImageUrl:String? = null
var ModifiedDate:Date? = null
}
open class RebateCodeStatus : BaseModel()
{
@Required()
var Name:String? = null
var Description:String? = null
var ModifiedDate:Date? = null
var Id:Int? = null
}
open class Article : BaseModel(), IBaseModelCreated, IBaseModelUpdated
{
var Company:Company? = null
var CurrencyInfo:Currency? = null
var ArticleServiceRelations:ArrayList<ArticleServiceRelation> = ArrayList<ArticleServiceRelation>()
@Ignore()
var ServiceIds:ArrayList<Int> = ArrayList<Int>()
@Ignore()
var ArticleType:ArticleTypeEnum? = null
@Ignore()
var ArticleTypeName:String? = null
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
@Required()
var Name:String? = null
@Required()
var ArticleTypeId:Int? = null
var Description:String? = null
var ImageUrl:String? = null
@Required()
var Active:Boolean? = null
@Required()
var Amount:Int? = null
@Required()
var Price:Double? = null
@Required()
@StringLength(50)
var CurrencyId:String? = null
@Required()
var UpdatedDate:Date? = null
@Required()
var CreatedDate:Date? = null
var ModifiedDate:Date? = null
}
open class ArticleServiceRelation : BaseModel()
{
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
@Required()
var ServiceId:Int? = null
@Required()
var ArticleId:Int? = null
}
enum class ArticleTypeEnum(val value:Int)
{
ServiceArticle(1),
StandAloneArticle(2),
RebateCodePunchTicketArticle(3),
RebateCodeGiftCardArticle(4),
RebateCodeValueCardArticle(5),
}
open class RebateCodeDayOfWeekRelation : BaseModel()
{
@Ignore()
var DayOfWeek:BokaMeraDayOfWeek? = null
@Required()
var DayOfWeekId:Int? = null
@Required()
var RebateCodeId:Int? = null
@Required()
var CompanyId:UUID? = null
var Id:Int? = null
var ModifiedDate:Date? = null
}
open class RebateCodeServiceRelation : BaseModel()
{
@Required()
var CompanyId:UUID? = null
@Required()
var ServiceId:Int? = null
@Required()
var RebateCodeId:Int? = null
var Id:Int? = null
var ModifiedDate:Date? = null
}
open class RebateCodeBookingPriceRelation : BaseModel()
{
@Required()
var CompanyId:UUID? = null
@Required()
var PriceId:Int? = null
@Required()
var RebateCodeId:Int? = null
var Id:Int? = null
var ModifiedDate:Date? = null
}
open class RebateCodeCustomerRelation : BaseModel()
{
@Required()
var CompanyId:UUID? = null
@Required()
var CustomerId:UUID? = null
@Required()
var RebateCodeId:Int? = null
var Id:Int? = null
var ModifiedDate:Date? = null
var RebateCodeEmailSentToCustomer:Boolean? = null
var MessageToReceiver:String? = null
var Buyer:Boolean? = null
}
open class DaysOfWeek : BaseModel()
{
@Required()
var DayOfWeek:String? = null
@Required()
var DayOfWeekTranslation:String? = null
var DayOfWeekActive:Boolean? = null
var DayOfWeekSortOrder:Short? = null
var ModifiedDate:Date? = null
var Id:Int? = null
}
open class RebateCodeTransaction : BaseModel(), IBaseModelCreated, IBaseModelUpdated
{
@Ignore()
var Booking:Booking? = null
@Ignore()
var RebateCode:RebateCode? = null
@Ignore()
var Customer:Customer? = null
var Id:Int? = null
var CompanyId:UUID? = null
var Note:String? = null
@Required()
var RebateCodeId:Int? = null
@Required()
var Amount:Double? = null
@Required()
var Usage:Int? = null
var BookingId:Int? = null
@Required()
var UpdatedDate:Date? = null
@Required()
var CreatedDate:Date? = null
}
open class Booking : PayableEntity(), IInterval, ICustomFieldTable, IBaseModelUpdated, IBaseModelCreated
{
@Ignore()
var Service:Service? = null
@Ignore()
var CalendarExport:CalendarExport? = null
@Ignore()
var Log:ArrayList<BookingLog> = ArrayList<BookingLog>()
@Ignore()
var CheckoutLogs:ArrayList<PaymentDetails> = ArrayList<PaymentDetails>()
@Ignore()
var Prices:ArrayList<BookingPrice> = ArrayList<BookingPrice>()
@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<Resource>? = null
@Ignore()
var ExternalReferences:IList<ExternalReference>? = null
@Ignore()
var BookedResources:IList<BookedResourceType>? = null
@Ignore()
var CustomFieldsConfig:IList<CustomFieldConfig>? = null
@Ignore()
var CustomFieldsData:IList<CustomFieldDataResponse>? = null
@Ignore()
var DeterministicId:UUID? = null
@Ignore()
var Active:Boolean? = null
@Ignore()
var LastTimeToUnBook:Date? = null
@Ignore()
var PriceMappings:ArrayList<PriceMapping> = ArrayList<PriceMapping>()
@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
}
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 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 BookingLogEventType : BaseModel()
{
@Required()
var Name:String? = null
@Required()
var Description:String? = null
var ModifiedDate:Date? = null
@Required()
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<AppliedRebateCodes> = ArrayList<AppliedRebateCodes>()
@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 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 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<BookedResource> = ArrayList<BookedResource>()
}
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 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 RecurringScheduleResourceRelation : BaseModel()
{
@Required()
var CompanyId:UUID? = null
@Required()
var RecurringScheduleId:Int? = null
@Required()
var ResourceId:Int? = null
var Id:Int? = null
var ModifiedDate:Date? = null
}
open class RecurringScheduleDayOfWeekRelation : BaseModel()
{
@Ignore()
var DayOfWeek:BokaMeraDayOfWeek? = null
@Required()
var DayOfWeekId:Int? = null
@Required()
var CompanyId:UUID? = null
@Required()
var RecurringScheduleId:Int? = null
var Id:Int? = null
var ModifiedDate:Date? = null
}
open class ServiceRecurringScheduleRelation : BaseModel()
{
@Required()
var CompanyId:UUID? = null
@Required()
var ServiceId:Int? = null
@Required()
var RecurringScheduleId:Int? = null
var Id:Int? = null
var ModifiedDate:Date? = null
}
open class RecurringScheduleException : BaseModel(), IScheduleException
{
@Required()
var CompanyId:UUID? = null
@Required()
var RecurringScheduleId:Int? = null
var Id:Int? = null
var ModifiedDate:Date? = null
@Required()
var StartTime:TimeSpan? = null
@Required()
var EndTime:TimeSpan? = null
}
open interface IScheduleException
{
var StartTime:TimeSpan?
var EndTime:TimeSpan?
}
open class RecurringScheduleQueryResponse
{
/**
* The schedule id
*/
@ApiMember(Description="The schedule id")
var Id:Int? = null
/**
* Name of the schedule
*/
@ApiMember(Description="Name of the schedule")
var Name:String? = null
/**
* Description of the schedule
*/
@ApiMember(Description="Description of the schedule")
var Description:String? = null
/**
* If the schedule is active or not
*/
@ApiMember(Description="If the schedule is active or not")
var Active:Boolean? = null
/**
* Time interval for available times Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM
*/
@ApiMember(Description="Time interval for available times Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM", IsRequired=true)
var TimeInterval:Int? = null
/**
* The timestamp to which the schedule is valid from
*/
@ApiMember(Description="The timestamp to which the schedule is valid from", IsRequired=true)
var ValidFrom:Date? = null
/**
* The timestamp to which the schedule is valid to
*/
@ApiMember(Description="The timestamp to which the schedule is valid to", IsRequired=true)
var ValidTo:Date? = null
/**
* The time for the schedule opening hours (starttime)
*/
@ApiMember(Description="The time for the schedule opening hours (starttime)", IsRequired=true)
var StartTime:TimeSpan? = null
/**
* The time for the schedule opening hours (endtime)
*/
@ApiMember(Description="The time for the schedule opening hours (endtime)", IsRequired=true)
var EndTime:TimeSpan? = null
/**
* The number of days the schedule is valid from todays date
*/
@ApiMember(Description="The number of days the schedule is valid from todays date", IsRequired=true)
var NumberOfScheduleDays:Int? = null
/**
* If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this.
*/
@ApiMember(Description="If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this.", IsRequired=true)
var IsResourceSpecific:Boolean? = null
/**
* The timestamp when the schedule was updated
*/
@ApiMember(Description="The timestamp when the schedule was updated", IsRequired=true)
var UpdatedDate:Date? = null
/**
* The timestamp when the schedule was created
*/
@ApiMember(Description="The timestamp when the schedule was created", IsRequired=true)
var CreatedDate:Date? = null
/**
* Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight).
*/
@ApiMember(Description="Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight).", IsRequired=true)
var EnableBookingUntilClosingTime:Boolean? = null
/**
* If recurring, an array indicating which days of the week the exception recures on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs
*/
@ApiMember(Description="If recurring, an array indicating which days of the week the exception recures on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs")
var DaysOfWeek:ArrayList<DayOfWeekDto> = ArrayList<DayOfWeekDto>()
/**
* The resources that is connected to the schedule
*/
@ApiMember(Description="The resources that is connected to the schedule")
var Resources:ArrayList<ScheduleResources> = ArrayList<ScheduleResources>()
/**
* The services that is connected to the schedule
*/
@ApiMember(Description="The services that is connected to the schedule")
var Services:ArrayList<ScheduleServices> = ArrayList<ScheduleServices>()
/**
* The exceptions that is added to the schedule
*/
@ApiMember(Description="The exceptions that is added to the schedule")
var Exceptions:ArrayList<RecurringScheduleExceptionResponse> = ArrayList<RecurringScheduleExceptionResponse>()
/**
* Schedule dates, used when the schedule is not a rolling schedule using days of week
*/
@ApiMember(Description="Schedule dates, used when the schedule is not a rolling schedule using days of week")
var ScheduleDates:ArrayList<RecurringScheduleDateResponse> = ArrayList<RecurringScheduleDateResponse>()
var ResponseStatus:ResponseStatus? = null
}
open class DayOfWeekDto
{
var DayOfWeekId:Int? = null
var DotNetDayOfWeekId:Int? = null
var DayOfWeek:String? = null
}
open class ScheduleResources
{
var Id:Int? = null
/**
* Name of the resource
*/
@ApiMember(Description="Name of the resource")
var Name:String? = null
/**
* The image url of the resource
*/
@ApiMember(Description="The image url of the resource")
var ImageUrl:Uri? = null
}
open class ScheduleServices
{
var Id:Int? = null
/**
* Name of the service
*/
@ApiMember(Description="Name of the service")
var Name:String? = null
/**
* The image url of the service
*/
@ApiMember(Description="The image url of the service")
var ImageUrl:Uri? = null
}
open class RecurringScheduleExceptionResponse
{
/**
* Start time of the schedule exception.
*/
@ApiMember(Description="Start time of the schedule exception.")
var StartTime:TimeSpan? = null
/**
* End time of the schedule exception.
*/
@ApiMember(Description="End time of the schedule exception.")
var EndTime:TimeSpan? = null
}
open class RecurringScheduleDateResponse
{
var Id:Int? = null
var Date:Date? = null
var StartTime:TimeSpan? = null
var EndTime:TimeSpan? = null
var ResponseStatus:ResponseStatus? = null
}
@DataContract
open class QueryResponse<AccessKeyTypeResponse>
{
@DataMember(Order=1)
var Offset:Int? = null
@DataMember(Order=2)
var Total:Int? = null
@DataMember(Order=3)
var Results:ArrayList<AccessKeyTypeResponse> = ArrayList<AccessKeyTypeResponse>()
@DataMember(Order=4)
var Meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=5)
var ResponseStatus:ResponseStatus? = null
}
open class AccessKeyTypeResponse
{
var Id:Int? = null
var KeyType:String? = null
var Description:String? = null
}
Kotlin RecuringScheduleQuery DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /schedules/recurring HTTP/1.1 Host: api.bokamera.se Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Offset: 0, Total: 0, Results: [ { Id: 0, Name: String, Description: String, Active: False, TimeInterval: 0, StartTime: PT0S, EndTime: PT0S, NumberOfScheduleDays: 0, IsResourceSpecific: False, EnableBookingUntilClosingTime: False, DaysOfWeek: [ { DayOfWeekId: 0, DotNetDayOfWeekId: 0, DayOfWeek: String } ], Resources: [ { Id: 0, Name: String } ], Services: [ { Id: 0, Name: String } ], Exceptions: [ { StartTime: PT0S, EndTime: PT0S } ], ScheduleDates: [ { Id: 0, StartTime: PT0S, EndTime: PT0S, ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } } ], ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } } ], Meta: { String: String }, ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } }