GET | /bookings | Find booked events for currently logged in user | This service is used to get bookings for the current user, the result will be paged if the query returns a to large set of values. |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
open class BookingQuery : QueryDb<Booking, BookingQueryResponse>()
{
/**
* 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<Int>? = 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<Int>? = 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<Int>? = 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<Int>? = 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
}
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 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 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 class BaseModel
{
}
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 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<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 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 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?
}
enum class ScheduleType
{
NotDefined,
RecurringSchedule,
DateSchedule,
}
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 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 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 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 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 BookingStatusOptions
{
var Id:Int? = null
var Name:String? = null
var Description:String? = null
}
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 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 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 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 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 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 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 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 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 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<CustomFieldConfigData> = ArrayList<CustomFieldConfigData>()
var CustomFieldValues:ArrayList<CustomFieldDataResponse> = ArrayList<CustomFieldDataResponse>()
var BookedResourceTypes:ArrayList<BookedResourceType> = ArrayList<BookedResourceType>()
var Company:BookedCompany? = null
var Customer:BookedCustomer? = null
var Quantities:ArrayList<BookedQuantity> = ArrayList<BookedQuantity>()
var Service:ServiceInfoResponse? = null
var PaymentExpiration:Date? = null
var Log:ArrayList<BookingLogQueryResponse> = ArrayList<BookingLogQueryResponse>()
var PaymentLog:ArrayList<BookingPaymentLogQueryResponse> = ArrayList<BookingPaymentLogQueryResponse>()
var CheckoutLog:ArrayList<BookingCheckoutQueryResponse> = ArrayList<BookingCheckoutQueryResponse>()
var ExternalReference:ArrayList<ExternalReferenceResponse> = ArrayList<ExternalReferenceResponse>()
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 BookingStatusQueryResponse
{
var Id:Int? = null
var Name:String? = null
var Description:String? = null
var Icon:String? = null
var Color:String? = null
}
open class CustomFieldConfigData
{
/**
* Custom field id
*/
@ApiMember(Description="Custom field id")
var Id:Int? = null
/**
* Configuration name. Example: 'Number of persons'.
*/
@ApiMember(Description="Configuration name. Example: 'Number of persons'.")
var Name:String? = null
/**
* Custom field description. Example: 'For how many persons is this booking?'
*/
@ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'")
var Description:String? = null
/**
* Field width. Example: 20 for 20px
*/
@ApiMember(Description="Field width. Example: 20 for 20px")
var Width:Int? = null
/**
* Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
*/
@ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")
var DataType:String? = null
/**
* Default value of the field. Example: '3'
*/
@ApiMember(Description="Default value of the field. Example: '3'")
var DefaultValue:String? = null
/**
* Determines if the field is required to have a value or not
*/
@ApiMember(Description="Determines if the field is required to have a value or not")
var IsMandatory:Boolean? = null
/**
* Error message shown to the user if the field data is required but not entered
*/
@ApiMember(Description="Error message shown to the user if the field data is required but not entered")
var MandatoryErrorMessage:String? = null
/**
* Max lenght of the field
*/
@ApiMember(Description="Max lenght of the field")
var MaxLength:Int? = null
/**
* If the field should have multiple lines
*/
@ApiMember(Description="If the field should have multiple lines")
var MultipleLineText:Boolean? = null
/**
* Regular expression used for validation of the field
*/
@ApiMember(Description="Regular expression used for validation of the field")
var RegEx:String? = null
/**
* Error message shown if the regular expression validation failed
*/
@ApiMember(Description="Error message shown if the regular expression validation failed")
var RegExErrorMessage:String? = null
/**
* The values to select from if Datatype is DropDown for this custom field
*/
@ApiMember(Description="The values to select from if Datatype is DropDown for this custom field")
var Values:ArrayList<CustomFieldValueResponse> = ArrayList<CustomFieldValueResponse>()
}
open class CustomFieldValueResponse
{
var Value:String? = null
}
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 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
}
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 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 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 BookingLogEventTypeResponse
{
/**
* The event type id
*/
@ApiMember(Description="The event type id")
var Id:Int? = null
/**
* The event type name
*/
@ApiMember(Description="The event type name")
var Name:String? = null
/**
* The event type description
*/
@ApiMember(Description="The event type description")
var Description: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 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 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
}
@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
}
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 /bookings 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, Status: Booked, StatusId: 0, StatusName: String, StatusInfo: { Id: 0, Name: String, Description: String, Icon: String, Color: String }, SendEmailReminder: False, SendSmsReminder: False, SendSmsConfirmation: False, SendEmailConfirmation: False, LastTimeToUnBook: "0001-01-01T00:00:00", CustomFields: [ { "Id": 0, "Name": "String", "Description": "String", "Width": 0, "DataType": "String", "DefaultValue": "String", "IsMandatory": false, "MandatoryErrorMessage": "String", "MaxLength": 0, "MultipleLineText": false, "RegEx": "String", "RegExErrorMessage": "String", "Values": [ { "Value": "String" } ] } ], CustomFieldValues: [ { Id: 0, Column: String, Name: String, Description: String, Value: String, DataType: String } ], BookedResourceTypes: [ { Id: 0, Name: String, Resources: [ { Id: 0, Name: String, Color: String, Email: String, MobilePhone: String, AccessGroup: String, EmailNotification: False, SMSNotification: False, EmailReminder: False, SMSReminder: False } ] } ], Company: { Name: String, Category: String, Street1: String, Street2: String, ZipCode: String, City: String, CountryId: String, Longitude: String, Latitude: String, Phone: String, Email: String, HomePage: String, SitePath: String, IsFavorite: False, PaymentProviderId: 0 }, Customer: { Firstname: String, Lastname: String, Email: String, Phone: String, FacebookUserName: String, ImageUrl: String, CorporateIdentityNumber: String, InvoiceAddress1: String, InvoiceAddress2: String, InvoiceCity: String, InvoicePostalCode: String, InvoiceCountryCode: String }, Quantities: [ { Id: 0, Quantity: 0, Price: 0, PriceBeforeRebate: 0, CurrencyId: String, PriceSign: String, Category: String, VAT: 0, PriceText: String, OccupiesSpot: False } ], Service: { Id: 0, Name: String, Description: String, LengthInMinutes: 0, MaxNumberOfSpotsPerBooking: 0, MinNumberOfSpotsPerBooking: 0, GroupBooking: { Active: False, Min: 0, Max: 0 }, MultipleResource: { Active: False, Min: 0, Max: 0 }, IsGroupBooking: False, IsPaymentEnabled: False }, PaymentExpiration: "0001-01-01T00:00:00", Log: [ { Id: 0, BookingId: 0, EventTypeId: 0, EventType: { Id: 0, Name: String, Description: String }, Comments: String, UserName: String } ], PaymentLog: [ { Id: 0, BookingId: 0, PaymentReferenceId: String, OrderItemReferenceId: String, PaymentProviderId: 0, Amount: 0, VAT: 0, AmountCredited: 0, CurrencyId: String, CurrencyInfo: { Id: String, Name: String, CurrencySign: String }, Comments: String } ], CheckoutLog: [ { BookingId: 0, PurchaseId: 0, ExpirationTime: "0001-01-01T00:00:00", Snippet: String, Status: String, Message: String } ], ExternalReference: [ { ReferenceType: String, ExternalData: String, CreatedBy: String } ], ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } }, CalendarExportStatus: { CalendarId: String, BookingId: 0, Synced: False }, LengthInMinutes: 0, BookedBy: String, BookedComments: String, UnbookedComments: String, CommentsToCustomer: String, UnbookedOn: "0001-01-01T00:00:00", CancellationCode: String, RatingCode: String } ], Meta: { String: String }, ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } }