BokaMera.API.Host

<back to all web services

DeleteServiceResourceTypes

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
DELETE/services/{Id}/resourcetypes/{ResourceTypeId}Delete service resource typesDelete a resource types connected to service.
"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}} [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;
}
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,ShowSubscribeToNewsletter?:boolean,Id?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {WidgetServiceLayouts[]} */
    WidgetServiceLayoutOptions;
    /** @type {WidgetTimeLayouts[]} */
    WidgetTimeLayoutOptions;
    /** @type {WidgetBookingLayouts[]} */
    WidgetBookingLayoutOptions;
    /** @type {WidgetBookingMethods[]} */
    WidgetBookingMethodOptions;
    /** @type {number} */
    ServiceLayoutId;
    /** @type {number} */
    TimeLayoutId;
    /** @type {number} */
    BookingLayoutId;
    /** @type {string} */
    PrimaryColor;
    /** @type {boolean} */
    ShowServiceImage;
    /** @type {boolean} */
    ShowNextAvailableTime;
    /** @type {boolean} */
    ShowEndTime;
    /** @type {string} */
    BookedTimeSlotText;
    /** @type {boolean} */
    DarkTheme;
    /** @type {boolean} */
    ShowRebateCodeField;
    /** @type {?string} */
    ModifiedDate;
    /** @type {boolean} */
    EnableCreateAccount;
    /** @type {boolean} */
    EnableLogin;
    /** @type {boolean} */
    EnableDirectBooking;
    /** @type {boolean} */
    EnableFacebookLogin;
    /** @type {boolean} */
    ShowSubscribeToNewsletter;
    /** @type {string} */
    Id;
}
export class HomepageTemplate extends BaseModel {
    /** @param {{Name?:string,Description?:string,ImageUrl?:string,Premium?:boolean,ModifiedDate?:string,Id?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    Name;
    /** @type {string} */
    Description;
    /** @type {string} */
    ImageUrl;
    /** @type {boolean} */
    Premium;
    /** @type {?string} */
    ModifiedDate;
    /** @type {number} */
    Id;
}
export class HeroSectionStyle extends BaseModel {
    /** @param {{Name?:string,Description?:string,ModifiedDate?:string,Id?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    Name;
    /** @type {string} */
    Description;
    /** @type {?string} */
    ModifiedDate;
    /** @type {number} */
    Id;
}
export class HomepageSetting extends BaseModel {
    /** @param {{HomepageTemplateOptions?:HomepageTemplate[],HomepageHeroSectionStyleOptions?:HeroSectionStyle[],CompanyId?:string,WelcomePageHeading?:string,WelcomePageBody?:string,AboutUsPageHeading?:string,AboutUsPageBody?:string,HomePageTemplateId?:number,ImageUrl?:string,Updated?:string,Created?:string,HomepageHeading?:string,HeroSectionStyleId?:number,ModifiedDate?:string,ShowRating?:boolean,EnableHomepage?:boolean,Id?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {HomepageTemplate[]} */
    HomepageTemplateOptions;
    /** @type {HeroSectionStyle[]} */
    HomepageHeroSectionStyleOptions;
    /** @type {?string} */
    CompanyId;
    /** @type {string} */
    WelcomePageHeading;
    /** @type {string} */
    WelcomePageBody;
    /** @type {string} */
    AboutUsPageHeading;
    /** @type {string} */
    AboutUsPageBody;
    /** @type {number} */
    HomePageTemplateId;
    /** @type {string} */
    ImageUrl;
    /** @type {string} */
    Updated;
    /** @type {string} */
    Created;
    /** @type {string} */
    HomepageHeading;
    /** @type {number} */
    HeroSectionStyleId;
    /** @type {?string} */
    ModifiedDate;
    /** @type {boolean} */
    ShowRating;
    /** @type {boolean} */
    EnableHomepage;
    /** @type {string} */
    Id;
}
export class 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 ArticleServiceRelation extends BaseModel {
    /** @param {{CompanyId?:string,Id?:number,ServiceId?:number,ArticleId?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    Id;
    /** @type {number} */
    ServiceId;
    /** @type {number} */
    ArticleId;
}
/** @typedef {number} */
export var ArticleTypeEnum;
(function (ArticleTypeEnum) {
    ArticleTypeEnum[ArticleTypeEnum["ServiceArticle"] = 1] = "ServiceArticle"
    ArticleTypeEnum[ArticleTypeEnum["StandAloneArticle"] = 2] = "StandAloneArticle"
    ArticleTypeEnum[ArticleTypeEnum["RebateCodePunchTicketArticle"] = 3] = "RebateCodePunchTicketArticle"
    ArticleTypeEnum[ArticleTypeEnum["RebateCodeGiftCardArticle"] = 4] = "RebateCodeGiftCardArticle"
    ArticleTypeEnum[ArticleTypeEnum["RebateCodeValueCardArticle"] = 5] = "RebateCodeValueCardArticle"
})(ArticleTypeEnum || (ArticleTypeEnum = {}));
export class Article extends BaseModel {
    /** @param {{Company?:Company,CurrencyInfo?:Currency,ArticleServiceRelations?:ArticleServiceRelation[],ServiceIds?:number[],ArticleType?:ArticleTypeEnum,ArticleTypeName?:string,CompanyId?:string,Id?:number,Name?:string,ArticleTypeId?:number,Description?:string,ImageUrl?:string,Active?:boolean,Amount?:number,Price?:number,CurrencyId?:string,UpdatedDate?:string,CreatedDate?:string,ModifiedDate?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {Company} */
    Company;
    /** @type {Currency} */
    CurrencyInfo;
    /** @type {ArticleServiceRelation[]} */
    ArticleServiceRelations;
    /** @type {number[]} */
    ServiceIds;
    /** @type {ArticleTypeEnum} */
    ArticleType;
    /** @type {string} */
    ArticleTypeName;
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    Id;
    /** @type {string} */
    Name;
    /** @type {number} */
    ArticleTypeId;
    /** @type {string} */
    Description;
    /** @type {string} */
    ImageUrl;
    /** @type {boolean} */
    Active;
    /** @type {number} */
    Amount;
    /** @type {number} */
    Price;
    /** @type {string} */
    CurrencyId;
    /** @type {string} */
    UpdatedDate;
    /** @type {string} */
    CreatedDate;
    /** @type {?string} */
    ModifiedDate;
}
export class RebateCodeDayOfWeekRelation extends BaseModel {
    /** @param {{DayOfWeek?:BokaMeraDayOfWeek,DayOfWeekId?:number,RebateCodeId?:number,CompanyId?:string,Id?:number,ModifiedDate?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {BokaMeraDayOfWeek} */
    DayOfWeek;
    /** @type {number} */
    DayOfWeekId;
    /** @type {number} */
    RebateCodeId;
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    Id;
    /** @type {?string} */
    ModifiedDate;
}
export class RebateCodeServiceRelation extends BaseModel {
    /** @param {{CompanyId?:string,ServiceId?:number,RebateCodeId?:number,Id?:number,ModifiedDate?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    ServiceId;
    /** @type {number} */
    RebateCodeId;
    /** @type {number} */
    Id;
    /** @type {?string} */
    ModifiedDate;
}
export class RebateCodeBookingPriceRelation extends BaseModel {
    /** @param {{CompanyId?:string,PriceId?:number,RebateCodeId?:number,Id?:number,ModifiedDate?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    PriceId;
    /** @type {number} */
    RebateCodeId;
    /** @type {number} */
    Id;
    /** @type {?string} */
    ModifiedDate;
}
export class RebateCodeCustomerRelation extends BaseModel {
    /** @param {{CompanyId?:string,CustomerId?:string,RebateCodeId?:number,Id?:number,ModifiedDate?:string,RebateCodeEmailSentToCustomer?:boolean,MessageToReceiver?:string,Buyer?:boolean}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {string} */
    CustomerId;
    /** @type {number} */
    RebateCodeId;
    /** @type {number} */
    Id;
    /** @type {?string} */
    ModifiedDate;
    /** @type {boolean} */
    RebateCodeEmailSentToCustomer;
    /** @type {string} */
    MessageToReceiver;
    /** @type {boolean} */
    Buyer;
}
export class DaysOfWeek extends BaseModel {
    /** @param {{DayOfWeek?:string,DayOfWeekTranslation?:string,DayOfWeekActive?:boolean,DayOfWeekSortOrder?:number,ModifiedDate?:string,Id?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    DayOfWeek;
    /** @type {string} */
    DayOfWeekTranslation;
    /** @type {?boolean} */
    DayOfWeekActive;
    /** @type {?number} */
    DayOfWeekSortOrder;
    /** @type {?string} */
    ModifiedDate;
    /** @type {number} */
    Id;
}
export class 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,Article?:Article,Services?:Service[],RebateCodeDayOfWeekRelation?:RebateCodeDayOfWeekRelation[],RebateCodeServiceRelation?:RebateCodeServiceRelation[],RebateCodeBookingPriceRelation?:RebateCodeBookingPriceRelation[],RebateCodeCustomerRelation?:RebateCodeCustomerRelation[],ServicesNames?:string,DaysOfWeek?:DaysOfWeek[],RebateCodeStatus?:RebateCodeStatus,RebateCodeType?:RebateCodeType,Transactions?:RebateCodeTransaction[],RemainingAmount?:number,RemainingUsage?:number,CurrentNumberOfUsesPerCustomer?:number,IsSpecificByDayOfWeek?:boolean,Active?:boolean,ActiveByStatus?:boolean,RebateCodeCurrencySign?:string,CurrencyInfo?:Currency,PaymentReceived?:boolean,InternalReferenceId?:string,ValidFrom?:string,ValidTo?:string,RebateCodeSign?:string,RebateCodeValue?:number,MaxNumberOfUses?:number,MaxNumberOfUsesPerCustomer?:number,NumberOfUsesUsed?:number,PersonalNote?:string,CreatedBy?:string,Created?:string,UpdatedBy?:string,UpdatedDate?:string,FromTime?:string,ToTime?:string,ModifiedDate?:string,Id?:number,ArticleId?:number,DbFactory?:IDbConnectionFactory,QvicklyPaymentManager?:IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse>,Payson2PaymentManager?:IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse>,PaysonPaymentCheckout1?:IPaysonPaymentCheckout1,Logger?:ILogger<PayableEntity>,InternalReferenceId?:string,PaymentLog?:PaymentLog[],CompanyId?:string,PriceVat?:number,CurrencyId?:string,Customer?:Customer,Customers?:Customer[],Company?:Company}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {number} */
    RebateCodeTypeId;
    /** @type {RebateCodeType} */
    RebateCodeTypeInfo;
    /** @type {number} */
    RebateCodeStatusId;
    /** @type {RebateCodeStatus} */
    RebateCodeStatusInfo;
    /** @type {Article} */
    Article;
    /** @type {Service[]} */
    Services;
    /** @type {RebateCodeDayOfWeekRelation[]} */
    RebateCodeDayOfWeekRelation;
    /** @type {RebateCodeServiceRelation[]} */
    RebateCodeServiceRelation;
    /** @type {RebateCodeBookingPriceRelation[]} */
    RebateCodeBookingPriceRelation;
    /** @type {RebateCodeCustomerRelation[]} */
    RebateCodeCustomerRelation;
    /** @type {string} */
    ServicesNames;
    /** @type {DaysOfWeek[]} */
    DaysOfWeek;
    /** @type {RebateCodeStatus} */
    RebateCodeStatus;
    /** @type {RebateCodeType} */
    RebateCodeType;
    /** @type {RebateCodeTransaction[]} */
    Transactions;
    /** @type {?number} */
    RemainingAmount;
    /** @type {?number} */
    RemainingUsage;
    /** @type {number} */
    CurrentNumberOfUsesPerCustomer;
    /** @type {boolean} */
    IsSpecificByDayOfWeek;
    /** @type {boolean} */
    Active;
    /** @type {boolean} */
    ActiveByStatus;
    /** @type {string} */
    RebateCodeCurrencySign;
    /** @type {Currency} */
    CurrencyInfo;
    /** @type {boolean} */
    PaymentReceived;
    /** @type {string} */
    InternalReferenceId;
    /** @type {string} */
    ValidFrom;
    /** @type {string} */
    ValidTo;
    /** @type {string} */
    RebateCodeSign;
    /** @type {number} */
    RebateCodeValue;
    /** @type {number} */
    MaxNumberOfUses;
    /** @type {number} */
    MaxNumberOfUsesPerCustomer;
    /** @type {number} */
    NumberOfUsesUsed;
    /** @type {string} */
    PersonalNote;
    /** @type {string} */
    CreatedBy;
    /** @type {string} */
    Created;
    /** @type {string} */
    UpdatedBy;
    /** @type {string} */
    UpdatedDate;
    /** @type {string} */
    FromTime;
    /** @type {string} */
    ToTime;
    /** @type {?string} */
    ModifiedDate;
    /** @type {number} */
    Id;
    /** @type {?number} */
    ArticleId;
}
export class ServicePrice extends BaseModel {
    /** @param {{CurrencyId?:string,CurrencyInfo?:Currency,Service?:Service,PriceMappings?:PriceMapping[],isTimeSpecific?:boolean,isDaysOfWeekSpecific?:boolean,DayOfWeeks?:ServicePriceDayOfWeekRelation[],PriceBeforeRebate?:number,RebateCodesApplied?:RebateCode[],PriceText?:string,OverlappingPrices?:ServicePrice[],CompanyId?:string,Id?:number,ServiceId?:number,Price?:number,Updated?:string,Created?:string,FromTime?:string,ToTime?:string,VAT?:number,Category?:string,ModifiedDate?:string,From?:string,To?:string,CalculationTypeId?:number}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    CurrencyId;
    /** @type {Currency} */
    CurrencyInfo;
    /** @type {Service} */
    Service;
    /** @type {PriceMapping[]} */
    PriceMappings;
    /** @type {boolean} */
    isTimeSpecific;
    /** @type {boolean} */
    isDaysOfWeekSpecific;
    /** @type {ServicePriceDayOfWeekRelation[]} */
    DayOfWeeks;
    /** @type {?number} */
    PriceBeforeRebate;
    /** @type {RebateCode[]} */
    RebateCodesApplied;
    /** @type {string} */
    PriceText;
    /** @type {ServicePrice[]} */
    OverlappingPrices;
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    Id;
    /** @type {number} */
    ServiceId;
    /** @type {?number} */
    Price;
    /** @type {string} */
    Updated;
    /** @type {string} */
    Created;
    /** @type {string} */
    FromTime;
    /** @type {string} */
    ToTime;
    /** @type {number} */
    VAT;
    /** @type {string} */
    Category;
    /** @type {?string} */
    ModifiedDate;
    /** @type {string} */
    From;
    /** @type {string} */
    To;
    /** @type {number} */
    CalculationTypeId;
}
export class 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 DeleteServiceResourceTypes {
    /** @param {{CompanyId?:string,Id?:number,ResourceTypeId?:number}} [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 Id of the service */
    Id;
    /**
     * @type {number}
     * @description Ids of Resource Type of the service to remove */
    ResourceTypeId;
}
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 DeleteServiceResourceTypes DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

DELETE /services/{Id}/resourcetypes/{ResourceTypeId} HTTP/1.1 
Host: api.bokamera.se 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
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}],"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}