nav-connect
Version:
Nav Online Invoice client
79 lines (78 loc) • 2.46 kB
TypeScript
/**
* This file contains TypeScript interfaces generated from the NAV OSA InvoiceBase XML schema
* Original schema: http://schemas.nav.gov.hu/OSA/3.0/base
*/
import { SimpleText50NotBlankType, SimpleText255NotBlankType, CountryCodeType, PostalCodeType, TaxpayerIdType, VatCodeType, CountyCodeType } from './commonTypes';
/**
* Invoice appearance types
*/
type InvoiceAppearanceType = "PAPER" | "ELECTRONIC" | "EDI" | "UNKNOWN";
/**
* Invoice category types
*/
type InvoiceCategoryType = "NORMAL" | "SIMPLIFIED" | "AGGREGATE";
/**
* Invoice date type (YYYY-MM-DD, min 2010-01-01)
*/
type InvoiceDateType = string;
/**
* Invoice index type (1-100)
*/
type InvoiceIndexType = number;
/**
* Invoice timestamp type (YYYY-MM-DDTHH:MM:SS[.SSS]Z, min 2010-01-01T00:00:00Z)
*/
type InvoiceTimestampType = string;
/**
* Unbounded invoice index type (≥1)
*/
type InvoiceUnboundedIndexType = number;
/**
* Line number type (≥1, max 20 digits)
*/
type LineNumberType = number;
/**
* Monetary type (18 digits max, 2 decimal places)
*/
type MonetaryType = number;
/**
* Payment method types
*/
type PaymentMethodType = "TRANSFER" | "CASH" | "CARD" | "VOUCHER" | "OTHER";
/**
* Address types
*/
interface AddressType {
simpleAddress?: SimpleAddressType;
detailedAddress?: DetailedAddressType;
}
interface DetailedAddressType {
countryCode: CountryCodeType;
region?: SimpleText50NotBlankType;
postalCode: PostalCodeType;
city: SimpleText255NotBlankType;
streetName: SimpleText255NotBlankType;
publicPlaceCategory: SimpleText50NotBlankType;
number?: SimpleText50NotBlankType;
building?: SimpleText50NotBlankType;
staircase?: SimpleText50NotBlankType;
floor?: SimpleText50NotBlankType;
door?: SimpleText50NotBlankType;
lotNumber?: SimpleText50NotBlankType;
}
interface SimpleAddressType {
countryCode: CountryCodeType;
region?: SimpleText50NotBlankType;
postalCode: PostalCodeType;
city: SimpleText255NotBlankType;
additionalAddressDetail: SimpleText255NotBlankType;
}
/**
* Tax number type
*/
interface TaxNumberType {
taxpayerId: TaxpayerIdType;
vatCode?: VatCodeType;
countyCode?: CountyCodeType;
}
export { InvoiceAppearanceType, InvoiceCategoryType, InvoiceDateType, InvoiceIndexType, InvoiceTimestampType, InvoiceUnboundedIndexType, LineNumberType, MonetaryType, PaymentMethodType, AddressType, DetailedAddressType, SimpleAddressType, TaxNumberType };