/* Options: Date: 2024-06-17 00:46:23 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: SuperAdminCompanyInvoiceQuery.* //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 BillingMethodCountriesRelation extends BaseModel { // @Required() public BillingMethodId: number; // @Required() public CountryId: string; public ModifiedDate?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class BillingMethod extends BaseModel { public BillingMethodCountriesRelation: BillingMethodCountriesRelation[]; // @Required() public Name: string; // @Required() public Description: string; public ModifiedDate?: string; public Id: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class BillingInformation extends BaseModel { public BillingMethod: BillingMethod; // @Required() public BillingMethodId: number; // @Required() public Name: string; public Attention: string; public Street1: string; public Street2: string; public ZipCode: string; public City: string; public Email: string; public CreditCard: string; public CreditCardHolder: string; public CreditCardNumber: string; public ValidToYear?: number; public ValidToMonth?: number; public CSV: string; // @Required() public Updated: string; // @Required() public Created: string; // @Required() public CountryId: string; // @Required() public PaymentTermsDays: number; public VATRegistrationNumber: string; public GLN: string; public ReferenceLine1: string; public ReferenceLine2: string; public ModifiedDate?: string; // @Required() public Id: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export enum Currency { SEK = 1, EUR = 2, } export class InvoiceStatus 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 CompanyInvoiceLine extends BaseModel { // @Required() public CompanyId: string; // @Required() public InvoiceId: number; // @Required() public Id: number; // @Required() public PeriodFrom: string; // @Required() public PeriodTo: string; public ArticleNumber?: number; // @Required() public ArticleName: string; // @Required() public ArticleDescription: string; // @Required() public Quantity: number; // @Required() public UnitPrice: number; // @Required() public SubTotal: number; // @Required() public Rebate: number; public Updated?: string; public Created?: string; public ModifiedDate?: string; public constructor(init?: Partial) { 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) { 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; // @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 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 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 CompanyInvoice extends BaseModel { // @References("typeof(BokaMera.API.ServiceModel.Db.Currency)") public CurrencyId: string; public CurrencyInfo: Currency; public InvoiceStatus: InvoiceStatus; // @Ignore() public InvoiceLines: CompanyInvoiceLine[]; // @Ignore() public BillingInformation: BillingInformation; // @Ignore() public ExternalReferences: ExternalReference[]; // @Ignore() public Company: Company; // @Required() public CompanyId: string; public Id: number; // @Required() public StatusId: number; // @Required() public InvoiceDate: string; public DueDate?: string; // @Required() public PeriodFrom: string; // @Required() public PeriodTo: string; // @Required() public TotalAmount: number; // @Required() public Rounding: number; // @Required() public VAT: number; // @Required() public VATRegistrationNo: string; // @Required() public RegistrationNumber: string; // @Required() public CompanyName: string; public ContactPerson: string; public Street1: string; public Street2: string; public City: string; public Zip: string; public Country: string; public PaymentMethod: string; public ViewedDate?: string; public ViewedBy: string; public Message: string; public Updated?: string; public Created?: string; public PromikBookInvoiceId?: number; public ModifiedDate?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class CompanyOwnerResponse { /** @description Company owner id */ // @ApiMember(Description="Company owner id") public Id: number; /** @description Company owner name */ // @ApiMember(Description="Company owner name") public Name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CompanyTypeResponse { /** @description Company type id */ // @ApiMember(Description="Company type id") public Id: number; /** @description Company type name */ // @ApiMember(Description="Company type name") public Name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CurrencyInfoResponse { /** @description The currency id */ // @ApiMember(Description="The currency id") public Id: string; /** @description The currency id */ // @ApiMember(Description="The currency id") public Name: string; /** @description The currency id */ // @ApiMember(Description="The currency id") public CurrencySign: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InvoiceStatusResponse { /** @description The status id */ // @ApiMember(Description="The status id") public Id: number; /** @description The status name */ // @ApiMember(Description="The status name") public Name: string; /** @description The status description */ // @ApiMember(Description="The status description") public Description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InvoiceLineResponse { /** @description The invoice id */ // @ApiMember(Description="The invoice id") public InvoiceId: number; /** @description The invoice line id */ // @ApiMember(Description="The invoice line id") public Id: number; /** @description The invoice line period from date */ // @ApiMember(Description="The invoice line period from date") public PeriodFrom: string; /** @description The invoice line period to date */ // @ApiMember(Description="The invoice line period to date") public PeriodTo: string; /** @description The invoice line article number */ // @ApiMember(Description="The invoice line article number") public ArticleNumber?: number; /** @description The invoice line article name */ // @ApiMember(Description="The invoice line article name") public ArticleName: string; /** @description The invoice line article description */ // @ApiMember(Description="The invoice line article description") public ArticleDescription: string; /** @description The invoice line quantity */ // @ApiMember(Description="The invoice line quantity") public Quantity: number; /** @description The invoice line unit price */ // @ApiMember(Description="The invoice line unit price") public UnitPrice: number; /** @description The invoice line sub total */ // @ApiMember(Description="The invoice line sub total") public SubTotal: number; /** @description The invoice line rebate in percent */ // @ApiMember(Description="The invoice line rebate in percent") public Rebate: number; /** @description The invoice line updated date */ // @ApiMember(Description="The invoice line updated date") public Updated?: string; /** @description The invoice line created date */ // @ApiMember(Description="The invoice line created date") public Created?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BillingInformationResponse { /** @description The company id. */ // @ApiMember(Description="The company id.") public CompanyId: string; /** @description The prefered billing method. */ // @ApiMember(Description="The prefered billing method.", IsRequired=true) public BillingMethodId: number; /** @description The name that should be printed on the billing information, normally this would be your company name. */ // @ApiMember(Description="The name that should be printed on the billing information, normally this would be your company name.") public Name: string; /** @description If you want to add the attention to the billing address. */ // @ApiMember(Description="If you want to add the attention to the billing address.") public Attention: string; /** @description The street for the billing adress. This is required when having postal invoice as billing method. */ // @ApiMember(Description="The street for the billing adress. This is required when having postal invoice as billing method.") public Street1: string; /** @description The street for the billing adress. */ // @ApiMember(Description="The street for the billing adress.") public Street2: string; /** @description The zip code (postal code) for the billing adress. This is required when having postal invoice as billing method. */ // @ApiMember(Description="The zip code (postal code) for the billing adress. This is required when having postal invoice as billing method.") public ZipCode: string; /** @description The city for the billing adress. This is required when having postal invoice as billing method. */ // @ApiMember(Description="The city for the billing adress. This is required when having postal invoice as billing method.") public City: string; /** @description The country for the billing adress. This is required when having postal invoice as billing method. */ // @ApiMember(Description="The country for the billing adress. This is required when having postal invoice as billing method.") public CountryId: string; /** @description The billing email. This is required when having email invoice as billing method. */ // @ApiMember(Description="The billing email. This is required when having email invoice as billing method.") public Email: string; /** @description The company global location number. */ // @ApiMember(Description="The company global location number.") public GLN: string; /** @description You're internal rereference. */ // @ApiMember(Description="You're internal rereference.") public ReferenceLine1: string; /** @description You're internal rereference. */ // @ApiMember(Description="You're internal rereference.") public ReferenceLine2: string; /** @description The billing payment terms in days. This is default 15 days. */ // @ApiMember(Description="The billing payment terms in days. This is default 15 days.") public PaymentTermsDays: number; /** @description The company vat registration number. */ // @ApiMember(Description="The company vat registration number.") public VatRegistrationNumber: string; /** @description The billing method options to choose from */ // @ApiMember(Description="The billing method options to choose from") public BillingMethodOptions: BillingMethod[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CompanyInvoiceQueryResponse { /** @description The company id */ // @ApiMember(Description="The company id") public CompanyId: string; /** @description The invoice id */ // @ApiMember(Description="The invoice id") public Id: number; /** @description Status of the invoice */ // @ApiMember(Description="Status of the invoice") public StatusId: number; /** @description Date of the invoice */ // @ApiMember(Description="Date of the invoice") public InvoiceDate: string; /** @description Due date of the invoice */ // @ApiMember(Description="Due date of the invoice") public DueDate?: string; /** @description What start date of the invoice period */ // @ApiMember(Description="What start date of the invoice period") public PeriodFrom: string; /** @description What end date of the invoice period */ // @ApiMember(Description="What end date of the invoice period") public PeriodTo: string; /** @description The total amount of the invoice */ // @ApiMember(Description="The total amount of the invoice") public TotalAmount: number; /** @description The rounding of the total amount */ // @ApiMember(Description="The rounding of the total amount") public Rounding: number; /** @description The VAT */ // @ApiMember(Description="The VAT") public VAT: number; /** @description The VAT registration number */ // @ApiMember(Description="The VAT registration number") public VATRegistrationNo: string; /** @description The company registration number */ // @ApiMember(Description="The company registration number") public RegistrationNumber: string; /** @description The company name */ // @ApiMember(Description="The company name") public CompanyName: string; /** @description The company owner, used for grouping invoices per CompanyOwner */ // @ApiMember(Description="The company owner, used for grouping invoices per CompanyOwner") public CompanyOwner: CompanyOwnerResponse; /** @description The company type */ // @ApiMember(Description="The company type") public CompanyType: CompanyTypeResponse; /** @description The company contact person */ // @ApiMember(Description="The company contact person") public ContactPerson: string; /** @description The company street */ // @ApiMember(Description="The company street") public Street1: string; /** @description The company street */ // @ApiMember(Description="The company street") public Street2: string; /** @description The company city */ // @ApiMember(Description="The company city") public City: string; /** @description The company zip */ // @ApiMember(Description="The company zip") public Zip: string; /** @description The company country */ // @ApiMember(Description="The company country") public CountryId: string; /** @description The invoice currency */ // @ApiMember(Description="The invoice currency") public CurrencyId: string; /** @description The invoice created date */ // @ApiMember(Description="The invoice created date") public Created?: string; /** @description The invoice updated date */ // @ApiMember(Description="The invoice updated date") public Updated?: string; /** @description The reference to promikbook invoice */ // @ApiMember(Description="The reference to promikbook invoice") public PromikBookInvoiceId?: number; /** @description Any invoice message */ // @ApiMember(Description="Any invoice message") public Message: string; /** @description The currency information */ // @ApiMember(Description="The currency information") public CurrencyInfo: CurrencyInfoResponse; /** @description The currency information */ // @ApiMember(Description="The currency information") public InvoiceStatus: InvoiceStatusResponse; /** @description The currency information */ // @ApiMember(Description="The currency information") public InvoiceLines: InvoiceLineResponse[]; /** @description Billing information */ // @ApiMember(Description="Billing information") public BillingInformation: BillingInformationResponse; public ExternalReferences: ExternalReference[]; public constructor(init?: Partial) { (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) { super(init); (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: CompanyInvoiceQueryResponse[]; // @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("/superadmin/billing/company/invoices", "GET") // @ValidateRequest(Validator="IsAuthenticated") export class SuperAdminCompanyInvoiceQuery extends QueryDb implements IReturn>, ICompany { /** @description The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") public CompanyId?: string; /** @description Id of the invoice */ // @ApiMember(Description="Id of the invoice") public Id?: number; /** @description Id of the invoice */ // @ApiMember(Description="Id of the invoice") public StatusId?: number; /** @description If you want to include the invoice lines */ // @ApiMember(DataType="boolean", Description="If you want to include the invoice lines", ParameterType="query") public IncludeInvoiceLines: boolean; /** @description If you want to include the currency information */ // @ApiMember(DataType="boolean", Description="If you want to include the currency information", ParameterType="query") public IncludeCurrencyInformation: boolean; /** @description If you want to include the invoice status information */ // @ApiMember(DataType="boolean", Description="If you want to include the invoice status information", ParameterType="query") public IncludeInvoiceStatusInformation: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'SuperAdminCompanyInvoiceQuery'; } public getMethod() { return 'GET'; } public createResponse() { return new QueryResponse(); } }