Requires the role: | superadmin |
GET | /superadmin/companies | Get super admin companies |
---|
// @DataContract
export class QueryBase
{
/** @description Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?skip=10&orderBy=Id</code> */
// @DataMember(Order=1)
public Skip?: number;
/** @description Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?take=20</code> */
// @DataMember(Order=2)
public Take?: number;
/** @description Comma separated list of fields to order by. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderBy=Id,-Age,FirstName</code> */
// @DataMember(Order=3)
public OrderBy: string;
/** @description Comma separated list of fields to order by in descending order. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderByDesc=Id,-Age,FirstName</code> */
// @DataMember(Order=4)
public OrderByDesc: string;
/** @description Include any of the aggregates <code>AVG, COUNT, FIRST, LAST, MAX, MIN, SUM</code> in your result set. The results will be returned in the meta field.<br/><br/><strong>Example:</strong><br/><code>?include=COUNT(*) as Total</code><br/><br/>or multiple fields with<br/><code>?include=Count(*) Total, Min(Age), AVG(Age) AverageAge</code><br/></br>or unique with<br/><code>?include=COUNT(DISTINCT LivingStatus) as UniqueStatus</code> */
// @DataMember(Order=5)
public Include: string;
// @DataMember(Order=6)
public Fields: string;
// @DataMember(Order=7)
public Meta: { [index: string]: string; };
public constructor(init?: Partial<QueryBase>) { (Object as any).assign(this, init); }
}
export class QueryDb<From, Into> extends QueryBase
{
public constructor(init?: Partial<QueryDb<From, Into>>) { super(init); (Object as any).assign(this, init); }
}
export enum CodeLockSystemType
{
Sample = 'Sample',
RcoM5 = 'RcoM5',
AxemaVaka = 'AxemaVaka',
VanderbiltOmnis = 'VanderbiltOmnis',
ParakeyParakey = 'ParakeyParakey',
AmidoDax = 'AmidoDax',
TelkeyTelkey = 'TelkeyTelkey',
TechSolutionsSiedle = 'TechSolutionsSiedle',
Accessy = 'Accessy',
Zesec = 'Zesec',
Enabla = 'Enabla',
}
export class CompanyBookingSettings
{
public EnableMobileApp: boolean;
public BookingReceiptMessage: string;
public ShowFreeTimesLeft: boolean;
public EnableShowBookedTimes: boolean;
public BookingAgreement: string;
/** @description The settings for how to display week number. 1 = ShowWeekNumberFromDate, 2 = ShowWeekNumberToDate, 3 = ShowWeekNumberFromToDate, 4 = DontShowWeekNumber */
// @ApiMember(DataType="int", Description="The settings for how to display week number. 1 = ShowWeekNumberFromDate, 2 = ShowWeekNumberToDate, 3 = ShowWeekNumberFromToDate, 4 = DontShowWeekNumber ")
public WeekNumberSetting: number;
public ShowBookedTimes: boolean;
/** @description The payment provider id. 1 = Payson Checkout 1.0, 2= Payson Checkout 2.0 ... To get the full payment provider for the company call GET /payment/settings */
// @ApiMember(Description="The payment provider id. 1 = Payson Checkout 1.0, 2= Payson Checkout 2.0 ... To get the full payment provider for the company call GET /payment/settings")
public PaymentProviderId: number;
/** @description If it's only allowed for existing customers to book */
// @ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book")
public BookOnlyOnExistingCustomers: boolean;
/** @description If payment is enabled */
// @ApiMember(DataType="boolean", Description="If payment is enabled")
public PaymentEnabled: boolean;
public constructor(init?: Partial<CompanyBookingSettings>) { (Object as any).assign(this, init); }
}
export class CompanySystemSettings
{
/** @description If the booking is active or not */
// @ApiMember(DataType="bool", Description="If the booking is active or not")
public Active: boolean;
/** @description If the booking is not active, what message to show to the customers */
// @ApiMember(DataType="string", Description="If the booking is not active, what message to show to the customers")
public InactiveMessage: string;
/** @description If the company should be visible in search results on hompage */
// @ApiMember(DataType="bool", Description="If the company should be visible in search results on hompage")
public Searchable: boolean;
/** @description If you have a google analytics account and want to track your customers behaviors. */
// @ApiMember(DataType="string", Description="If you have a google analytics account and want to track your customers behaviors.")
public GATrackingId: string;
/** @description If you have a google Ads Conversion Id account and want to track your customers behaviors. */
// @ApiMember(DataType="string", Description="If you have a google Ads Conversion Id account and want to track your customers behaviors.")
public GoogleAdsConversionId: string;
/** @description If you have a LinkedIn account and want to track your customers behaviors. */
// @ApiMember(DataType="string", Description="If you have a LinkedIn account and want to track your customers behaviors.")
public LinkedinTagId: string;
/** @description If you have a Google Ads Conversion Label and want to track your customers behaviors. */
// @ApiMember(DataType="string", Description="If you have a Google Ads Conversion Label and want to track your customers behaviors.")
public GoogleAdsConversionLabel: string;
/** @description If you have a google tag manager account and want to track your customers behaviors. */
// @ApiMember(DataType="string", Description="If you have a google tag manager account and want to track your customers behaviors.")
public GTMTrackingId: string;
/** @description If you have a facebook account and want to track your customers behaviors. */
// @ApiMember(DataType="string", Description="If you have a facebook account and want to track your customers behaviors.")
public FacebookPixelId: string;
/** @description If you want your customers to be albe to change language on your homepage */
// @ApiMember(DataType="bool", Description="If you want your customers to be albe to change language on your homepage")
public MultiLanguage: boolean;
/** @description If the company should be visible on the marketplace */
// @ApiMember(DataType="bool", Description="If the company should be visible on the marketplace")
public ShowOnMarketplace: boolean;
/** @description If you want your own written text on your homepage to be translated using google analytics when a user changes language */
// @ApiMember(DataType="bool", Description="If you want your own written text on your homepage to be translated using google analytics when a user changes language")
public EnableAPITranslation: boolean;
/** @description What is the standard language your homepage information is written in. Select from the different countries, ie. SE,NO,EN */
// @ApiMember(DataType="string", Description="What is the standard language your homepage information is written in. Select from the different countries, ie. SE,NO,EN")
public DefaultLanguage: string;
/** @description If you want to allow to send customer information in the tracking events to the external providers. Note you as a company are responsible for informing your customers and handling the data in terms of GDPR. */
// @ApiMember(Description="If you want to allow to send customer information in the tracking events to the external providers. Note you as a company are responsible for informing your customers and handling the data in terms of GDPR. ")
public SendCustomerInformationToExternalProviders: boolean;
public constructor(init?: Partial<CompanySystemSettings>) { (Object as any).assign(this, init); }
}
export class CompanyWidgetSettings
{
/** @description The service layouts id. */
// @ApiMember(Description="The service layouts id.")
public ServiceLayoutId: number;
/** @description The time layouts id. */
// @ApiMember(Description="The time layouts id.")
public TimeLayoutId: number;
/** @description The booking layouts id. */
// @ApiMember(Description="The booking layouts id.")
public BookingLayoutId: number;
/** @description The primary color of the booking widget. */
// @ApiMember(Description="The primary color of the booking widget.")
public PrimaryColor: string;
/** @description If you should show the service image in the booking widget. */
// @ApiMember(Description="If you should show the service image in the booking widget.")
public ShowServiceImage: boolean;
/** @description If you should show the rebate code field in the booking widget. */
// @ApiMember(Description="If you should show the rebate code field in the booking widget.")
public ShowRebateCodeField: boolean;
/** @description If you should show the next available time in the booking widget. */
// @ApiMember(Description="If you should show the next available time in the booking widget.")
public ShowNextAvailableTime: boolean;
/** @description If you should show the end time in the booking widget. */
// @ApiMember(Description="If you should show the end time in the booking widget.")
public ShowEndTime: boolean;
/** @description What text to show on booked time slots. Default text is Booked */
// @ApiMember(Description="What text to show on booked time slots. Default text is Booked")
public BookedTimeSlotText: string;
/** @description If the widget should be displayed in dark theme */
// @ApiMember(Description="If the widget should be displayed in dark theme")
public DarkTheme: boolean;
/** @description If you should show the subscribe to newsletter checkbox in the booking widget. */
// @ApiMember(Description="If you should show the subscribe to newsletter checkbox in the booking widget.")
public ShowSubscribeToNewsletter: boolean;
public constructor(init?: Partial<CompanyWidgetSettings>) { (Object as any).assign(this, init); }
}
export class HomepageSettingsResponse
{
/** @description The text for homepage heading */
// @ApiMember(Description="The text for homepage heading")
public HomepageHeading: string;
/** @description The text for homepage startpage heading */
// @ApiMember(Description="The text for homepage startpage heading")
public WelcomePageHeading: string;
/** @description The text for homepage startpage body */
// @ApiMember(Description="The text for homepage startpage body")
public WelcomePageBody: string;
/** @description The text for homepage about us page heading */
// @ApiMember(Description="The text for homepage about us page heading")
public AboutUsPageHeading: string;
/** @description The text for homepage about us page body */
// @ApiMember(Description="The text for homepage about us page body")
public AboutUsPageBody: string;
/** @description The startpage image url */
// @ApiMember(Description="The startpage image url")
public ImageUrl: string;
/** @description The cover image url */
// @ApiMember(Description="The cover image url")
public CoverImage: string;
/** @description Show rating on the page */
// @ApiMember(Description="Show rating on the page")
public ShowRating: boolean;
/** @description The template for the homepage */
// @ApiMember(Description="The template for the homepage")
public HomePageTemplateId: number;
/** @description The hero section style for the homepage */
// @ApiMember(Description="The hero section style for the homepage")
public HeroSectionStyleId: number;
/** @description Enable the BokaMera Homepage */
// @ApiMember(Description="Enable the BokaMera Homepage")
public EnableHomepage: boolean;
public constructor(init?: Partial<HomepageSettingsResponse>) { (Object as any).assign(this, init); }
}
export class CompanyRatingSummary
{
/** @description The average rating score */
// @ApiMember(Description="The average rating score")
public AverageScore: number;
/** @description The number of ratings of score 1 */
// @ApiMember(Description="The number of ratings of score 1")
public RatingScore1Count: number;
/** @description The number of ratings of score 2 */
// @ApiMember(Description="The number of ratings of score 2")
public RatingScore2Count: number;
/** @description The number of ratings of score 3 */
// @ApiMember(Description="The number of ratings of score 3")
public RatingScore3Count: number;
/** @description The number of ratings of score 4 */
// @ApiMember(Description="The number of ratings of score 4")
public RaingScore4Count: number;
/** @description The number of ratings of score 5 */
// @ApiMember(Description="The number of ratings of score 5")
public RatingScore5Count: number;
/** @description The number of ratings */
// @ApiMember(Description="The number of ratings")
public Count: number;
public constructor(init?: Partial<CompanyRatingSummary>) { (Object as any).assign(this, init); }
}
export class RatingReviewResponse
{
/** @description The title for the review */
// @ApiMember(Description="The title for the review")
public Title: string;
/** @description The description for the review */
// @ApiMember(Description="The description for the review")
public Description: string;
/** @description The rating score */
// @ApiMember(Description="The rating score")
public RatingScore: number;
/** @description The review author */
// @ApiMember(Description="The review author")
public Author: string;
/** @description The created date */
// @ApiMember(Description="The created date")
public Created: string;
/** @description The review answer from the company */
// @ApiMember(Description="The review answer from the company")
public ReviewAnswer: string;
public constructor(init?: Partial<RatingReviewResponse>) { (Object as any).assign(this, init); }
}
export class CustomFieldValueResponse
{
public Value: string;
public constructor(init?: Partial<CustomFieldValueResponse>) { (Object as any).assign(this, init); }
}
export class CustomFieldConfigData
{
/** @description Custom field id */
// @ApiMember(Description="Custom field id")
public Id: number;
/** @description Configuration name. Example: 'Number of persons'. */
// @ApiMember(Description="Configuration name. Example: 'Number of persons'.")
public Name: string;
/** @description Custom field description. Example: 'For how many persons is this booking?' */
// @ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'")
public Description: string;
/** @description Field width. Example: 20 for 20px */
// @ApiMember(Description="Field width. Example: 20 for 20px")
public Width?: number;
/** @description Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */
// @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")
public DataType: string;
/** @description Default value of the field. Example: '3' */
// @ApiMember(Description="Default value of the field. Example: '3'")
public DefaultValue: string;
/** @description Determines if the field is required to have a value or not */
// @ApiMember(Description="Determines if the field is required to have a value or not")
public IsMandatory: boolean;
/** @description Error message shown to the user if the field data is required but not entered */
// @ApiMember(Description="Error message shown to the user if the field data is required but not entered")
public MandatoryErrorMessage: string;
/** @description Max lenght of the field */
// @ApiMember(Description="Max lenght of the field")
public MaxLength: number;
/** @description If the field should have multiple lines */
// @ApiMember(Description="If the field should have multiple lines")
public MultipleLineText: boolean;
/** @description Regular expression used for validation of the field */
// @ApiMember(Description="Regular expression used for validation of the field")
public RegEx: string;
/** @description Error message shown if the regular expression validation failed */
// @ApiMember(Description="Error message shown if the regular expression validation failed")
public RegExErrorMessage: string;
/** @description The values to select from if Datatype is DropDown for this custom field */
// @ApiMember(Description="The values to select from if Datatype is DropDown for this custom field")
public Values: CustomFieldValueResponse[];
public constructor(init?: Partial<CustomFieldConfigData>) { (Object as any).assign(this, init); }
}
export class CompanyQueryResponse
{
public Id: string;
public Name: string;
/** @description The organisation number will only be visible if your owner to the company */
// @ApiMember(DataType="string", Description="The organisation number will only be visible if your owner to the company")
public OrganisationNumber: string;
/** @description What type of company. If it's used for personal use or as a company. */
// @ApiMember(DataType="int", Description="What type of company. If it's used for personal use or as a company.")
public TypeId?: number;
public Details: string;
public CategoryId: number;
public Category: string;
public LogoType: string;
public CoverImage: string;
public Street1: string;
public Street2: string;
public ZipCode: string;
public City: string;
public CountryId: string;
public Longitude: string;
public Latitude: string;
public Distance?: number;
public Phone: string;
public Email: string;
public Homepage: string;
public SitePath: string;
public Active: boolean;
public CodeLockSystem?: CodeLockSystemType;
public IsFreeAccount: boolean;
/** @description Will show when the company was updated, note it will only be shown if your logged in as admin for the company. */
// @ApiMember(DataType="datetime", Description="Will show when the company was updated, note it will only be shown if your logged in as admin for the company.")
public Updated?: string;
/** @description Will show when the company was created, note it will only be shown if your logged in as admin for the company. */
// @ApiMember(DataType="datetime", Description="Will show when the company was created, note it will only be shown if your logged in as admin for the company.")
public Created?: string;
public StatusId: number;
/** @description If the company is marked as favourite for the logged in user */
// @ApiMember(DataType="boolean", Description="If the company is marked as favourite for the logged in user")
public IsFavorite: boolean;
public BookingAgreements: string;
public BookingSettings: CompanyBookingSettings;
public SystemSettings: CompanySystemSettings;
public WidgetSettings: CompanyWidgetSettings;
public HomepageSettings: HomepageSettingsResponse;
public RatingSummary: CompanyRatingSummary;
public Reviews: RatingReviewResponse[];
public CustomerCustomFields: CustomFieldConfigData[];
public ResponseStatus: ResponseStatus;
public constructor(init?: Partial<CompanyQueryResponse>) { (Object as any).assign(this, init); }
}
export class BaseModel
{
public constructor(init?: Partial<BaseModel>) { (Object as any).assign(this, init); }
}
export enum CompanyStatus
{
Registered = 1,
AwaitingApproval = 2,
Approved = 3,
Inactive = 4,
ClosedDown = 5,
NotApproved = 6,
}
export class CustomFieldValue extends BaseModel
{
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public Value: string;
// @Required()
public Active: boolean;
public SortOrder?: number;
public ModifiedDate?: string;
public constructor(init?: Partial<CustomFieldValue>) { super(init); (Object as any).assign(this, init); }
}
export class CustomField extends BaseModel
{
// @Required()
public Table: string;
// @Required()
public Column: string;
// @Required()
public DataType: string;
// @Required()
public Description: string;
// @Required()
public Active: boolean;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<CustomField>) { super(init); (Object as any).assign(this, init); }
}
export class RegEx extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public RegExCode: string;
public ErrorMessage: string;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<RegEx>) { super(init); (Object as any).assign(this, init); }
}
export enum ScheduleType
{
NotDefined = 'NotDefined',
RecurringSchedule = 'RecurringSchedule',
DateSchedule = 'DateSchedule',
}
export interface ISchedule
{
Resources: IList<Resource>;
Type: ScheduleType;
Active: boolean;
IsResourceSpecific: boolean;
}
export interface ITimeException extends IInterval
{
Id: number;
ReasonText: string;
IsBlock: boolean;
ReasonTextPublic: string;
IsRecurring: boolean;
ResourceIds: number[];
}
export enum BookingStatusEnum
{
Booked = 1,
Unbooked = 2,
Reserved = 3,
Canceled = 4,
AwaitingPayment = 5,
AwaitingPaymentNoTimeLimit = 6,
Payed = 7,
AwaitingPaymentRequestFromAdmin = 8,
AwaitingPaymentFromProvider = 9,
Invoiced = 10,
}
export class BookedCustomer
{
public Id: string;
public Firstname: string;
public Lastname: string;
public Email: string;
public Phone: string;
public FacebookUserName: string;
public ImageUrl: string;
public CorporateIdentityNumber: string;
public InvoiceAddress1: string;
public InvoiceAddress2: string;
public InvoiceCity: string;
public InvoicePostalCode: string;
public InvoiceCountryCode: string;
public constructor(init?: Partial<BookedCustomer>) { (Object as any).assign(this, init); }
}
export interface IBookedTime extends IInterval
{
Id: number;
ServiceId: number;
BookedSpots: number;
TotalSpots: number;
PauseAfterInMinutes: number;
Status: BookingStatusEnum;
StatusId: number;
Customer: BookedCustomer;
}
export class CustomFieldDataResponse
{
public Id: number;
public Column: string;
public Name: string;
public Description: string;
public Value: string;
/** @description Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */
// @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")
public DataType: string;
public constructor(init?: Partial<CustomFieldDataResponse>) { (Object as any).assign(this, init); }
}
export class Resource extends BaseModel implements ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated
{
// @Ignore()
public Priority: number;
// @Ignore()
public Schedules: IList<ISchedule>;
// @Ignore()
public Exceptions: IList<ITimeException>;
// @Ignore()
public Bookings: IList<IBookedTime>;
// @Ignore()
public CustomFieldsConfig: IList<CustomFieldConfig>;
// @Ignore()
public CustomFieldsData: IList<CustomFieldDataResponse>;
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public Name: string;
// @Required()
public Active: boolean;
public Description: string;
public ImageUrl: string;
// @Required()
public UpdatedDate: string;
// @Required()
public CreatedDate: string;
// @Required()
public Color: string;
public Email: string;
public MobilePhone: string;
public EmailNotification?: boolean;
public SMSNotification?: boolean;
// @Required()
public SendSMSReminder: boolean;
// @Required()
public SendEmailReminder: boolean;
public ModifiedDate?: string;
public AccessGroup: string;
public TextField1: string;
public TextField2: string;
public TextField3: string;
public TextField4: string;
public TextField5: string;
public TextField6: string;
public TextField7: string;
public TextField8: string;
public TextField9: string;
public TextField10: string;
public TextField11: string;
public TextField12: string;
public TextField13: string;
public TextField14: string;
public TextField15: string;
public TextField16: string;
public TextField17: string;
public TextField18: string;
public TextField19: string;
public TextField20: string;
public constructor(init?: Partial<Resource>) { super(init); (Object as any).assign(this, init); }
}
export class ResourceType extends BaseModel implements IBaseModelCreated, IBaseModelUpdated
{
// @Ignore()
public SelectableByUser: boolean;
// @Ignore()
public Resources: Resource[];
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public Name: string;
public Description: string;
// @Required()
public Active: boolean;
// @Required()
public UpdatedDate: string;
// @Required()
public CreatedDate: string;
public ModifiedDate?: string;
public constructor(init?: Partial<ResourceType>) { super(init); (Object as any).assign(this, init); }
}
export class RebateCodeType extends BaseModel
{
// @Required()
public Name: string;
public Description: string;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<RebateCodeType>) { super(init); (Object as any).assign(this, init); }
}
export class AppliedRebateCodes
{
public RebateCodeId: number;
public RebateCodeSign: string;
public RebateCodeValue: number;
public RebateAmount: number;
public RebateCodeType: RebateCodeType;
public constructor(init?: Partial<AppliedRebateCodes>) { (Object as any).assign(this, init); }
}
export class TotalPriceInformation
{
public TotalPrice: number;
public TotalVATAmount: number;
public TotalRebate: number;
public TotalPriceBeforeRebate: number;
public AppliedCodes: AppliedRebateCodes[];
public PriceSign: string;
public CurrencyId: string;
public VAT: number;
public constructor(init?: Partial<TotalPriceInformation>) { (Object as any).assign(this, init); }
}
export enum Currency
{
SEK = 1,
EUR = 2,
}
export class PriceMapping extends BaseModel
{
// @Required()
public CompanyId: string;
// @Required()
public Id: string;
// @Required()
public PriceId: number;
public ReferenceType: string;
public ExternalReference: string;
// @Required()
public UpdatedDate: string;
// @Required()
public CreatedDate: string;
public ModifiedDate?: string;
public constructor(init?: Partial<PriceMapping>) { super(init); (Object as any).assign(this, init); }
}
export enum BokaMeraDayOfWeek
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7,
}
export class ServicePriceDayOfWeekRelation extends BaseModel
{
// @Ignore()
public DayOfWeek: BokaMeraDayOfWeek;
// @Required()
public CompanyId: string;
// @Required()
public ServicePriceId: number;
// @Required()
public DayOfWeekId: number;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<ServicePriceDayOfWeekRelation>) { super(init); (Object as any).assign(this, init); }
}
export interface IDbConnectionFactory
{
}
export class ServerData
{
public HTTP_HOST: string;
public HTTP_CONNECTION: string;
public HTTP_CACHE_CONTROL: string;
public HTTP_ACCEPT: string;
public HTTP_USER_AGENT: string;
public HTTP_ACCEPT_ENCODING: string;
public HTTP_ACCEPT_LANGUAGE: string;
public PATH: string;
public SERVER_SOFTWARE: string;
public SERVER_NAME: string;
public SERVER_ADDR: string;
public SERVER_PORT: string;
public REMOTE_ADDR: string;
public REMOTE_PORT: string;
public GATEWAY_INTERFACE: string;
public SERVER_PROTOCOL: string;
public REQUEST_METHOD: string;
public QUERY_STRING: string;
public REQUEST_TIME: string;
public constructor(init?: Partial<ServerData>) { (Object as any).assign(this, init); }
}
export class Credentials
{
public hash: string;
public id: string;
public version: string;
public client: string;
public serverdata: ServerData;
public time: string;
public test: string;
public language: string;
public constructor(init?: Partial<Credentials>) { (Object as any).assign(this, init); }
}
export class CheckoutData
{
public terms: string;
public privacyPolicy: string;
public redirectOnSuccess: string;
public constructor(init?: Partial<CheckoutData>) { (Object as any).assign(this, init); }
}
export class CheckoutPaymentData
{
public currency: string;
public language: string;
public country: string;
public autoactivate: string;
public orderid: string;
public returnmethod: string;
public accepturl: string;
public cancelurl: string;
public callbackurl: string;
public constructor(init?: Partial<CheckoutPaymentData>) { (Object as any).assign(this, init); }
}
export class PaymentInfo
{
public paymentdate: string;
public paymentterms: string;
public yourreference: string;
public ourreference: string;
public projectname: string;
public deliverymethod: string;
public deliveryterms: string;
public constructor(init?: Partial<PaymentInfo>) { (Object as any).assign(this, init); }
}
export class CartHandling
{
public withouttax: string;
public taxrate: string;
public constructor(init?: Partial<CartHandling>) { (Object as any).assign(this, init); }
}
export class CartTotal
{
public rounding: string;
public withouttax: string;
public tax: string;
public withtax: string;
public constructor(init?: Partial<CartTotal>) { (Object as any).assign(this, init); }
}
export class Shipping
{
public firstname: string;
public lastname: string;
public company: string;
public street: string;
public street2: string;
public zip: string;
public city: string;
public country: string;
public phone: string;
public withouttax: string;
public taxrate: string;
public constructor(init?: Partial<Shipping>) { (Object as any).assign(this, init); }
}
export class Cart
{
public Handling: CartHandling;
public Total: CartTotal;
public Shipping: Shipping;
public constructor(init?: Partial<Cart>) { (Object as any).assign(this, init); }
}
export class CustomerBilling
{
public firstname: string;
public lastname: string;
public company: string;
public street: string;
public street2: string;
public zip: string;
public city: string;
public country: string;
public phone: string;
public email: string;
public constructor(init?: Partial<CustomerBilling>) { (Object as any).assign(this, init); }
}
export class QvicklyCustomer
{
public nr: string;
public pno: string;
public Billing: CustomerBilling;
public constructor(init?: Partial<QvicklyCustomer>) { (Object as any).assign(this, init); }
}
export class InitCheckoutData
{
public CheckoutData: CheckoutData;
public PaymentData: CheckoutPaymentData;
public PaymentInfo: PaymentInfo;
public Articles: QvicklyArticle[];
public Cart: Cart;
public QvicklyCustomer: QvicklyCustomer;
public constructor(init?: Partial<InitCheckoutData>) { (Object as any).assign(this, init); }
}
export class InitCheckoutRequestBody
{
public credentials: Credentials;
public data: InitCheckoutData;
public function: string;
public constructor(init?: Partial<InitCheckoutRequestBody>) { (Object as any).assign(this, init); }
}
export class QvicklyCheckoutResponse
{
public Number: number;
public Status: string;
public OrderId: string;
public Url: string;
public constructor(init?: Partial<QvicklyCheckoutResponse>) { (Object as any).assign(this, init); }
}
export class QvikclyPaymentData
{
public method: string;
public paymentplanid: string;
public currency: string;
public country: string;
public language: string;
public autoactivate: string;
public orderid: string;
public status: string;
public paymentid_related: string;
public url: string;
public constructor(init?: Partial<QvikclyPaymentData>) { (Object as any).assign(this, init); }
}
export class Card
{
public promptname: string;
public recurring: string;
public recurringnr: string;
public accepturl: string;
public cancelurl: string;
public callbackurl: string;
public returnmethod: string;
public constructor(init?: Partial<Card>) { (Object as any).assign(this, init); }
}
export class Settlement
{
public number: string;
public date: string;
public constructor(init?: Partial<Settlement>) { (Object as any).assign(this, init); }
}
export class QvicklyPaymentResponse
{
public PaymentData: QvikclyPaymentData;
public PaymentInfo: PaymentInfo;
public Card: Card;
public Settlement: Settlement;
public QvicklyCustomer: QvicklyCustomer;
public Articles: QvicklyArticle[];
public Cart: Cart;
public constructor(init?: Partial<QvicklyPaymentResponse>) { (Object as any).assign(this, init); }
}
export enum Payson2CheckoutStatus
{
None = 'None',
Created = 'Created',
FormsFilled = 'FormsFilled',
ReadyToPay = 'ReadyToPay',
ProcessingPayment = 'ProcessingPayment',
ReadyToShip = 'ReadyToShip',
Shipped = 'Shipped',
PaidToAccount = 'PaidToAccount',
Canceled = 'Canceled',
Credited = 'Credited',
Expired = 'Expired',
Denied = 'Denied',
}
export enum CustomerType
{
Person = 'Person',
Business = 'Business',
}
export class UserAccessKeys extends BaseModel
{
// @Required()
public CompanyId: string;
// @Required()
public AccessKeyTypeId: number;
// @Required()
public Value: string;
// @Required()
public CustomerId: string;
public Description: string;
// @Required()
public Id: string;
public constructor(init?: Partial<UserAccessKeys>) { super(init); (Object as any).assign(this, init); }
}
export class ExternalReference extends BaseModel
{
// @Required()
public CompanyId: string;
// @Required()
public Id: string;
// @Required()
public OwnerId: string;
// @Required()
public ReferenceType: string;
public ExternalData: string;
public CreatedBy: string;
// @Required()
public Updated: string;
// @Required()
public Created: string;
public ModifiedDate?: string;
public constructor(init?: Partial<ExternalReference>) { super(init); (Object as any).assign(this, init); }
}
export class CustomerComment extends BaseModel
{
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public CustomerId: string;
// @Required()
public Comments: string;
// @Required()
public Updated: string;
// @Required()
public Created: string;
public ImageUrl: string;
public ModifiedDate?: string;
public constructor(init?: Partial<CustomerComment>) { super(init); (Object as any).assign(this, init); }
}
export class Customer extends BaseModel implements IUser, ICustomFieldTable
{
public IdentityId: number;
public Id: string;
// @Ignore()
public CustomerId: string;
// @Ignore()
public AccessKeys: IList<UserAccessKeys>;
public Email: string;
// @Ignore()
public ExternalReferences: IList<ExternalReference>;
// @Ignore()
public Company: Company;
// @Ignore()
public CustomFieldsConfig: IList<CustomFieldConfig>;
// @Ignore()
public CustomFieldsData: IList<CustomFieldDataResponse>;
// @Ignore()
public Comments: IList<CustomerComment>;
// @Ignore()
public RebateCodes: IList<RebateCode>;
public Firstname: string;
// @Ignore()
public ImageUrl: string;
// @Required()
public Active: boolean;
public FacebookUsername: string;
// @Required()
public Updated: string;
// @Required()
public Created: string;
public IpAddress: string;
public ModifiedDate?: string;
public TextField1: string;
public TextField2: string;
public TextField3: string;
public TextField4: string;
public TextField5: string;
public TextField6: string;
public TextField7: string;
public TextField8: string;
public TextField9: string;
public TextField10: string;
public TextField11: string;
public TextField12: string;
public TextField13: string;
public TextField14: string;
public TextField15: string;
public TextField16: string;
public TextField17: string;
public TextField18: string;
public TextField19: string;
public TextField20: string;
public UserId: string;
public Lastname: string;
public Phone: string;
public CorporateIdentityNumber: string;
public InvoiceAddress1: string;
public InvoiceAddress2: string;
public InvoiceCity: string;
public InvoicePostalCode: string;
public InvoiceCountryCode: string;
// @Required()
public CompanyId: string;
public SubscribedToNewsletter: boolean;
public constructor(init?: Partial<Customer>) { super(init); (Object as any).assign(this, init); }
}
export enum ItemType
{
Physical = 'Physical',
Service = 'Service',
Fee = 'Fee',
Discount = 'Discount',
}
export class Item
{
public ItemId: string;
public DiscountRate: number;
public Ean: string;
public ImageUri: string;
public Name: string;
public Quantity: number;
public Reference: string;
public TaxRate: number;
public TotalPriceExcludingTax: number;
public TotalPriceIncludingTax: number;
public TotalTaxAmount: number;
public CreditedAmount: number;
public Type: ItemType;
public UnitPrice: number;
public Uri: string;
public constructor(init?: Partial<Item>) { (Object as any).assign(this, init); }
}
export class Order
{
public Currency: Currency;
public TotalFeeExcludingTax: number;
public TotalFeeIncludingTax: number;
public TotalPriceExcludingTax: number;
public TotalPriceIncludingTax: number;
public TotalTaxAmount: number;
public TotalCreditedAmount: number;
public Items: IList<Item>;
public constructor(init?: Partial<Order>) { (Object as any).assign(this, init); }
}
export class Merchant
{
public CheckoutUri: string;
public ConfirmationUri: string;
public NotificationUri: string;
public ValidationUri: string;
public TermsUri: string;
public Reference: string;
public PartnerId: string;
public constructor(init?: Partial<Merchant>) { (Object as any).assign(this, init); }
}
export enum ColorScheme
{
White = 'White',
Blue = 'Blue',
Gray = 'Gray',
GrayTextLogos = 'GrayTextLogos',
BlueTextLogos = 'BlueTextLogos',
WhiteTextLogos = 'WhiteTextLogos',
WhiteNoFooter = 'WhiteNoFooter',
GrayNoFooter = 'GrayNoFooter',
BlueNoFooter = 'BlueNoFooter',
}
export class Gui
{
public ColorScheme: ColorScheme;
public Locale: string;
public RequestPhone: boolean;
public PhoneOptional: boolean;
public constructor(init?: Partial<Gui>) { (Object as any).assign(this, init); }
}
export class History
{
public Created?: string;
public ReadyToPay?: string;
public ReadyToShip?: string;
public Shipped?: string;
public PaidToAccount?: string;
public Canceled?: string;
public Expired?: string;
public Denied?: string;
public constructor(init?: Partial<History>) { (Object as any).assign(this, init); }
}
export class Payson2CheckoutResponse
{
public Id: string;
public ExpirationTime?: string;
public Snippet: string;
public Status: Payson2CheckoutStatus;
public Customer: Customer;
public Order: Order;
public Merchant: Merchant;
public Gui: Gui;
public History: History;
public PurchaseId?: number;
public constructor(init?: Partial<Payson2CheckoutResponse>) { (Object as any).assign(this, init); }
}
export interface IPaysonPaymentCheckout1
{
}
export class PaymentLog extends BaseModel
{
// @References("typeof(BokaMera.API.ServiceModel.Db.Currency)")
public CurrencyId: string;
public CurrencyInfo: Currency;
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public InternalReferenceId: string;
// @Required()
public ArticleTypeId: number;
public PaymentReferenceId: string;
public PaymentProviderId?: number;
public OrderItemReferenceId: string;
public Amount?: number;
public VAT?: number;
public AmountCredited?: number;
public Comments: string;
// @Required()
public Created: string;
// @Required()
public Updated: string;
public ModifiedDate?: string;
public constructor(init?: Partial<PaymentLog>) { super(init); (Object as any).assign(this, init); }
}
export class PayableEntity extends BaseModel implements IPayableEntity
{
// @Ignore()
public DbFactory: IDbConnectionFactory;
// @Ignore()
public QvicklyPaymentManager: IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse>;
// @Ignore()
public Payson2PaymentManager: IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse>;
// @Ignore()
public PaysonPaymentCheckout1: IPaysonPaymentCheckout1;
// @Ignore()
public Logger: ILogger<PayableEntity>;
// @Ignore()
public InternalReferenceId: string;
// @Ignore()
public PaymentLog: PaymentLog[];
public CompanyId: string;
public PriceVat?: number;
// @References("typeof(BokaMera.API.ServiceModel.Db.Currency)")
public CurrencyId: string;
// @Ignore()
public Customer: Customer;
// @Ignore()
public Customers: Customer[];
// @Ignore()
public Company: Company;
public constructor(init?: Partial<PayableEntity>) { super(init); (Object as any).assign(this, init); }
}
export class RebateCodeStatus extends BaseModel
{
// @Required()
public Name: string;
public Description: string;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<RebateCodeStatus>) { super(init); (Object as any).assign(this, init); }
}
export class ArticleServiceRelation extends BaseModel
{
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public ServiceId: number;
// @Required()
public ArticleId: number;
public constructor(init?: Partial<ArticleServiceRelation>) { super(init); (Object as any).assign(this, init); }
}
export enum ArticleTypeEnum
{
ServiceArticle = 1,
StandAloneArticle = 2,
RebateCodePunchTicketArticle = 3,
RebateCodeGiftCardArticle = 4,
RebateCodeValueCardArticle = 5,
}
export class Article extends BaseModel implements IBaseModelCreated, IBaseModelUpdated
{
public Company: Company;
public CurrencyInfo: Currency;
public ArticleServiceRelations: ArticleServiceRelation[];
// @Ignore()
public ServiceIds: number[];
// @Ignore()
public ArticleType: ArticleTypeEnum;
// @Ignore()
public ArticleTypeName: string;
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public Name: string;
// @Required()
public ArticleTypeId: number;
public Description: string;
public ImageUrl: string;
// @Required()
public Active: boolean;
// @Required()
public Amount: number;
// @Required()
public Price: number;
// @Required()
// @StringLength(50)
public CurrencyId: string;
// @Required()
public UpdatedDate: string;
// @Required()
public CreatedDate: string;
public ModifiedDate?: string;
public constructor(init?: Partial<Article>) { super(init); (Object as any).assign(this, init); }
}
export class RebateCodeDayOfWeekRelation extends BaseModel
{
// @Ignore()
public DayOfWeek: BokaMeraDayOfWeek;
// @Required()
public DayOfWeekId: number;
// @Required()
public RebateCodeId: number;
// @Required()
public CompanyId: string;
public Id: number;
public ModifiedDate?: string;
public constructor(init?: Partial<RebateCodeDayOfWeekRelation>) { super(init); (Object as any).assign(this, init); }
}
export class RebateCodeServiceRelation extends BaseModel
{
// @Required()
public CompanyId: string;
// @Required()
public ServiceId: number;
// @Required()
public RebateCodeId: number;
public Id: number;
public ModifiedDate?: string;
public constructor(init?: Partial<RebateCodeServiceRelation>) { super(init); (Object as any).assign(this, init); }
}
export class RebateCodeBookingPriceRelation extends BaseModel
{
// @Required()
public CompanyId: string;
// @Required()
public PriceId: number;
// @Required()
public RebateCodeId: number;
public Id: number;
public ModifiedDate?: string;
public constructor(init?: Partial<RebateCodeBookingPriceRelation>) { super(init); (Object as any).assign(this, init); }
}
export class RebateCodeCustomerRelation extends BaseModel
{
// @Required()
public CompanyId: string;
// @Required()
public CustomerId: string;
// @Required()
public RebateCodeId: number;
public Id: number;
public ModifiedDate?: string;
public RebateCodeEmailSentToCustomer: boolean;
public MessageToReceiver: string;
public Buyer: boolean;
public constructor(init?: Partial<RebateCodeCustomerRelation>) { super(init); (Object as any).assign(this, init); }
}
export class DaysOfWeek extends BaseModel
{
// @Required()
public DayOfWeek: string;
// @Required()
public DayOfWeekTranslation: string;
public DayOfWeekActive?: boolean;
public DayOfWeekSortOrder?: number;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<DaysOfWeek>) { super(init); (Object as any).assign(this, init); }
}
export class CalendarExport extends BaseModel
{
// @Required()
public CompanyId: string;
// @Required()
public BookingId: number;
// @Required()
public ExceptionId: number;
public CalendarSync?: boolean;
public CalendarId: string;
public IsExceptionDeleted?: boolean;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<CalendarExport>) { super(init); (Object as any).assign(this, init); }
}
export class BookingLogEventType extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<BookingLogEventType>) { super(init); (Object as any).assign(this, init); }
}
export class BookingLog extends BaseModel
{
// @References("typeof(BokaMera.API.ServiceModel.Db.BookingLogEventType)")
public EventTypeId: number;
public EventType: BookingLogEventType;
// @Required()
public CompanyId: string;
// @Required()
public BookingId: number;
public Id: number;
public Comments: string;
public UserId: string;
// @Required()
public Created: string;
public ModifiedDate?: string;
public constructor(init?: Partial<BookingLog>) { super(init); (Object as any).assign(this, init); }
}
export class PaymentDetails extends BaseModel implements IBaseModelCreated, IBaseModelUpdated
{
// @Ignore()
public QvicklyCheckoutSerialized: QvicklyCheckoutResponse;
// @Ignore()
public Payson2CheckoutSerialized: Payson2CheckoutResponse;
// @Required()
public CompanyId: string;
// @Required()
public InternalReferenceId: string;
// @Required()
public ArticleTypeId: number;
// @Required()
public ExternalResponseData: string;
// @Required()
public ExternalResponseReference: string;
// @Required()
public PaymentProviderId: number;
// @Required()
public CreatedDate: string;
// @Required()
public UpdatedDate: string;
public ModifiedDate?: string;
public constructor(init?: Partial<PaymentDetails>) { super(init); (Object as any).assign(this, init); }
}
export class BookingPrice extends BaseModel
{
// @References("typeof(BokaMera.API.ServiceModel.Db.Currency)")
public CurrencyId: string;
public PriceId?: number;
public CurrencyInfo: Currency;
// @Ignore()
public PriceText: string;
// @Ignore()
public AppliedCodes: AppliedRebateCodes[];
// @Ignore()
public IsRebate: boolean;
// @Required()
public CompanyId: string;
// @Required()
public BookingId: number;
// @Required()
public Quantity: number;
public Price?: number;
public VAT?: number;
public Category: string;
// @Required()
public Updated: string;
// @Required()
public Created: string;
// @Required()
public Invoiced: boolean;
// @Required()
public OccupiesSpot: boolean;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<BookingPrice>) { super(init); (Object as any).assign(this, init); }
}
export class BookingStatus extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public Color: string;
// @Required()
public Icon: string;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<BookingStatus>) { super(init); (Object as any).assign(this, init); }
}
export class BookedResource
{
public Id: number;
public Name: string;
public Color: string;
public ImageUrl: string;
public Email: string;
public MobilePhone: string;
public AccessGroup: string;
public EmailNotification: boolean;
public SMSNotification: boolean;
public EmailReminder: boolean;
public SMSReminder: boolean;
public constructor(init?: Partial<BookedResource>) { (Object as any).assign(this, init); }
}
export class BookedResourceType
{
/** @description The resource type id */
// @ApiMember(Description="The resource type id")
public Id: number;
/** @description The resource type name */
// @ApiMember(Description="The resource type name")
public Name: string;
/** @description The resources inside resource type */
// @ApiMember(Description="The resources inside resource type")
public Resources: BookedResource[];
public constructor(init?: Partial<BookedResourceType>) { (Object as any).assign(this, init); }
}
export class Booking extends PayableEntity implements IInterval, ICustomFieldTable, IBaseModelUpdated, IBaseModelCreated
{
// @Ignore()
public Service: Service;
// @Ignore()
public CalendarExport: CalendarExport;
// @Ignore()
public Log: BookingLog[];
// @Ignore()
public CheckoutLogs: PaymentDetails[];
// @Ignore()
public Prices: BookingPrice[];
// @Ignore()
public Status: BookingStatusEnum;
// @Ignore()
public IsReserved: boolean;
// @Ignore()
public StatusName: string;
public CurrencyInfo: Currency;
public BookingStatus: BookingStatus;
// @Ignore()
public TotalPrice?: number;
// @Ignore()
public TotalSpots?: number;
// @Ignore()
public Resources: IList<Resource>;
// @Ignore()
public ExternalReferences: IList<ExternalReference>;
// @Ignore()
public BookedResources: IList<BookedResourceType>;
// @Ignore()
public CustomFieldsConfig: IList<CustomFieldConfig>;
// @Ignore()
public CustomFieldsData: IList<CustomFieldDataResponse>;
// @Ignore()
public DeterministicId: string;
// @Ignore()
public Active: boolean;
// @Ignore()
public LastTimeToUnBook?: string;
// @Ignore()
public PriceMappings: PriceMapping[];
// @Ignore()
public InternalReferenceId: string;
// @Required()
public UpdatedDate: string;
// @Required()
public CreatedDate: string;
public Id: number;
// @Required()
public CustomerId: string;
// @Required()
public ServiceId: number;
// @Required()
public StatusId: number;
public UnbookedOn?: string;
public UnbookedComments: string;
public BookedComments: string;
// @Required()
public BookedBy: string;
public UnBookedBy: string;
// @Required()
public SendSmsReminder: boolean;
// @Required()
public SendEmailReminder: boolean;
// @Required()
public SendSmsConfirmation: boolean;
public RebateCode: string;
public Comments: string;
public IpAddress: string;
// @Required()
public NumberOfBookedSpots: number;
public CommentsToCustomer: string;
public PaymentExpiration?: string;
// @Required()
public SendEmailConfirmation: boolean;
public CancellationCode: string;
public ModifiedDate?: string;
public RatingCode: string;
public TextField1: string;
public TextField2: string;
public TextField3: string;
public TextField4: string;
public TextField5: string;
public TextField6: string;
public TextField7: string;
public TextField8: string;
public TextField9: string;
public TextField10: string;
public TextField11: string;
public TextField12: string;
public TextField13: string;
public TextField14: string;
public TextField15: string;
public TextField16: string;
public TextField17: string;
public TextField18: string;
public TextField19: string;
public TextField20: string;
// @Required()
public From: string;
// @Required()
public To: string;
public constructor(init?: Partial<Booking>) { super(init); (Object as any).assign(this, init); }
}
export class RebateCodeTransaction extends BaseModel implements IBaseModelCreated, IBaseModelUpdated
{
// @Ignore()
public Booking: Booking;
// @Ignore()
public RebateCode: RebateCode;
// @Ignore()
public Customer: Customer;
public Id: number;
public CompanyId: string;
public Note: string;
// @Required()
public RebateCodeId: number;
// @Required()
public Amount: number;
// @Required()
public Usage: number;
public BookingId?: number;
// @Required()
public UpdatedDate: string;
// @Required()
public CreatedDate: string;
public constructor(init?: Partial<RebateCodeTransaction>) { super(init); (Object as any).assign(this, init); }
}
export class RebateCode extends PayableEntity
{
// @References("typeof(BokaMera.API.ServiceModel.Db.RebateCodeType)")
public RebateCodeTypeId: number;
public RebateCodeTypeInfo: RebateCodeType;
// @References("typeof(BokaMera.API.ServiceModel.Db.RebateCodeStatus)")
public RebateCodeStatusId: number;
public RebateCodeStatusInfo: RebateCodeStatus;
// @Ignore()
public Article: Article;
// @Ignore()
public Services: Service[];
public RebateCodeDayOfWeekRelation: RebateCodeDayOfWeekRelation[];
public RebateCodeServiceRelation: RebateCodeServiceRelation[];
public RebateCodeBookingPriceRelation: RebateCodeBookingPriceRelation[];
public RebateCodeCustomerRelation: RebateCodeCustomerRelation[];
// @Ignore()
public ServicesNames: string;
// @Ignore()
public DaysOfWeek: DaysOfWeek[];
// @Ignore()
public RebateCodeStatus: RebateCodeStatus;
// @Ignore()
public RebateCodeType: RebateCodeType;
// @Ignore()
public Transactions: RebateCodeTransaction[];
// @Ignore()
public RemainingAmount?: number;
// @Ignore()
public RemainingUsage?: number;
// @Ignore()
public CurrentNumberOfUsesPerCustomer: number;
// @Ignore()
public IsSpecificByDayOfWeek: boolean;
// @Ignore()
public Active: boolean;
// @Ignore()
public ActiveByStatus: boolean;
// @Ignore()
public RebateCodeCurrencySign: string;
public CurrencyInfo: Currency;
// @Ignore()
public PaymentReceived: boolean;
// @Ignore()
public InternalReferenceId: string;
// @Required()
public ValidFrom: string;
// @Required()
public ValidTo: string;
// @Required()
public RebateCodeSign: string;
// @Required()
public RebateCodeValue: number;
// @Required()
public MaxNumberOfUses: number;
// @Required()
public MaxNumberOfUsesPerCustomer: number;
// @Required()
public NumberOfUsesUsed: number;
public PersonalNote: string;
// @Required()
public CreatedBy: string;
// @Required()
public Created: string;
// @Required()
public UpdatedBy: string;
// @Required()
public UpdatedDate: string;
// @Required()
public FromTime: string;
// @Required()
public ToTime: string;
public ModifiedDate?: string;
public Id: number;
public ArticleId?: number;
public constructor(init?: Partial<RebateCode>) { super(init); (Object as any).assign(this, init); }
}
export class ServicePrice extends BaseModel implements IInterval
{
// @References("typeof(BokaMera.API.ServiceModel.Db.Currency)")
public CurrencyId: string;
public CurrencyInfo: Currency;
// @Ignore()
public Service: Service;
// @Ignore()
public PriceMappings: PriceMapping[];
// @Ignore()
public isTimeSpecific: boolean;
// @Ignore()
public isDaysOfWeekSpecific: boolean;
public DayOfWeeks: ServicePriceDayOfWeekRelation[];
// @Ignore()
public PriceBeforeRebate?: number;
// @Ignore()
public RebateCodesApplied: RebateCode[];
// @Ignore()
public PriceText: string;
// @Ignore()
public OverlappingPrices: ServicePrice[];
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public ServiceId: number;
public Price?: number;
// @Required()
public Updated: string;
// @Required()
public Created: string;
// @Required()
public FromTime: string;
// @Required()
public ToTime: string;
// @Required()
public VAT: number;
public Category: string;
public ModifiedDate?: string;
// @Required()
public From: string;
// @Required()
public To: string;
// @Required()
public CalculationTypeId: number;
public constructor(init?: Partial<ServicePrice>) { super(init); (Object as any).assign(this, init); }
}
export class BookingStatusOptions
{
public Id: number;
public Name: string;
public Description: string;
public constructor(init?: Partial<BookingStatusOptions>) { (Object as any).assign(this, init); }
}
export class ScheduleView extends BaseModel
{
// @Required()
public Name: string;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<ScheduleView>) { super(init); (Object as any).assign(this, init); }
}
export class WeekNumberSetting extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<WeekNumberSetting>) { super(init); (Object as any).assign(this, init); }
}
export class BookingTemplate extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public UsedByApplication: string;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<BookingTemplate>) { super(init); (Object as any).assign(this, init); }
}
export class CalendarType extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public Active: boolean;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<CalendarType>) { super(init); (Object as any).assign(this, init); }
}
export class FreeSpotTexts extends BaseModel
{
// @Required()
public TextSingular: string;
// @Required()
public TextPlural: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<FreeSpotTexts>) { super(init); (Object as any).assign(this, init); }
}
export class BookingSettings extends BaseModel
{
// @References("typeof(BokaMera.API.ServiceModel.Db.FreeSpotTexts)")
public FreeSpotTextsId: number;
// @Ignore()
public SendEmailConfirmation: boolean;
// @Ignore()
public ScheduleViewOptions: ScheduleView[];
// @Ignore()
public WeekNumberSettingOptions: WeekNumberSetting[];
// @Ignore()
public BookingTemplateOptions: BookingTemplate[];
// @Ignore()
public CalendarTypeOptions: CalendarType[];
// @Ignore()
public FreeSpotTextOptions: FreeSpotTexts[];
// @Ignore()
public BookingStatusOptions: BookingStatusOptions[];
public FreeSpotTextsInfo: FreeSpotTexts;
// @Ignore()
public FreeSpotsTextSingular: string;
// @Ignore()
public FreeSpotsTextPlural: string;
// @Required()
public BookingStatusId: number;
// @Required()
public ScheduleViewId: number;
// @Required()
public BookingTemplateId: number;
// @Required()
public CalendarTypeId: number;
// @Required()
public AllowBookingOnUnbookedTimes: boolean;
// @Required()
public SendEmailReminder: boolean;
// @Required()
public SendSmsReminder: boolean;
// @Required()
public SendSmsConfirmation: boolean;
// @Required()
public EmailReminderTime: number;
// @Required()
public SmsReminderTime: number;
// @Required()
public MaxActiveBookings: number;
// @Required()
public SendNotifications: boolean;
public SendNotificationsEmail: string;
// @Required()
public EnableMobileApp: boolean;
public ScheduleStartTime?: string;
public ScheduleEndTime?: string;
public ReceiptTemplate: string;
// @Required()
public ScheduleTimeSlotMinutes: number;
// @Required()
public ShowFreeTimesLeft: boolean;
// @Required()
public EnableICalGroupBookings: boolean;
public AgreementTemplate: string;
// @Required()
public ScheduleShowTimeExeptions: boolean;
// @Required()
public EnableBookingsOnSameTime: boolean;
// @Required()
public ShowWeekNumberSettingId: number;
// @Required()
public EnableShowBookedTimes: boolean;
// @Required()
public EnableSendFollowUpMessage: boolean;
// @Required()
public FollowUpMessageTime: number;
public MessageText: string;
// @Required()
public ScheduleGroupResources: boolean;
// @Required()
public BookSpotUserResponseMinutes: number;
// @Required()
public IsBookSpotDirectly: boolean;
// @Required()
public BookSpotDirectlyTimeLeftMinutes: number;
// @Required()
public SendEmailNotificationQueue: boolean;
// @Required()
public SendSMSNotificationQueue: boolean;
// @Required()
public SchedulerDisableHorizontalScrolling: boolean;
// @Required()
public BookOnlyOnExistingCustomers: boolean;
// @Required()
public AutoGenerateUniquePinCode: boolean;
// @Required()
public WeightedPrices: boolean;
public ModifiedDate?: string;
// @Required()
public AutoCreateUserProfile: boolean;
public ShowMultipleResourcesAsOne: boolean;
public ShowMultiDayAsTime: boolean;
// @Required()
public Id: string;
public constructor(init?: Partial<BookingSettings>) { super(init); (Object as any).assign(this, init); }
}
export class AdminPaymentOptions extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<AdminPaymentOptions>) { super(init); (Object as any).assign(this, init); }
}
export class PaymentProviders extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public Category: string;
public Url: string;
// @Required()
public Active: boolean;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<PaymentProviders>) { super(init); (Object as any).assign(this, init); }
}
export class PaymentSetting extends BaseModel
{
public AdminPaymentOption: AdminPaymentOptions;
// @Ignore()
public AdminPaymentOptions: AdminPaymentOptions[];
// @Ignore()
public PaymentProviderOptions: PaymentProviders[];
// @Required()
public Enabled: boolean;
// @Required()
public InvoiceFee: number;
// @Required()
public AllowCreditCardPayment: boolean;
// @Required()
public AllowInvoicePayment: boolean;
// @Required()
public AllowBankPayment: boolean;
// @Required()
public GuaranteeOffered: boolean;
// @Required()
public RefundOnCancelBooking: boolean;
public DefaultPaymentOptionId?: number;
// @Required()
public PaymentProviderId: number;
// @Required()
public SendPaymentRequestDirectly: boolean;
public ModifiedDate?: string;
// @Required()
public Id: string;
public constructor(init?: Partial<PaymentSetting>) { super(init); (Object as any).assign(this, init); }
}
export class AverageRatingScore
{
public AverageScore: number;
public Score1Count: number;
public Score2Count: number;
public Score3Count: number;
public Score4Count: number;
public Score5Count: number;
public Count: number;
public constructor(init?: Partial<AverageRatingScore>) { (Object as any).assign(this, init); }
}
export class Review extends BaseModel
{
public ReviewId: string;
// @Required()
public CompanyId: string;
// @Required()
public Title: string;
// @Required()
public Description: string;
// @Required()
public Author: string;
// @Required()
public Status: number;
// @Required()
public Created: string;
// @Required()
public Updated: string;
public ModifiedDate?: string;
public ReviewAnswer: string;
public constructor(init?: Partial<Review>) { super(init); (Object as any).assign(this, init); }
}
export class Rating extends BaseModel
{
public ReviewId?: string;
public Review: Review;
// @Required()
public CompanyId: string;
// @Required()
public BookingId: number;
// @Required()
public RatingScore: number;
// @Required()
public Status: number;
// @Required()
public Created: string;
// @Required()
public Updated: string;
public ModifiedDate?: string;
public constructor(init?: Partial<Rating>) { super(init); (Object as any).assign(this, init); }
}
export class Service extends BaseModel implements ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated
{
// @Ignore()
public ResourceTypes: ResourceType[];
// @Ignore()
public Resources: Resource[];
// @Ignore()
public TotalPrice: TotalPriceInformation;
// @Ignore()
public Prices: ServicePrice[];
// @Ignore()
public BookingStatusOptions: BookingStatusOptions[];
// @Ignore()
public IsGroupBooking: boolean;
// @Ignore()
public IsMultipleResource: boolean;
// @Ignore()
public Settings: BookingSettings;
// @Ignore()
public PaymentSetting: PaymentSetting;
// @Ignore()
public BookingCustomFieldsConfig: IList<CustomFieldConfig>;
// @Ignore()
public CustomerCustomFieldsConfig: IList<CustomFieldConfig>;
// @Ignore()
public CustomFieldsConfig: IList<CustomFieldConfig>;
// @Ignore()
public CustomFieldsData: IList<CustomFieldDataResponse>;
// @Ignore()
public Schedules: IList<ISchedule>;
// @Ignore()
public CustomerActiveBookings: IList<Booking>;
// @Ignore()
public ScheduleType: ScheduleType;
// @Ignore()
public LastTimeToUnbookThreshold: string;
// @Ignore()
public LastTimeToBookThreshold: string;
// @Ignore()
public RatingScore: AverageRatingScore;
// @Ignore()
public Ratings: Rating[];
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public Name: string;
// @Required()
public Description: string;
public Group: string;
// @Required()
public Active: boolean;
// @Required()
public SortOrder: number;
// @Required()
public PauseAfterBooking: number;
// @Required()
public UnbookBeforeDays: number;
// @Required()
public UnbookBeforeHours: number;
// @Required()
public UnbookBeforeMinutes: number;
// @Required()
public BookBeforeDays: number;
// @Required()
public BookBeforeHours: number;
// @Required()
public BookBeforeMinutes: number;
public Duration?: number;
public DurationTypeId: number;
public MinDuration?: number;
public MaxDuration?: number;
public DurationInterval?: number;
public TotalSpots?: number;
public ImageUrl: string;
// @Required()
public ScheduleTypeId: number;
// @Required()
public UpdatedDate: string;
// @Required()
public CreatedDate: string;
// @Required()
public OnlyVisibleByAdmin: boolean;
// @Required()
public MinNumberOfSpotsPerBooking: number;
// @Required()
public MaxNumberOfSpotsPerBooking: number;
// @Required()
public MinNumberOfResourcesToBook: number;
// @Required()
public MaxNumberOfResourcesToBook: number;
// @Required()
public IsPaymentEnabled: boolean;
// @Required()
public MaxPaymentTime: number;
// @Required()
public LockSpotsToBooking: boolean;
// @Required()
public EnableBookingQueue: boolean;
public ModifiedDate?: string;
// @Required()
public BookingStatusId: number;
// @Required()
public EnableCodeLockSync: boolean;
// @Required()
public EnableCustomerManualPayment: boolean;
public PriceViewTypeId?: number;
public TextField1: string;
public TextField2: string;
public TextField3: string;
public TextField4: string;
public TextField5: string;
public TextField6: string;
public TextField7: string;
public TextField8: string;
public TextField9: string;
public TextField10: string;
public TextField11: string;
public TextField12: string;
public TextField13: string;
public TextField14: string;
public TextField15: string;
public TextField16: string;
public TextField17: string;
public TextField18: string;
public TextField19: string;
public TextField20: string;
public constructor(init?: Partial<Service>) { super(init); (Object as any).assign(this, init); }
}
export class CustomFieldServiceRelation extends BaseModel
{
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public CustomFieldConfigId: number;
// @Required()
public ServiceId: number;
public ModifiedDate?: string;
public constructor(init?: Partial<CustomFieldServiceRelation>) { super(init); (Object as any).assign(this, init); }
}
export class CustomFieldConfig extends BaseModel
{
// @Ignore()
public Values: CustomFieldValue[];
public CustomField: CustomField;
// @Ignore()
public RegEx: RegEx;
// @Ignore()
public Services: Service[];
public CustomFieldServiceRelation: CustomFieldServiceRelation[];
// @Required()
public CompanyId: string;
public Id: number;
public GroupId?: number;
// @Required()
public FieldId: number;
// @Required()
public IconId: number;
public RegExId?: number;
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public Datatype: string;
// @Required()
public MaxLength: number;
// @Required()
public IsPublic: boolean;
// @Required()
public IsHidden: boolean;
// @Required()
public IsMandatory: boolean;
public DefaultValue: string;
public RegExErrorMessage: string;
public MandatoryErrorMessage: string;
public Width?: number;
// @Required()
public MultipleLineText: boolean;
public ModifiedDate?: string;
public constructor(init?: Partial<CustomFieldConfig>) { super(init); (Object as any).assign(this, init); }
}
export class CompanyType extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<CompanyType>) { super(init); (Object as any).assign(this, init); }
}
export class CodeLockSystem extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Supplier: string;
public LogoType: string;
// @Required()
public Description: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<CodeLockSystem>) { super(init); (Object as any).assign(this, init); }
}
export class CodeLockSetting extends BaseModel
{
// @Ignore()
public CodeLockSystemOptions: CodeLockSystem[];
// @Required()
public Active: boolean;
// @Required()
public CodeLockSystemsId: number;
// @Required()
public ValidBeforeMinutes: number;
// @Required()
public ValidAfterMinutes: number;
// @Required()
public DeleteOldBySchedule: boolean;
// @Required()
public Created: string;
// @Required()
public Updated: string;
public ModifiedDate?: string;
// @Required()
public SendEmailNotification: boolean;
// @Required()
public SendSMSNotification: boolean;
// @Required()
public EmailNotificationTime: number;
// @Required()
public SMSNotificationTime: number;
// @Required()
public Id: string;
public constructor(init?: Partial<CodeLockSetting>) { super(init); (Object as any).assign(this, init); }
}
export class LanguageResponse
{
public Id: string;
public Name: string;
public constructor(init?: Partial<LanguageResponse>) { (Object as any).assign(this, init); }
}
export class CompanySetting extends BaseModel
{
// @Ignore()
public Languages: LanguageResponse[];
// @Required()
public Active: boolean;
public InactiveMessage: string;
// @Required()
public Searchable: boolean;
public GATrackingId: string;
public FacebookPixelId: string;
// @Required()
public MultiLanguage: boolean;
// @Required()
public EnableAPITranslation: boolean;
// @Required()
public DefaultLanguage: string;
public ModifiedDate?: string;
public GTMTrackingId: string;
// @Required()
public ShowOnMarketPlace: boolean;
public GoogleAdsConversionId: string;
public LinkedinTagId: string;
public GoogleAdsConversionLabel: string;
public SendCustomerInformationToExternalProviders: boolean;
// @Required()
public Id: string;
public constructor(init?: Partial<CompanySetting>) { super(init); (Object as any).assign(this, init); }
}
export class WidgetServiceLayouts extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public Code: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<WidgetServiceLayouts>) { super(init); (Object as any).assign(this, init); }
}
export class WidgetTimeLayouts extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public Code: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<WidgetTimeLayouts>) { super(init); (Object as any).assign(this, init); }
}
export class WidgetBookingLayouts extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public Code: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<WidgetBookingLayouts>) { super(init); (Object as any).assign(this, init); }
}
export class WidgetBookingMethods extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public Code: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<WidgetBookingMethods>) { super(init); (Object as any).assign(this, init); }
}
export class HomepageWidgetSetting extends BaseModel
{
// @Ignore()
public WidgetServiceLayoutOptions: WidgetServiceLayouts[];
// @Ignore()
public WidgetTimeLayoutOptions: WidgetTimeLayouts[];
// @Ignore()
public WidgetBookingLayoutOptions: WidgetBookingLayouts[];
// @Ignore()
public WidgetBookingMethodOptions: WidgetBookingMethods[];
// @Required()
public ServiceLayoutId: number;
// @Required()
public TimeLayoutId: number;
// @Required()
public BookingLayoutId: number;
// @Required()
public PrimaryColor: string;
// @Required()
public ShowServiceImage: boolean;
// @Required()
public ShowNextAvailableTime: boolean;
// @Required()
public ShowEndTime: boolean;
public BookedTimeSlotText: string;
// @Required()
public DarkTheme: boolean;
// @Required()
public ShowRebateCodeField: boolean;
public ModifiedDate?: string;
// @Required()
public EnableCreateAccount: boolean;
// @Required()
public EnableLogin: boolean;
// @Required()
public EnableDirectBooking: boolean;
// @Required()
public EnableFacebookLogin: boolean;
// @Required()
public ShowSubscribeToNewsletter: boolean;
// @Required()
public Id: string;
public constructor(init?: Partial<HomepageWidgetSetting>) { super(init); (Object as any).assign(this, init); }
}
export class HomepageTemplate extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Description: string;
public ImageUrl: string;
// @Required()
public Premium: boolean;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<HomepageTemplate>) { super(init); (Object as any).assign(this, init); }
}
export class HeroSectionStyle extends BaseModel
{
// @Required()
public Name: string;
public Description: string;
public ModifiedDate?: string;
// @Required()
public Id: number;
public constructor(init?: Partial<HeroSectionStyle>) { super(init); (Object as any).assign(this, init); }
}
export class HomepageSetting extends BaseModel implements ICompany
{
// @Ignore()
public HomepageTemplateOptions: HomepageTemplate[];
// @Ignore()
public HomepageHeroSectionStyleOptions: HeroSectionStyle[];
// @Ignore()
public CompanyId?: string;
public WelcomePageHeading: string;
public WelcomePageBody: string;
public AboutUsPageHeading: string;
public AboutUsPageBody: string;
// @Required()
public HomePageTemplateId: number;
public ImageUrl: string;
// @Required()
public Updated: string;
// @Required()
public Created: string;
public HomepageHeading: string;
// @Required()
public HeroSectionStyleId: number;
public ModifiedDate?: string;
// @Required()
public ShowRating: boolean;
// @Required()
public EnableHomepage: boolean;
// @Required()
public Id: string;
public constructor(init?: Partial<HomepageSetting>) { super(init); (Object as any).assign(this, init); }
}
export class LicenseTypeItem extends BaseModel
{
// @Ignore()
public Name: string;
// @Ignore()
public LicenseType: LicenseType;
// @Required()
public LicenseTypesId: number;
// @Required()
public LicenseItemsId: number;
// @Required()
public NumberOfItems: number;
public Id: number;
public ModifiedDate?: string;
public constructor(init?: Partial<LicenseTypeItem>) { super(init); (Object as any).assign(this, init); }
}
export class Country extends BaseModel
{
// @References("typeof(BokaMera.API.ServiceModel.Db.Currency)")
public CurrencyId: string;
public CurrencyInfo: Currency;
// @Required()
public Name: string;
public Culture: string;
public TimeZone: string;
public ModifiedDate?: string;
// @Required()
public Id: string;
public constructor(init?: Partial<Country>) { super(init); (Object as any).assign(this, init); }
}
export class LicensePrice extends BaseModel
{
// @Ignore()
public Country: Country;
// @Ignore()
public MonthlyPayment: boolean;
// @Required()
public LicenseTypeId: number;
// @Required()
public CountryId: string;
// @Required()
public Price: number;
public ModifiedDate?: string;
public constructor(init?: Partial<LicensePrice>) { super(init); (Object as any).assign(this, init); }
}
export class LicenseType extends BaseModel
{
// @Ignore()
public LicenseItems: IList<LicenseTypeItem>;
// @Ignore()
public Prices: IList<LicensePrice>;
// @Ignore()
public PeriodOfNoticeDays: number;
// @Ignore()
public NextLicenseOption: LicenseType;
// @Required()
public Name: string;
// @Required()
public Description: string;
// @Required()
public ExtraLicenseOption: boolean;
public ModifiedDate?: string;
public Active: boolean;
public Id: number;
public constructor(init?: Partial<LicenseType>) { super(init); (Object as any).assign(this, init); }
}
export class License extends BaseModel
{
public Type: LicenseType;
// @Required()
public CompanyId: string;
public Id: number;
// @Required()
public TypeId: number;
// @Required()
public ValidFrom: string;
// @Required()
public ValidTo: string;
// @Required()
public Active: boolean;
// @Required()
public Updated: string;
// @Required()
public Created: string;
public ModifiedDate?: string;
public MetaData: string;
public constructor(init?: Partial<License>) { super(init); (Object as any).assign(this, init); }
}
export class CompanyCategory extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public Header: string;
// @Required()
public Description: string;
public ImageUrl: string;
// @Required()
public Active: boolean;
public SortOrder?: number;
public ModifiedDate?: string;
public Id: number;
public constructor(init?: Partial<CompanyCategory>) { super(init); (Object as any).assign(this, init); }
}
export class Company extends BaseModel
{
// @Ignore()
public Status: CompanyStatus;
// @Ignore()
public Active: boolean;
// @Ignore()
public CustomerCustomFieldsConfig: IList<CustomFieldConfig>;
// @Ignore()
public BookingAgreements: string;
// @Ignore()
public BookingSettings: BookingSettings;
// @Ignore()
public CompanyType: CompanyType;
// @Ignore()
public CodeLockSettings: CodeLockSetting;
// @Ignore()
public PaymentSettings: PaymentSetting;
// @Ignore()
public Settings: CompanySetting;
// @Ignore()
public WidgetSettings: HomepageWidgetSetting;
// @Ignore()
public HomepageSettings: HomepageSetting;
// @Ignore()
public RatingScore: AverageRatingScore;
// @Ignore()
public Ratings: Rating[];
// @Ignore()
public Distance?: number;
// @Ignore()
public Licenses: License[];
// @Ignore()
public ActiveLicenses: License[];
// @Ignore()
public CurrentLicense: License;
// @Ignore()
public IsFreeAccount: boolean;
// @Ignore()
public DefaultLanguage: CultureInfo;
public Category: CompanyCategory;
// @Ignore()
public Lat: number;
// @Ignore()
public Lon: number;
// @Ignore()
public IsFavorite: boolean;
// @Ignore()
public ExternalReferences: IList<ExternalReference>;
// @Required()
public OrganisationNumber: string;
// @Required()
public StatusId: number;
// @Required()
public CategoryId: number;
// @Required()
public SitePath: string;
// @Required()
public Name: string;
public Street1: string;
public Street2: string;
public ZipCode: string;
public City: string;
public OpeningHours: string;
public FaxNumber: string;
// @Required()
public Email: string;
public Phone: string;
public Details: string;
public LogoType: string;
// @Required()
public ApprovedByAdmin: boolean;
// @Required()
public Updated: string;
// @Required()
public Created: string;
public IpAddress: string;
public Homepage: string;
public DomainName: string;
// @Required()
public CountryId: string;
// @Required()
public CompanyOwnerId: number;
public TypeId?: number;
public ModifiedDate?: string;
// @Required()
public Id: string;
public constructor(init?: Partial<Company>) { super(init); (Object as any).assign(this, init); }
}
export class SuperAdminCompanyQuery extends QueryDb<Company, CompanyQueryResponse>
{
/** @description Id for a specific company you want to retrieve. */
// @ApiMember(Description="Id for a specific company you want to retrieve.", ParameterType="query")
public Id?: string;
/** @description Include companies in these categories. */
// @ApiMember(Description="Include companies in these categories.", ParameterType="query")
public Categories: number[];
/** @description The site path url for the company homepage */
// @ApiMember(Description="The site path url for the company homepage", ParameterType="query")
public SitePath: string;
/** @description Search active companies. You're only allowed to search active companies. */
// @ApiMember(Description="Search active companies. You're only allowed to search active companies.", ParameterType="query")
public Active: boolean;
/** @description Maxium distance from the coordinates to be included in the result. */
// @ApiMember(Description="Maxium distance from the coordinates to be included in the result.", ParameterType="query")
public Distance?: number;
/** @description Will search by any company name or city that contains the search string provided. */
// @ApiMember(Description="Will search by any company name or city that contains the search string provided.", ParameterType="query")
public Search: string;
/** @description Will search by any company owner id. Default is 1 = BokaMera. */
// @ApiMember(Description="Will search by any company owner id. Default is 1 = BokaMera.", ParameterType="query")
public CompanyOwnerId?: number;
/** @description If you want to get the booking agreements loaded into the field BookingAgreements */
// @ApiMember(DataType="boolean", Description="If you want to get the booking agreements loaded into the field BookingAgreements", ParameterType="query")
public IncludeBookingAgreements: boolean;
/** @description If you want to get the booking settings loaded into the field BookingSettings */
// @ApiMember(DataType="boolean", Description="If you want to get the booking settings loaded into the field BookingSettings", ParameterType="query")
public IncludeBookingSettings: boolean;
/** @description If you want to get the system settings loaded into the field SystemSettings */
// @ApiMember(DataType="boolean", Description="If you want to get the system settings loaded into the field SystemSettings", ParameterType="query")
public IncludeSystemSettings: boolean;
/** @description If you want to get the widget settings loaded into the field WidgetSettings */
// @ApiMember(DataType="boolean", Description="If you want to get the widget settings loaded into the field WidgetSettings", ParameterType="query")
public IncludeWidgetSettings: boolean;
/** @description If you want to get the homepage settings loaded into the field HomepageSettings */
// @ApiMember(DataType="boolean", Description="If you want to get the homepage settings loaded into the field HomepageSettings", ParameterType="query")
public IncludeHomepageSettings: boolean;
/** @description If you want to include the connected custom fields for the customers */
// @ApiMember(DataType="boolean", Description="If you want to include the connected custom fields for the customers", ParameterType="query")
public IncludeCustomerCustomFields: boolean;
/** @description If you want to include the connected custom fields */
// @ApiMember(DataType="boolean", Description="If you want to include the connected custom fields", ParameterType="query")
public IncludeCustomFields: boolean;
/** @description If you want to include the rating reviews */
// @ApiMember(DataType="boolean", Description="If you want to include the rating reviews", ParameterType="query")
public IncludeRatingReviews: boolean;
/** @description If you want to include the rating summary */
// @ApiMember(DataType="boolean", Description="If you want to include the rating summary", ParameterType="query")
public IncludeRatingSummary: boolean;
/** @description Company user email */
// @ApiMember(Description="Company user email", ParameterType="query")
public CompanyUserEmail: string;
public constructor(init?: Partial<SuperAdminCompanyQuery>) { super(init); (Object as any).assign(this, init); }
}
export class Currency extends BaseModel
{
// @Required()
public Name: string;
// @Required()
public CurrencySign: string;
// @Required()
public Active: boolean;
public ModifiedDate?: string;
// @Required()
public Id: string;
public constructor(init?: Partial<Currency>) { super(init); (Object as any).assign(this, init); }
}
export interface IBokameraPaymentManager<TCreatedCheckoutResponse, TCheckoutResponse, TPaymentResponse>
{
}
export class QvicklyArticle
{
public artnr: string;
public title: string;
public quantity: number;
public aprice: number;
public tax: number;
public discount: number;
public withouttax: number;
public taxrate: number;
public constructor(init?: Partial<QvicklyArticle>) { (Object as any).assign(this, init); }
}
export class Customer
{
public City: string;
public CountryCode: string;
public IdentityNumber: string;
public Email: string;
public FirstName: string;
public LastName: string;
public Phone: string;
public PostalCode: string;
public Street: string;
public Reference: string;
public Type: CustomerType;
public constructor(init?: Partial<Customer>) { (Object as any).assign(this, init); }
}
export interface ILogger<TCategoryName> extends ILogger
{
}
export class AccessKeyTypeResponse
{
public Id: number;
public KeyType: string;
public Description: string;
public constructor(init?: Partial<AccessKeyTypeResponse>) { (Object as any).assign(this, init); }
}
// @DataContract
export class QueryResponse<AccessKeyTypeResponse>
{
// @DataMember(Order=1)
public Offset: number;
// @DataMember(Order=2)
public Total: number;
// @DataMember(Order=3)
public Results: AccessKeyTypeResponse[];
// @DataMember(Order=4)
public Meta: { [index: string]: string; };
// @DataMember(Order=5)
public ResponseStatus: ResponseStatus;
public constructor(init?: Partial<QueryResponse<AccessKeyTypeResponse>>) { (Object as any).assign(this, init); }
}
TypeScript SuperAdminCompanyQuery DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /superadmin/companies HTTP/1.1 Host: api.bokamera.se Accept: text/jsonl
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"Offset":0,"Total":0,"Results":[{"Name":"String","OrganisationNumber":"String","TypeId":0,"Details":"String","CategoryId":0,"Category":"String","Street1":"String","Street2":"String","ZipCode":"String","City":"String","CountryId":"String","Longitude":"String","Latitude":"String","Distance":0,"Phone":"String","Email":"String","Homepage":"String","SitePath":"String","Active":false,"CodeLockSystem":"Sample","IsFreeAccount":false,"Updated":"0001-01-01T00:00:00","Created":"0001-01-01T00:00:00","StatusId":0,"IsFavorite":false,"BookingAgreements":"String","BookingSettings":{"EnableMobileApp":false,"BookingReceiptMessage":"String","ShowFreeTimesLeft":false,"EnableShowBookedTimes":false,"BookingAgreement":"String","WeekNumberSetting":0,"ShowBookedTimes":false,"PaymentProviderId":0,"BookOnlyOnExistingCustomers":false,"PaymentEnabled":false},"SystemSettings":{"Active":false,"InactiveMessage":"String","Searchable":false,"GATrackingId":"String","GoogleAdsConversionId":"String","LinkedinTagId":"String","GoogleAdsConversionLabel":"String","GTMTrackingId":"String","FacebookPixelId":"String","MultiLanguage":false,"ShowOnMarketplace":false,"EnableAPITranslation":false,"DefaultLanguage":"String","SendCustomerInformationToExternalProviders":false},"WidgetSettings":{"ServiceLayoutId":0,"TimeLayoutId":0,"BookingLayoutId":0,"PrimaryColor":"String","ShowServiceImage":false,"ShowRebateCodeField":false,"ShowNextAvailableTime":false,"ShowEndTime":false,"BookedTimeSlotText":"String","DarkTheme":false,"ShowSubscribeToNewsletter":false},"HomepageSettings":{"HomepageHeading":"String","WelcomePageHeading":"String","WelcomePageBody":"String","AboutUsPageHeading":"String","AboutUsPageBody":"String","ShowRating":false,"HomePageTemplateId":0,"HeroSectionStyleId":0,"EnableHomepage":false},"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"}],"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"}]}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}],"Meta":{"String":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}