Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /services/{Id}/addresourcetype | Add ResourceType(s) to service | Add ResourceType(s) to service for the currently logged in user. Note: you will need to add all ResourceType(s) you want to have connected, only administrators are allowed to add ResourceType(s) to services. |
---|
"use strict";
/** @typedef {'NotDefined'|'RecurringSchedule'|'DateSchedule'} */
export var ScheduleType;
(function (ScheduleType) {
ScheduleType["NotDefined"] = "NotDefined"
ScheduleType["RecurringSchedule"] = "RecurringSchedule"
ScheduleType["DateSchedule"] = "DateSchedule"
})(ScheduleType || (ScheduleType = {}));
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 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 BookingStatusOptionsResponse {
/** @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 DayOfWeekDto {
/** @param {{DayOfWeekId?:number,DotNetDayOfWeekId?:number,DayOfWeek?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
DayOfWeekId;
/** @type {number} */
DotNetDayOfWeekId;
/** @type {string} */
DayOfWeek;
}
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 ServicePriceResponse {
/** @param {{CompanyId?:string,Id?:number,ServiceId?:number,Price?:number,CalculationTypeId?:number,CurrencyId?:string,PriceSign?:string,VAT?:number,Category?:string,PriceText?:string,From?:string,To?:string,DaysOfWeek?:DayOfWeekDto[],FromTime?:string,ToTime?:string,Service?:ServiceInfoResponse,IsTimeSpecific?:boolean,IsDaysOfWeekSpecific?:boolean,IsWeighted?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The company id */
CompanyId;
/**
* @type {number}
* @description The price id */
Id;
/**
* @type {number}
* @description The service id */
ServiceId;
/**
* @type {number}
* @description The price */
Price;
/**
* @type {number}
* @description The price calculation type id, 1 = Normal, price is for the service total duration, 2 = Price is per minute, 3 = Price is per hour, 4= Price is per day */
CalculationTypeId;
/**
* @type {string}
* @description The price currency */
CurrencyId;
/**
* @type {string}
* @description The price sign */
PriceSign;
/**
* @type {number}
* @description The price VAT in percent */
VAT;
/**
* @type {string}
* @description The price category if price has a category */
Category;
/**
* @type {string}
* @description The price text to display */
PriceText;
/**
* @type {string}
* @description The valid from date for the price. */
From;
/**
* @type {string}
* @description The valid to date for the price. */
To;
/**
* @type {DayOfWeekDto[]}
* @description If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update. */
DaysOfWeek;
/**
* @type {?string}
* @description If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update. */
FromTime;
/**
* @type {?string}
* @description If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters. */
ToTime;
/** @type {ServiceInfoResponse} */
Service;
/**
* @type {boolean}
* @description If the price is only valid for a specific time span */
IsTimeSpecific;
/**
* @type {boolean}
* @description If the price is only valid for specific days of week */
IsDaysOfWeekSpecific;
/**
* @type {boolean}
* @description If the price is Weighted */
IsWeighted;
}
export class BaseModel {
constructor(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 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 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;
}
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;
}
/** @typedef {number} */
export var Currency;
(function (Currency) {
Currency[Currency["SEK"] = 1] = "SEK"
Currency[Currency["EUR"] = 2] = "EUR"
})(Currency || (Currency = {}));
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 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 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 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 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 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 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 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,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 {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,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 {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 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 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 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 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 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 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 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 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,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,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 {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;
}
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,IsWeighted?:boolean,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 {boolean} */
IsWeighted;
/** @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 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 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 ServiceSchedules {
/** @param {{ScheduleType?:ScheduleType,RecurringSchedules?:ISchedule[],DateSchedules?:ISchedule[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ScheduleType} */
ScheduleType;
/** @type {ISchedule[]} */
RecurringSchedules;
/** @type {ISchedule[]} */
DateSchedules;
}
export class CompanyRatingSummary {
/** @param {{AverageScore?:number,RatingScore1Count?:number,RatingScore2Count?:number,RatingScore3Count?:number,RaingScore4Count?:number,RatingScore5Count?:number,Count?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The average rating score */
AverageScore;
/**
* @type {number}
* @description The number of ratings of score 1 */
RatingScore1Count;
/**
* @type {number}
* @description The number of ratings of score 2 */
RatingScore2Count;
/**
* @type {number}
* @description The number of ratings of score 3 */
RatingScore3Count;
/**
* @type {number}
* @description The number of ratings of score 4 */
RaingScore4Count;
/**
* @type {number}
* @description The number of ratings of score 5 */
RatingScore5Count;
/**
* @type {number}
* @description The number of ratings */
Count;
}
export class RatingReviewResponse {
/** @param {{Title?:string,Description?:string,RatingScore?:number,Author?:string,Created?:string,ReviewAnswer?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The title for the review */
Title;
/**
* @type {string}
* @description The description for the review */
Description;
/**
* @type {number}
* @description The rating score */
RatingScore;
/**
* @type {string}
* @description The review author */
Author;
/**
* @type {string}
* @description The created date */
Created;
/**
* @type {string}
* @description The review answer from the company */
ReviewAnswer;
}
export class ServiceResourceTypeResource {
/** @param {{Id?:number,Name?:string,Description?:string,Email?:string,Phone?:string,Color?:string,ImageUrl?:string,Priority?:number,EmailNotification?:boolean,SMSNotification?:boolean,EmailReminder?:boolean,SMSReminder?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The resource id */
Id;
/**
* @type {string}
* @description The resource name */
Name;
/**
* @type {string}
* @description The resource description */
Description;
/**
* @type {string}
* @description The resource email */
Email;
/**
* @type {string}
* @description The resource phone */
Phone;
/**
* @type {string}
* @description The resource color */
Color;
/**
* @type {string}
* @description The resource image */
ImageUrl;
/**
* @type {number}
* @description The priority of the resource */
Priority;
/**
* @type {boolean}
* @description If the resource want to receive email notifications */
EmailNotification;
/**
* @type {boolean}
* @description If the resource want to receive sms notifications */
SMSNotification;
/**
* @type {boolean}
* @description If the resource want to receive email reminders */
EmailReminder;
/**
* @type {boolean}
* @description If the resource want to receive sms reminders */
SMSReminder;
}
export class ServiceResourceTypeResponse {
/** @param {{Id?:number,SelectableByUser?:boolean,Name?:string,Description?:string,Resources?:ServiceResourceTypeResource[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The resourcetype id */
Id;
/**
* @type {boolean}
* @description The resourcetype is selectable by customer */
SelectableByUser;
/**
* @type {string}
* @description The resourcetype name */
Name;
/**
* @type {string}
* @description The resourcetype description */
Description;
/**
* @type {ServiceResourceTypeResource[]}
* @description The resources in the resourcetype. Only shows active resources if not admin. */
Resources;
}
export class ServiceQueryResponse {
/** @param {{Id?:number,Name?:string,Description?:string,ImageUrl?:string,TotalSpots?:number,LockSpotsToBooking?:boolean,MinNumberOfSpotsPerBooking?:number,MaxNumberOfSpotsPerBooking?:number,MinNumberOfResourcesToBook?:number,MaxNumberOfResourcesToBook?:number,UnbookBeforeDays?:number,UnbookBeforeHours?:number,UnbookBeforeMinutes?:number,ScheduleType?:ScheduleType,ScheduleTypeId?:number,BookBeforeDays?:number,BookBeforeHours?:number,BookBeforeMinutes?:number,Group?:string,EnableBookingQueue?:boolean,EnableCodeLockSync?:boolean,EnableCustomerManualPayment?:boolean,SortOrder?:number,Active?:boolean,IsGroupBooking?:boolean,GroupBooking?:GroupBookingSettings,MultipleResource?:MultipleResourceSettings,IsPaymentEnabled?:boolean,MaxPaymentTime?:number,BookingStatusId?:number,OnlyVisibleByAdmin?:boolean,LengthInMinutes?:number,DurationTypeId?:number,Duration?:number,MinDuration?:number,MaxDuration?:number,DurationInterval?:number,PauseAfterBooking?:number,CustomFields?:CustomFieldConfigData[],CustomFieldValues?:CustomFieldDataResponse[],BookingCustomFields?:CustomFieldConfigData[],CustomerCustomFields?:CustomFieldConfigData[],BookingStatusOptions?:BookingStatusOptionsResponse[],Prices?:ServicePriceResponse[],Schedules?:ServiceSchedules,RatingSummary?:CompanyRatingSummary,Reviews?:RatingReviewResponse[],ResourceTypes?:ServiceResourceTypeResponse[],ResponseStatus?:ResponseStatus,PriceViewTypeId?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Id;
/** @type {string} */
Name;
/** @type {string} */
Description;
/** @type {string} */
ImageUrl;
/** @type {number} */
TotalSpots;
/**
* @type {?boolean}
* @description If this setting is turned on the remaining spots (if Totalspots > 1) is locked from be booked by another customer. */
LockSpotsToBooking;
/** @type {number} */
MinNumberOfSpotsPerBooking;
/** @type {number} */
MaxNumberOfSpotsPerBooking;
/** @type {number} */
MinNumberOfResourcesToBook;
/** @type {number} */
MaxNumberOfResourcesToBook;
/** @type {number} */
UnbookBeforeDays;
/** @type {number} */
UnbookBeforeHours;
/** @type {number} */
UnbookBeforeMinutes;
/**
* @type {ScheduleType}
* @description What type of schedule is connected to the service. RecurringSchedule = 1, DateSchedule = 2 */
ScheduleType;
/**
* @type {number}
* @description What type of schedule is connected to the service. RecurringSchedule = 1, DateSchedule = 2 */
ScheduleTypeId;
/** @type {number} */
BookBeforeDays;
/** @type {number} */
BookBeforeHours;
/** @type {number} */
BookBeforeMinutes;
/** @type {string} */
Group;
/** @type {boolean} */
EnableBookingQueue;
/** @type {boolean} */
EnableCodeLockSync;
/** @type {boolean} */
EnableCustomerManualPayment;
/** @type {number} */
SortOrder;
/** @type {boolean} */
Active;
/** @type {boolean} */
IsGroupBooking;
/** @type {GroupBookingSettings} */
GroupBooking;
/** @type {MultipleResourceSettings} */
MultipleResource;
/** @type {boolean} */
IsPaymentEnabled;
/**
* @type {number}
* @description Maximum numbers of minutes the booking payment must be completed before automatically unbooked */
MaxPaymentTime;
/**
* @type {number}
* @description If the booking should be either 1 = Booked) or 3 = Reserved. Default is 1 = Booked. */
BookingStatusId;
/** @type {boolean} */
OnlyVisibleByAdmin;
/** @type {?number} */
LengthInMinutes;
/** @type {number} */
DurationTypeId;
/** @type {?number} */
Duration;
/** @type {?number} */
MinDuration;
/** @type {?number} */
MaxDuration;
/** @type {?number} */
DurationInterval;
/** @type {number} */
PauseAfterBooking;
/** @type {CustomFieldConfigData[]} */
CustomFields;
/** @type {CustomFieldDataResponse[]} */
CustomFieldValues;
/** @type {CustomFieldConfigData[]} */
BookingCustomFields;
/** @type {CustomFieldConfigData[]} */
CustomerCustomFields;
/**
* @type {BookingStatusOptionsResponse[]}
* @description The booking status options to choose from */
BookingStatusOptions;
/** @type {ServicePriceResponse[]} */
Prices;
/** @type {ServiceSchedules} */
Schedules;
/** @type {CompanyRatingSummary} */
RatingSummary;
/** @type {RatingReviewResponse[]} */
Reviews;
/** @type {ServiceResourceTypeResponse[]} */
ResourceTypes;
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {?number} */
PriceViewTypeId;
}
export class AddResourceTypeService {
/** @param {{CompanyId?:string,Id?:number,SelectableByUser?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @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 The resourcetype id */
Id;
/**
* @type {boolean}
* @description If the resources within the resourcetype should be selectable by customer when creating a booking */
SelectableByUser;
}
export class AddResourceTypeToService {
/** @param {{CompanyId?:string,Id?:number,ResourceTypes?:AddResourceTypeService[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The company id */
CompanyId;
/**
* @type {number}
* @description The service id */
Id;
/**
* @type {AddResourceTypeService[]}
* @description The ResourceType(s) to be added */
ResourceTypes;
}
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 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;
}
JavaScript AddResourceTypeToService DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /services/{Id}/addresourcetype HTTP/1.1
Host: testapi.bokamera.se
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"Id":0,"ResourceTypes":[{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":0,"SelectableByUser":false}]}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"Id":0,"Name":"String","Description":"String","TotalSpots":0,"LockSpotsToBooking":false,"MinNumberOfSpotsPerBooking":0,"MaxNumberOfSpotsPerBooking":0,"MinNumberOfResourcesToBook":0,"MaxNumberOfResourcesToBook":0,"UnbookBeforeDays":0,"UnbookBeforeHours":0,"UnbookBeforeMinutes":0,"ScheduleType":"NotDefined","ScheduleTypeId":0,"BookBeforeDays":0,"BookBeforeHours":0,"BookBeforeMinutes":0,"Group":"String","EnableBookingQueue":false,"EnableCodeLockSync":false,"EnableCustomerManualPayment":false,"SortOrder":0,"Active":false,"IsGroupBooking":false,"GroupBooking":{"Active":false,"Min":0,"Max":0},"MultipleResource":{"Active":false,"Min":0,"Max":0},"IsPaymentEnabled":false,"MaxPaymentTime":0,"BookingStatusId":0,"OnlyVisibleByAdmin":false,"LengthInMinutes":0,"DurationTypeId":0,"Duration":0,"MinDuration":0,"MaxDuration":0,"DurationInterval":0,"PauseAfterBooking":0,"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"}],"BookingCustomFields":[{"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"}]}],"CustomerCustomFields":[{"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"}]}],"BookingStatusOptions":[{"Id":0,"Name":"String","Description":"String"}],"Prices":[{"Id":0,"ServiceId":0,"Price":0,"CalculationTypeId":0,"CurrencyId":"String","PriceSign":"String","VAT":0,"Category":"String","PriceText":"String","DaysOfWeek":[{"DayOfWeekId":0,"DotNetDayOfWeekId":0,"DayOfWeek":"String"}],"FromTime":"00:00:00","ToTime":"00:00:00","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},"IsTimeSpecific":false,"IsDaysOfWeekSpecific":false,"IsWeighted":false}],"Schedules":{"ScheduleType":"NotDefined","RecurringSchedules":[{}],"DateSchedules":[{}]},"RatingSummary":{"AverageScore":0,"RatingScore1Count":0,"RatingScore2Count":0,"RatingScore3Count":0,"RaingScore4Count":0,"RatingScore5Count":0,"Count":0},"Reviews":[{"Title":"String","Description":"String","RatingScore":0,"Author":"String","ReviewAnswer":"String"}],"ResourceTypes":[{"Id":0,"SelectableByUser":false,"Name":"String","Description":"String","Resources":[{"Id":0,"Name":"String","Description":"String","Email":"String","Phone":"String","Color":"String","Priority":0,"EmailNotification":false,"SMSNotification":false,"EmailReminder":false,"SMSReminder":false}]}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"PriceViewTypeId":0}