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. |
---|
"use strict";
export class QueryBase {
/** @param {{Skip?:number,Take?:number,OrderBy?:string,OrderByDesc?:string,Include?:string,Fields?:string,Meta?:{ [index: string]: string; }}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?number}
* @description 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> */
Skip;
/**
* @type {?number}
* @description 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> */
Take;
/**
* @type {string}
* @description 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> */
OrderBy;
/**
* @type {string}
* @description 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> */
OrderByDesc;
/**
* @type {string}
* @description 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> */
Include;
/** @type {string} */
Fields;
/** @type {{ [index: string]: string; }} */
Meta;
}
/** @typedef From {any} */
/** @typedef Into {any} */
export class QueryDb extends QueryBase {
/** @param {{Skip?:number,Take?:number,OrderBy?:string,OrderByDesc?:string,Include?:string,Fields?:string,Meta?:{ [index: string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
/** @typedef {number} */
export var BookingStatusEnum;
(function (BookingStatusEnum) {
BookingStatusEnum[BookingStatusEnum["Booked"] = 1] = "Booked"
BookingStatusEnum[BookingStatusEnum["Unbooked"] = 2] = "Unbooked"
BookingStatusEnum[BookingStatusEnum["Reserved"] = 3] = "Reserved"
BookingStatusEnum[BookingStatusEnum["Canceled"] = 4] = "Canceled"
BookingStatusEnum[BookingStatusEnum["AwaitingPayment"] = 5] = "AwaitingPayment"
BookingStatusEnum[BookingStatusEnum["AwaitingPaymentNoTimeLimit"] = 6] = "AwaitingPaymentNoTimeLimit"
BookingStatusEnum[BookingStatusEnum["Payed"] = 7] = "Payed"
BookingStatusEnum[BookingStatusEnum["AwaitingPaymentRequestFromAdmin"] = 8] = "AwaitingPaymentRequestFromAdmin"
BookingStatusEnum[BookingStatusEnum["AwaitingPaymentFromProvider"] = 9] = "AwaitingPaymentFromProvider"
BookingStatusEnum[BookingStatusEnum["Invoiced"] = 10] = "Invoiced"
})(BookingStatusEnum || (BookingStatusEnum = {}));
export class BookingStatusQueryResponse {
/** @param {{Id?:number,Name?:string,Description?:string,Icon?:string,Color?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Icon;
/** @type {string} */
Color;
}
export class CustomFieldValueResponse {
/** @param {{Value?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Value;
}
export class CustomFieldConfigData {
/** @param {{Id?:number,Name?:string,Description?:string,Width?:number,DataType?:string,DefaultValue?:string,IsMandatory?:boolean,MandatoryErrorMessage?:string,MaxLength?:number,MultipleLineText?:boolean,RegEx?:string,RegExErrorMessage?:string,Values?:CustomFieldValueResponse[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description Custom field id */
Id;
/**
* @type {string}
* @description Configuration name. Example: 'Number of persons'. */
Name;
/**
* @type {string}
* @description Custom field description. Example: 'For how many persons is this booking?' */
Description;
/**
* @type {?number}
* @description Field width. Example: 20 for 20px */
Width;
/**
* @type {string}
* @description Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */
DataType;
/**
* @type {string}
* @description Default value of the field. Example: '3' */
DefaultValue;
/**
* @type {boolean}
* @description Determines if the field is required to have a value or not */
IsMandatory;
/**
* @type {string}
* @description Error message shown to the user if the field data is required but not entered */
MandatoryErrorMessage;
/**
* @type {number}
* @description Max lenght of the field */
MaxLength;
/**
* @type {boolean}
* @description If the field should have multiple lines */
MultipleLineText;
/**
* @type {string}
* @description Regular expression used for validation of the field */
RegEx;
/**
* @type {string}
* @description Error message shown if the regular expression validation failed */
RegExErrorMessage;
/**
* @type {CustomFieldValueResponse[]}
* @description The values to select from if Datatype is DropDown for this custom field */
Values;
}
export class CustomFieldDataResponse {
/** @param {{Id?:number,Column?:string,Name?:string,Description?:string,Value?:string,DataType?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
Column;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Value;
/**
* @type {string}
* @description Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */
DataType;
}
export class BookedResource {
/** @param {{Id?:number,Name?:string,Color?:string,ImageUrl?:string,Email?:string,MobilePhone?:string,AccessGroup?:string,EmailNotification?:boolean,SMSNotification?:boolean,EmailReminder?:boolean,SMSReminder?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Color;
/** @type {string} */
ImageUrl;
/** @type {string} */
Email;
/** @type {string} */
MobilePhone;
/** @type {string} */
AccessGroup;
/** @type {boolean} */
EmailNotification;
/** @type {boolean} */
SMSNotification;
/** @type {boolean} */
EmailReminder;
/** @type {boolean} */
SMSReminder;
}
export class BookedResourceType {
/** @param {{Id?:number,Name?:string,Resources?:BookedResource[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The resource type id */
Id;
/**
* @type {string}
* @description The resource type name */
Name;
/**
* @type {BookedResource[]}
* @description The resources inside resource type */
Resources;
}
export class BookedCompany {
/** @param {{Id?:string,Name?:string,LogoType?: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?:boolean,PaymentProviderId?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Id;
/** @type {string} */
Name;
/** @type {string} */
LogoType;
/** @type {string} */
Category;
/** @type {string} */
Street1;
/** @type {string} */
Street2;
/** @type {string} */
ZipCode;
/** @type {string} */
City;
/** @type {string} */
CountryId;
/** @type {string} */
Longitude;
/** @type {string} */
Latitude;
/** @type {string} */
Phone;
/** @type {string} */
Email;
/** @type {string} */
HomePage;
/** @type {string} */
SitePath;
/** @type {boolean} */
IsFavorite;
/** @type {?number} */
PaymentProviderId;
}
export class BookedCustomer {
/** @param {{Id?:string,Firstname?:string,Lastname?:string,Email?:string,Phone?:string,FacebookUserName?:string,ImageUrl?:string,CorporateIdentityNumber?:string,InvoiceAddress1?:string,InvoiceAddress2?:string,InvoiceCity?:string,InvoicePostalCode?:string,InvoiceCountryCode?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Id;
/** @type {string} */
Firstname;
/** @type {string} */
Lastname;
/** @type {string} */
Email;
/** @type {string} */
Phone;
/** @type {string} */
FacebookUserName;
/** @type {string} */
ImageUrl;
/** @type {string} */
CorporateIdentityNumber;
/** @type {string} */
InvoiceAddress1;
/** @type {string} */
InvoiceAddress2;
/** @type {string} */
InvoiceCity;
/** @type {string} */
InvoicePostalCode;
/** @type {string} */
InvoiceCountryCode;
}
export class BookedQuantity {
/** @param {{Id?:number,Quantity?:number,Price?:number,PriceBeforeRebate?:number,CurrencyId?:string,PriceSign?:string,Category?:string,VAT?:number,PriceText?:string,OccupiesSpot?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The quantity Id */
Id;
/**
* @type {number}
* @description The quantity for booked on this price category */
Quantity;
/**
* @type {?number}
* @description The price */
Price;
/**
* @type {?number}
* @description The price bofore rebate codes */
PriceBeforeRebate;
/**
* @type {string}
* @description The price currency */
CurrencyId;
/**
* @type {string}
* @description The price sign */
PriceSign;
/**
* @type {string}
* @description The price category */
Category;
/**
* @type {?number}
* @description The price VAT in percent */
VAT;
/**
* @type {string}
* @description The price text to display */
PriceText;
/**
* @type {boolean}
* @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. */
OccupiesSpot;
}
export class GroupBookingSettings {
/** @param {{Active?:boolean,Min?:number,Max?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
Active;
/** @type {number} */
Min;
/** @type {number} */
Max;
}
export class MultipleResourceSettings {
/** @param {{Active?:boolean,Min?:number,Max?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
Active;
/** @type {number} */
Min;
/** @type {number} */
Max;
}
export class ServiceInfoResponse {
/** @param {{Id?:number,Name?:string,Description?:string,ImageUrl?:string,LengthInMinutes?:number,MaxNumberOfSpotsPerBooking?:number,MinNumberOfSpotsPerBooking?:number,GroupBooking?:GroupBookingSettings,MultipleResource?:MultipleResourceSettings,IsGroupBooking?:boolean,IsPaymentEnabled?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
ImageUrl;
/** @type {?number} */
LengthInMinutes;
/** @type {number} */
MaxNumberOfSpotsPerBooking;
/** @type {number} */
MinNumberOfSpotsPerBooking;
/** @type {GroupBookingSettings} */
GroupBooking;
/** @type {MultipleResourceSettings} */
MultipleResource;
/** @type {boolean} */
IsGroupBooking;
/** @type {boolean} */
IsPaymentEnabled;
}
export class BookingLogEventTypeResponse {
/** @param {{Id?:number,Name?:string,Description?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The event type id */
Id;
/**
* @type {string}
* @description The event type name */
Name;
/**
* @type {string}
* @description The event type description */
Description;
}
export class BookingLogQueryResponse {
/** @param {{Id?:number,BookingId?:number,EventTypeId?:number,EventType?:BookingLogEventTypeResponse,Comments?:string,UserName?:string,Created?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The booking log id */
Id;
/**
* @type {number}
* @description The booking id */
BookingId;
/**
* @type {number}
* @description The type of event */
EventTypeId;
/**
* @type {BookingLogEventTypeResponse}
* @description The type of event */
EventType;
/**
* @type {string}
* @description Comments that could be added to the event log item */
Comments;
/**
* @type {string}
* @description The user created the event */
UserName;
/**
* @type {string}
* @description Then date when the event occured */
Created;
}
export class CurrencyInfoResponse {
/** @param {{Id?:string,Name?:string,CurrencySign?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The currency id */
Id;
/**
* @type {string}
* @description The currency id */
Name;
/**
* @type {string}
* @description The currency id */
CurrencySign;
}
export class BookingPaymentLogQueryResponse {
/** @param {{Id?:number,BookingId?:number,PaymentReferenceId?:string,OrderItemReferenceId?:string,PaymentProviderId?:number,Amount?:number,VAT?:number,AmountCredited?:number,CurrencyId?:string,CurrencyInfo?:CurrencyInfoResponse,Comments?:string,Created?:string,Updated?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The booking payment log id */
Id;
/**
* @type {number}
* @description The booking id */
BookingId;
/**
* @type {string}
* @description The payment reference id */
PaymentReferenceId;
/**
* @type {string}
* @description The payment order item reference id */
OrderItemReferenceId;
/**
* @type {?number}
* @description The payment reference id */
PaymentProviderId;
/**
* @type {number}
* @description The payment amount */
Amount;
/**
* @type {number}
* @description The payment VAT in percent */
VAT;
/**
* @type {number}
* @description The payment amount that is credited */
AmountCredited;
/**
* @type {string}
* @description The payment currency id */
CurrencyId;
/**
* @type {CurrencyInfoResponse}
* @description The payment currency info */
CurrencyInfo;
/**
* @type {string}
* @description Comments that could be added to the event log item */
Comments;
/**
* @type {string}
* @description The date when the payment items was created */
Created;
/**
* @type {string}
* @description The date when the payment items was update */
Updated;
}
export class BookingCheckoutQueryResponse {
/** @param {{Id?:string,BookingId?:number,PurchaseId?:number,ExpirationTime?:string,Snippet?:string,Status?:string,Message?:string,Created?:string,Updated?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The checkout id */
Id;
/**
* @type {number}
* @description The booking id */
BookingId;
/**
* @type {?number}
* @description The purchase id */
PurchaseId;
/**
* @type {?string}
* @description The payment checkout expiration datetime */
ExpirationTime;
/**
* @type {string}
* @description The payment snippet code */
Snippet;
/**
* @type {string}
* @description The payment status */
Status;
/**
* @type {string}
* @description Log message */
Message;
/**
* @type {string}
* @description When the checkout log item was created */
Created;
/**
* @type {string}
* @description When the checkout log item was updated */
Updated;
}
export class ExternalReferenceResponse {
/** @param {{CompanyId?:string,Id?:string,OwnerId?:string,ReferenceType?:string,ExternalData?:string,CreatedBy?:string,Updated?:string,Created?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {string} */
Id;
/** @type {string} */
OwnerId;
/** @type {string} */
ReferenceType;
/** @type {string} */
ExternalData;
/** @type {string} */
CreatedBy;
/** @type {string} */
Updated;
/** @type {string} */
Created;
}
export class BookingCalendarExportStatus {
/** @param {{CalendarId?:string,BookingId?:number,Synced?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CalendarId;
/** @type {number} */
BookingId;
/** @type {?boolean} */
Synced;
}
export class BookingQueryResponse {
/** @param {{Id?:number,CompanyId?:string,From?:string,To?:string,Status?:BookingStatusEnum,StatusId?:number,StatusName?:string,StatusInfo?:BookingStatusQueryResponse,SendEmailReminder?:boolean,SendSmsReminder?:boolean,SendSmsConfirmation?:boolean,SendEmailConfirmation?:boolean,LastTimeToUnBook?:string,CustomFields?:CustomFieldConfigData[],CustomFieldValues?:CustomFieldDataResponse[],BookedResourceTypes?:BookedResourceType[],Company?:BookedCompany,Customer?:BookedCustomer,Quantities?:BookedQuantity[],Service?:ServiceInfoResponse,PaymentExpiration?:string,Log?:BookingLogQueryResponse[],PaymentLog?:BookingPaymentLogQueryResponse[],CheckoutLog?:BookingCheckoutQueryResponse[],ExternalReference?:ExternalReferenceResponse[],ResponseStatus?:ResponseStatus,CalendarExportStatus?:BookingCalendarExportStatus,LengthInMinutes?:number,BookedBy?:string,BookedComments?:string,UnbookedComments?:string,CommentsToCustomer?:string,CreatedDate?:string,UpdatedDate?:string,UnbookedOn?:string,CancellationCode?:string,RatingCode?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
CompanyId;
/** @type {string} */
From;
/** @type {string} */
To;
/** @type {BookingStatusEnum} */
Status;
/** @type {number} */
StatusId;
/** @type {string} */
StatusName;
/** @type {BookingStatusQueryResponse} */
StatusInfo;
/** @type {boolean} */
SendEmailReminder;
/** @type {boolean} */
SendSmsReminder;
/** @type {boolean} */
SendSmsConfirmation;
/** @type {boolean} */
SendEmailConfirmation;
/** @type {?string} */
LastTimeToUnBook;
/** @type {CustomFieldConfigData[]} */
CustomFields;
/** @type {CustomFieldDataResponse[]} */
CustomFieldValues;
/** @type {BookedResourceType[]} */
BookedResourceTypes;
/** @type {BookedCompany} */
Company;
/** @type {BookedCustomer} */
Customer;
/** @type {BookedQuantity[]} */
Quantities;
/** @type {ServiceInfoResponse} */
Service;
/** @type {?string} */
PaymentExpiration;
/** @type {BookingLogQueryResponse[]} */
Log;
/** @type {BookingPaymentLogQueryResponse[]} */
PaymentLog;
/** @type {BookingCheckoutQueryResponse[]} */
CheckoutLog;
/** @type {ExternalReferenceResponse[]} */
ExternalReference;
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {BookingCalendarExportStatus} */
CalendarExportStatus;
/** @type {?number} */
LengthInMinutes;
/** @type {string} */
BookedBy;
/** @type {string} */
BookedComments;
/** @type {string} */
UnbookedComments;
/** @type {string} */
CommentsToCustomer;
/** @type {string} */
CreatedDate;
/** @type {string} */
UpdatedDate;
/** @type {?string} */
UnbookedOn;
/** @type {string} */
CancellationCode;
/** @type {string} */
RatingCode;
}
export class BaseModel {
constructor(init) { Object.assign(this, init) }
}
export class ServerData {
/** @param {{HTTP_HOST?:string,HTTP_CONNECTION?:string,HTTP_CACHE_CONTROL?:string,HTTP_ACCEPT?:string,HTTP_USER_AGENT?:string,HTTP_ACCEPT_ENCODING?:string,HTTP_ACCEPT_LANGUAGE?:string,PATH?:string,SERVER_SOFTWARE?:string,SERVER_NAME?:string,SERVER_ADDR?:string,SERVER_PORT?:string,REMOTE_ADDR?:string,REMOTE_PORT?:string,GATEWAY_INTERFACE?:string,SERVER_PROTOCOL?:string,REQUEST_METHOD?:string,QUERY_STRING?:string,REQUEST_TIME?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
HTTP_HOST;
/** @type {string} */
HTTP_CONNECTION;
/** @type {string} */
HTTP_CACHE_CONTROL;
/** @type {string} */
HTTP_ACCEPT;
/** @type {string} */
HTTP_USER_AGENT;
/** @type {string} */
HTTP_ACCEPT_ENCODING;
/** @type {string} */
HTTP_ACCEPT_LANGUAGE;
/** @type {string} */
PATH;
/** @type {string} */
SERVER_SOFTWARE;
/** @type {string} */
SERVER_NAME;
/** @type {string} */
SERVER_ADDR;
/** @type {string} */
SERVER_PORT;
/** @type {string} */
REMOTE_ADDR;
/** @type {string} */
REMOTE_PORT;
/** @type {string} */
GATEWAY_INTERFACE;
/** @type {string} */
SERVER_PROTOCOL;
/** @type {string} */
REQUEST_METHOD;
/** @type {string} */
QUERY_STRING;
/** @type {string} */
REQUEST_TIME;
}
export class Credentials {
/** @param {{hash?:string,id?:string,version?:string,client?:string,serverdata?:ServerData,time?:string,test?:string,language?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
hash;
/** @type {string} */
id;
/** @type {string} */
version;
/** @type {string} */
client;
/** @type {ServerData} */
serverdata;
/** @type {string} */
time;
/** @type {string} */
test;
/** @type {string} */
language;
}
export class CheckoutData {
/** @param {{terms?:string,privacyPolicy?:string,redirectOnSuccess?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
terms;
/** @type {string} */
privacyPolicy;
/** @type {string} */
redirectOnSuccess;
}
export class CheckoutPaymentData {
/** @param {{currency?:string,language?:string,country?:string,autoactivate?:string,orderid?:string,returnmethod?:string,accepturl?:string,cancelurl?:string,callbackurl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
currency;
/** @type {string} */
language;
/** @type {string} */
country;
/** @type {string} */
autoactivate;
/** @type {string} */
orderid;
/** @type {string} */
returnmethod;
/** @type {string} */
accepturl;
/** @type {string} */
cancelurl;
/** @type {string} */
callbackurl;
}
export class PaymentInfo {
/** @param {{paymentdate?:string,paymentterms?:string,yourreference?:string,ourreference?:string,projectname?:string,deliverymethod?:string,deliveryterms?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
paymentdate;
/** @type {string} */
paymentterms;
/** @type {string} */
yourreference;
/** @type {string} */
ourreference;
/** @type {string} */
projectname;
/** @type {string} */
deliverymethod;
/** @type {string} */
deliveryterms;
}
export class CartHandling {
/** @param {{withouttax?:string,taxrate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
withouttax;
/** @type {string} */
taxrate;
}
export class CartTotal {
/** @param {{rounding?:string,withouttax?:string,tax?:string,withtax?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
rounding;
/** @type {string} */
withouttax;
/** @type {string} */
tax;
/** @type {string} */
withtax;
}
export class Shipping {
/** @param {{firstname?:string,lastname?:string,company?:string,street?:string,street2?:string,zip?:string,city?:string,country?:string,phone?:string,withouttax?:string,taxrate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
firstname;
/** @type {string} */
lastname;
/** @type {string} */
company;
/** @type {string} */
street;
/** @type {string} */
street2;
/** @type {string} */
zip;
/** @type {string} */
city;
/** @type {string} */
country;
/** @type {string} */
phone;
/** @type {string} */
withouttax;
/** @type {string} */
taxrate;
}
export class Cart {
/** @param {{Handling?:CartHandling,Total?:CartTotal,Shipping?:Shipping}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {CartHandling} */
Handling;
/** @type {CartTotal} */
Total;
/** @type {Shipping} */
Shipping;
}
export class CustomerBilling {
/** @param {{firstname?:string,lastname?:string,company?:string,street?:string,street2?:string,zip?:string,city?:string,country?:string,phone?:string,email?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
firstname;
/** @type {string} */
lastname;
/** @type {string} */
company;
/** @type {string} */
street;
/** @type {string} */
street2;
/** @type {string} */
zip;
/** @type {string} */
city;
/** @type {string} */
country;
/** @type {string} */
phone;
/** @type {string} */
email;
}
export class QvicklyCustomer {
/** @param {{nr?:string,pno?:string,Billing?:CustomerBilling}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
nr;
/** @type {string} */
pno;
/** @type {CustomerBilling} */
Billing;
}
export class InitCheckoutData {
/** @param {{CheckoutData?:CheckoutData,PaymentData?:CheckoutPaymentData,PaymentInfo?:PaymentInfo,Articles?:QvicklyArticle[],Cart?:Cart,QvicklyCustomer?:QvicklyCustomer}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {CheckoutData} */
CheckoutData;
/** @type {CheckoutPaymentData} */
PaymentData;
/** @type {PaymentInfo} */
PaymentInfo;
/** @type {QvicklyArticle[]} */
Articles;
/** @type {Cart} */
Cart;
/** @type {QvicklyCustomer} */
QvicklyCustomer;
}
export class InitCheckoutRequestBody {
/** @param {{credentials?:Credentials,data?:InitCheckoutData,function?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Credentials} */
credentials;
/** @type {InitCheckoutData} */
data;
/** @type {string} */
function;
}
export class QvicklyCheckoutResponse {
/** @param {{Number?:number,Status?:string,OrderId?:string,Url?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Number;
/** @type {string} */
Status;
/** @type {string} */
OrderId;
/** @type {string} */
Url;
}
export class QvikclyPaymentData {
/** @param {{method?:string,paymentplanid?:string,currency?:string,country?:string,language?:string,autoactivate?:string,orderid?:string,status?:string,paymentid_related?:string,url?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
method;
/** @type {string} */
paymentplanid;
/** @type {string} */
currency;
/** @type {string} */
country;
/** @type {string} */
language;
/** @type {string} */
autoactivate;
/** @type {string} */
orderid;
/** @type {string} */
status;
/** @type {string} */
paymentid_related;
/** @type {string} */
url;
}
export class Card {
/** @param {{promptname?:string,recurring?:string,recurringnr?:string,accepturl?:string,cancelurl?:string,callbackurl?:string,returnmethod?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
promptname;
/** @type {string} */
recurring;
/** @type {string} */
recurringnr;
/** @type {string} */
accepturl;
/** @type {string} */
cancelurl;
/** @type {string} */
callbackurl;
/** @type {string} */
returnmethod;
}
export class Settlement {
/** @param {{number?:string,date?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
number;
/** @type {string} */
date;
}
export class QvicklyPaymentResponse {
/** @param {{PaymentData?:QvikclyPaymentData,PaymentInfo?:PaymentInfo,Card?:Card,Settlement?:Settlement,QvicklyCustomer?:QvicklyCustomer,Articles?:QvicklyArticle[],Cart?:Cart}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {QvikclyPaymentData} */
PaymentData;
/** @type {PaymentInfo} */
PaymentInfo;
/** @type {Card} */
Card;
/** @type {Settlement} */
Settlement;
/** @type {QvicklyCustomer} */
QvicklyCustomer;
/** @type {QvicklyArticle[]} */
Articles;
/** @type {Cart} */
Cart;
}
/** @typedef {'None'|'Created'|'FormsFilled'|'ReadyToPay'|'ProcessingPayment'|'ReadyToShip'|'Shipped'|'PaidToAccount'|'Canceled'|'Credited'|'Expired'|'Denied'} */
export var Payson2CheckoutStatus;
(function (Payson2CheckoutStatus) {
Payson2CheckoutStatus["None"] = "None"
Payson2CheckoutStatus["Created"] = "Created"
Payson2CheckoutStatus["FormsFilled"] = "FormsFilled"
Payson2CheckoutStatus["ReadyToPay"] = "ReadyToPay"
Payson2CheckoutStatus["ProcessingPayment"] = "ProcessingPayment"
Payson2CheckoutStatus["ReadyToShip"] = "ReadyToShip"
Payson2CheckoutStatus["Shipped"] = "Shipped"
Payson2CheckoutStatus["PaidToAccount"] = "PaidToAccount"
Payson2CheckoutStatus["Canceled"] = "Canceled"
Payson2CheckoutStatus["Credited"] = "Credited"
Payson2CheckoutStatus["Expired"] = "Expired"
Payson2CheckoutStatus["Denied"] = "Denied"
})(Payson2CheckoutStatus || (Payson2CheckoutStatus = {}));
/** @typedef {'Person'|'Business'} */
export var CustomerType;
(function (CustomerType) {
CustomerType["Person"] = "Person"
CustomerType["Business"] = "Business"
})(CustomerType || (CustomerType = {}));
export class UserAccessKeys extends BaseModel {
/** @param {{CompanyId?:string,AccessKeyTypeId?:number,Value?:string,CustomerId?:string,Description?:string,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
AccessKeyTypeId;
/** @type {string} */
Value;
/** @type {string} */
CustomerId;
/** @type {string} */
Description;
/** @type {string} */
Id;
}
export class ExternalReference extends BaseModel {
/** @param {{CompanyId?:string,Id?:string,OwnerId?:string,ReferenceType?:string,ExternalData?:string,CreatedBy?:string,Updated?:string,Created?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {string} */
Id;
/** @type {string} */
OwnerId;
/** @type {string} */
ReferenceType;
/** @type {string} */
ExternalData;
/** @type {string} */
CreatedBy;
/** @type {string} */
Updated;
/** @type {string} */
Created;
/** @type {?string} */
ModifiedDate;
}
/** @typedef {number} */
export var CompanyStatus;
(function (CompanyStatus) {
CompanyStatus[CompanyStatus["Registered"] = 1] = "Registered"
CompanyStatus[CompanyStatus["AwaitingApproval"] = 2] = "AwaitingApproval"
CompanyStatus[CompanyStatus["Approved"] = 3] = "Approved"
CompanyStatus[CompanyStatus["Inactive"] = 4] = "Inactive"
CompanyStatus[CompanyStatus["ClosedDown"] = 5] = "ClosedDown"
CompanyStatus[CompanyStatus["NotApproved"] = 6] = "NotApproved"
})(CompanyStatus || (CompanyStatus = {}));
export class CustomFieldValue extends BaseModel {
/** @param {{CompanyId?:string,Id?:number,Value?:string,Active?:boolean,SortOrder?:number,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
Value;
/** @type {boolean} */
Active;
/** @type {?number} */
SortOrder;
/** @type {?string} */
ModifiedDate;
}
export class CustomField extends BaseModel {
/** @param {{Table?:string,Column?:string,DataType?:string,Description?:string,Active?:boolean,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Table;
/** @type {string} */
Column;
/** @type {string} */
DataType;
/** @type {string} */
Description;
/** @type {boolean} */
Active;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class RegEx extends BaseModel {
/** @param {{Name?:string,Description?:string,RegExCode?:string,ErrorMessage?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
RegExCode;
/** @type {string} */
ErrorMessage;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
/** @typedef {'NotDefined'|'RecurringSchedule'|'DateSchedule'} */
export var ScheduleType;
(function (ScheduleType) {
ScheduleType["NotDefined"] = "NotDefined"
ScheduleType["RecurringSchedule"] = "RecurringSchedule"
ScheduleType["DateSchedule"] = "DateSchedule"
})(ScheduleType || (ScheduleType = {}));
export class Resource extends BaseModel {
/** @param {{Priority?:number,Schedules?:IList<ISchedule>,Exceptions?:IList<ITimeException>,Bookings?:IList<IBookedTime>,CustomFieldsConfig?:IList<CustomFieldConfig>,CustomFieldsData?:IList<CustomFieldDataResponse>,CompanyId?:string,Id?:number,Name?:string,Active?:boolean,Description?:string,ImageUrl?:string,UpdatedDate?:string,CreatedDate?:string,Color?:string,Email?:string,MobilePhone?:string,EmailNotification?:boolean,SMSNotification?:boolean,SendSMSReminder?:boolean,SendEmailReminder?:boolean,ModifiedDate?:string,AccessGroup?:string,TextField1?:string,TextField2?:string,TextField3?:string,TextField4?:string,TextField5?:string,TextField6?:string,TextField7?:string,TextField8?:string,TextField9?:string,TextField10?:string,TextField11?:string,TextField12?:string,TextField13?:string,TextField14?:string,TextField15?:string,TextField16?:string,TextField17?:string,TextField18?:string,TextField19?:string,TextField20?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
Priority;
/** @type {IList<ISchedule>} */
Schedules;
/** @type {IList<ITimeException>} */
Exceptions;
/** @type {IList<IBookedTime>} */
Bookings;
/** @type {IList<CustomFieldConfig>} */
CustomFieldsConfig;
/** @type {IList<CustomFieldDataResponse>} */
CustomFieldsData;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {boolean} */
Active;
/** @type {string} */
Description;
/** @type {string} */
ImageUrl;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {string} */
Color;
/** @type {string} */
Email;
/** @type {string} */
MobilePhone;
/** @type {?boolean} */
EmailNotification;
/** @type {?boolean} */
SMSNotification;
/** @type {boolean} */
SendSMSReminder;
/** @type {boolean} */
SendEmailReminder;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
AccessGroup;
/** @type {string} */
TextField1;
/** @type {string} */
TextField2;
/** @type {string} */
TextField3;
/** @type {string} */
TextField4;
/** @type {string} */
TextField5;
/** @type {string} */
TextField6;
/** @type {string} */
TextField7;
/** @type {string} */
TextField8;
/** @type {string} */
TextField9;
/** @type {string} */
TextField10;
/** @type {string} */
TextField11;
/** @type {string} */
TextField12;
/** @type {string} */
TextField13;
/** @type {string} */
TextField14;
/** @type {string} */
TextField15;
/** @type {string} */
TextField16;
/** @type {string} */
TextField17;
/** @type {string} */
TextField18;
/** @type {string} */
TextField19;
/** @type {string} */
TextField20;
}
export class ResourceType extends BaseModel {
/** @param {{SelectableByUser?:boolean,Resources?:Resource[],CompanyId?:string,Id?:number,Name?:string,Description?:string,Active?:boolean,UpdatedDate?:string,CreatedDate?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {boolean} */
SelectableByUser;
/** @type {Resource[]} */
Resources;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {boolean} */
Active;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {?string} */
ModifiedDate;
}
export class RebateCodeType extends BaseModel {
/** @param {{Name?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class AppliedRebateCodes {
/** @param {{RebateCodeId?:number,RebateCodeSign?:string,RebateCodeValue?:number,RebateAmount?:number,RebateCodeType?:RebateCodeType}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
RebateCodeId;
/** @type {string} */
RebateCodeSign;
/** @type {number} */
RebateCodeValue;
/** @type {number} */
RebateAmount;
/** @type {RebateCodeType} */
RebateCodeType;
}
export class TotalPriceInformation {
/** @param {{TotalPrice?:number,TotalVATAmount?:number,TotalRebate?:number,TotalPriceBeforeRebate?:number,AppliedCodes?:AppliedRebateCodes[],PriceSign?:string,CurrencyId?:string,VAT?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
TotalPrice;
/** @type {number} */
TotalVATAmount;
/** @type {number} */
TotalRebate;
/** @type {number} */
TotalPriceBeforeRebate;
/** @type {AppliedRebateCodes[]} */
AppliedCodes;
/** @type {string} */
PriceSign;
/** @type {string} */
CurrencyId;
/** @type {number} */
VAT;
}
export class Currency extends BaseModel {
/** @param {{Name?:string,CurrencySign?:string,Active?:boolean,ModifiedDate?:string,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
CurrencySign;
/** @type {boolean} */
Active;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
Id;
}
export class PriceMapping extends BaseModel {
/** @param {{CompanyId?:string,Id?:string,PriceId?:number,ReferenceType?:string,ExternalReference?:string,UpdatedDate?:string,CreatedDate?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {string} */
Id;
/** @type {number} */
PriceId;
/** @type {string} */
ReferenceType;
/** @type {string} */
ExternalReference;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {?string} */
ModifiedDate;
}
/** @typedef {number} */
export var BokaMeraDayOfWeek;
(function (BokaMeraDayOfWeek) {
BokaMeraDayOfWeek[BokaMeraDayOfWeek["Monday"] = 1] = "Monday"
BokaMeraDayOfWeek[BokaMeraDayOfWeek["Tuesday"] = 2] = "Tuesday"
BokaMeraDayOfWeek[BokaMeraDayOfWeek["Wednesday"] = 3] = "Wednesday"
BokaMeraDayOfWeek[BokaMeraDayOfWeek["Thursday"] = 4] = "Thursday"
BokaMeraDayOfWeek[BokaMeraDayOfWeek["Friday"] = 5] = "Friday"
BokaMeraDayOfWeek[BokaMeraDayOfWeek["Saturday"] = 6] = "Saturday"
BokaMeraDayOfWeek[BokaMeraDayOfWeek["Sunday"] = 7] = "Sunday"
})(BokaMeraDayOfWeek || (BokaMeraDayOfWeek = {}));
export class ServicePriceDayOfWeekRelation extends BaseModel {
/** @param {{DayOfWeek?:BokaMeraDayOfWeek,CompanyId?:string,ServicePriceId?:number,DayOfWeekId?:number,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {BokaMeraDayOfWeek} */
DayOfWeek;
/** @type {string} */
CompanyId;
/** @type {number} */
ServicePriceId;
/** @type {number} */
DayOfWeekId;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class RebateCodeStatus extends BaseModel {
/** @param {{Name?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class ArticleServiceRelation extends BaseModel {
/** @param {{CompanyId?:string,Id?:number,ServiceId?:number,ArticleId?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {number} */
ServiceId;
/** @type {number} */
ArticleId;
}
/** @typedef {number} */
export var ArticleTypeEnum;
(function (ArticleTypeEnum) {
ArticleTypeEnum[ArticleTypeEnum["ServiceArticle"] = 1] = "ServiceArticle"
ArticleTypeEnum[ArticleTypeEnum["StandAloneArticle"] = 2] = "StandAloneArticle"
ArticleTypeEnum[ArticleTypeEnum["RebateCodePunchTicketArticle"] = 3] = "RebateCodePunchTicketArticle"
ArticleTypeEnum[ArticleTypeEnum["RebateCodeGiftCardArticle"] = 4] = "RebateCodeGiftCardArticle"
ArticleTypeEnum[ArticleTypeEnum["RebateCodeValueCardArticle"] = 5] = "RebateCodeValueCardArticle"
})(ArticleTypeEnum || (ArticleTypeEnum = {}));
export class Article extends BaseModel {
/** @param {{Company?:Company,CurrencyInfo?:Currency,ArticleServiceRelations?:ArticleServiceRelation[],ServiceIds?:number[],ArticleType?:ArticleTypeEnum,ArticleTypeName?:string,CompanyId?:string,Id?:number,Name?:string,ArticleTypeId?:number,Description?:string,ImageUrl?:string,Active?:boolean,Amount?:number,Price?:number,CurrencyId?:string,UpdatedDate?:string,CreatedDate?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {Company} */
Company;
/** @type {Currency} */
CurrencyInfo;
/** @type {ArticleServiceRelation[]} */
ArticleServiceRelations;
/** @type {number[]} */
ServiceIds;
/** @type {ArticleTypeEnum} */
ArticleType;
/** @type {string} */
ArticleTypeName;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {number} */
ArticleTypeId;
/** @type {string} */
Description;
/** @type {string} */
ImageUrl;
/** @type {boolean} */
Active;
/** @type {number} */
Amount;
/** @type {number} */
Price;
/** @type {string} */
CurrencyId;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {?string} */
ModifiedDate;
}
export class RebateCodeDayOfWeekRelation extends BaseModel {
/** @param {{DayOfWeek?:BokaMeraDayOfWeek,DayOfWeekId?:number,RebateCodeId?:number,CompanyId?:string,Id?:number,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {BokaMeraDayOfWeek} */
DayOfWeek;
/** @type {number} */
DayOfWeekId;
/** @type {number} */
RebateCodeId;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {?string} */
ModifiedDate;
}
export class RebateCodeServiceRelation extends BaseModel {
/** @param {{CompanyId?:string,ServiceId?:number,RebateCodeId?:number,Id?:number,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
ServiceId;
/** @type {number} */
RebateCodeId;
/** @type {number} */
Id;
/** @type {?string} */
ModifiedDate;
}
export class RebateCodeBookingPriceRelation extends BaseModel {
/** @param {{CompanyId?:string,PriceId?:number,RebateCodeId?:number,Id?:number,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
PriceId;
/** @type {number} */
RebateCodeId;
/** @type {number} */
Id;
/** @type {?string} */
ModifiedDate;
}
export class RebateCodeCustomerRelation extends BaseModel {
/** @param {{CompanyId?:string,CustomerId?:string,RebateCodeId?:number,Id?:number,ModifiedDate?:string,RebateCodeEmailSentToCustomer?:boolean,MessageToReceiver?:string,Buyer?:boolean}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {string} */
CustomerId;
/** @type {number} */
RebateCodeId;
/** @type {number} */
Id;
/** @type {?string} */
ModifiedDate;
/** @type {boolean} */
RebateCodeEmailSentToCustomer;
/** @type {string} */
MessageToReceiver;
/** @type {boolean} */
Buyer;
}
export class DaysOfWeek extends BaseModel {
/** @param {{DayOfWeek?:string,DayOfWeekTranslation?:string,DayOfWeekActive?:boolean,DayOfWeekSortOrder?:number,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
DayOfWeek;
/** @type {string} */
DayOfWeekTranslation;
/** @type {?boolean} */
DayOfWeekActive;
/** @type {?number} */
DayOfWeekSortOrder;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class RebateCodeTransaction extends BaseModel {
/** @param {{Booking?:Booking,RebateCode?:RebateCode,Customer?:Customer,Id?:number,CompanyId?:string,Note?:string,RebateCodeId?:number,Amount?:number,Usage?:number,BookingId?:number,UpdatedDate?:string,CreatedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {Booking} */
Booking;
/** @type {RebateCode} */
RebateCode;
/** @type {Customer} */
Customer;
/** @type {number} */
Id;
/** @type {string} */
CompanyId;
/** @type {string} */
Note;
/** @type {number} */
RebateCodeId;
/** @type {number} */
Amount;
/** @type {number} */
Usage;
/** @type {?number} */
BookingId;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
}
export class RebateCode extends PayableEntity {
/** @param {{RebateCodeTypeId?:number,RebateCodeTypeInfo?:RebateCodeType,RebateCodeStatusId?:number,RebateCodeStatusInfo?:RebateCodeStatus,Article?:Article,Services?:Service[],RebateCodeDayOfWeekRelation?:RebateCodeDayOfWeekRelation[],RebateCodeServiceRelation?:RebateCodeServiceRelation[],RebateCodeBookingPriceRelation?:RebateCodeBookingPriceRelation[],RebateCodeCustomerRelation?:RebateCodeCustomerRelation[],ServicesNames?:string,DaysOfWeek?:DaysOfWeek[],RebateCodeStatus?:RebateCodeStatus,RebateCodeType?:RebateCodeType,Transactions?:RebateCodeTransaction[],RemainingAmount?:number,RemainingUsage?:number,CurrentNumberOfUsesPerCustomer?:number,IsSpecificByDayOfWeek?:boolean,Active?:boolean,ActiveByStatus?:boolean,RebateCodeCurrencySign?:string,CurrencyInfo?:Currency,PaymentReceived?:boolean,InternalReferenceId?:string,ValidFrom?:string,ValidTo?:string,RebateCodeSign?:string,RebateCodeValue?:number,MaxNumberOfUses?:number,MaxNumberOfUsesPerCustomer?:number,NumberOfUsesUsed?:number,PersonalNote?:string,CreatedBy?:string,Created?:string,UpdatedBy?:string,UpdatedDate?:string,FromTime?:string,ToTime?:string,ModifiedDate?:string,Id?:number,ArticleId?:number,DbFactory?:IDbConnectionFactory,QvicklyPaymentManager?:IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse>,Payson2PaymentManager?:IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse>,PaysonPaymentCheckout1?:IPaysonPaymentCheckout1,Logger?:ILogger<PayableEntity>,InternalReferenceId?:string,PaymentLog?:PaymentLog[],CompanyId?:string,PriceVat?:number,CurrencyId?:string,Customer?:Customer,Customers?:Customer[],Company?:Company}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
RebateCodeTypeId;
/** @type {RebateCodeType} */
RebateCodeTypeInfo;
/** @type {number} */
RebateCodeStatusId;
/** @type {RebateCodeStatus} */
RebateCodeStatusInfo;
/** @type {Article} */
Article;
/** @type {Service[]} */
Services;
/** @type {RebateCodeDayOfWeekRelation[]} */
RebateCodeDayOfWeekRelation;
/** @type {RebateCodeServiceRelation[]} */
RebateCodeServiceRelation;
/** @type {RebateCodeBookingPriceRelation[]} */
RebateCodeBookingPriceRelation;
/** @type {RebateCodeCustomerRelation[]} */
RebateCodeCustomerRelation;
/** @type {string} */
ServicesNames;
/** @type {DaysOfWeek[]} */
DaysOfWeek;
/** @type {RebateCodeStatus} */
RebateCodeStatus;
/** @type {RebateCodeType} */
RebateCodeType;
/** @type {RebateCodeTransaction[]} */
Transactions;
/** @type {?number} */
RemainingAmount;
/** @type {?number} */
RemainingUsage;
/** @type {number} */
CurrentNumberOfUsesPerCustomer;
/** @type {boolean} */
IsSpecificByDayOfWeek;
/** @type {boolean} */
Active;
/** @type {boolean} */
ActiveByStatus;
/** @type {string} */
RebateCodeCurrencySign;
/** @type {Currency} */
CurrencyInfo;
/** @type {boolean} */
PaymentReceived;
/** @type {string} */
InternalReferenceId;
/** @type {string} */
ValidFrom;
/** @type {string} */
ValidTo;
/** @type {string} */
RebateCodeSign;
/** @type {number} */
RebateCodeValue;
/** @type {number} */
MaxNumberOfUses;
/** @type {number} */
MaxNumberOfUsesPerCustomer;
/** @type {number} */
NumberOfUsesUsed;
/** @type {string} */
PersonalNote;
/** @type {string} */
CreatedBy;
/** @type {string} */
Created;
/** @type {string} */
UpdatedBy;
/** @type {string} */
UpdatedDate;
/** @type {string} */
FromTime;
/** @type {string} */
ToTime;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
/** @type {?number} */
ArticleId;
}
export class ServicePrice extends BaseModel {
/** @param {{CurrencyId?:string,CurrencyInfo?:Currency,Service?:Service,PriceMappings?:PriceMapping[],isTimeSpecific?:boolean,isDaysOfWeekSpecific?:boolean,DayOfWeeks?:ServicePriceDayOfWeekRelation[],PriceBeforeRebate?:number,RebateCodesApplied?:RebateCode[],PriceText?:string,OverlappingPrices?:ServicePrice[],CompanyId?:string,Id?:number,ServiceId?:number,Price?:number,Updated?:string,Created?:string,FromTime?:string,ToTime?:string,VAT?:number,Category?:string,ModifiedDate?:string,From?:string,To?:string,CalculationTypeId?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CurrencyId;
/** @type {Currency} */
CurrencyInfo;
/** @type {Service} */
Service;
/** @type {PriceMapping[]} */
PriceMappings;
/** @type {boolean} */
isTimeSpecific;
/** @type {boolean} */
isDaysOfWeekSpecific;
/** @type {ServicePriceDayOfWeekRelation[]} */
DayOfWeeks;
/** @type {?number} */
PriceBeforeRebate;
/** @type {RebateCode[]} */
RebateCodesApplied;
/** @type {string} */
PriceText;
/** @type {ServicePrice[]} */
OverlappingPrices;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {number} */
ServiceId;
/** @type {?number} */
Price;
/** @type {string} */
Updated;
/** @type {string} */
Created;
/** @type {string} */
FromTime;
/** @type {string} */
ToTime;
/** @type {number} */
VAT;
/** @type {string} */
Category;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
From;
/** @type {string} */
To;
/** @type {number} */
CalculationTypeId;
}
export class BookingStatusOptions {
/** @param {{Id?:number,Name?:string,Description?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Description;
}
export class ScheduleView extends BaseModel {
/** @param {{Name?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class WeekNumberSetting extends BaseModel {
/** @param {{Name?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class BookingTemplate extends BaseModel {
/** @param {{Name?:string,Description?:string,UsedByApplication?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
UsedByApplication;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class CalendarType extends BaseModel {
/** @param {{Name?:string,Description?:string,Active?:boolean,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {boolean} */
Active;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class FreeSpotTexts extends BaseModel {
/** @param {{TextSingular?:string,TextPlural?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
TextSingular;
/** @type {string} */
TextPlural;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class BookingSettings extends BaseModel {
/** @param {{FreeSpotTextsId?:number,SendEmailConfirmation?:boolean,ScheduleViewOptions?:ScheduleView[],WeekNumberSettingOptions?:WeekNumberSetting[],BookingTemplateOptions?:BookingTemplate[],CalendarTypeOptions?:CalendarType[],FreeSpotTextOptions?:FreeSpotTexts[],BookingStatusOptions?:BookingStatusOptions[],FreeSpotTextsInfo?:FreeSpotTexts,FreeSpotsTextSingular?:string,FreeSpotsTextPlural?:string,BookingStatusId?:number,ScheduleViewId?:number,BookingTemplateId?:number,CalendarTypeId?:number,AllowBookingOnUnbookedTimes?:boolean,SendEmailReminder?:boolean,SendSmsReminder?:boolean,SendSmsConfirmation?:boolean,EmailReminderTime?:number,SmsReminderTime?:number,MaxActiveBookings?:number,SendNotifications?:boolean,SendNotificationsEmail?:string,EnableMobileApp?:boolean,ScheduleStartTime?:string,ScheduleEndTime?:string,ReceiptTemplate?:string,ScheduleTimeSlotMinutes?:number,ShowFreeTimesLeft?:boolean,EnableICalGroupBookings?:boolean,AgreementTemplate?:string,ScheduleShowTimeExeptions?:boolean,EnableBookingsOnSameTime?:boolean,ShowWeekNumberSettingId?:number,EnableShowBookedTimes?:boolean,EnableSendFollowUpMessage?:boolean,FollowUpMessageTime?:number,MessageText?:string,ScheduleGroupResources?:boolean,BookSpotUserResponseMinutes?:number,IsBookSpotDirectly?:boolean,BookSpotDirectlyTimeLeftMinutes?:number,SendEmailNotificationQueue?:boolean,SendSMSNotificationQueue?:boolean,SchedulerDisableHorizontalScrolling?:boolean,BookOnlyOnExistingCustomers?:boolean,AutoGenerateUniquePinCode?:boolean,WeightedPrices?:boolean,ModifiedDate?:string,AutoCreateUserProfile?:boolean,ShowMultipleResourcesAsOne?:boolean,ShowMultiDayAsTime?:boolean,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
FreeSpotTextsId;
/** @type {boolean} */
SendEmailConfirmation;
/** @type {ScheduleView[]} */
ScheduleViewOptions;
/** @type {WeekNumberSetting[]} */
WeekNumberSettingOptions;
/** @type {BookingTemplate[]} */
BookingTemplateOptions;
/** @type {CalendarType[]} */
CalendarTypeOptions;
/** @type {FreeSpotTexts[]} */
FreeSpotTextOptions;
/** @type {BookingStatusOptions[]} */
BookingStatusOptions;
/** @type {FreeSpotTexts} */
FreeSpotTextsInfo;
/** @type {string} */
FreeSpotsTextSingular;
/** @type {string} */
FreeSpotsTextPlural;
/** @type {number} */
BookingStatusId;
/** @type {number} */
ScheduleViewId;
/** @type {number} */
BookingTemplateId;
/** @type {number} */
CalendarTypeId;
/** @type {boolean} */
AllowBookingOnUnbookedTimes;
/** @type {boolean} */
SendEmailReminder;
/** @type {boolean} */
SendSmsReminder;
/** @type {boolean} */
SendSmsConfirmation;
/** @type {number} */
EmailReminderTime;
/** @type {number} */
SmsReminderTime;
/** @type {number} */
MaxActiveBookings;
/** @type {boolean} */
SendNotifications;
/** @type {string} */
SendNotificationsEmail;
/** @type {boolean} */
EnableMobileApp;
/** @type {?string} */
ScheduleStartTime;
/** @type {?string} */
ScheduleEndTime;
/** @type {string} */
ReceiptTemplate;
/** @type {number} */
ScheduleTimeSlotMinutes;
/** @type {boolean} */
ShowFreeTimesLeft;
/** @type {boolean} */
EnableICalGroupBookings;
/** @type {string} */
AgreementTemplate;
/** @type {boolean} */
ScheduleShowTimeExeptions;
/** @type {boolean} */
EnableBookingsOnSameTime;
/** @type {number} */
ShowWeekNumberSettingId;
/** @type {boolean} */
EnableShowBookedTimes;
/** @type {boolean} */
EnableSendFollowUpMessage;
/** @type {number} */
FollowUpMessageTime;
/** @type {string} */
MessageText;
/** @type {boolean} */
ScheduleGroupResources;
/** @type {number} */
BookSpotUserResponseMinutes;
/** @type {boolean} */
IsBookSpotDirectly;
/** @type {number} */
BookSpotDirectlyTimeLeftMinutes;
/** @type {boolean} */
SendEmailNotificationQueue;
/** @type {boolean} */
SendSMSNotificationQueue;
/** @type {boolean} */
SchedulerDisableHorizontalScrolling;
/** @type {boolean} */
BookOnlyOnExistingCustomers;
/** @type {boolean} */
AutoGenerateUniquePinCode;
/** @type {boolean} */
WeightedPrices;
/** @type {?string} */
ModifiedDate;
/** @type {boolean} */
AutoCreateUserProfile;
/** @type {boolean} */
ShowMultipleResourcesAsOne;
/** @type {boolean} */
ShowMultiDayAsTime;
/** @type {string} */
Id;
}
export class AdminPaymentOptions extends BaseModel {
/** @param {{Name?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class PaymentProviders extends BaseModel {
/** @param {{Name?:string,Description?:string,Category?:string,Url?:string,Active?:boolean,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Category;
/** @type {string} */
Url;
/** @type {boolean} */
Active;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class PaymentSetting extends BaseModel {
/** @param {{AdminPaymentOption?:AdminPaymentOptions,AdminPaymentOptions?:AdminPaymentOptions[],PaymentProviderOptions?:PaymentProviders[],Enabled?:boolean,InvoiceFee?:number,AllowCreditCardPayment?:boolean,AllowInvoicePayment?:boolean,AllowBankPayment?:boolean,GuaranteeOffered?:boolean,RefundOnCancelBooking?:boolean,DefaultPaymentOptionId?:number,PaymentProviderId?:number,SendPaymentRequestDirectly?:boolean,ModifiedDate?:string,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {AdminPaymentOptions} */
AdminPaymentOption;
/** @type {AdminPaymentOptions[]} */
AdminPaymentOptions;
/** @type {PaymentProviders[]} */
PaymentProviderOptions;
/** @type {boolean} */
Enabled;
/** @type {number} */
InvoiceFee;
/** @type {boolean} */
AllowCreditCardPayment;
/** @type {boolean} */
AllowInvoicePayment;
/** @type {boolean} */
AllowBankPayment;
/** @type {boolean} */
GuaranteeOffered;
/** @type {boolean} */
RefundOnCancelBooking;
/** @type {?number} */
DefaultPaymentOptionId;
/** @type {number} */
PaymentProviderId;
/** @type {boolean} */
SendPaymentRequestDirectly;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
Id;
}
export class AverageRatingScore {
/** @param {{AverageScore?:number,Score1Count?:number,Score2Count?:number,Score3Count?:number,Score4Count?:number,Score5Count?:number,Count?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
AverageScore;
/** @type {number} */
Score1Count;
/** @type {number} */
Score2Count;
/** @type {number} */
Score3Count;
/** @type {number} */
Score4Count;
/** @type {number} */
Score5Count;
/** @type {number} */
Count;
}
export class Review extends BaseModel {
/** @param {{ReviewId?:string,CompanyId?:string,Title?:string,Description?:string,Author?:string,Status?:number,Created?:string,Updated?:string,ModifiedDate?:string,ReviewAnswer?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
ReviewId;
/** @type {string} */
CompanyId;
/** @type {string} */
Title;
/** @type {string} */
Description;
/** @type {string} */
Author;
/** @type {number} */
Status;
/** @type {string} */
Created;
/** @type {string} */
Updated;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
ReviewAnswer;
}
export class Rating extends BaseModel {
/** @param {{ReviewId?:string,Review?:Review,CompanyId?:string,BookingId?:number,RatingScore?:number,Status?:number,Created?:string,Updated?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {?string} */
ReviewId;
/** @type {Review} */
Review;
/** @type {string} */
CompanyId;
/** @type {number} */
BookingId;
/** @type {number} */
RatingScore;
/** @type {number} */
Status;
/** @type {string} */
Created;
/** @type {string} */
Updated;
/** @type {?string} */
ModifiedDate;
}
export class Service extends BaseModel {
/** @param {{ResourceTypes?:ResourceType[],Resources?:Resource[],TotalPrice?:TotalPriceInformation,Prices?:ServicePrice[],BookingStatusOptions?:BookingStatusOptions[],IsGroupBooking?:boolean,IsMultipleResource?:boolean,Settings?:BookingSettings,PaymentSetting?:PaymentSetting,BookingCustomFieldsConfig?:IList<CustomFieldConfig>,CustomerCustomFieldsConfig?:IList<CustomFieldConfig>,CustomFieldsConfig?:IList<CustomFieldConfig>,CustomFieldsData?:IList<CustomFieldDataResponse>,Schedules?:IList<ISchedule>,CustomerActiveBookings?:IList<Booking>,ScheduleType?:ScheduleType,LastTimeToUnbookThreshold?:string,LastTimeToBookThreshold?:string,RatingScore?:AverageRatingScore,Ratings?:Rating[],CompanyId?:string,Id?:number,Name?:string,Description?:string,Group?:string,Active?:boolean,SortOrder?:number,PauseAfterBooking?:number,UnbookBeforeDays?:number,UnbookBeforeHours?:number,UnbookBeforeMinutes?:number,BookBeforeDays?:number,BookBeforeHours?:number,BookBeforeMinutes?:number,Duration?:number,DurationTypeId?:number,MinDuration?:number,MaxDuration?:number,DurationInterval?:number,TotalSpots?:number,ImageUrl?:string,ScheduleTypeId?:number,UpdatedDate?:string,CreatedDate?:string,OnlyVisibleByAdmin?:boolean,MinNumberOfSpotsPerBooking?:number,MaxNumberOfSpotsPerBooking?:number,MinNumberOfResourcesToBook?:number,MaxNumberOfResourcesToBook?:number,IsPaymentEnabled?:boolean,MaxPaymentTime?:number,LockSpotsToBooking?:boolean,EnableBookingQueue?:boolean,ModifiedDate?:string,BookingStatusId?:number,EnableCodeLockSync?:boolean,EnableCustomerManualPayment?:boolean,PriceViewTypeId?:number,TextField1?:string,TextField2?:string,TextField3?:string,TextField4?:string,TextField5?:string,TextField6?:string,TextField7?:string,TextField8?:string,TextField9?:string,TextField10?:string,TextField11?:string,TextField12?:string,TextField13?:string,TextField14?:string,TextField15?:string,TextField16?:string,TextField17?:string,TextField18?:string,TextField19?:string,TextField20?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {ResourceType[]} */
ResourceTypes;
/** @type {Resource[]} */
Resources;
/** @type {TotalPriceInformation} */
TotalPrice;
/** @type {ServicePrice[]} */
Prices;
/** @type {BookingStatusOptions[]} */
BookingStatusOptions;
/** @type {boolean} */
IsGroupBooking;
/** @type {boolean} */
IsMultipleResource;
/** @type {BookingSettings} */
Settings;
/** @type {PaymentSetting} */
PaymentSetting;
/** @type {IList<CustomFieldConfig>} */
BookingCustomFieldsConfig;
/** @type {IList<CustomFieldConfig>} */
CustomerCustomFieldsConfig;
/** @type {IList<CustomFieldConfig>} */
CustomFieldsConfig;
/** @type {IList<CustomFieldDataResponse>} */
CustomFieldsData;
/** @type {IList<ISchedule>} */
Schedules;
/** @type {IList<Booking>} */
CustomerActiveBookings;
/** @type {ScheduleType} */
ScheduleType;
/** @type {string} */
LastTimeToUnbookThreshold;
/** @type {string} */
LastTimeToBookThreshold;
/** @type {AverageRatingScore} */
RatingScore;
/** @type {Rating[]} */
Ratings;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Group;
/** @type {boolean} */
Active;
/** @type {number} */
SortOrder;
/** @type {number} */
PauseAfterBooking;
/** @type {number} */
UnbookBeforeDays;
/** @type {number} */
UnbookBeforeHours;
/** @type {number} */
UnbookBeforeMinutes;
/** @type {number} */
BookBeforeDays;
/** @type {number} */
BookBeforeHours;
/** @type {number} */
BookBeforeMinutes;
/** @type {?number} */
Duration;
/** @type {number} */
DurationTypeId;
/** @type {?number} */
MinDuration;
/** @type {?number} */
MaxDuration;
/** @type {?number} */
DurationInterval;
/** @type {?number} */
TotalSpots;
/** @type {string} */
ImageUrl;
/** @type {number} */
ScheduleTypeId;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {boolean} */
OnlyVisibleByAdmin;
/** @type {number} */
MinNumberOfSpotsPerBooking;
/** @type {number} */
MaxNumberOfSpotsPerBooking;
/** @type {number} */
MinNumberOfResourcesToBook;
/** @type {number} */
MaxNumberOfResourcesToBook;
/** @type {boolean} */
IsPaymentEnabled;
/** @type {number} */
MaxPaymentTime;
/** @type {boolean} */
LockSpotsToBooking;
/** @type {boolean} */
EnableBookingQueue;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
BookingStatusId;
/** @type {boolean} */
EnableCodeLockSync;
/** @type {boolean} */
EnableCustomerManualPayment;
/** @type {?number} */
PriceViewTypeId;
/** @type {string} */
TextField1;
/** @type {string} */
TextField2;
/** @type {string} */
TextField3;
/** @type {string} */
TextField4;
/** @type {string} */
TextField5;
/** @type {string} */
TextField6;
/** @type {string} */
TextField7;
/** @type {string} */
TextField8;
/** @type {string} */
TextField9;
/** @type {string} */
TextField10;
/** @type {string} */
TextField11;
/** @type {string} */
TextField12;
/** @type {string} */
TextField13;
/** @type {string} */
TextField14;
/** @type {string} */
TextField15;
/** @type {string} */
TextField16;
/** @type {string} */
TextField17;
/** @type {string} */
TextField18;
/** @type {string} */
TextField19;
/** @type {string} */
TextField20;
}
export class CustomFieldServiceRelation extends BaseModel {
/** @param {{CompanyId?:string,Id?:number,CustomFieldConfigId?:number,ServiceId?:number,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {number} */
CustomFieldConfigId;
/** @type {number} */
ServiceId;
/** @type {?string} */
ModifiedDate;
}
export class CustomFieldConfig extends BaseModel {
/** @param {{Values?:CustomFieldValue[],CustomField?:CustomField,RegEx?:RegEx,Services?:Service[],CustomFieldServiceRelation?:CustomFieldServiceRelation[],CompanyId?:string,Id?:number,GroupId?:number,FieldId?:number,IconId?:number,RegExId?:number,Name?:string,Description?:string,Datatype?:string,MaxLength?:number,IsPublic?:boolean,IsHidden?:boolean,IsMandatory?:boolean,DefaultValue?:string,RegExErrorMessage?:string,MandatoryErrorMessage?:string,Width?:number,MultipleLineText?:boolean,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {CustomFieldValue[]} */
Values;
/** @type {CustomField} */
CustomField;
/** @type {RegEx} */
RegEx;
/** @type {Service[]} */
Services;
/** @type {CustomFieldServiceRelation[]} */
CustomFieldServiceRelation;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {?number} */
GroupId;
/** @type {number} */
FieldId;
/** @type {number} */
IconId;
/** @type {?number} */
RegExId;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Datatype;
/** @type {number} */
MaxLength;
/** @type {boolean} */
IsPublic;
/** @type {boolean} */
IsHidden;
/** @type {boolean} */
IsMandatory;
/** @type {string} */
DefaultValue;
/** @type {string} */
RegExErrorMessage;
/** @type {string} */
MandatoryErrorMessage;
/** @type {?number} */
Width;
/** @type {boolean} */
MultipleLineText;
/** @type {?string} */
ModifiedDate;
}
export class CompanyType extends BaseModel {
/** @param {{Name?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class CodeLockSystem extends BaseModel {
/** @param {{Name?:string,Supplier?:string,LogoType?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Supplier;
/** @type {string} */
LogoType;
/** @type {string} */
Description;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class CodeLockSetting extends BaseModel {
/** @param {{CodeLockSystemOptions?:CodeLockSystem[],Active?:boolean,CodeLockSystemsId?:number,ValidBeforeMinutes?:number,ValidAfterMinutes?:number,DeleteOldBySchedule?:boolean,Created?:string,Updated?:string,ModifiedDate?:string,SendEmailNotification?:boolean,SendSMSNotification?:boolean,EmailNotificationTime?:number,SMSNotificationTime?:number,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {CodeLockSystem[]} */
CodeLockSystemOptions;
/** @type {boolean} */
Active;
/** @type {number} */
CodeLockSystemsId;
/** @type {number} */
ValidBeforeMinutes;
/** @type {number} */
ValidAfterMinutes;
/** @type {boolean} */
DeleteOldBySchedule;
/** @type {string} */
Created;
/** @type {string} */
Updated;
/** @type {?string} */
ModifiedDate;
/** @type {boolean} */
SendEmailNotification;
/** @type {boolean} */
SendSMSNotification;
/** @type {number} */
EmailNotificationTime;
/** @type {number} */
SMSNotificationTime;
/** @type {string} */
Id;
}
export class LanguageResponse {
/** @param {{Id?:string,Name?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Id;
/** @type {string} */
Name;
}
export class CompanySetting extends BaseModel {
/** @param {{Languages?:LanguageResponse[],Active?:boolean,InactiveMessage?:string,Searchable?:boolean,GATrackingId?:string,FacebookPixelId?:string,MultiLanguage?:boolean,EnableAPITranslation?:boolean,DefaultLanguage?:string,ModifiedDate?:string,GTMTrackingId?:string,ShowOnMarketPlace?:boolean,GoogleAdsConversionId?:string,LinkedinTagId?:string,GoogleAdsConversionLabel?:string,SendCustomerInformationToExternalProviders?:boolean,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {LanguageResponse[]} */
Languages;
/** @type {boolean} */
Active;
/** @type {string} */
InactiveMessage;
/** @type {boolean} */
Searchable;
/** @type {string} */
GATrackingId;
/** @type {string} */
FacebookPixelId;
/** @type {boolean} */
MultiLanguage;
/** @type {boolean} */
EnableAPITranslation;
/** @type {string} */
DefaultLanguage;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
GTMTrackingId;
/** @type {boolean} */
ShowOnMarketPlace;
/** @type {string} */
GoogleAdsConversionId;
/** @type {string} */
LinkedinTagId;
/** @type {string} */
GoogleAdsConversionLabel;
/** @type {boolean} */
SendCustomerInformationToExternalProviders;
/** @type {string} */
Id;
}
export class WidgetServiceLayouts extends BaseModel {
/** @param {{Name?:string,Description?:string,Code?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Code;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class WidgetTimeLayouts extends BaseModel {
/** @param {{Name?:string,Description?:string,Code?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Code;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class WidgetBookingLayouts extends BaseModel {
/** @param {{Name?:string,Description?:string,Code?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Code;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class WidgetBookingMethods extends BaseModel {
/** @param {{Name?:string,Description?:string,Code?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Code;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class HomepageWidgetSetting extends BaseModel {
/** @param {{WidgetServiceLayoutOptions?:WidgetServiceLayouts[],WidgetTimeLayoutOptions?:WidgetTimeLayouts[],WidgetBookingLayoutOptions?:WidgetBookingLayouts[],WidgetBookingMethodOptions?:WidgetBookingMethods[],ServiceLayoutId?:number,TimeLayoutId?:number,BookingLayoutId?:number,PrimaryColor?:string,ShowServiceImage?:boolean,ShowNextAvailableTime?:boolean,ShowEndTime?:boolean,BookedTimeSlotText?:string,DarkTheme?:boolean,ShowRebateCodeField?:boolean,ModifiedDate?:string,EnableCreateAccount?:boolean,EnableLogin?:boolean,EnableDirectBooking?:boolean,EnableFacebookLogin?:boolean,ShowSubscribeToNewsletter?:boolean,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {WidgetServiceLayouts[]} */
WidgetServiceLayoutOptions;
/** @type {WidgetTimeLayouts[]} */
WidgetTimeLayoutOptions;
/** @type {WidgetBookingLayouts[]} */
WidgetBookingLayoutOptions;
/** @type {WidgetBookingMethods[]} */
WidgetBookingMethodOptions;
/** @type {number} */
ServiceLayoutId;
/** @type {number} */
TimeLayoutId;
/** @type {number} */
BookingLayoutId;
/** @type {string} */
PrimaryColor;
/** @type {boolean} */
ShowServiceImage;
/** @type {boolean} */
ShowNextAvailableTime;
/** @type {boolean} */
ShowEndTime;
/** @type {string} */
BookedTimeSlotText;
/** @type {boolean} */
DarkTheme;
/** @type {boolean} */
ShowRebateCodeField;
/** @type {?string} */
ModifiedDate;
/** @type {boolean} */
EnableCreateAccount;
/** @type {boolean} */
EnableLogin;
/** @type {boolean} */
EnableDirectBooking;
/** @type {boolean} */
EnableFacebookLogin;
/** @type {boolean} */
ShowSubscribeToNewsletter;
/** @type {string} */
Id;
}
export class HomepageTemplate extends BaseModel {
/** @param {{Name?:string,Description?:string,ImageUrl?:string,Premium?:boolean,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
ImageUrl;
/** @type {boolean} */
Premium;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class HeroSectionStyle extends BaseModel {
/** @param {{Name?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class HomepageSetting extends BaseModel {
/** @param {{HomepageTemplateOptions?:HomepageTemplate[],HomepageHeroSectionStyleOptions?:HeroSectionStyle[],CompanyId?:string,WelcomePageHeading?:string,WelcomePageBody?:string,AboutUsPageHeading?:string,AboutUsPageBody?:string,HomePageTemplateId?:number,ImageUrl?:string,Updated?:string,Created?:string,HomepageHeading?:string,HeroSectionStyleId?:number,ModifiedDate?:string,ShowRating?:boolean,EnableHomepage?:boolean,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {HomepageTemplate[]} */
HomepageTemplateOptions;
/** @type {HeroSectionStyle[]} */
HomepageHeroSectionStyleOptions;
/** @type {?string} */
CompanyId;
/** @type {string} */
WelcomePageHeading;
/** @type {string} */
WelcomePageBody;
/** @type {string} */
AboutUsPageHeading;
/** @type {string} */
AboutUsPageBody;
/** @type {number} */
HomePageTemplateId;
/** @type {string} */
ImageUrl;
/** @type {string} */
Updated;
/** @type {string} */
Created;
/** @type {string} */
HomepageHeading;
/** @type {number} */
HeroSectionStyleId;
/** @type {?string} */
ModifiedDate;
/** @type {boolean} */
ShowRating;
/** @type {boolean} */
EnableHomepage;
/** @type {string} */
Id;
}
export class LicenseTypeItem extends BaseModel {
/** @param {{Name?:string,LicenseType?:LicenseType,LicenseTypesId?:number,LicenseItemsId?:number,NumberOfItems?:number,Id?:number,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {LicenseType} */
LicenseType;
/** @type {number} */
LicenseTypesId;
/** @type {number} */
LicenseItemsId;
/** @type {number} */
NumberOfItems;
/** @type {number} */
Id;
/** @type {?string} */
ModifiedDate;
}
export class Country extends BaseModel {
/** @param {{CurrencyId?:string,CurrencyInfo?:Currency,Name?:string,Culture?:string,TimeZone?:string,ModifiedDate?:string,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CurrencyId;
/** @type {Currency} */
CurrencyInfo;
/** @type {string} */
Name;
/** @type {string} */
Culture;
/** @type {string} */
TimeZone;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
Id;
}
export class LicensePrice extends BaseModel {
/** @param {{Country?:Country,MonthlyPayment?:boolean,LicenseTypeId?:number,CountryId?:string,Price?:number,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {Country} */
Country;
/** @type {boolean} */
MonthlyPayment;
/** @type {number} */
LicenseTypeId;
/** @type {string} */
CountryId;
/** @type {number} */
Price;
/** @type {?string} */
ModifiedDate;
}
export class LicenseType extends BaseModel {
/** @param {{LicenseItems?:IList<LicenseTypeItem>,Prices?:IList<LicensePrice>,PeriodOfNoticeDays?:number,NextLicenseOption?:LicenseType,Name?:string,Description?:string,ExtraLicenseOption?:boolean,ModifiedDate?:string,Active?:boolean,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {IList<LicenseTypeItem>} */
LicenseItems;
/** @type {IList<LicensePrice>} */
Prices;
/** @type {number} */
PeriodOfNoticeDays;
/** @type {LicenseType} */
NextLicenseOption;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {boolean} */
ExtraLicenseOption;
/** @type {?string} */
ModifiedDate;
/** @type {boolean} */
Active;
/** @type {number} */
Id;
}
export class License extends BaseModel {
/** @param {{Type?:LicenseType,CompanyId?:string,Id?:number,TypeId?:number,ValidFrom?:string,ValidTo?:string,Active?:boolean,Updated?:string,Created?:string,ModifiedDate?:string,MetaData?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {LicenseType} */
Type;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {number} */
TypeId;
/** @type {string} */
ValidFrom;
/** @type {string} */
ValidTo;
/** @type {boolean} */
Active;
/** @type {string} */
Updated;
/** @type {string} */
Created;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
MetaData;
}
export class CompanyCategory extends BaseModel {
/** @param {{Name?:string,Header?:string,Description?:string,ImageUrl?:string,Active?:boolean,SortOrder?:number,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Header;
/** @type {string} */
Description;
/** @type {string} */
ImageUrl;
/** @type {boolean} */
Active;
/** @type {?number} */
SortOrder;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class Company extends BaseModel {
/** @param {{Status?:CompanyStatus,Active?:boolean,CustomerCustomFieldsConfig?:IList<CustomFieldConfig>,BookingAgreements?:string,BookingSettings?:BookingSettings,CompanyType?:CompanyType,CodeLockSettings?:CodeLockSetting,PaymentSettings?:PaymentSetting,Settings?:CompanySetting,WidgetSettings?:HomepageWidgetSetting,HomepageSettings?:HomepageSetting,RatingScore?:AverageRatingScore,Ratings?:Rating[],Distance?:number,Licenses?:License[],ActiveLicenses?:License[],CurrentLicense?:License,IsFreeAccount?:boolean,DefaultLanguage?:CultureInfo,Category?:CompanyCategory,Lat?:number,Lon?:number,IsFavorite?:boolean,ExternalReferences?:IList<ExternalReference>,OrganisationNumber?:string,StatusId?:number,CategoryId?:number,SitePath?:string,Name?:string,Street1?:string,Street2?:string,ZipCode?:string,City?:string,OpeningHours?:string,FaxNumber?:string,Email?:string,Phone?:string,Details?:string,LogoType?:string,ApprovedByAdmin?:boolean,Updated?:string,Created?:string,IpAddress?:string,Homepage?:string,DomainName?:string,CountryId?:string,CompanyOwnerId?:number,TypeId?:number,ModifiedDate?:string,Id?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {CompanyStatus} */
Status;
/** @type {boolean} */
Active;
/** @type {IList<CustomFieldConfig>} */
CustomerCustomFieldsConfig;
/** @type {string} */
BookingAgreements;
/** @type {BookingSettings} */
BookingSettings;
/** @type {CompanyType} */
CompanyType;
/** @type {CodeLockSetting} */
CodeLockSettings;
/** @type {PaymentSetting} */
PaymentSettings;
/** @type {CompanySetting} */
Settings;
/** @type {HomepageWidgetSetting} */
WidgetSettings;
/** @type {HomepageSetting} */
HomepageSettings;
/** @type {AverageRatingScore} */
RatingScore;
/** @type {Rating[]} */
Ratings;
/** @type {?number} */
Distance;
/** @type {License[]} */
Licenses;
/** @type {License[]} */
ActiveLicenses;
/** @type {License} */
CurrentLicense;
/** @type {boolean} */
IsFreeAccount;
/** @type {CultureInfo} */
DefaultLanguage;
/** @type {CompanyCategory} */
Category;
/** @type {number} */
Lat;
/** @type {number} */
Lon;
/** @type {boolean} */
IsFavorite;
/** @type {IList<ExternalReference>} */
ExternalReferences;
/** @type {string} */
OrganisationNumber;
/** @type {number} */
StatusId;
/** @type {number} */
CategoryId;
/** @type {string} */
SitePath;
/** @type {string} */
Name;
/** @type {string} */
Street1;
/** @type {string} */
Street2;
/** @type {string} */
ZipCode;
/** @type {string} */
City;
/** @type {string} */
OpeningHours;
/** @type {string} */
FaxNumber;
/** @type {string} */
Email;
/** @type {string} */
Phone;
/** @type {string} */
Details;
/** @type {string} */
LogoType;
/** @type {boolean} */
ApprovedByAdmin;
/** @type {string} */
Updated;
/** @type {string} */
Created;
/** @type {string} */
IpAddress;
/** @type {string} */
Homepage;
/** @type {string} */
DomainName;
/** @type {string} */
CountryId;
/** @type {number} */
CompanyOwnerId;
/** @type {?number} */
TypeId;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
Id;
}
export class CustomerComment extends BaseModel {
/** @param {{CompanyId?:string,Id?:number,CustomerId?:string,Comments?:string,Updated?:string,Created?:string,ImageUrl?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
CustomerId;
/** @type {string} */
Comments;
/** @type {string} */
Updated;
/** @type {string} */
Created;
/** @type {string} */
ImageUrl;
/** @type {?string} */
ModifiedDate;
}
export class Customer extends BaseModel {
/** @param {{IdentityId?:number,Id?:string,CustomerId?:string,AccessKeys?:IList<UserAccessKeys>,Email?:string,ExternalReferences?:IList<ExternalReference>,Company?:Company,CustomFieldsConfig?:IList<CustomFieldConfig>,CustomFieldsData?:IList<CustomFieldDataResponse>,Comments?:IList<CustomerComment>,RebateCodes?:IList<RebateCode>,Firstname?:string,ImageUrl?:string,Active?:boolean,FacebookUsername?:string,Updated?:string,Created?:string,IpAddress?:string,ModifiedDate?:string,TextField1?:string,TextField2?:string,TextField3?:string,TextField4?:string,TextField5?:string,TextField6?:string,TextField7?:string,TextField8?:string,TextField9?:string,TextField10?:string,TextField11?:string,TextField12?:string,TextField13?:string,TextField14?:string,TextField15?:string,TextField16?:string,TextField17?:string,TextField18?:string,TextField19?:string,TextField20?:string,UserId?:string,Lastname?:string,Phone?:string,CorporateIdentityNumber?:string,InvoiceAddress1?:string,InvoiceAddress2?:string,InvoiceCity?:string,InvoicePostalCode?:string,InvoiceCountryCode?:string,CompanyId?:string,SubscribedToNewsletter?:boolean}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
IdentityId;
/** @type {string} */
Id;
/** @type {string} */
CustomerId;
/** @type {IList<UserAccessKeys>} */
AccessKeys;
/** @type {string} */
Email;
/** @type {IList<ExternalReference>} */
ExternalReferences;
/** @type {Company} */
Company;
/** @type {IList<CustomFieldConfig>} */
CustomFieldsConfig;
/** @type {IList<CustomFieldDataResponse>} */
CustomFieldsData;
/** @type {IList<CustomerComment>} */
Comments;
/** @type {IList<RebateCode>} */
RebateCodes;
/** @type {string} */
Firstname;
/** @type {string} */
ImageUrl;
/** @type {boolean} */
Active;
/** @type {string} */
FacebookUsername;
/** @type {string} */
Updated;
/** @type {string} */
Created;
/** @type {string} */
IpAddress;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
TextField1;
/** @type {string} */
TextField2;
/** @type {string} */
TextField3;
/** @type {string} */
TextField4;
/** @type {string} */
TextField5;
/** @type {string} */
TextField6;
/** @type {string} */
TextField7;
/** @type {string} */
TextField8;
/** @type {string} */
TextField9;
/** @type {string} */
TextField10;
/** @type {string} */
TextField11;
/** @type {string} */
TextField12;
/** @type {string} */
TextField13;
/** @type {string} */
TextField14;
/** @type {string} */
TextField15;
/** @type {string} */
TextField16;
/** @type {string} */
TextField17;
/** @type {string} */
TextField18;
/** @type {string} */
TextField19;
/** @type {string} */
TextField20;
/** @type {string} */
UserId;
/** @type {string} */
Lastname;
/** @type {string} */
Phone;
/** @type {string} */
CorporateIdentityNumber;
/** @type {string} */
InvoiceAddress1;
/** @type {string} */
InvoiceAddress2;
/** @type {string} */
InvoiceCity;
/** @type {string} */
InvoicePostalCode;
/** @type {string} */
InvoiceCountryCode;
/** @type {string} */
CompanyId;
/** @type {boolean} */
SubscribedToNewsletter;
}
/** @typedef {'Physical'|'Service'|'Fee'|'Discount'} */
export var ItemType;
(function (ItemType) {
ItemType["Physical"] = "Physical"
ItemType["Service"] = "Service"
ItemType["Fee"] = "Fee"
ItemType["Discount"] = "Discount"
})(ItemType || (ItemType = {}));
export class Item {
/** @param {{ItemId?:string,DiscountRate?:number,Ean?:string,ImageUri?:string,Name?:string,Quantity?:number,Reference?:string,TaxRate?:number,TotalPriceExcludingTax?:number,TotalPriceIncludingTax?:number,TotalTaxAmount?:number,CreditedAmount?:number,Type?:ItemType,UnitPrice?:number,Uri?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
ItemId;
/** @type {number} */
DiscountRate;
/** @type {string} */
Ean;
/** @type {string} */
ImageUri;
/** @type {string} */
Name;
/** @type {number} */
Quantity;
/** @type {string} */
Reference;
/** @type {number} */
TaxRate;
/** @type {number} */
TotalPriceExcludingTax;
/** @type {number} */
TotalPriceIncludingTax;
/** @type {number} */
TotalTaxAmount;
/** @type {number} */
CreditedAmount;
/** @type {ItemType} */
Type;
/** @type {number} */
UnitPrice;
/** @type {string} */
Uri;
}
export class Order {
/** @param {{Currency?:Currency,TotalFeeExcludingTax?:number,TotalFeeIncludingTax?:number,TotalPriceExcludingTax?:number,TotalPriceIncludingTax?:number,TotalTaxAmount?:number,TotalCreditedAmount?:number,Items?:IList<Item>}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Currency} */
Currency;
/** @type {number} */
TotalFeeExcludingTax;
/** @type {number} */
TotalFeeIncludingTax;
/** @type {number} */
TotalPriceExcludingTax;
/** @type {number} */
TotalPriceIncludingTax;
/** @type {number} */
TotalTaxAmount;
/** @type {number} */
TotalCreditedAmount;
/** @type {IList<Item>} */
Items;
}
export class Merchant {
/** @param {{CheckoutUri?:string,ConfirmationUri?:string,NotificationUri?:string,ValidationUri?:string,TermsUri?:string,Reference?:string,PartnerId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CheckoutUri;
/** @type {string} */
ConfirmationUri;
/** @type {string} */
NotificationUri;
/** @type {string} */
ValidationUri;
/** @type {string} */
TermsUri;
/** @type {string} */
Reference;
/** @type {string} */
PartnerId;
}
/** @typedef {'White'|'Blue'|'Gray'|'GrayTextLogos'|'BlueTextLogos'|'WhiteTextLogos'|'WhiteNoFooter'|'GrayNoFooter'|'BlueNoFooter'} */
export var ColorScheme;
(function (ColorScheme) {
ColorScheme["White"] = "White"
ColorScheme["Blue"] = "Blue"
ColorScheme["Gray"] = "Gray"
ColorScheme["GrayTextLogos"] = "GrayTextLogos"
ColorScheme["BlueTextLogos"] = "BlueTextLogos"
ColorScheme["WhiteTextLogos"] = "WhiteTextLogos"
ColorScheme["WhiteNoFooter"] = "WhiteNoFooter"
ColorScheme["GrayNoFooter"] = "GrayNoFooter"
ColorScheme["BlueNoFooter"] = "BlueNoFooter"
})(ColorScheme || (ColorScheme = {}));
export class Gui {
/** @param {{ColorScheme?:ColorScheme,Locale?:string,RequestPhone?:boolean,PhoneOptional?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ColorScheme} */
ColorScheme;
/** @type {string} */
Locale;
/** @type {boolean} */
RequestPhone;
/** @type {boolean} */
PhoneOptional;
}
export class History {
/** @param {{Created?:string,ReadyToPay?:string,ReadyToShip?:string,Shipped?:string,PaidToAccount?:string,Canceled?:string,Expired?:string,Denied?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
Created;
/** @type {?string} */
ReadyToPay;
/** @type {?string} */
ReadyToShip;
/** @type {?string} */
Shipped;
/** @type {?string} */
PaidToAccount;
/** @type {?string} */
Canceled;
/** @type {?string} */
Expired;
/** @type {?string} */
Denied;
}
export class Payson2CheckoutResponse {
/** @param {{Id?:string,ExpirationTime?:string,Snippet?:string,Status?:Payson2CheckoutStatus,Customer?:Customer,Order?:Order,Merchant?:Merchant,Gui?:Gui,History?:History,PurchaseId?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Id;
/** @type {?string} */
ExpirationTime;
/** @type {string} */
Snippet;
/** @type {Payson2CheckoutStatus} */
Status;
/** @type {Customer} */
Customer;
/** @type {Order} */
Order;
/** @type {Merchant} */
Merchant;
/** @type {Gui} */
Gui;
/** @type {History} */
History;
/** @type {?number} */
PurchaseId;
}
export class PaymentLog extends BaseModel {
/** @param {{CurrencyId?:string,CurrencyInfo?:Currency,CompanyId?:string,Id?:number,InternalReferenceId?:string,ArticleTypeId?:number,PaymentReferenceId?:string,PaymentProviderId?:number,OrderItemReferenceId?:string,Amount?:number,VAT?:number,AmountCredited?:number,Comments?:string,Created?:string,Updated?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CurrencyId;
/** @type {Currency} */
CurrencyInfo;
/** @type {string} */
CompanyId;
/** @type {number} */
Id;
/** @type {string} */
InternalReferenceId;
/** @type {number} */
ArticleTypeId;
/** @type {string} */
PaymentReferenceId;
/** @type {?number} */
PaymentProviderId;
/** @type {string} */
OrderItemReferenceId;
/** @type {?number} */
Amount;
/** @type {?number} */
VAT;
/** @type {?number} */
AmountCredited;
/** @type {string} */
Comments;
/** @type {string} */
Created;
/** @type {string} */
Updated;
/** @type {?string} */
ModifiedDate;
}
export class PayableEntity extends BaseModel {
/** @param {{DbFactory?:IDbConnectionFactory,QvicklyPaymentManager?:IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse>,Payson2PaymentManager?:IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse>,PaysonPaymentCheckout1?:IPaysonPaymentCheckout1,Logger?:ILogger<PayableEntity>,InternalReferenceId?:string,PaymentLog?:PaymentLog[],CompanyId?:string,PriceVat?:number,CurrencyId?:string,Customer?:Customer,Customers?:Customer[],Company?:Company}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {IDbConnectionFactory} */
DbFactory;
/** @type {IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse>} */
QvicklyPaymentManager;
/** @type {IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse>} */
Payson2PaymentManager;
/** @type {IPaysonPaymentCheckout1} */
PaysonPaymentCheckout1;
/** @type {ILogger<PayableEntity>} */
Logger;
/** @type {string} */
InternalReferenceId;
/** @type {PaymentLog[]} */
PaymentLog;
/** @type {string} */
CompanyId;
/** @type {?number} */
PriceVat;
/** @type {string} */
CurrencyId;
/** @type {Customer} */
Customer;
/** @type {Customer[]} */
Customers;
/** @type {Company} */
Company;
}
export class CalendarExport extends BaseModel {
/** @param {{CompanyId?:string,BookingId?:number,ExceptionId?:number,CalendarSync?:boolean,CalendarId?:string,IsExceptionDeleted?:boolean,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CompanyId;
/** @type {number} */
BookingId;
/** @type {number} */
ExceptionId;
/** @type {?boolean} */
CalendarSync;
/** @type {string} */
CalendarId;
/** @type {?boolean} */
IsExceptionDeleted;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class BookingLogEventType extends BaseModel {
/** @param {{Name?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class BookingLog extends BaseModel {
/** @param {{EventTypeId?:number,EventType?:BookingLogEventType,CompanyId?:string,BookingId?:number,Id?:number,Comments?:string,UserId?:string,Created?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
EventTypeId;
/** @type {BookingLogEventType} */
EventType;
/** @type {string} */
CompanyId;
/** @type {number} */
BookingId;
/** @type {number} */
Id;
/** @type {string} */
Comments;
/** @type {string} */
UserId;
/** @type {string} */
Created;
/** @type {?string} */
ModifiedDate;
}
export class PaymentDetails extends BaseModel {
/** @param {{QvicklyCheckoutSerialized?:QvicklyCheckoutResponse,Payson2CheckoutSerialized?:Payson2CheckoutResponse,CompanyId?:string,InternalReferenceId?:string,ArticleTypeId?:number,ExternalResponseData?:string,ExternalResponseReference?:string,PaymentProviderId?:number,CreatedDate?:string,UpdatedDate?:string,ModifiedDate?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {QvicklyCheckoutResponse} */
QvicklyCheckoutSerialized;
/** @type {Payson2CheckoutResponse} */
Payson2CheckoutSerialized;
/** @type {string} */
CompanyId;
/** @type {string} */
InternalReferenceId;
/** @type {number} */
ArticleTypeId;
/** @type {string} */
ExternalResponseData;
/** @type {string} */
ExternalResponseReference;
/** @type {number} */
PaymentProviderId;
/** @type {string} */
CreatedDate;
/** @type {string} */
UpdatedDate;
/** @type {?string} */
ModifiedDate;
}
export class BookingPrice extends BaseModel {
/** @param {{CurrencyId?:string,PriceId?:number,CurrencyInfo?:Currency,PriceText?:string,AppliedCodes?:AppliedRebateCodes[],IsRebate?:boolean,CompanyId?:string,BookingId?:number,Quantity?:number,Price?:number,VAT?:number,Category?:string,Updated?:string,Created?:string,Invoiced?:boolean,OccupiesSpot?:boolean,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
CurrencyId;
/** @type {?number} */
PriceId;
/** @type {Currency} */
CurrencyInfo;
/** @type {string} */
PriceText;
/** @type {AppliedRebateCodes[]} */
AppliedCodes;
/** @type {boolean} */
IsRebate;
/** @type {string} */
CompanyId;
/** @type {number} */
BookingId;
/** @type {number} */
Quantity;
/** @type {?number} */
Price;
/** @type {?number} */
VAT;
/** @type {string} */
Category;
/** @type {string} */
Updated;
/** @type {string} */
Created;
/** @type {boolean} */
Invoiced;
/** @type {boolean} */
OccupiesSpot;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class BookingStatus extends BaseModel {
/** @param {{Name?:string,Description?:string,Color?:string,Icon?:string,ModifiedDate?:string,Id?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
Color;
/** @type {string} */
Icon;
/** @type {?string} */
ModifiedDate;
/** @type {number} */
Id;
}
export class Booking extends PayableEntity {
/** @param {{Service?:Service,CalendarExport?:CalendarExport,Log?:BookingLog[],CheckoutLogs?:PaymentDetails[],Prices?:BookingPrice[],Status?:BookingStatusEnum,IsReserved?:boolean,StatusName?:string,CurrencyInfo?:Currency,BookingStatus?:BookingStatus,TotalPrice?:number,TotalSpots?:number,Resources?:IList<Resource>,ExternalReferences?:IList<ExternalReference>,BookedResources?:IList<BookedResourceType>,CustomFieldsConfig?:IList<CustomFieldConfig>,CustomFieldsData?:IList<CustomFieldDataResponse>,DeterministicId?:string,Active?:boolean,LastTimeToUnBook?:string,PriceMappings?:PriceMapping[],InternalReferenceId?:string,UpdatedDate?:string,CreatedDate?:string,Id?:number,CustomerId?:string,ServiceId?:number,StatusId?:number,UnbookedOn?:string,UnbookedComments?:string,BookedComments?:string,BookedBy?:string,UnBookedBy?:string,SendSmsReminder?:boolean,SendEmailReminder?:boolean,SendSmsConfirmation?:boolean,RebateCode?:string,Comments?:string,IpAddress?:string,NumberOfBookedSpots?:number,CommentsToCustomer?:string,PaymentExpiration?:string,SendEmailConfirmation?:boolean,CancellationCode?:string,ModifiedDate?:string,RatingCode?:string,TextField1?:string,TextField2?:string,TextField3?:string,TextField4?:string,TextField5?:string,TextField6?:string,TextField7?:string,TextField8?:string,TextField9?:string,TextField10?:string,TextField11?:string,TextField12?:string,TextField13?:string,TextField14?:string,TextField15?:string,TextField16?:string,TextField17?:string,TextField18?:string,TextField19?:string,TextField20?:string,From?:string,To?:string,DbFactory?:IDbConnectionFactory,QvicklyPaymentManager?:IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse>,Payson2PaymentManager?:IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse>,PaysonPaymentCheckout1?:IPaysonPaymentCheckout1,Logger?:ILogger<PayableEntity>,InternalReferenceId?:string,PaymentLog?:PaymentLog[],CompanyId?:string,PriceVat?:number,CurrencyId?:string,Customer?:Customer,Customers?:Customer[],Company?:Company}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {Service} */
Service;
/** @type {CalendarExport} */
CalendarExport;
/** @type {BookingLog[]} */
Log;
/** @type {PaymentDetails[]} */
CheckoutLogs;
/** @type {BookingPrice[]} */
Prices;
/** @type {BookingStatusEnum} */
Status;
/** @type {boolean} */
IsReserved;
/** @type {string} */
StatusName;
/** @type {Currency} */
CurrencyInfo;
/** @type {BookingStatus} */
BookingStatus;
/** @type {?number} */
TotalPrice;
/** @type {?number} */
TotalSpots;
/** @type {IList<Resource>} */
Resources;
/** @type {IList<ExternalReference>} */
ExternalReferences;
/** @type {IList<BookedResourceType>} */
BookedResources;
/** @type {IList<CustomFieldConfig>} */
CustomFieldsConfig;
/** @type {IList<CustomFieldDataResponse>} */
CustomFieldsData;
/** @type {string} */
DeterministicId;
/** @type {boolean} */
Active;
/** @type {?string} */
LastTimeToUnBook;
/** @type {PriceMapping[]} */
PriceMappings;
/** @type {string} */
InternalReferenceId;
/** @type {string} */
UpdatedDate;
/** @type {string} */
CreatedDate;
/** @type {number} */
Id;
/** @type {string} */
CustomerId;
/** @type {number} */
ServiceId;
/** @type {number} */
StatusId;
/** @type {?string} */
UnbookedOn;
/** @type {string} */
UnbookedComments;
/** @type {string} */
BookedComments;
/** @type {string} */
BookedBy;
/** @type {string} */
UnBookedBy;
/** @type {boolean} */
SendSmsReminder;
/** @type {boolean} */
SendEmailReminder;
/** @type {boolean} */
SendSmsConfirmation;
/** @type {string} */
RebateCode;
/** @type {string} */
Comments;
/** @type {string} */
IpAddress;
/** @type {number} */
NumberOfBookedSpots;
/** @type {string} */
CommentsToCustomer;
/** @type {?string} */
PaymentExpiration;
/** @type {boolean} */
SendEmailConfirmation;
/** @type {string} */
CancellationCode;
/** @type {?string} */
ModifiedDate;
/** @type {string} */
RatingCode;
/** @type {string} */
TextField1;
/** @type {string} */
TextField2;
/** @type {string} */
TextField3;
/** @type {string} */
TextField4;
/** @type {string} */
TextField5;
/** @type {string} */
TextField6;
/** @type {string} */
TextField7;
/** @type {string} */
TextField8;
/** @type {string} */
TextField9;
/** @type {string} */
TextField10;
/** @type {string} */
TextField11;
/** @type {string} */
TextField12;
/** @type {string} */
TextField13;
/** @type {string} */
TextField14;
/** @type {string} */
TextField15;
/** @type {string} */
TextField16;
/** @type {string} */
TextField17;
/** @type {string} */
TextField18;
/** @type {string} */
TextField19;
/** @type {string} */
TextField20;
/** @type {string} */
From;
/** @type {string} */
To;
}
export class BookingQuery extends QueryDb {
/** @param {{BookedResourceIds?:number[],BookedResourceTypeIds?:number[],CompanyId?:string,Id?:number,CancellationCode?:string,BookingStart?:string,BookingEnd?:string,CreatedFrom?:string,CreatedTo?:string,CompanyBookings?:boolean,ServiceIds?:number[],StatusIds?:number[],CustomerId?:string,IncludeExternalReferences?:boolean,IncludeCustomFields?:boolean,IncludeCustomFieldValues?:boolean,IncludeBookedResourceTypes?:boolean,IncludeCompanyInformation?:boolean,IncludeServiceInformation?:boolean,IncludeCustomerInformation?:boolean,IncludeLog?:boolean,IncludePaymentLog?:boolean,IncludeCheckoutLog?:boolean,IncludeQuantityInformation?:boolean,IncludeCalendarExportStatus?:boolean,IncludeStatusInformation?:boolean,MaxLimit?:number,ResponseStatus?:ResponseStatus,Skip?:number,Take?:number,OrderBy?:string,OrderByDesc?:string,Include?:string,Fields?:string,Meta?:{ [index: string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {number[]}
* @description Query for specific Booked Resources, default is all resources */
BookedResourceIds;
/**
* @type {number[]}
* @description Query for specific Booked Resource types, default is all resource types */
BookedResourceTypeIds;
/**
* @type {?string}
* @description The company id, if empty will use the company id for the user you are logged in with. */
CompanyId;
/**
* @type {?number}
* @description Id of the booking */
Id;
/**
* @type {string}
* @description The cancellation code of the booking, can be used if you want to get a booking without being authenticated */
CancellationCode;
/**
* @type {?string}
* @description Start of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339 */
BookingStart;
/**
* @type {?string}
* @description End of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339 */
BookingEnd;
/**
* @type {?string}
* @description Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339 */
CreatedFrom;
/**
* @type {?string}
* @description End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339 */
CreatedTo;
/**
* @type {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. */
CompanyBookings;
/**
* @type {number[]}
* @description Query for specific services. */
ServiceIds;
/**
* @type {number[]}
* @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. */
StatusIds;
/**
* @type {?string}
* @description Query for specific customer */
CustomerId;
/**
* @type {boolean}
* @description If you want to include the external references for the booking */
IncludeExternalReferences;
/**
* @type {boolean}
* @description If you want to include the connected resource types and resources */
IncludeCustomFields;
/**
* @type {boolean}
* @description If you want to include the connected custom fields */
IncludeCustomFieldValues;
/**
* @type {boolean}
* @description If you want to include the booked resources */
IncludeBookedResourceTypes;
/**
* @type {boolean}
* @description If you want to include the company information for the booking */
IncludeCompanyInformation;
/**
* @type {boolean}
* @description If you want to include the service information for the booking */
IncludeServiceInformation;
/**
* @type {boolean}
* @description If you want to include the customer information for the booking */
IncludeCustomerInformation;
/**
* @type {boolean}
* @description If you want to include the log of all events on the booking */
IncludeLog;
/**
* @type {boolean}
* @description If you want to include the payment log on the booking */
IncludePaymentLog;
/**
* @type {boolean}
* @description If you want to include the checkouts for payson */
IncludeCheckoutLog;
/**
* @type {boolean}
* @description If you want to include the quantity and price information on the booking */
IncludeQuantityInformation;
/**
* @type {boolean}
* @description If you want to include google calendar sync status */
IncludeCalendarExportStatus;
/**
* @type {boolean}
* @description If you want to include booking status information */
IncludeStatusInformation;
/**
* @type {?number}
* @description The max limit of records you want to retrieve, default is 100 */
MaxLimit;
/** @type {ResponseStatus} */
ResponseStatus;
}
export class QvicklyArticle {
/** @param {{artnr?:string,title?:string,quantity?:number,aprice?:number,tax?:number,discount?:number,withouttax?:number,taxrate?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
artnr;
/** @type {string} */
title;
/** @type {number} */
quantity;
/** @type {number} */
aprice;
/** @type {number} */
tax;
/** @type {number} */
discount;
/** @type {number} */
withouttax;
/** @type {number} */
taxrate;
}
export class Customer {
/** @param {{City?:string,CountryCode?:string,IdentityNumber?:string,Email?:string,FirstName?:string,LastName?:string,Phone?:string,PostalCode?:string,Street?:string,Reference?:string,Type?:CustomerType}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
City;
/** @type {string} */
CountryCode;
/** @type {string} */
IdentityNumber;
/** @type {string} */
Email;
/** @type {string} */
FirstName;
/** @type {string} */
LastName;
/** @type {string} */
Phone;
/** @type {string} */
PostalCode;
/** @type {string} */
Street;
/** @type {string} */
Reference;
/** @type {CustomerType} */
Type;
}
/** @typedef {number} */
export var Currency;
(function (Currency) {
Currency[Currency["SEK"] = 1] = "SEK"
Currency[Currency["EUR"] = 2] = "EUR"
})(Currency || (Currency = {}));
export class AccessKeyTypeResponse {
/** @param {{Id?:number,KeyType?:string,Description?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
KeyType;
/** @type {string} */
Description;
}
/** @typedef T {any} */
export class QueryResponse {
/** @param {{Offset?:number,Total?:number,Results?:T[],Meta?:{ [index: string]: string; },ResponseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Offset;
/** @type {number} */
Total;
/** @type {T[]} */
Results;
/** @type {{ [index: string]: string; }} */
Meta;
/** @type {ResponseStatus} */
ResponseStatus;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
HTTP/1.1 200 OK Content-Type: application/json 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"}}}