/* Options: Date: 2024-09-19 03:04:30 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RebateCodeQuery.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } // @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.

Example:
?skip=10&orderBy=Id */ // @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.

Example:
?take=20 */ // @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.

Example:
?orderBy=Id,-Age,FirstName */ // @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.

Example:
?orderByDesc=Id,-Age,FirstName */ // @DataMember(Order=4) public OrderByDesc: string; /** @description Include any of the aggregates AVG, COUNT, FIRST, LAST, MAX, MIN, SUM in your result set. The results will be returned in the meta field.

Example:
?include=COUNT(*) as Total

or multiple fields with
?include=Count(*) Total, Min(Age), AVG(Age) AverageAge

or unique with
?include=COUNT(DISTINCT LivingStatus) as UniqueStatus */ // @DataMember(Order=5) public Include: string; // @DataMember(Order=6) public Fields: string; // @DataMember(Order=7) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class QueryDb extends QueryBase { public constructor(init?: Partial>) { super(init); (Object as any).assign(this, init); } } export interface ICompany { CompanyId?: string; } export class BaseModel { public constructor(init?: Partial) { (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) { 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) { 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) { super(init); (Object as any).assign(this, init); } } // @DataContract export class ResponseError { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public FieldName: string; // @DataMember(Order=3) public Message: string; // @DataMember(Order=4) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[]; // @DataMember(Order=5) public Meta: { [index: string]: string; }; public constructor(init?: Partial) { (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) { (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) { (Object as any).assign(this, init); } } export class CheckoutData { public terms: string; public privacyPolicy: string; public redirectOnSuccess: string; public constructor(init?: Partial) { (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) { (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) { (Object as any).assign(this, init); } } export class CartHandling { public withouttax: string; public taxrate: string; public constructor(init?: Partial) { (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) { (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) { (Object as any).assign(this, init); } } export class Cart { public Handling: CartHandling; public Total: CartTotal; public Shipping: Shipping; public constructor(init?: Partial) { (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) { (Object as any).assign(this, init); } } export class QvicklyCustomer { public nr: string; public pno: string; public Billing: CustomerBilling; public constructor(init?: Partial) { (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) { (Object as any).assign(this, init); } } export class InitCheckoutRequestBody { public credentials: Credentials; public data: InitCheckoutData; public function: string; public constructor(init?: Partial) { (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) { (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) { (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) { (Object as any).assign(this, init); } } export class Settlement { public number: string; public date: string; public constructor(init?: Partial) { (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) { (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 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) { super(init); (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) { 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) { 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) { 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) { 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) { super(init); (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) { 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) { 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) { 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) { 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) { super(init); (Object as any).assign(this, init); } } export class BookingStatusOptions { public Id: number; public Name: string; public Description: string; public constructor(init?: Partial) { (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) { 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) { 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) { 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) { 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) { 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) { 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) { super(init); (Object as any).assign(this, init); } } export class LanguageResponse { public Id: string; public Name: string; public constructor(init?: Partial) { (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; // @Required() public Id: string; public constructor(init?: Partial) { 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) { 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) { 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) { 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) { 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 Id: string; public constructor(init?: Partial) { 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) { 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) { 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) { 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) { (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) { 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) { 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) { super(init); (Object as any).assign(this, init); } } export enum Currency { SEK = 1, EUR = 2, } 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) { 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) { super(init); (Object as any).assign(this, init); } } export class LicenseType extends BaseModel { // @Ignore() public LicenseItems: IList; // @Ignore() public Prices: IList; // @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) { 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) { 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) { 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; // @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; // @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) { super(init); (Object as any).assign(this, init); } } 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) { (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) { super(init); (Object as any).assign(this, init); } } export class PayableEntity extends BaseModel implements IPayableEntity { // @Ignore() public DbFactory: IDbConnectionFactory; // @Ignore() public QvicklyPaymentManager: IBokameraPaymentManager; // @Ignore() public Payson2PaymentManager: IBokameraPaymentManager; // @Ignore() public PaysonPaymentCheckout1: IPaysonPaymentCheckout1; // @Ignore() public Logger: ILogger_1; // @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) { 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) { 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) { 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 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { (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) { super(init); (Object as any).assign(this, init); } } export enum BookingStatusEnum { Booked = 1, Unbooked = 2, Reserved = 3, Canceled = 4, AwaitingPayment = 5, AwaitingPaymentNoTimeLimit = 6, Payed = 7, AwaitingPaymentRequestFromAdmin = 8, AwaitingPaymentFromProvider = 9, Invoiced = 10, } export enum ScheduleType { NotDefined = 'NotDefined', RecurringSchedule = 'RecurringSchedule', DateSchedule = 'DateSchedule', } export interface ISchedule { Resources: IList; Type: ScheduleType; Active: boolean; IsResourceSpecific: boolean; } export interface ITimeException extends IInterval { Id: number; ReasonText: string; IsBlock: boolean; ReasonTextPublic: string; IsRecurring: boolean; ResourceIds: number[]; } 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) { (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 Resource extends BaseModel implements ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated { // @Ignore() public Priority: number; // @Ignore() public Schedules: IList; // @Ignore() public Exceptions: IList; // @Ignore() public Bookings: IList; // @Ignore() public CustomFieldsConfig: IList; // @Ignore() public CustomFieldsData: IList; // @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) { 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) { (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) { (Object as any).assign(this, init); } } 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) { super(init); (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; // @Ignore() public ExternalReferences: IList; // @Ignore() public BookedResources: IList; // @Ignore() public CustomFieldsConfig: IList; // @Ignore() public CustomFieldsData: IList; // @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) { 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) { 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 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 constructor(init?: Partial) { super(init); (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) { (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) { (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; public constructor(init?: Partial) { (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) { (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) { (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) { (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) { (Object as any).assign(this, init); } } export interface IInterval { From: string; To: string; } 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) { 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; public Email: string; // @Ignore() public ExternalReferences: IList; // @Ignore() public Company: Company; // @Ignore() public CustomFieldsConfig: IList; // @Ignore() public CustomFieldsData: IList; // @Ignore() public Comments: IList; // @Ignore() public RebateCodes: IList; 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) { super(init); (Object as any).assign(this, init); } } export class RebateCodeServiceResponse { public Id: number; public Name: string; public Description: string; public Active: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RebateCodeCustomerResponse { public Id: string; public Firstname: string; public Lastname: string; public Email: string; public Phone: string; public ImageUrl: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RebateCodeTransactionQueryResponse { public Id: number; public CompanyId: string; public Note: string; public RebateCodeId: number; public RebateCodeSign: string; public RebateCodeTypeId?: number; public RebateCodeTypeName: string; public Amount: number; public BookingId?: number; public UpdatedDate: string; public CreatedDate: string; public Service: RebateCodeServiceResponse; public Customer: RebateCodeCustomerResponse; public PriceSign: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DaysOfWeekResponse { public Id: number; public DayOfWeek: string; public DayOfWeekTranslation: string; public DayOfWeekActive?: boolean; public DayOfWeekSortOrder?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IBaseModelCreated { CreatedDate: string; } export interface IBaseModelUpdated { UpdatedDate: string; } export interface IBokameraPaymentManager { } export interface ILogger_1 extends ILogger { } export interface IPayableEntity extends ICompanyInformationLoader, ICustomerInformationLoader { InternalReferenceId: string; // @Ignore() PaymentLog: PaymentLog[]; } export interface ICompanyInformationLoader { CompanyId: string; } export interface ICustomerInformationLoader { Customer: Customer; Customers: Customer[]; } export interface ICustomFieldTable { CustomFieldsConfig: IList; CustomFieldsData: IList; 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; } export interface ILogger { } export class RebateCodeResponse { public Id: number; public CompanyId?: string; public ValidFrom: string; public ValidTo: 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. */ // @ApiMember(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.") public FromTime: string; /** @description If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters. */ // @ApiMember(Description="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.") public ToTime: string; public CreatedBy: string; public Created: string; public UpdatedBy: string; public Updated: string; public PersonalNote: string; public RebateCodeSign: string; public RebateCodeValue: number; public RebateCodeTypeId: number; public Name: string; public RebateCodeStatusId: number; public StatusName: string; public MaxNumberOfUses: number; public MaxNumberOfUsesPerCustomer: number; public NumberOfUsesUsed: number; public DaysOfWeek: DaysOfWeekResponse[]; public Services: RebateCodeServiceResponse[]; public Transactions: RebateCodeTransactionQueryResponse[]; public RemainingAmount: number; public RemainingUsage: number; public Customers: RebateCodeCustomerResponse[]; public ResponseStatus: ResponseStatus; public PaymentReceived: boolean; public RebateCodeCurrencySign: string; public ActiveByStatus: boolean; public PriceSign: string; public RebateCodeTypeName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class QueryResponse { // @DataMember(Order=1) public Offset: number; // @DataMember(Order=2) public Total: number; // @DataMember(Order=3) public Results: RebateCodeResponse[]; // @DataMember(Order=4) public Meta: { [index: string]: string; }; // @DataMember(Order=5) public ResponseStatus: ResponseStatus; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } // @Route("/rebatecodes", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") export class RebateCodeQuery extends QueryDb implements IReturn>, ICompany { /** @description Enter the company and id you want to see the information for a rebate code, if blank company id and you are an admin, your company id will be used. If blank id, all rebate codes will be shown */ // @ApiMember(Description="Enter the company and id you want to see the information for a rebate code, if blank company id and you are an admin, your company id will be used. If blank id, all rebate codes will be shown ", ParameterType="query") public CompanyId?: string; /** @description RebateCodeId */ // @ApiMember(Description="RebateCodeId") public Id?: number; /** @description */ // @ApiMember(Description="") public Active?: boolean; /** @description 1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard */ // @ApiMember(Description="1 - Percent, 2 - Сurrency, 3 - PunchTicket, 4 - ValueCard, 5 - GiftCard") public RebateCodeTypeIds: number[]; /** @description */ // @ApiMember(Description="") public IncludeCodeTypeOptions: boolean; /** @description */ // @ApiMember(Description="") public IncludeStatusOptions: boolean; /** @description */ // @ApiMember(Description="") public IncludeConnectedServices: boolean; /** @description */ // @ApiMember(Description="") public IncludeConnectedDaysOfWeek: boolean; /** @description */ // @ApiMember(Description="") public IncludeConnectedCustomers: boolean; /** @description */ // @ApiMember(Description="") public CompanyRebateCodes: boolean; /** @description */ // @ApiMember(Description="") public IncludeUsages: boolean; /** @description If you want to include the payment log on the rebate code */ // @ApiMember(DataType="boolean", Description="If you want to include the payment log on the rebate code", ParameterType="query") public IncludePaymentLog: boolean; /** @description */ // @ApiMember(Description="") public CustomerId?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'RebateCodeQuery'; } public getMethod() { return 'GET'; } public createResponse() { return new QueryResponse(); } }