/* Options:
Date: 2025-03-15 02:39:33
Version: 5.10
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.jiwa.com.au

//GlobalNamespace: 
//MakePropertiesOptional: True
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
//IncludeTypes: 
//ExcludeTypes: 
//DefaultImports: 
*/


export interface IReturn<T>
{
    createResponse() : T;
}

export interface IReturnVoid
{
    createResponse() : void;
}

export interface IPost
{
}

export class ProductionArea
{
    ProductionAreaID: string;
    ProductionAreaNo: string;
    Name: string;
    Description: string;
    IsEnabled: boolean;
}

export class ProductionLine
{
    ProductionLineID: string;
    Name: string;
    Description: string;
    IsEnabled: boolean;
    ProductionArea: ProductionArea;
}

export class BillParent
{
    BillID: string;
    BillNo: string;
    Description: string;
}

export type CellTypes = "Date" | "Text" | "Float" | "Integer" | "Lookup" | "Combo" | "Checkbox";

export type SubAssemblyExplodePolicyOptions = "AlwaysExplode" | "NeverExplode" | "ExplodeShortfalls";

export class WorkCentre
{
    WorkCentreID: string;
    Name: string;
    Description: string;
    IsEnabled: boolean;
}

export class ProductionLineWorkCentre
{
    ProductionLineWorkCentreID: string;
    WorkCentre: WorkCentre;
}

export type CreditorTermsTypes = "Invoice" | "Statement";

export class CreditorLedger
{
    LedgerID: string;
    Name: string;
    LedgerAccountID: string;
    LedgerAccountNo: string;
    LedgerAccountDescription: string;
}

export type TradingStatuses = "e_DebtorTradingStatusInActive" | "e_DebtorTradingStatusActive";

export type PeriodTypes = "Weekly" | "Fortnightly" | "Monthly" | "Custom";

export type TermsTypes = "Invoice" | "Statement";

export class DebtorBranchDebtor
{
    DebtorID: string;
    AccountNo: string;
    Name: string;
    LastSavedDateTime: string;
}

export class DebtorDirector
{
    DirectorID: string;
    Name: string;
    Address: string;
    OfficeHeld: string;
}

export class DebtorMonth
{
    StartDate: string;
    EndDate: string;
    FinancialYearMonthNo: number;
    MonthID: string;
}

export class DebtorBudget
{
    BudgetID: string;
    Month: DebtorMonth;
    LastBudget: number;
    CurrentBudget: number;
    NextBudget: number;
}

export class DebtorSystemTemplate
{
    SystemTemplateID: string;
    Name: string;
    Enabled: boolean;
}

export class DebtorSystemTemplateField
{
    FieldType: number;
    LineNumber: number;
    SystemTemplateFieldID: string;
    Name: string;
    ComboText: string;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    DefaultValue: string;
    GridHandlerCode: string;
}

export class DebtorSystemField
{
    TemplateField: DebtorSystemTemplateField;
    SystemFieldID: string;
    LastSavedDateTime: string;
    Contents: string;
}

export class DebtorSystem
{
    Template: DebtorSystemTemplate;
    SystemID: string;
    LastSavedDateTime: string;
    Description: string;
    Fields: DebtorSystemField[];
}

export class DebtorLedger
{
    LedgerID: string;
    Name: string;
    LedgerAccountID: string;
    LedgerAccountNo: string;
    LedgerAccountDescription: string;
}

export class DebtorBackOrder
{
    InvoiceID: string;
    InvoiceNo: string;
    CustomerOrderNo: string;
    Date: string;
    Quantity: number;
    QuantityDecimalPlaces: number;
    Warehouse: string;
    InventoryID: string;
    PartNo: string;
    Description: string;
    CreditorID: string;
    SupplierName: string;
    OrderNo: string;
    ExpectedDeliveryDate: string;
    HistoryTextComment: string;
    QuantityConsumed: number;
}

export type DebtorTermsTypes = "Invoice" | "Statement";

export type Statuses = "Activated" | "UnActivated";

export class ReceivedPOLineQuantityDetail
{
    ExpiryDate: string;
    SerialNo: string;
    Quantity: number;
    BinLocation: string;
}

export class ReceivedPOLineQuantity
{
    OrderLineID: string;
    Quantity: number;
    Details: ReceivedPOLineQuantityDetail[];
}

export type PurchaseOrderType = "DefaultOrderType" | "BackToBack" | "MultiBack";

export type ReceivalLineType = "Unknown" | "Inventory" | "NonInventory";

export type InventoryStatuses = "e_InventoryStatusActive" | "e_InventoryStatusDiscontinued" | "e_InventoryStatusDeleted" | "e_InventoryStatusSlow" | "e_InventoryStatusObsolete";

export type InventoryBOMTypes = "e_InventoryBOMTypeNone" | "e_InventoryBOMTypeBOM" | "e_InventoryBOMTypeTemplate" | "e_InventoryBOMTypeKit" | "e_InventoryBOMTypeKitTaxOverride";

export class InventoryStyle
{
    StyleID: string;
    StyleCode: string;
    StyleDescription: string;
}

export class InventoryColour
{
    ColourID: string;
    Description: string;
}

export class InventorySize
{
    SizeID: string;
    Description: string;
}

export class InventoryWarehouseSOH
{
    IN_LogicalID: string;
    Warehouse: string;
    TotalSOH: number;
    TotalBackOrders: number;
    ManualBackOrders: number;
    AutoBackOrders: number;
    ShipOnCompletion: number;
    WarehouseTransfers: number;
    UnprocessedSales: number;
    ForwardRequirements: number;
    BOMComponentWIP: number;
}

export class InventoryDebtorPartNumber
{
    DebtorPartNumberID: string;
    DebtorID: string;
    DebtorAccountNo: string;
    DebtorName: string;
    DebtorPartNo: string;
    DebtorBarcode: string;
}

export class InventoryGroupMembership
{
    GroupMembershipID: string;
    GroupID: string;
    GroupDescription: string;
}

export class InventoryLogicalOrder
{
    LogicalOrderID: string;
    LogicalOrderWarehouseLogicalWarehouseID: string;
    LogicalOrderWarehouseLogicalDescription: string;
    LogicalOrderWarehousePhysicalWarehouseID: string;
    LogicalOrderWarehousePhysicalDescription: string;
    LogicalOrderCentralWarehouseLogicalID: string;
    LogicalOrderCentralWarehouseLogicalDescription: string;
    LogicalOrderCentralWarehousePhysicalID: string;
    LogicalOrderCentralWarehousePhysicalDescription: string;
}

export class CustomFieldValue
{
    SettingID: string;
    SettingName: string;
    Contents: string;
    PluginID: string;
    PluginName: string;
}

export class InventoryBinLocation
{
    BinLocationID: string;
    LogicalWarehouseID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseID: string;
    PhysicalWarehouseDescription: string;
    Description: string;
    ShortName: string;
    ItemNo: number;
    IsDefault: boolean;
    CustomFieldValues: CustomFieldValue[];
}

export class InventoryDefaultBinLocation
{
    DefaultBinLocationID: string;
    LogicalWarehouseID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseID: string;
    PhysicalWarehouseDescription: string;
    BinLocation: InventoryBinLocation;
    CustomFieldValues: CustomFieldValue[];
}

export type PriceSources = "SellPrice" | "LastCost" | "RRP" | "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7" | "P8" | "P9" | "P10";

export type PriceModes = "Percentage" | "Actual" | "None";

export type PriceSources = "SellPrice" | "LastCost" | "RRP" | "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7" | "P8" | "P9" | "P10";

export type PriceModes = "Percentage" | "Actual" | "None";

export type PriceSources = "SellPrice" | "LastCost" | "RRP" | "P1" | "P2" | "P3" | "P4" | "P5" | "P6" | "P7" | "P8" | "P9" | "P10";

export type PriceModes = "Percentage" | "Actual" | "None";

export class InventorySellingPrice
{
    Price: number;
    PriceIsIncTax: boolean;
    ForwardPrice: number;
    SellingPriceID: string;
}

export class InventorySupplierQuantityPriceBreak
{
    QuantityBreak: number;
    Price: number;
    SupplierQuantityPriceBreakID: string;
}

export type SetTypes = "Normal" | "Template" | "Pending" | "Errored";

export type ReverseTypes = "None" | "NextPeriodStart" | "SpecificPeriodStart" | "OnASpecificDate";

export type RepeatingTypes = "None" | "Days" | "Months";

export class StaffMember
{
    StaffID: string;
    Title: string;
    FirstName: string;
    Surname: string;
    Username: string;
    IsActive: boolean;
    IsEnabled: boolean;
}

export type YearTypes = "LastYear" | "CurrentYear" | "NextYear" | "Other";

export type BASCodes = "No_Code" | "Sales_G1" | "Exports_G2" | "Sales_GST_Free_G3" | "Input_Tax_Sales_G4" | "Not_Used_G5" | "Not_Used_G6" | "Sales_Adjustments_G7" | "Not_Used_G8" | "Not_Used_G9" | "Capital_Purchases_G10" | "Purchases_G11" | "Not_Used_G12" | "Purchases_For_Sales_G13" | "Purchases_GST_Free_G14" | "Purchases_Private_G15" | "Not_Used_G16" | "Not_Used_G17" | "Purchase_Adjustments_G18" | "Not_Used_G19" | "Not_Used_G20" | "Salaries_Paid_W1" | "Salary_Deductions_W2" | "Investment_Deductions_W3" | "No_ABN_W4" | "Wine_Equalisation_Payable_1C" | "Wine_Equalisation_Refundable_1D" | "Luxury_Car_Payable_1E" | "Luxury_Car_Refundable_1F" | "WST_Credit_1G" | "Pay_As_You_Go_4";

export class BookInShipment
{
    ShipmentID: string;
    ShipmentNo: string;
}

export class BookInOtherBookInLine
{
    LineID: string;
    ItemNo: number;
    Quantity: number;
    SH_Lines_RecID: string;
}

export class BookInOtherBookIn
{
    BookInID: string;
    Lines: BookInOtherBookInLine[];
}

export class CurrencyRate
{
    RateID: string;
    DateEntered: string;
    EffectiveDate: string;
    EffectiveDateEnd: string;
    TransactionRate: number;
}

export type TaxRateTypes = "WST" | "GSTIn" | "GSTOut" | "GSTAdjustmentsIn" | "GSTAdjustmentsout";

export class Account
{
    LedgerID: string;
    AccountNo: string;
    Description: string;
}

export class TaxRate
{
    RecID: string;
    TaxID: string;
    Description: string;
    GSTTaxGroup: TaxRateTypes;
    Rate: number;
    IsDefaultRate: boolean;
    BASCode: number;
    IsDefaultRateInGroup: boolean;
    IsEnabled: boolean;
    LedgerAccount: Account;
}

export class BookInShipmentLine
{
    ShipmentLineID: string;
    ItemNo: number;
    SHInvoicesRecID: string;
    QuantityOrdered: number;
    QuantityThisShipment: number;
    OrderedCost: number;
    FXOrderedCost: number;
    UnitCostExTax: number;
    FXRate: CurrencyRate;
    FXUnitCostExTax: number;
    TaxRate: TaxRate;
    TaxAmount: number;
    UnitCostIncTax: number;
    LineTotalExTax: number;
    LineTotalIncTax: number;
    FXLineTotalExTax: number;
    LandedCostLineTotal: number;
    LandedCost: number;
    InventoryID: string;
    PartNo: string;
}

export type StatusType = "Entered" | "BookingIn" | "Closed";

export class ShipmentCostType
{
    CostTypeID: string;
    Name: string;
    Description: string;
    IsEnabled: boolean;
    IsDefault: boolean;
}

export class ShipmentApportionedCost
{
    ApportionedCostID: string;
    ItemNo: number;
    OrdersUsedKey: string;
    OrderNo: string;
}

export type ApportionMethods = "Cost" | "Quantity" | "Weight" | "Cubic";

export class ShipmentImportCost
{
    ImportCostID: string;
    ItemNo: number;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    CostType: ShipmentCostType;
    UseForwardCoverContract: boolean;
    FXRate: number;
    FXAmount: number;
    HomeAmount: number;
    TaxRate: TaxRate;
    TaxAmount: number;
    TotalAmount: number;
    ApportionedOnPurchaseOrders: ShipmentApportionedCost[];
    ApportionMethod: ApportionMethods;
    Apportioned: boolean;
    Invoiced: boolean;
    InvoiceDate: string;
    DueDate: string;
    InvoiceNo: string;
    Reference: string;
    CR_TransID: string;
    LastSavedDateTime: string;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
}

export class ShipmentVOTI
{
    VOTIID: string;
    ItemNo: number;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    TaxRate: TaxRate;
    Description: string;
    InvoiceNo: string;
    Reference: string;
    Amount: number;
    TaxAmount: number;
    InvoiceDate: string;
    DueDate: string;
    CR_TransID: string;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
    Invoiced: boolean;
}

export class Currency
{
    CurrencyID: string;
    Name: string;
    ShortName: string;
    DecimalPlaces: number;
    IsEnabled: boolean;
    IsLocal: boolean;
    LastSavedDateTime: string;
    Rates: CurrencyRate[];
}

export type Statuses = "Inactive" | "Active" | "Closed";

export class ForwardCoverContract
{
    ForwardCoverContractID: string;
    ContractNo: string;
    Description: string;
    Reference: string;
    Currency: Currency;
    FXRate: number;
    FXContractAmount: number;
    FXUsedAmount: number;
    HomeContractAmount: number;
    HomeUsedAmount: number;
    InitiatedDate: string;
    StartDate: string;
    EndDate: string;
    Status: Statuses;
    LastSavedDateTime: string;
}

export class ShipmentForwardCoverContract
{
    LineKey: string;
    ForwardCoverContractTransactionID: string;
    ForwardCoverContract: ForwardCoverContract;
    FXAmount: number;
    HomeAmount: number;
}

export class ShipmentInvoice
{
    InvoiceID: string;
    InvoiceNo: string;
    ItemNo: number;
    Reference: string;
    Remark: string;
    InvoiceDate: string;
    DueDate: string;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    UseForwardCoverContract: boolean;
    ForwardCoverContracts: ShipmentForwardCoverContract[];
    CR_TransID: string;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
    Invoiced: boolean;
    FXRate: number;
    ExpectedHomeAmount: number;
    ExpectedFXAmount: number;
    HomeAmount: number;
    FXAmount: number;
    TaxAmount: number;
    AmountIncTax: number;
}

export type Status = "NotSent" | "AwaitingOrderApproval" | "AwaitingEDIProcessing" | "Sent" | "ReceiptAcknowledged" | "Accepted" | "AcceptedWithUpdates" | "Rejected" | "AwaitingInvoiceApproval" | "Invoicing" | "Closed" | "NewStatus";

export type PurchaseOrderType = "DefaultOrderType" | "BackToBack" | "MultiBack";

export type SupplierType = "Creditor" | "Warehouse";

export class ReceivalDocument
{
    DocumentNo: string;
    DocumentID: string;
    IsGoodsReceivedNote: boolean;
    IsLandedCostBookIn: boolean;
    ReceivalDate: string;
}

export type OrderLineType = "Unknown" | "Inventory" | "NonInventory" | "Comment";

export type Statuses = "UnActivated" | "Activated";

export type InvoiceLineType = "Inventory" | "NonInventory";

export class PurchaseInvoiceLineDetail
{
    LineDetailID: string;
    LinkID: string;
    Quantity: number;
    LastSavedDateTime: string;
    SerialNo: string;
    BinLocationID: string;
    BinLocationDescription: string;
    ExpiryDate: string;
    RE_LineDetails_RecID: string;
}

export class ReportParameter
{
    Name: string;
    Value: string;
}

export interface IContentTypeWriter
{
}

// @Flags()
export enum RequestAttributes
{
    None = 0,
    Localhost = 1,
    LocalSubnet = 2,
    External = 4,
    Secure = 8,
    InSecure = 16,
    AnySecurityMode = 24,
    HttpHead = 32,
    HttpGet = 64,
    HttpPost = 128,
    HttpPut = 256,
    HttpDelete = 512,
    HttpPatch = 1024,
    HttpOptions = 2048,
    HttpOther = 4096,
    AnyHttpMethod = 8160,
    OneWay = 8192,
    Reply = 16384,
    AnyCallStyle = 24576,
    Soap11 = 32768,
    Soap12 = 65536,
    Xml = 131072,
    Json = 262144,
    Jsv = 524288,
    ProtoBuf = 1048576,
    Csv = 2097152,
    Html = 4194304,
    Wire = 8388608,
    MsgPack = 16777216,
    FormatOther = 33554432,
    AnyFormat = 67076096,
    Http = 67108864,
    MessageQueue = 134217728,
    Tcp = 268435456,
    EndpointOther = 536870912,
    AnyEndpoint = 1006632960,
    InProcess = 1073741824,
    InternalNetworkAccess = 1073741827,
    AnyNetworkAccessType = 1073741831,
    Any = 2147483647,
}

export interface IRequestPreferences
{
    AcceptsGzip?: boolean;
    AcceptsDeflate?: boolean;
}

export interface IRequest
{
    OriginalRequest?: Object;
    Response?: IResponse;
    OperationName?: string;
    Verb?: string;
    RequestAttributes?: RequestAttributes;
    RequestPreferences?: IRequestPreferences;
    Dto?: Object;
    ContentType?: string;
    IsLocal?: boolean;
    UserAgent?: string;
    Cookies?: { [index:string]: Cookie; };
    ResponseContentType?: string;
    HasExplicitResponseContentType?: boolean;
    Items?: { [index:string]: Object; };
    Headers?: NameValueCollection;
    QueryString?: NameValueCollection;
    FormData?: NameValueCollection;
    UseBufferedStream?: boolean;
    RawUrl?: string;
    AbsoluteUri?: string;
    UserHostAddress?: string;
    RemoteIp?: string;
    Authorization?: string;
    IsSecureConnection?: boolean;
    AcceptTypes?: string[];
    PathInfo?: string;
    OriginalPathInfo?: string;
    ContentLength?: number;
    Files?: IHttpFile[];
    UrlReferrer?: Uri;
}

export interface IResponse
{
    OriginalResponse?: Object;
    Request?: IRequest;
    StatusCode?: number;
    StatusDescription?: string;
    ContentType?: string;
    Dto?: Object;
    UseBufferedStream?: boolean;
    IsClosed?: boolean;
    KeepAlive?: boolean;
    HasStarted?: boolean;
    Items?: { [index:string]: Object; };
}

export class RestPath
{
    Path: string;
    RequestType: string;
    Summary: string;
    AllowedVerbs: string;
}

export class SalesOrderSystemSettings
{
    ForceInventorySelection: boolean;
    SuppressLineRetotalling: boolean;
    IgnoreDebtorOnHold: boolean;
    CompensateTaxRounding: boolean;
}

export type SalesOrderTypes = "e_SalesOrderNormalSalesOrder" | "e_SalesOrderBackToBack";

export type SalesOrderOrderTypes = "e_SalesOrderOrderTypeReserveOrder" | "e_SalesOrderOrderTypeInvoiceOrder" | "e_SalesOrderOrderTypeForwardOrder" | "e_SalesOrderOrderTypeActiveOrder";

export type SalesOrderStatuses = "e_SalesOrderEntered" | "e_SalesOrderProcessed" | "e_SalesOrderClosed" | "e_SalesOrderUnprocessedPrinted";

export type SalesOrderHistoryEDIPickStatuses = "e_SalesOrderHistoryEDIPickStatusNone" | "e_SalesOrderHistoryEDIPickStatusPOReceived" | "e_SalesOrderHistoryEDIPickStatusPOAcknowledgementReadyToSend" | "e_SalesOrderHistoryEDIPickStatusPOAcknowledgementSent" | "e_SalesOrderHistoryEDIPickStatusReadyToBePicked" | "e_SalesOrderHistoryEDIPickStatusPicking" | "e_SalesOrderHistoryEDIPickStatusPicked" | "e_SalesOrderHistoryEDIPickStatusASNReadyToSend" | "e_SalesOrderHistoryEDIPickStatusASNSent" | "e_SalesOrderHistoryEDIPickStatusRCTIReceived" | "e_SalesOrderHistoryEDIPickStatusError" | "e_SalesOrderHistoryEDIPickStatusRejectionReadyToSend" | "e_SalesOrderHistoryEDIPickStatusRejectionSent";

export type SalesOrderBillTypes = "e_SalesOrderShipAndBill" | "e_SalesOrderBillWhenComplete" | "e_SalesOrderShipWhenComplete";

export type SalesOrderEDIOrderTypes = "e_SalesOrderEDIOrderTypeNormal" | "e_SalesOrderEDIOrderTypeConsolidated";

export class SalesOrderCashSales
{
    Name: string;
    Company: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    ContactName: string;
}

export class SalesOrderJobCosting
{
    GSTApplicable: boolean;
    JobCostID: string;
    JobCostNo: string;
    Description: string;
}

export class SalesOrderASN
{
    ASNNo: string;
    PurchaseOrderNo: string;
    ReceiptNo: string;
    GrossAmount: number;
    TotalGSTAmount: number;
    ReceiptDate: string;
}

export type SalesOrderHistoryStatuses = "e_SalesOrderHistoryStatusEntering" | "e_SalesOrderHistoryStatusEntered" | "e_SalesOrderHistoryStatusReadyForPicking" | "e_SalesOrderHistoryStatusPicking" | "e_SalesOrderHistoryStatusPicked" | "e_SalesOrderHistoryStatusDelivery" | "e_SalesOrderHistoryStatusDelivered" | "e_SalesOrderHistoryStatusInvoicing" | "e_SalesOrderHistoryStatusInvoiced";

export type SalesOrderHistoryEDIPickStatuses = "e_SalesOrderHistoryEDIPickStatusNone" | "e_SalesOrderHistoryStatuse_SalesOrderHistoryEDIPickStatusPOReceivedEntered" | "e_SalesOrderHistoryEDIPickStatusPOAcknowledgementReadyToSend" | "e_SalesOrderHistoryEDIPickStatusPOAcknowledgementSent" | "e_SalesOrderHistoryEDIPickStatusReadyToBePicked" | "e_SalesOrderHistoryEDIPickStatusPicking" | "e_SalesOrderHistoryEDIPickStatusPicked" | "e_SalesOrderHistoryEDIPickStatusASNReadyToSend" | "e_SalesOrderHistoryEDIPickStatusASNSent" | "e_SalesOrderHistoryEDIPickStatusRCTIReceived" | "e_SalesOrderHistoryEDIPickStatusError" | "e_SalesOrderHistoryEDIPickStatusRejectionReadyToSend" | "e_SalesOrderHistoryEDIPickStatusRejectionSent";

export class CartageCharge
{
    ExTaxAmount: number;
    TaxAmount: number;
    TaxRate: TaxRate;
}

export class SalesOrderCarrierService
{
    CarrierServiceID: string;
    Name: string;
}

export type FreightChargeTos = "FreightChargeToSender" | "FreightChargeToReceiver";

export type FreightSystemStatuses = "FreightSystemStatusNone" | "FreightSystemStatusReadyToSend" | "FreightSystemStatusSent" | "FreightSystemStatusCompleted";

export class SalesOrderCarrierFreightDescription
{
    CarrierFreightDescriptionID: string;
    Description: string;
}

export class SalesOrderConsignmentNote
{
    ConsignmentNoteID: string;
    ConsignmentNoteDate: string;
    ExGSTAmount: number;
    GSTAmount: number;
    ConsignmentNoteNo: string;
}

export class SalesOrderFreightItem
{
    FreightItemID: string;
    NumberItems: number;
    ItemWeight: number;
    ItemCubic: number;
    ItemLength: number;
    ItemWidth: number;
    ItemHeight: number;
    Reference: string;
    FreightDescription: SalesOrderCarrierFreightDescription;
    ConsignmentNote: SalesOrderConsignmentNote;
}

export class SalesOrderCarrier
{
    CarrierID: string;
    CarrierName: string;
    AccountNo: string;
    Service: SalesOrderCarrierService;
    UseLeastCost: boolean;
    ChargeTo: FreightChargeTos;
    Status: FreightSystemStatuses;
    FreightItemCollection: SalesOrderFreightItem[];
    ConsignmentNoteCollection: SalesOrderConsignmentNote[];
}

export type SalesOrderSerialStockSelectionTypesEnum = "e_SalesOrderSerialStockSelectionPrompted" | "e_SalesOrderSerialStockSelectionFIFO";

export class SalesOrderShippingLabel
{
    Quantity: number;
    UseByDate: string;
    LabelNumber: number;
    SpareNumeric1: number;
    SpareNumeric2: number;
    SpareNumeric3: number;
    SpareDate1: string;
    SpareDate2: string;
    SpareDate3: string;
    ShippingLabelID: string;
    SSCCNumber: string;
    BatchNo: string;
    Reference: string;
    SpareString1: string;
    SpareString2: string;
    SpareString3: string;
    LastSavedDateTime: string;
}

export type SalesOrderKitLineTypesEnum = "e_SalesOrderNormalLine" | "e_SalesOrderKitHeader" | "e_SalesOrderKitComponent";

export type PaymentAuthStatuses = "NoAuthorisationNeeded" | "AuthorisationRequired" | "Authorised" | "Declined" | "Error";

export class SalesQuoteSettings
{
    Cat1Description: string;
    Cat2Description: string;
    Cat3Description: string;
    Cat4Description: string;
    Cat5Description: string;
    DisplayProductUpSellPopUp: boolean;
    MoneyDecimalPlaces: number;
    SalesOrdersMoneyDecimalPlaces: number;
    SalesOrdersMoneyFormatStr: string;
    MoneyFormatStr: string;
    ComponentsForeColour: number;
    KitRoundingForeColour: number;
    KitForeColour: number;
    NonInventoryForeColour: number;
    DefaultQuantity: number;
    GroupedCaption2: string;
    AllowInvoiceNumberOverride: boolean;
    AllowPriceOverride: boolean;
    AllowOtherOverrides: boolean;
    AllowManualPartNoEntry: boolean;
    AllowNonInventoryItems: boolean;
    AllowTaxRateOverrides: boolean;
    IncludeValueOfBackOrdersInCreditLimitCheck: boolean;
    PrintInvoicesWithZeroQuantityDel: boolean;
    InvoicePrinterCopies: number;
    PrintToScreen: boolean;
    AllowModificationOfPrintedUnprocessedInvoices: boolean;
    CheckForDuplicateOrderNos: boolean;
    UseDefaultSalesPerson: boolean;
    DefaultInvoiceTypeIsWholesale: boolean;
    LinkSELECT: string;
    LinkTITLE: string;
    LinkDESC: string;
    LinkKEY: string;
    LinkID: string;
    AllowKitComponentOverride: boolean;
    PostTendered: boolean;
    AllowInitDateEdit: boolean;
    UseZeroCreditLimit: boolean;
    CollectJobCostCode: boolean;
    IgnoreBackOrderAllocations: boolean;
    UsePicking: boolean;
    ShowOnlyUsersDebtors: boolean;
    AllowSaveToOrderWhenDebtorOnHold: boolean;
    AddFreightToAllSnapshots: boolean;
    DontChangePickPrices: boolean;
    AutoKitPricing: boolean;
    InvoicesFromQuotesUseActivateDate: boolean;
    GrabSOHFromDefaultBin: boolean;
    UseTaxExemption: boolean;
    ValidateABN: boolean;
    CompensateTaxRounding: boolean;
    UseBranching: boolean;
    InvoiceTypeDescription1: string;
    InvoiceTypeDescription2: string;
    AllowInvoiceTypeChange: boolean;
    AllowForwardOrders: boolean;
    AllowActiveOrders: boolean;
    DocketNumHeader: string;
    CreditNoteHeader: string;
    BuildPaymentReferenceFromDebtor: boolean;
    QuoteNoDescription: string;
    ShortDateFormat: string;
    ManualPrintSelection: boolean;
    UseDirectTaxIfSellPriceIncTax: boolean;
    JobCodeSeparator: string;
    UseKitRoundingPart: boolean;
    KitRoundingPartID: string;
    DiscountPercentDecimalPlaces: number;
    DefaultQuoteExpiryDays: number;
    AllowDocumentManipulationOnClosedQuote: boolean;
    DefaultDocumentTypeKey: string;
    DefaultNoteTypeKey: string;
    CopySalesQuoteIncludesNotes: boolean;
    CopySalesQuoteIncludesDocuments: boolean;
    DontApplyDebtorDiscounts: boolean;
    UserTodoOnly: boolean;
    DoNotReadSOHLevelsForQuotes: boolean;
}

export type e_SalesQuoteTypes = "e_SalesQuoteNormalSalesOrder" | "e_SalesQuoteBackToBack";

export type e_SalesQuoteOrderTypes = "e_SalesQuoteOrderTypeReserveOrder" | "e_SalesQuoteOrderTypeInvoiceOrder" | "e_SalesQuoteOrderTypeForwardOrder" | "e_SalesQuoteOrderTypeActiveOrder";

export type e_SalesQuoteStatuses = "e_SalesQuoteEntered" | "e_SalesQuoteClosed";

export type e_SalesQuoteBillTypes = "e_SalesQuoteShipAndBill" | "e_SalesQuoteBillWhenComplete" | "e_SalesQuoteShipWhenComplete";

export class SalesQuoteCashSales
{
    Name: string;
    Company: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    ContactName: string;
}

export class SalesQuoteJobCosting
{
    GSTApplicable: boolean;
    JobCostID: string;
    JobCostNo: string;
    Description: string;
}

export class SalesStage
{
    SalesStageID: string;
    LastSavedDateTime: string;
    ItemNo: number;
    Description: string;
    PercentComplete: number;
    IsDefault: boolean;
    IsEnabled: boolean;
}

export class CartageCharge
{
    ExTaxAmount: number;
    TaxAmount: number;
    TaxRate: TaxRate;
}

export type StatusTypes = "OnGoing" | "Won" | "Lost";

export class OpportunityStatusReason
{
    OpportunityStatusReasonID: string;
    Description: string;
    Note: string;
    StatusType: StatusTypes;
}

export type StatusTypes = "OnGoing" | "Won" | "Lost";

export type SalesQuoteKitLineTypesEnum = "e_SalesQuoteNormalLine" | "e_SalesQuoteKitHeader" | "e_SalesQuoteKitComponent";

export interface IAuthTokens
{
    Provider?: string;
    UserId?: string;
    AccessToken?: string;
    AccessTokenSecret?: string;
    RefreshToken?: string;
    RefreshTokenExpiry?: string;
    RequestToken?: string;
    RequestTokenSecret?: string;
    Items?: { [index:string]: string; };
}

// @DataContract
export class AuthUserSession
{
    // @DataMember(Order=1)
    ReferrerUrl: string;

    // @DataMember(Order=2)
    Id: string;

    // @DataMember(Order=3)
    UserAuthId: string;

    // @DataMember(Order=4)
    UserAuthName: string;

    // @DataMember(Order=5)
    UserName: string;

    // @DataMember(Order=6)
    TwitterUserId: string;

    // @DataMember(Order=7)
    TwitterScreenName: string;

    // @DataMember(Order=8)
    FacebookUserId: string;

    // @DataMember(Order=9)
    FacebookUserName: string;

    // @DataMember(Order=10)
    FirstName: string;

    // @DataMember(Order=11)
    LastName: string;

    // @DataMember(Order=12)
    DisplayName: string;

    // @DataMember(Order=13)
    Company: string;

    // @DataMember(Order=14)
    Email: string;

    // @DataMember(Order=15)
    PrimaryEmail: string;

    // @DataMember(Order=16)
    PhoneNumber: string;

    // @DataMember(Order=17)
    BirthDate: string;

    // @DataMember(Order=18)
    BirthDateRaw: string;

    // @DataMember(Order=19)
    Address: string;

    // @DataMember(Order=20)
    Address2: string;

    // @DataMember(Order=21)
    City: string;

    // @DataMember(Order=22)
    State: string;

    // @DataMember(Order=23)
    Country: string;

    // @DataMember(Order=24)
    Culture: string;

    // @DataMember(Order=25)
    FullName: string;

    // @DataMember(Order=26)
    Gender: string;

    // @DataMember(Order=27)
    Language: string;

    // @DataMember(Order=28)
    MailAddress: string;

    // @DataMember(Order=29)
    Nickname: string;

    // @DataMember(Order=30)
    PostalCode: string;

    // @DataMember(Order=31)
    TimeZone: string;

    // @DataMember(Order=32)
    RequestTokenSecret: string;

    // @DataMember(Order=33)
    CreatedAt: string;

    // @DataMember(Order=34)
    LastModified: string;

    // @DataMember(Order=35)
    Roles: string[];

    // @DataMember(Order=36)
    Permissions: string[];

    // @DataMember(Order=37)
    IsAuthenticated: boolean;

    // @DataMember(Order=38)
    FromToken: boolean;

    // @DataMember(Order=39)
    ProfileUrl: string;

    // @DataMember(Order=40)
    Sequence: string;

    // @DataMember(Order=41)
    Tag: number;

    // @DataMember(Order=42)
    AuthProvider: string;

    // @DataMember(Order=43)
    ProviderOAuthAccess: IAuthTokens[];

    // @DataMember(Order=44)
    Meta: { [index:string]: string; };
}

// @DataContract
export class JiwaAuthUserSession extends AuthUserSession
{
    // @DataMember
    APIKey_Type: string;

    // @DataMember
    APIKey_PrincipalID: string;

    // @DataMember
    CredentialsPassword: string;

    // @DataMember
    StaffID: string;

    // @DataMember
    AllowedRoutePermissions: string[];
}

export class JiwaAuthUserSessionResponse extends JiwaAuthUserSession
{
}

export class QueryBase
{
    // @DataMember(Order=1)
    Skip: number;

    // @DataMember(Order=2)
    Take: number;

    // @DataMember(Order=3)
    OrderBy: string;

    // @DataMember(Order=4)
    OrderByDesc: string;

    // @DataMember(Order=5)
    Include: string;

    // @DataMember(Order=6)
    Fields: string;

    // @DataMember(Order=7)
    Meta: { [index:string]: string; };
}

export class QueryData<T> extends QueryBase
{
}

export class StartupLogEntry
{
    Description: string;
    StartDateTime: string;
    EndDateTime: string;
    ElapsedMilliseconds: number;
    Depth: number;
}

// @DataContract
export class ResponseError
{
    // @DataMember(Order=1, EmitDefaultValue=false)
    ErrorCode: string;

    // @DataMember(Order=2, EmitDefaultValue=false)
    FieldName: string;

    // @DataMember(Order=3, EmitDefaultValue=false)
    Message: string;

    // @DataMember(Order=4, EmitDefaultValue=false)
    Meta: { [index:string]: string; };
}

// @DataContract
export class ResponseStatus
{
    // @DataMember(Order=1)
    ErrorCode: string;

    // @DataMember(Order=2)
    Message: string;

    // @DataMember(Order=3)
    StackTrace: string;

    // @DataMember(Order=4)
    Errors: ResponseError[];

    // @DataMember(Order=5)
    Meta: { [index:string]: string; };
}

export type ExceptionPolicies = "Report" | "Abort" | "Ignore";

export class PluginException
{
    RecID: string;
    Name: string;
    Exception: Exception;
    ExceptionPolicy: ExceptionPolicies;
}

export type Statuses = "UnActivated" | "Activated";

export class StockTransferLine
{
    TransferLineID: string;
    ItemNo: number;
    FromInventoryRecID: string;
    FromInventoryPartNo: string;
    FromInventoryDescription: string;
    FromInventoryDecimalPlaces: number;
    FromInventoryLastCost: number;
    FromInventoryCubic: number;
    FromInventoryWeight: number;
    FromInventoryUnits: string;
    FromInventoryIsPhysical: boolean;
    FromInventoryIsSerial: boolean;
    FromInventoryInventoryValueLedgerRecID: string;
    FromInventoryInventoryValueLedgerAccountNo: string;
    FromInventoryInventoryValueLedgerDescription: string;
    FromInventoryWriteOnLedgerAccountRecID: string;
    FromInventoryWriteOnLedgerAccountNo: string;
    FromInventoryWriteOnLedgerAccountDescription: string;
    FromInventoryWriteOffLedgerAccountRecID: string;
    FromInventoryWriteOffLedgerAccountNo: string;
    FromInventoryWriteOffLedgerAccountDescription: string;
    FromPartInventorySOHID: string;
    FromPartOriginalQuantity: number;
    FromPartSerialNo: string;
    FromPartComment: string;
    FromPartExpiryDate: string;
    FromPartBinLocation: string;
    Reference: string;
    AvailableQuantity: number;
    TransferQuantity: number;
    StockTransferReasonRecID: string;
    StockTransferReasonName: string;
    StockTransferReasonIsDefault: boolean;
    StockTransferReasonWriteOffLedgerAccountOverride: boolean;
    StockTransferReasonWriteOffLedgerAccountRecID: string;
    StockTransferReasonWriteOffLedgerAccountNo: string;
    StockTransferReasonWriteOffLedgerAccountDescription: string;
    StockTransferReasonWriteOnLedgerAccountOverride: boolean;
    StockTransferReasonWriteOnLedgerAccountRecID: string;
    StockTransferReasonWriteOnLedgerAccountNo: string;
    StockTransferReasonWriteOnLedgerAccountDescription: string;
    ToInventoryRecID: string;
    ToInventoryPartNo: string;
    ToInventoryDescription: string;
    ToInventoryDecimalPlaces: number;
    ToInventoryLastCost: number;
    ToInventoryCubic: number;
    ToInventoryWeight: number;
    ToInventoryUnits: string;
    ToInventoryIsPhysical: boolean;
    ToInventoryIsSerial: boolean;
    ToInventoryInventoryValueLedgerRecID: string;
    ToInventoryInventoryValueLedgerAccountNo: string;
    ToInventoryInventoryValueLedgerDescription: string;
    ToInventoryWriteOnLedgerAccountRecID: string;
    ToInventoryWriteOnLedgerAccountNo: string;
    ToInventoryWriteOnLedgerAccountDescription: string;
    ToInventoryWriteOffLedgerAccountRecID: string;
    ToInventoryWriteOffLedgerAccountNo: string;
    ToInventoryWriteOffLedgerAccountDescription: string;
    ToPartInventorySOHID: string;
    ToPartSerialNo: string;
    ToPartComment: string;
    ToPartExpiryDate: string;
    ToPartBinLocation: string;
    LastSavedByStaffID: string;
    LastSavedByStaffUserName: string;
    LastSavedByStaffTitle: string;
    LastSavedByStaffFirstName: string;
    LastSavedByStaffSurname: string;
    LastSavedDateTime: string;
    CreatedByStaffID: string;
    CreatedByStaffUserName: string;
    CreatedByStaffTitle: string;
    CreatedByStaffFirstName: string;
    CreatedByStaffSurname: string;
    CreatedDateTime: string;
    CustomFieldValues: CustomFieldValue[];
}

export type CreditStatuses = "Open" | "Activated" | "Closed";

export type ReturnTypes = "Return" | "Exchange" | "ShortDelivery" | "PricingDifference" | "ShortDeliveryTracking" | "PricingDifferenceTracking";

export class ReturnCode
{
    RecID: string;
    Code: string;
    Description: string;
    IsDefault: boolean;
    ReturnType: ReturnTypes;
}

export class InventorySOHLineDetail
{
    IN_SOH_LinkID: string;
    Cost: number;
    DateIn: string;
    ExpiryDate: string;
    SpecialPrice: number;
    Quantity: number;
    QuantityIn: number;
    QuantityLeft: number;
    QuantityAllocated: number;
    LineDetailID: string;
    SerialNo: string;
    IN_LogicalID: string;
    Ref: string;
    HistoryText: string;
    SourceID: string;
    BinLocation: InventoryBinLocation;
}

export class Line
{
    RecID: string;
    ItemNo: number;
    LastSavedDateTime: string;
    RowHash: Uint8Array;
    InventoryID: string;
    PartNo: string;
    Description: string;
    DecimalPlaces: number;
    Quantity: number;
    Remark: string;
    UnitCreditValue: number;
    TotalCreditValue: number;
    TaxAmount: number;
    FXUnitCreditValue: number;
    FXTotalCreditValue: number;
    FXRate: number;
    TaxRateID: string;
    TaxRateDescription: string;
    TaxRate: number;
    ReturnCode: ReturnCode;
    CustomFieldValues: CustomFieldValue[];
    LineDetails: InventorySOHLineDetail[];
    PurchaseOrderLineID: string;
    ShippingLineID: string;
    IsCompleted: boolean;
}

export type ShippingEntityStatuses = "Open" | "Activated" | "Closed";

export class ShippingEntity
{
    RecID: string;
    ShippingNo: string;
    RANumber: string;
    Reference: string;
    Status: ShippingEntityStatuses;
    ReturnCode: ReturnCode;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    ShippingDate: string;
}

export type ShippingStatuses = "Open" | "Activated" | "Closed";

export class Line
{
    RecID: string;
    ItemNo: number;
    LastSavedDateTime: string;
    RowHash: Uint8Array;
    InventoryID: string;
    PartNo: string;
    Description: string;
    DecimalPlaces: number;
    Quantity: number;
    QuantityTaken: number;
    Remark: string;
    UnitReturnValue: number;
    TotalReturnValue: number;
    TaxAmount: number;
    TaxRateID: string;
    TaxRateDescription: string;
    TaxRate: number;
    FXUnitReturnValue: number;
    FXTotalReturnValue: number;
    FXRate: number;
    LineTotalIncTax: number;
    IsCompleted: boolean;
    ReturnCode: ReturnCode;
    PurchaseOrderLineID: string;
    CustomFieldValues: CustomFieldValue[];
    LineDetails: InventorySOHLineDetail[];
}

export type RequestEntityStatuses = "Open" | "Activated" | "Closed";

export class RequestEntity
{
    RecID: string;
    RequestNo: string;
    Reference: string;
    Status: RequestEntityStatuses;
    ReturnCode: ReturnCode;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    ContactName: string;
    Note: string;
    CourierDetails: string;
    RequestDate: string;
}

export type CreditEntityStatuses = "Open" | "Activated" | "Closed";

export class CreditEntity
{
    RecID: string;
    CreditNo: string;
    Reference: string;
    CreditorRef: string;
    Status: CreditEntityStatuses;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    ContactName: string;
    CreditDate: string;
}

export class UserSetting
{
    Section: string;
    IDKey: string;
    Contents: string;
}

export class QueryDb<T> extends QueryBase
{
}

export class SY_UserProfile
{
    // @Required()
    ProfileID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    UserID: string;

    Section: string;
    IDKey: string;
    Contents: string;
}

export type Statuses = "Entered" | "Closed" | "Picking" | "InTransit" | "Cancelled";

export type SourceTypes = "e_WarehouseTransferSourceTypeNormal" | "e_WarehouseTransferSourceTypePurchaseOrder" | "e_WarehouseTransferSourceTypeBackOrder" | "e_WarehouseTransferSourceSupplierReturnRequest" | "e_WarehouseTransferSourceSupplierReturnShipping";

export class WarehouseTransferOutReceiveIn
{
    WarehouseTransferOutReceiveInID: string;
    WarehouseTransferOutID: string;
    WarehouseTransferInID: string;
    TransferNo: string;
    TransferDate: string;
    ReceivedByStaffID: string;
    ReceivedByStaffUserName: string;
    ReceivedByStaffTitle: string;
    ReceivedByStaffFirstName: string;
    ReceivedByStaffSurname: string;
    Status: Statuses;
}

export class WarehouseTransferOutLineDetail
{
    TransferLineDetailsID: string;
    Quantity: number;
    Cost: number;
    SourceSerialNo: string;
    SourceBinLocation: string;
    SourceExpiryDate: string;
    Source_IN_SOHID: string;
    InTransit_IN_SOHID: string;
}

export type Statuses = "Entered" | "Closed" | "Picking" | "InTransit" | "Cancelled";

export type SourceTypes = "e_WarehouseTransferSourceTypeNormal" | "e_WarehouseTransferSourceTypePurchaseOrder" | "e_WarehouseTransferSourceTypeBackOrder" | "e_WarehouseTransferSourceSupplierReturnRequest" | "e_WarehouseTransferSourceSupplierReturnShipping";

export class WarehouseTransferInReceiveIn
{
    WarehouseTransferInReceiveInID: string;
    WarehouseTransferInID: string;
    WarehouseTransferOutID: string;
    TransferNo: string;
    TransferDate: string;
    ReceivedByStaffID: string;
    ReceivedByStaffUserName: string;
    ReceivedByStaffTitle: string;
    ReceivedByStaffFirstName: string;
    ReceivedByStaffSurname: string;
    Status: Statuses;
}

export class WarehouseTransferInLineDetail
{
    TransferLineDetailsID: string;
    Quantity: number;
    Cost: number;
    SourceSerialNo: string;
    SourceBinLocation: string;
    SourceExpiryDate: string;
    SourceDateIn: string;
    SourceSpecialPrice: number;
    Source_IN_SOHID: string;
    InTransit_IN_SOHID: string;
    Destination_IN_SOHID: string;
    QuantityReceived: number;
    CostReceived: number;
    DestinationSerialNo: string;
    DestinationBinLocation: string;
    DestinationExpiryDate: string;
    AddedCost: number;
}

export class WebhooksSubscriptionHeader
{
    Name: string;
    Value: string;
}

export class v_SY_WebhookSubscriber_Messages
{
    // @Required()
    SubscriberID: string;

    // @Required()
    SubscriptionID: string;

    // @Required()
    MessageID: string;

    // @Required()
    EventName: string;

    // @Required()
    URL: string;

    Body: string;
    // @Required()
    ItemNo: number;

    // @Required()
    Status: number;

    // @Required()
    Retries: number;

    // @Required()
    AddedDateTime: string;

    // @Required()
    LastSavedDateTime: string;

    LastMessageResponseHTTPCode: number;
    LastMessageResponseMessage: string;
}

export class v_SY_WebhookSubscriber_MessageResponses
{
    // @Required()
    SubscriberID: string;

    // @Required()
    SubscriptionID: string;

    // @Required()
    MessageID: string;

    // @Required()
    MessageResponseID: string;

    // @Required()
    EventName: string;

    // @Required()
    URL: string;

    Body: string;
    // @Required()
    MessageItemNo: number;

    // @Required()
    Status: number;

    // @Required()
    Retries: number;

    // @Required()
    AddedDateTime: string;

    // @Required()
    MessageLastSavedDateTime: string;

    // @Required()
    HTTPCode: number;

    Message: string;
    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;
}

export class WebHookEvent
{
    // @Required()
    Name: string;

    Description: string;
}

export class ProductionLine
{
    ProductionLineID: string;
    Name: string;
    Description: string;
    IsEnabled: boolean;
    ProductionArea: ProductionArea;
}

export type Statuses = "NotStarted" | "Started" | "OnHold" | "Closed" | "Forecast";

export type WorkOrderTypes = "WorkOrder" | "Disassembly" | "Reversal";

export type SubAssemblyExplodePolicyOptions = "AlwaysExplode" | "NeverExplode" | "ExplodeShortfalls";

export class SubAssemblyWorkOrder
{
    WorkOrder: WorkOrder;
}

export class WorkOrderInput
{
    InputID: string;
    ItemNo: number;
    InventoryID: string;
    PartNo: string;
    Description: string;
    IsRatio: boolean;
    Quantity: number;
    QuantityOnBackorder: number;
    Note: string;
    IsNonStock: boolean;
    LastSavedDateTime: string;
    LineDetails: InventorySOHLineDetail[];
    WastageLineDetails: InventorySOHLineDetail[];
    IsBoMItem: boolean;
    SubAssemblyBillID: string;
    SubAssemblyExplodePolicy: SubAssemblyExplodePolicyOptions;
    SubAssemblyWorkOrders: SubAssemblyWorkOrder[];
    CustomFieldValues: CustomFieldValue[];
}

export class WorkOrderInstruction
{
    InstructionID: string;
    ItemNo: number;
    InstructionText: string;
    CustomFieldValues: CustomFieldValue[];
}

export type Statuses = "NotStarted" | "InProgress" | "Completed";

export class WorkOrderStage
{
    StageID: string;
    ItemNo: number;
    Name: string;
    RequiredCapacity: number;
    StartDate: string;
    ProductionLineWorkCentre: ProductionLineWorkCentre;
    Inputs: WorkOrderInput[];
    Instructions: WorkOrderInstruction[];
    CustomFieldValues: CustomFieldValue[];
    Status: Statuses;
}

export class WorkOrderOutput
{
    OutputID: string;
    ItemNo: number;
    InventoryID: string;
    PartNo: string;
    Description: string;
    IsRatio: boolean;
    Quantity: number;
    QuantityExpected: number;
    QuantityWrittenOff: number;
    Note: string;
    IsPrimary: boolean;
    CostPercentage: number;
    Cost: number;
    LastSavedDateTime: string;
    LineDetails: InventorySOHLineDetail[];
    WastageLineDetails: InventorySOHLineDetail[];
    CustomFieldValues: CustomFieldValue[];
}

export class Allocation
{
    AllocationID: string;
    OutputIsWastage: boolean;
    InputLineDetailID: string;
    OutputLineDetailID: string;
    LastSavedDateTime: string;
    InputQuantity: number;
    OutputQuantity: number;
}

export class DocumentType
{
    DocumentTypeID: string;
    Description: string;
    DefaultType: boolean;
    ItemNo: number;
}

export class Document
{
    DocumentID: string;
    DocumentType: DocumentType;
    FileID: string;
    PhysicalFileName: string;
    FullPhysicalFileName: string;
    Description: string;
    LastSavedDateTime: string;
    LastModifiedByStaffID: string;
    LastModifiedByStaffUsername: string;
    LastModifiedByStaffTitle: string;
    LastModifiedByStaffFirstName: string;
    LastModifiedByStaffSurname: string;
    FileBinary: Uint8Array;
}

export class NoteType
{
    NoteTypeID: string;
    Description: string;
    DefaultType: boolean;
    ItemNo: number;
}

export class Note
{
    NoteID: string;
    NoteType: NoteType;
    LineNo: number;
    LastSavedDateTime: string;
    LastModifiedByStaffID: string;
    LastModifiedByStaffUsername: string;
    LastModifiedByStaffTitle: string;
    LastModifiedByStaffFirstName: string;
    LastModifiedByStaffSurname: string;
    NoteText: string;
}

export class WorkOrder
{
    WorkOrderID: string;
    WorkOrderNo: string;
    Reference: string;
    BillID: string;
    BillNo: string;
    BillDescription: string;
    DateCreated: string;
    DateRequired: string;
    PlannedStartDate: string;
    ActualStartDate: string;
    DateCompleted: string;
    ProductionQuantity: number;
    LastSavedDateTime: string;
    RowHash: Uint8Array;
    Stages: WorkOrderStage[];
    Outputs: WorkOrderOutput[];
    Allocations: Allocation[];
    LogicalID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseDescription: string;
    Documents: Document[];
    CustomFieldValues: CustomFieldValue[];
    Notes: Note[];
    ProductionLine: ProductionLine;
    ParentInputItem: WorkOrderInput;
    Status: Statuses;
    WorkOrderType: WorkOrderTypes;
    InvoiceLineID: string;
}

export class ProductionLineWorkCentre
{
    ProductionLineWorkCentreID: string;
    WorkCentre: WorkCentre;
}

export class v_Jiwa_Inventory_Item_List
{
    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;

    Description: string;
    Picture: Uint8Array;
    // @Required()
    InventoryClassificationID: string;

    ClassificationDescription: string;
    // @Required()
    Category1ID: string;

    Category1Description: string;
    // @Required()
    Category2ID: string;

    Category2Description: string;
    // @Required()
    Category3ID: string;

    Category3Description: string;
    // @Required()
    Category4ID: string;

    Category4Description: string;
    // @Required()
    Category5ID: string;

    Category5Description: string;
    // @Required()
    IN_LogicalID: string;

    LogicalWarehouseDescription: string;
    // @Required()
    IN_PhysicalID: string;

    // @Required()
    PhysicalWarehouseDescription: string;

    AvailableStock: number;
    SellPrice: number;
    RRPPrice: number;
    LastSavedDateTime: string;
}

export class v_JIWA_JobCosting_EstimateAndActualLines
{
    // @Required()
    JB_Estimates_RecID: string;

    // @Required()
    JB_JobStages_RecID: string;

    ComponentID: string;
    ComponentNo: string;
    ComponentDescription: string;
    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    ItemNo: number;

    Units: string;
    ComponentType: number;
    // @Required()
    IsEstimate: number;
}

export class v_Jiwa_JobCosting_EstimateLines
{
    // @Required()
    JB_Estimates_RecID: string;

    // @Required()
    JB_JobStages_RecID: string;

    // @Required()
    ComponentID: string;

    // @Required()
    ComponentNo: string;

    ComponentDescription: string;
    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    ItemNo: number;

    Units: string;
    // @Required()
    ComponentType: number;
}

export class v_JIWA_JobCosting_EstimatesAndActuals
{
    // @Required()
    RecID: string;

    // @Required()
    EstimateNo: string;

    Description: string;
    // @Required()
    JB_Main_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    HR_Staff_RecID: string;
    // @Required()
    IN_Logical_RecID: string;

    // @Required()
    IsDefault: number;

    Status: number;
    // @Required()
    IsEstimate: number;
}

export class v_Jiwa_Licences
{
    // @Required()
    RecID: string;

    // @Required()
    ResourceID: string;

    // @Required()
    ResourceName: string;

    // @Required()
    IssueDate: string;

    // @Required()
    Scope: string;

    Note: string;
    // @Required()
    CommenceDate: string;

    // @Required()
    ExpiryDate: string;

    // @Required()
    CALs: number;

    Used: number;
    Unused: number;
    // @Required()
    Version: string;

    // @Required()
    Signature: string;
}

export class v_JIWA_PurchaseOrders_DeliveryNotes
{
    // @Required()
    PurchaseOrderID: string;

    DeliveryNote: string;
}

export class v_JIWA_PurchaseOrders_UOM
{
    // @Required()
    OrderLineID: string;

    QtyUom: number;
    Name: string;
}

export class v_JIWA_QO_LinesKitHeaderTax
{
    // @Required()
    InvoiceLineID: string;

    KitHeaderTax: number;
    KitHeaderTotalIncTax: number;
}

export class v_Jiwa_SalesOrder_List
{
    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    OrderNo: string;
    SOReference: string;
    // @Required()
    InvoiceInitDate: string;

    Status: number;
    // @Required()
    CreditNote: boolean;

    // @Required()
    LastSavedDateTime: string;

    InvoiceTotal: number;
    // @Required()
    DebtorID: string;

    // @Required()
    AccountNo: string;

    DebtorName: string;
    // @Required()
    IN_LogicalID: string;

    LogicalWarehouseDescription: string;
    // @Required()
    IN_PhysicalID: string;

    // @Required()
    PhysicalWarehouseDescription: string;

    // @Required()
    BranchID: string;

    // @Required()
    BranchDescription: string;

    CashSaleAddress1: string;
    CashSaleAddress2: string;
    CashSaleAddress3: string;
    CashSaleAddress4: string;
    CashSalePostcode: string;
    CashSaleCompany: string;
    CashSaleName: string;
    CashSalePhone: string;
    DeliveryAddressContactName: string;
    // @Required()
    DeliveryAddressee: string;

    DeliveryAddress1: string;
    DeliveryAddress2: string;
    DeliveryAddress3: string;
    DeliveryAddress4: string;
    DeliveryAddressPostcode: string;
    // @Required()
    DeliveryAddressCountry: string;

    // @Required()
    Delivered: boolean;

    DeliveredDate: string;
    ConsignmentNote: string;
    CartageCharge1: number;
    Cartage1TaxAmount: number;
    CartageCharge2: number;
    Cartage2TaxAmount: number;
    CartageCharge3: number;
    Cartage3TaxAmount: number;
    CourierDetails: string;
    Notes: string;
    EmailAddress: string;
    // @Required()
    StaffID: string;

    StaffTitle: string;
    StaffFirstName: string;
    StaffSurname: string;
    // @Required()
    StaffUsername: string;
}

export class v_Jiwa_SalesQuote_List
{
    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    OrderNo: string;
    QOReference: string;
    // @Required()
    InvoiceInitDate: string;

    Status: number;
    // @Required()
    LastSavedDateTime: string;

    InvoiceTotal: number;
    // @Required()
    DebtorID: string;

    // @Required()
    AccountNo: string;

    DebtorName: string;
    // @Required()
    IN_LogicalID: string;

    LogicalWarehouseDescription: string;
    // @Required()
    IN_PhysicalID: string;

    // @Required()
    PhysicalWarehouseDescription: string;

    // @Required()
    BranchID: string;

    // @Required()
    BranchDescription: string;

    CashSaleAddress1: string;
    CashSaleAddress2: string;
    CashSaleAddress3: string;
    CashSaleAddress4: string;
    CashSalePostcode: string;
    CashSaleCompany: string;
    CashSaleName: string;
    CashSalePhone: string;
    DeliveryAddressContactName: string;
    // @Required()
    DeliveryAddressee: string;

    DeliveryAddress1: string;
    DeliveryAddress2: string;
    DeliveryAddress3: string;
    DeliveryAddress4: string;
    DeliveryAddressPostcode: string;
    // @Required()
    DeliveryAddressCountry: string;

    CartageCharge1: number;
    Cartage1TaxAmount: number;
    CartageCharge2: number;
    Cartage2TaxAmount: number;
    CartageCharge3: number;
    Cartage3TaxAmount: number;
    CourierDetails: string;
    Notes: string;
    // @Required()
    StaffID: string;

    StaffTitle: string;
    StaffFirstName: string;
    StaffSurname: string;
    // @Required()
    StaffUsername: string;
}

export class v_JIWA_SO_LinesKitHeaderTax
{
    // @Required()
    InvoiceLineID: string;

    KitHeaderTax: number;
    KitHeaderTotalIncTax: number;
}

export class v_JobPriorities
{
    // @Required()
    RecID: string;

    HighestTaskPriorityRecID: string;
}

export class v_JobStatuses
{
    // @Required()
    RecID: string;

    // @Required()
    SM_Jobs_RecID: string;
}

export class v_JobStatusesMinDisplayOrder
{
    // @Required()
    SM_Jobs_RecID: string;

    ItemNo: number;
}

export class v_JobsWithActiveTask
{
    JobID: string;
    // @Required()
    JobNo: string;

    DB_Main_RecID: string;
    AccountNo: string;
    Name: string;
    JobDescription: string;
    CoordinatorName: string;
    JobDateLogged: string;
}

export class v_PrepaidLabourPacksHoursInvoiced
{
    // @Required()
    SM_PrepaidLabourPacks_RecID: string;

    HoursInvoiced: number;
}

export class v_PrepaidLabourPacksHoursUsed
{
    // @Required()
    SM_PrepaidLabourPacks_RecID: string;

    HoursUsed: number;
}

export class v_SalesInformation
{
    // @Required()
    InvoiceLineID: string;

    // @Required()
    InvoiceNo: string;

    StaffID: string;
    // @Required()
    IN_LogicalID: string;

    IN_PhysicalID: string;
    // @Required()
    BranchID: string;

    PartNo: string;
    PartDescription: string;
    Quantity: number;
    LineTotalIncGST: number;
    LineTaxTotal: number;
    LineTotalExGST: number;
    LineCost: number;
    LineProfit: number;
    ClassificationDescription: string;
    Category1DescriptionAtTimeOfSale: string;
    Category2DescriptionAtTimeOfSale: string;
    Category3DescriptionAtTimeOfSale: string;
    // @Required()
    DebtorID: string;

    DebtorClassificationID: string;
    ProcessDate: string;
    InventoryID: string;
}

export class v_SerialNumbersSold
{
    inventoryid: string;
    SerialNo: string;
    PartNo: string;
    Description: string;
}

export class V_SHBookinShipments
{
    // @Required()
    ShipmentID: string;
}

export class V_Shipment
{
    // @Required()
    ShipmentID: string;

    // @Required()
    LineID: string;

    OrderNo: string;
    InvoiceNo: string;
    CreditorID: string;
    PartNo: string;
    Description: string;
    SuppPartNo: string;
    QtyOrdered: number;
    QtyThisShip: number;
    LineCost: number;
    LandedCost: number;
    LandedTotal: number;
    CostType: string;
    CurrencyID: string;
    FXrate: number;
    FXAmount: number;
    HomeAmount: number;
    GSTDesc: string;
    GSTAmount: number;
    GSTRate: number;
    TotalAmount: number;
    ApportionedOnPO: string;
    DueDate: string;
    // @Required()
    Date: string;

    // @Required()
    SectionDesc: string;

    TotalCost: number;
    UnitCostExGST: number;
    Duty: number;
    Expenses: number;
    FXShipUnitCostExGST: number;
}

export class V_Shipment_BO
{
    // @Required()
    InvoiceNo: string;

    RecordDate: string;
    OrderNo: string;
    // @Required()
    DebtorID: string;

    HistoryNo: number;
    PartNo: string;
    Description: string;
    QuantityOrdered: number;
    QuantityThisDel: number;
    QuantityBackord: number;
    QuantityPrevDel: number;
    ItemPrice: number;
    TaxToCharge: number;
    // @Required()
    InvoiceLineID: string;

    // @Required()
    RptType: string;
}

export class V_ShipmentReconciliation
{
    // @Required()
    SourceID: string;

    // @Required()
    ShipmentNo: string;

    ImportCostClearingAccountID: string;
}

export class v_Staff
{
    // @Required()
    StaffID: string;

    FullName: string;
}

export class V_STK_LineDetails
{
    // @Required()
    StockTakeDetailsID: string;

    // @Required()
    StockTakeLineID: string;

    SerialNumber: string;
    LinkID: string;
    QtyFound: number;
    Qty: number;
    // @Required()
    Inc_Dec: number;

    Cost: number;
    ExpiryDate: string;
    BinLocation: string;
}

export class v_SupportPackHoursRemaining
{
    // @Required()
    DB_Main_RecID: string;

    HoursRemining: number;
}

export class v_SupportPackNormalHoursRemainingByDebtor
{
    // @Required()
    DebtorID: string;

    NormalHoursRemaining: number;
}

export class v_SupportPackNormalHoursTotalByDebtor
{
    // @Required()
    DebtorID: string;

    NormalHoursTotal: number;
}

export class v_SupportPackSpecialHoursRemainingByDebtor
{
    // @Required()
    DebtorID: string;

    SpecialHoursRemaining: number;
}

export class v_SupportPackSpecialHoursTotalByDebtor
{
    // @Required()
    DebtorID: string;

    SpecialHoursTotal: number;
}

export class v_TaskPriorities
{
    // @Required()
    SM_Jobs_RecID: string;

    // @Required()
    SM_Tasks_RecID: string;

    SM_Priorities_RecID: string;
    ResponseTime: number;
}

export class v_TaskStatuses
{
    // @Required()
    SM_Jobs_RecID: string;

    // @Required()
    SM_Tasks_RecID: string;

    SM_Statuses_RecID: string;
    ItemNo: number;
}

export class VLogicalWH
{
    LogicalWH: string;
}

export class VPhysicalWH
{
    // @Required()
    PhysicalWH: string;
}

export class WH_Transfer
{
    // @Required()
    WH_TransferID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    TransferDate: string;

    // @Required()
    ActivateDate: string;

    Status: number;
    // @References(typeof(HR_Staff))
    // @Required()
    TransferBy: string;

    Ref: string;
    Notes: string;
    SourceType: number;
    SourceID: string;
    // @References(typeof(IN_Logical))
    // @Required()
    SrcIN_LogicalID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    DstIN_LogicalID: string;

    // @Required()
    TransferNo: string;

    // @Required()
    InTransit: boolean;

    TransitNotes: string;
    // @References(typeof(IN_Logical))
    IN_TransitID: string;

    // @Required()
    AddedCost1: number;

    // @Required()
    AddedCost2: number;

    // @Required()
    AddedCost3: number;

    // @References(typeof(HR_Staff))
    PickedBy: string;

    // @References(typeof(HR_Staff))
    ReceivedBy: string;

    // @Required()
    Type: number;

    // @Required()
    AddCostMethod: string;
}

export class WH_TransferLineDetails
{
    // @Required()
    WH_TransferLineDetailsID: string;

    // @Required()
    WH_TransferLineID: string;

    // @Required()
    InventoryID: string;

    Quantity: number;
    Cost: number;
    SerialNo: string;
    // @Required()
    IN_SOHID: string;

    Source_IN_SOHID: string;
    // @Required()
    InTransit_IN_SOHID: string;

    // @Required()
    CostReceived: number;

    // @Required()
    QuantityReceived: number;

    // @Required()
    SerialNoInwards: string;

    // @Required()
    BinLocation: string;

    // @Required()
    BinLocationInwards: string;

    ExpiryDate: string;
    ExpiryDateInwards: string;
    DateIn: string;
    // @Required()
    SpecialPrice: number;

    // @Required()
    AddedCost: number;
}

export class WH_TransferLines
{
    // @Required()
    WH_TransferLineID: string;

    // @Required()
    WH_TransferID: string;

    // @Required()
    InventoryID: string;

    PartNo: string;
    Description: string;
    QtyWanted: number;
    QtyTrans: number;
    Cost: number;
    Ref: string;
    // @Required()
    LineNum: number;

    BackOrderID: string;
    PurchaseOrderID: string;
    PurchaseOrderLineID: string;
    DestinationBinLoc: string;
    // @Required()
    QtyReceived: number;

    // @Required()
    LinkID: string;

    // @Required()
    AddCostLedgerID1: string;

    // @Required()
    AddCostLedgerID2: string;

    // @Required()
    AddCostLedgerID3: string;

    // @Required()
    Weight: number;

    // @Required()
    Cubic: number;

    // @Required()
    QtyBackOrdered: number;

    // @Required()
    LastSavedDateTime: string;
}

export class SY_Plugin_Image
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    Picture: Uint8Array;
    LastSavedDateTime: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_Plugin_Notes
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class SY_PluginBusinessLogic
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @References(typeof(SY_BusinessLogic))
    // @Required()
    SY_BusinessLogic_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_PluginCustomSettingModules
{
    // @Required()
    RecID: string;

    // @Required()
    ModuleName: string;

    // @Required()
    TableName: string;

    // @Required()
    IDColumnName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    ValuesTableName: string;
    ValuesIDColumnName: string;
    ValuesSettingIDColumnName: string;
    ValuesFKIDColumnName: string;
}

export class SY_PluginDocuments
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @References(typeof(SY_DocumentTypes))
    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class SY_PluginEmbeddedReference
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    AssemblyName: string;

    // @Required()
    FileBinary: Uint8Array;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_PluginForm
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_PluginPluginReference
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    Referenced_SY_Plugin_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_PluginReference
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    AssemblyFullName: string;

    // @Required()
    AssemblyName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_PluginSchedule
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    Name: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    ScheduleType: number;

    // @Required()
    OccurrenceType: number;

    // @Required()
    OccurrenceFrequencyInterval: number;

    // @Required()
    DailyFrequencyType: number;

    // @Required()
    DailyOccursOnceTime: number;

    // @Required()
    DailyRepeatsInterval: number;

    // @Required()
    DailyRepeatsStartTime: number;

    // @Required()
    DailyRepeatsEndTime: number;

    // @Required()
    WeeklyRepeatsInterval: number;

    // @Required()
    WeeklyDaysOfWeek: number;

    // @Required()
    MonthlyFrequencyType: number;

    // @Required()
    MonthlyDayOfMonth: number;

    // @Required()
    MonthlyRepeatInterval: number;

    // @Required()
    MonthlyFrequencyAdjective: number;

    // @Required()
    MonthlyFrequencyDayOfWeek: number;

    // @Required()
    StartDate: string;

    // @Required()
    HasEndDate: boolean;

    EndDate: string;
    // @Required()
    ItemNo: number;

    LastRunDate: string;
    NextRunDate: string;
    // @Required()
    RowHash: Uint8Array;
}

export class SY_PluginSnippet
{
    // @Required()
    RecID: string;

    // @Required()
    Title: string;

    // @Required()
    Description: string;

    // @Required()
    Shortcut: string;

    Author: string;
    // @Required()
    IsEnabled: boolean;

    // @Required()
    Code: string;

    // @Required()
    Language: number;

    FolderPath: string;
    // @Required()
    SnippetTypes: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    LastSavedDateTime: string;
}

export class SY_PluginSnippetDeclaration
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_PluginSnippet))
    // @Required()
    SY_PluginSnippet_RecID: string;

    // @Required()
    ID: string;

    // @Required()
    Type: string;

    // @Required()
    Tooltip: string;

    // @Required()
    Default: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_PluginSystemSettings
{
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @References(typeof(SY_SysValues))
    // @Required()
    SY_Sysvalues_RecID: string;
}

export class SY_PrintGroup
{
    // @Required()
    RecID: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsDefault: boolean;
}

export class SY_PrintGroupLogicalPrinter
{
    // @Required()
    RecID: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(SY_PrintGroup))
    // @Required()
    SY_PrintGroup_RecID: string;

    // @Required()
    Name: string;

    // @Required()
    PhysicalPrinterName: string;

    Description: string;
    // @Required()
    IsDefault: boolean;
}

export class SY_RecentlyViewed
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    Document_RecID: string;

    // @Required()
    Document_DisplayText: string;

    // @Required()
    IsPinned: boolean;

    // @Required()
    LastSavedDateTime: string;
}

export class SY_RemittanceAdviceEmailTemplates
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @Required()
    Header: string;

    // @Required()
    Body: string;

    // @Required()
    Footer: string;

    // @Required()
    ToField: string;

    // @Required()
    FromField: string;

    // @Required()
    CCField: string;

    // @Required()
    BCCField: string;

    // @Required()
    Subject: string;

    // @Required()
    RequestReadReceipt: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_Report
{
    // @Required()
    RecID: string;

    // @Required()
    FileName: string;

    // @Required()
    Title: string;

    Description: string;
    Author: string;
    // @References(typeof(SY_ReportSection))
    // @Required()
    SY_ReportSection_RecID: string;

    // @Required()
    ReportType: number;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    FileBinary: Uint8Array;

    // @Required()
    FileHash: string;

    Comment: string;
    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsReadOnly: boolean;
}

export class SY_ReportSection
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsDefault: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_SavedReportRanges
{
    // @Required()
    SavedReportRangeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    StaffID: string;

    // @Required()
    IDKey: string;

    // @Required()
    Description: string;

    Contents: string;
}

export class SY_SearchItem
{
    // @Required()
    RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    Name: string;

    // @Required()
    StoredProcedureName: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_SysValues
{
    // @Required()
    RecID: string;

    Section: string;
    IDKey: string;
    Contents: string;
    Description: string;
    // @Required()
    CellType: number;

    // @Required()
    DisplayOrder: number;

    SectionCaption: string;
    // @Required()
    ReadOnly: boolean;

    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
}

export class SY_SysValuesLog
{
    // @Required()
    RecID: string;

    // @Required()
    BatchID: string;

    // @Required()
    DatabaseVersion: string;

    // @Required()
    Section: string;

    SectionCaption: string;
    // @Required()
    IDKey: string;

    Contents: string;
    NewContents: string;
    Description: string;
    // @Required()
    CellType: number;

    // @Required()
    LastModifiedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;
}

export class SY_TabControlSettings
{
    // @Required()
    RecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    Context: string;

    // @Required()
    FullName: string;

    // @Required()
    UseCustomTabs: boolean;

    TabOrderXML: string;
    // @Required()
    RowHash: Uint8Array;
}

export class SY_TabSettings
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_TabControlSettings))
    // @Required()
    SY_TabControlSettings_RecID: string;

    // @Required()
    TabKey: string;

    // @Required()
    Text: string;

    // @Required()
    Visible: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_UpgradeLog
{
    // @Required()
    PK: number;

    // @Required()
    DatabaseMajor: number;

    // @Required()
    DatabaseMinor: number;

    // @Required()
    DatabaseRelease: number;
}

export class SY_UpgradeScripts
{
    // @Required()
    RecId: string;

    // @Required()
    PK: number;

    // @Required()
    DatabaseMajor: number;

    // @Required()
    DatabaseMinor: number;

    // @Required()
    DatabaseRelease: number;

    // @Required()
    ScriptOrder: number;

    // @Required()
    Script: string;

    // @Required()
    Status: number;

    // @Required()
    Message: string;

    // @Required()
    ScriptType: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_UserGroupAbstractPermissions
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_UserGroups))
    // @Required()
    SY_UserGroups_RecID: string;

    // @References(typeof(SY_FormsAbstractPermissions))
    // @Required()
    SY_FormsAbstractPermissions_RecID: string;

    // @Required()
    AccessLevel: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_UserGroupMemberships
{
    // @Required()
    RecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(SY_UserGroups))
    // @Required()
    SY_UserGroups_RecID: string;

    ItemNo: number;
}

export class SY_UserGroupPermissions
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_UserGroups))
    // @Required()
    SY_UserGroups_RecID: string;

    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    // @Required()
    ControlType: string;

    // @Required()
    ControlName: string;

    // @Required()
    ReadAccessLevel: number;

    // @Required()
    WriteAccessLevel: number;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_UserGroupRESTAPIPermissions
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_UserGroups))
    // @Required()
    SY_UserGroups_RecID: string;

    // @Required()
    RESTPath: string;

    // @Required()
    Verb: string;

    Summary: string;
    // @Required()
    AccessLevel: number;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_UserGroups
{
    // @Required()
    RecID: string;

    Name: string;
    Description: string;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsDefault: boolean;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    IsReadOnly: boolean;

    // @Required()
    DefaultReadAccessLevel: number;

    // @Required()
    DefaultWriteAccessLevel: number;

    // @Required()
    DefaultAbstractAccessLevel: number;

    // @References(typeof(SY_Menu))
    SY_Menu_RecID: string;

    // @Required()
    DefaultRESTAPIAccessLevel: number;
}

// @Route("/Queries/SY_WebhookMessage", "GET")
export class SY_WebhookMessage
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_WebhookSubscription))
    // @Required()
    SY_WebhookSubscription_RecID: string;

    Body: string;
    // @Required()
    ItemNo: number;

    // @Required()
    Status: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    AddedDateTime: string;

    // @Required()
    Retries: number;

    // @Required()
    RowHash: Uint8Array;
}

// @Route("/Queries/SY_WebhookMessageResponse", "GET")
export class SY_WebhookMessageResponse
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_WebhookMessage))
    // @Required()
    SY_WebhookMessage_RecID: string;

    // @Required()
    HTTPCode: number;

    Message: string;
    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;
}

// @Route("/Queries/SY_WebhookSubscriptionRequestHeader", "GET")
export class SY_WebhookSubscriptionRequestHeader
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_WebhookSubscription))
    // @Required()
    SY_WebhookSubscription_RecID: string;

    // @Required()
    Name: string;

    // @Required()
    Value: string;

    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SYS_Processes
{
    // @Required()
    ID: string;

    LastSavedDateTime: string;
    // @Required()
    IDKey: string;

    Contents: string;
}

export class TD_Collaborations
{
    // @Required()
    RecID: string;

    // @References(typeof(TD_Main))
    // @Required()
    TD_Main_RecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    NotificationEnabled: boolean;

    NotificationText: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;

    // @Required()
    NotificationSent: boolean;
}

export class TD_CustomSettings
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class TD_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @Required()
    SettingID: string;

    // @Required()
    TD_Main_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class TD_Dependencies
{
    // @Required()
    RecID: string;

    // @References(typeof(TD_Main))
    // @Required()
    TD_Main_RecID_Dependent: string;

    // @References(typeof(TD_Main))
    // @Required()
    TD_Main_RecID_Dependency: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class TD_Documents
{
    // @Required()
    RecID: string;

    // @References(typeof(TD_Main))
    // @Required()
    TD_Main_RecID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class TD_Main
{
    // @Required()
    RecID: string;

    // @Required()
    ToDoNo: string;

    // @Required()
    Subject: string;

    // @Required()
    Body: string;

    // @References(typeof(TD_Priorities))
    // @Required()
    TD_Priorities_RecID: string;

    // @Required()
    DurationInHours: number;

    // @References(typeof(HR_Staff))
    // @Required()
    AssignedBy_HR_Staff_RecID: string;

    // @References(typeof(HR_Staff))
    AssignedTo_HR_Staff_RecID: string;

    // @Required()
    ReminderEnabled: boolean;

    // @Required()
    ReminderTrigger: number;

    // @Required()
    ReminderPredefinedSetting: number;

    // @Required()
    ReminderSpecificDateTime: string;

    Source_SY_Forms_ClassName: string;
    Source_RecID: string;
    TD_ToDoTypes_RecID: string;
    // @Required()
    UsesStatusTracking: boolean;

    TD_Statuses_RecID: string;
    // @Required()
    CompletePercentage: number;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSaved_HR_Staff_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    DueDateTime: string;

    FinishedDateTime: string;
    // @Required()
    HasBeenRead: boolean;

    // @Required()
    ReminderSent: boolean;

    Source_DisplayText: string;
}

export class TD_Notes
{
    // @Required()
    RecID: string;

    // @References(typeof(TD_Main))
    // @Required()
    TD_Main_RecID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class TD_Priorities
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;

    IsDefault: boolean;
}

export class TD_SourceTypes
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Forms))
    ClassName: string;

    // @Required()
    RowHash: Uint8Array;
}

export class TD_Statuses
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    // @Required()
    PercentageComplete: number;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class TD_ToDoTypes
{
    // @Required()
    RecID: string;

    // @Required()
    IsDefault: boolean;

    // @Required()
    Description: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ItemNo: number;

    // @Required()
    TD_SourceTypes_RecID: string;
}

export class TX_Main
{
    // @Required()
    TaxID: string;

    Description: string;
    TaxRate: number;
    LastSavedDateTime: string;
    S1: string;
    S2: string;
    S3: string;
    S4: string;
    DefaultRate: number;
    // @Required()
    GSTTaxGroup: number;

    // @Required()
    DefaultRateInGroup: boolean;

    BASCode: number;
    // @Required()
    Disabled: boolean;
}

export class v_AllWarehouses
{
    Warehouse: string;
}

export class v_APIKey
{
    // @Required()
    RecID: string;

    Name: string;
    // @Required()
    PrincipalID: string;

    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    CreatedDateTime: string;

    ExpiryDateTime: string;
    CancelledDateTime: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    KeyValue: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    KeyType: string;
}

export class V_BASCodeNum
{
    // @Required()
    transcode3id: string;

    // @Required()
    Description: string;
}

export class V_BOMSold
{
    SourceID: string;
    BOM_QuantitySold: number;
}

export class V_CR_AgedTrans
{
    // @Required()
    TransID: string;

    // @Required()
    CreditorID: string;

    // @Required()
    DebitCredit: boolean;

    Ref: string;
    Remark: string;
    TranDate: string;
    InvRemitNo: string;
    AllocatedAmount: number;
    Source: string;
    Amount: number;
}

export class V_CR_PurchaseShipments
{
    CreditorID: string;
    // @Required()
    Type: string;

    TranDate: string;
    DueDate: string;
    InvoiceNo: string;
    PartNo: string;
    PartDescription: string;
    Quantity: number;
    UnitCost: number;
    TotalCost: number;
    TaxAmount: number;
    IncTotal: number;
    CurrencyRate: number;
    FxUnitCost: number;
    FxTotalCost: number;
}

export class V_CRGL_Reconciliation
{
    // @Required()
    ID: string;

    // @Required()
    Accountno: string;

    Description: string;
    TransDate: string;
    SourceText: string;
    // @Required()
    SourceID: string;

    SourceNum: number;
    // @Required()
    SubTypeNum: number;

    Value: number;
    DebitCredit: boolean;
    // @Required()
    ReportType: string;
}

export class V_DBGL_Reconciliation
{
    // @Required()
    ID: string;

    // @Required()
    Accountno: string;

    Description: string;
    TransDate: string;
    SourceText: string;
    // @Required()
    SourceID: string;

    SourceNum: number;
    SubTypeNum: number;
    Value: number;
    DebitCredit: boolean;
    // @Required()
    ReportType: string;
}

export class V_DBStatement_Trans
{
    // @Required()
    AccountNo: string;

    // @Required()
    DebtorID: string;

    DebitCredit: boolean;
    Ref: string;
    Remark: string;
    TranDate: string;
    InvRemitNo: string;
    DiscountedAmount: number;
    AllocatedAmount: number;
    SubType: number;
    AgedOut: boolean;
    TransID: string;
}

export class V_DBStatement_TransAsAt
{
    // @Required()
    AccountNo: string;

    // @Required()
    DebtorID: string;

    TransID: string;
    DebitCredit: boolean;
    Ref: string;
    Remark: string;
    TranDate: string;
    InvRemitNo: string;
    DiscountedAmount: number;
    AllocatedAmount: number;
    SubType: number;
    AgedOut: boolean;
}

export class v_DebtorBalanceInformation
{
    DebtorID: string;
    DueDate: string;
    Balance: number;
    Source: string;
}

export class v_Debtors
{
    // @Required()
    DebtorID: string;

    DebtorAccountnoAndName: string;
    // @Required()
    ClassificationID: string;
}

export class v_DebtorTransactionSources
{
    // @Required()
    SourceNo: number;

    // @Required()
    SourceName: string;
}

export class V_G_Category
{
    // @Required()
    GLCategoryID: string;

    Description: string;
    Group1: string;
    // @Required()
    ExpSign: string;

    // @Required()
    AccType: string;

    Group2: string;
}

export class v_GL_Ledger
{
    // @Required()
    GLLedgerID: string;

    LastSavedDateTime: string;
    // @Required()
    GLCategoryID: string;

    // @Required()
    AccountNo: string;

    Seg1: string;
    Seg2: string;
    Seg3: string;
    Seg4: string;
    Seg5: string;
    Seg6: string;
    Description: string;
    LastYearOpen: number;
    CurrYearOpen: number;
    CurrBal: number;
    ExpSign: number;
    // @Required()
    AccClass: number;

    DistributionAcc: boolean;
    // @Required()
    ShortCut: string;

    // @Required()
    PostingAcc: number;

    ParentAccNo: string;
    UseTransCode1: boolean;
    UseTransCode2: boolean;
    UseTransCode3: boolean;
    UseStaffCode: boolean;
    ClearingAccountID: string;
    Details: string;
    IsEnabled: boolean;
    AccType: number;
}

export class v_GL_Segment1
{
    Seg1: string;
}

export class v_GL_Segment2
{
    Seg2: string;
}

export class v_GL_Segment3
{
    Seg3: string;
}

export class v_GL_Segment4
{
    Seg4: string;
}

export class v_GL_Segment5
{
    Seg5: string;
}

export class v_GL_Segment6
{
    Seg6: string;
}

export class v_GL_Transactions
{
    Seg1: string;
    Seg2: string;
    Seg3: string;
    Seg4: string;
    Seg5: string;
    Seg6: string;
    Amount: number;
    TransPostDateTime: string;
    Category: string;
    AccountDescription: string;
}

export class V_INV_Assembly
{
    AssemblyNO: string;
    Date: string;
    AssembleTo: string;
    // @Required()
    AssemblyType: string;

    AssembleFrom: string;
    // @Required()
    INAssemblyHistoryID: string;

    // @Required()
    INAssemblyLineID: string;
}

export class V_INV_PI
{
    InvoiceNO: string;
    SuppPart: string;
    Date: string;
    AccountNo: string;
    SerialNo: string;
    BinLoc: string;
    // @Required()
    PI_LinesDetailsID: string;
}

export class V_INV_Receival
{
    SlipNo: string;
    Date: string;
    SuppPart: string;
    AccountNO: string;
    // @Required()
    SourceID: string;
}

export class V_Inv_Sales
{
    FullInvNo: string;
    Date: string;
    orderno: string;
    Accountno: string;
    QtyOrd: string;
    // @Required()
    InvoiceLineID: string;

    InventoryID: string;
    // @Required()
    InvoiceHistoryID: string;
}

export class V_INV_UnProQtyBin
{
    InventoryID: string;
    QTY: number;
    Value: number;
    // @Required()
    IN_LogicalID: string;

    BinLocation: string;
}

export class V_INV_WHTransfer
{
    TransferNo: string;
    Date: string;
    Ref: string;
    FromWH: string;
    ToWH: string;
    // @Required()
    WH_TransferLineID: string;

    // @Required()
    WH_TransferLineDetailsID: string;

    SerialNo: string;
}

export class v_Inventory
{
    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;

    Description: string;
    PartNoAndDescription: string;
    // @Required()
    Category1ID: string;

    // @Required()
    Category2ID: string;

    // @Required()
    Category3ID: string;

    // @Required()
    Category4ID: string;

    // @Required()
    Category5ID: string;

    // @Required()
    ClassificationID: string;
}

export class v_JB_BackOrders
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    // @Required()
    JobCostStage: string;

    // @Required()
    Item: string;

    Description: string;
    TranDate: string;
    Qty: number;
    TotalCost: number;
    TotalCharge: number;
    Remark: string;
    JobNo: string;
}

export class v_JB_Cashbook
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    // @Required()
    JobCostStage: string;

    Item: string;
    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    // @Required()
    TotalCost: number;

    // @Required()
    TotalCharge: number;

    Remark: string;
    JobNo: string;
}

export class v_JB_CashbookEstimateTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;

    DefaultEstimate: number;
}

export class v_JB_CashbookTotalsToDate
{
    Charge: number;
    Cost: number;
    // @Required()
    JobID: string;
}

export class v_JB_ChargesToDate
{
    TotalCharge: number;
    // @Required()
    JobID: string;
}

export class v_JB_CostsToDate
{
    TotalCost: number;
    // @Required()
    JobID: string;
}

export class v_JB_CreditNotes
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    JobCostStage: string;
    // @Required()
    Item: string;

    // @Required()
    Description: string;

    // @Required()
    TranDate: string;

    // @Required()
    Qty: string;

    TotalCost: number;
    TotalCharge: number;
    // @Required()
    Remark: string;

    JobNo: string;
}

export class v_JB_DefaultEstimate
{
    EstimateCharge: number;
    EstimateCost: number;
    // @Required()
    JobID: string;
}

export class v_JB_FinishedGoods
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    // @Required()
    JobCostStage: string;

    Item: string;
    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    // @Required()
    TotalCost: number;

    // @Required()
    TotalCharge: number;

    Remark: string;
    JobNo: string;
}

export class v_JB_GoodProducedTotalsToDate
{
    Charge: number;
    Cost: number;
    JobID: string;
}

export class v_JB_GoodsReceived
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    // @Required()
    JobCostStage: string;

    Item: string;
    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    // @Required()
    TotalCost: number;

    // @Required()
    TotalCharge: number;

    Remark: string;
    JobNo: string;
}

export class v_JB_GoodsReceivedTotalsToDate
{
    Charge: number;
    Cost: number;
    // @Required()
    JobID: string;
}

export class v_JB_GoodsWrittenOnOffTotalsToDate
{
    Charge: number;
    Cost: number;
    JobID: string;
}

export class v_JB_InvoicedToDate
{
    InvoicedAmount: number;
    InvoicedCost: number;
    JobID: string;
}

export class v_JB_Invoices
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    JobCostStage: string;
    // @Required()
    Item: string;

    // @Required()
    Description: string;

    // @Required()
    TranDate: string;

    // @Required()
    Qty: string;

    TotalCost: number;
    TotalCharge: number;
    // @Required()
    Remark: string;

    JobNo: string;
}

export class v_JB_InvoiceWrittenOnOffTotalsToDate
{
    Charge: number;
    Cost: number;
    JobID: string;
}

export class V_JB_JobCodeSearch
{
    // @Required()
    JobID: string;

    JobNo: string;
    JobDescription: string;
    CostCentreID: string;
    CostCentreNo: string;
    CostCentreDesc: string;
    StageID: string;
    StageNo: string;
    StageDesc: string;
}

export class v_JB_Jobs
{
    AccountNo: string;
    Name: string;
    JobNo: string;
    Description: string;
    Status: string;
    EstEndDate: string;
    // @Required()
    JobID: string;

    ChargeToDate: number;
    CostToDate: number;
    LastInvoiceDate: string;
    WIPValueCost: number;
    WIPValueCharge: number;
    EstimateCharge: number;
    InvoicedToDate: number;
    EstimateCost: number;
    InvoicedCostToDate: number;
    MarginPercentage: number;
    PercentageInvoiced: number;
}

export class v_JB_Journals
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    // @Required()
    JobCostStage: string;

    Item: string;
    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    // @Required()
    TotalCost: number;

    // @Required()
    TotalCharge: number;

    Remark: string;
    JobNo: string;
}

export class v_JB_JournalsEstimateTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;

    DefaultEstimate: number;
}

export class v_JB_JournalsTotalsToDate
{
    Charge: number;
    Cost: number;
    // @Required()
    JobID: string;
}

export class v_JB_Labour
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    JobCostStage: string;
    Item: string;
    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    // @Required()
    TotalCost: number;

    // @Required()
    TotalCharge: number;

    Remark: string;
    JobNo: string;
}

export class v_JB_LabourEstimateTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;

    DefaultEstimate: number;
}

export class v_JB_LabourTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;
}

export class v_JB_LastInvoiceDate
{
    JobID: string;
    LastInvoiceDate: string;
}

export class v_JB_Main
{
    // @Required()
    JobID: string;

    JobNo: string;
    Description: string;
    // @Required()
    JobGroup: string;

    AccountNo: string;
    Name: string;
    OrderNo: string;
    IsTemplate: boolean;
    // @Required()
    Status: string;

    // @Required()
    StartDate: string;

    // @Required()
    EstEndDate: string;

    // @Required()
    EstStartDate: string;

    // @Required()
    ClosedDate: string;

    InventorySellType: number;
    ContractAmount: number;
    MarkUpMaterials: number;
    MarkUpLabour: number;
    MarkUpSubContract: number;
    MarkUpResource: number;
    RetentionType: number;
    RetentionValue: number;
    GstApplicable: boolean;
    // @Required()
    Priority: string;

    CostCentreNo: string;
    CostCentreDesc: string;
    CostCentreIsEnabled: boolean;
    StageNo: string;
    StageDesc: string;
    StageIsEnabled: boolean;
    ClassDesc: string;
    JobClass: string;
}

export class v_JB_MarginPercentageToDate
{
    MarginPercentage: number;
    // @Required()
    JobID: string;
}

export class v_JB_Materials
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    // @Required()
    JobCostStage: string;

    Item: string;
    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    // @Required()
    TotalCost: number;

    // @Required()
    TotalCharge: number;

    Remark: string;
    JobNo: string;
}

export class v_JB_MaterialsEstimateTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;

    DefaultEstimate: number;
}

export class v_JB_MaterialsTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;
}

export class v_JB_PercentInvoiced
{
    PercentageInvoiced: number;
    // @Required()
    JobID: string;
}

export class v_JB_PurchaseOrders
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    JobCostStage: string;
    // @Required()
    Item: string;

    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    TotalCost: number;
    TotalCharge: number;
    // @Required()
    Remark: string;

    JobNo: string;
}

export class v_JB_Purchases
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    // @Required()
    JobCostStage: string;

    Item: string;
    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    // @Required()
    TotalCost: number;

    // @Required()
    TotalCharge: number;

    Remark: string;
    JobNo: string;
}

export class v_JB_PurchasesEstimateTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;

    DefaultEstimate: number;
}

export class v_JB_PurchasesTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;
}

export class v_JB_Resources
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    // @Required()
    JobCostStage: string;

    Item: string;
    Description: string;
    // @Required()
    TranDate: string;

    Qty: number;
    // @Required()
    TotalCost: number;

    // @Required()
    TotalCharge: number;

    Remark: string;
    JobNo: string;
}

export class v_JB_ResourcesEstimateTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;

    DefaultEstimate: number;
}

export class v_JB_ResourcesTotalsToDate
{
    Charge: number;
    Cost: number;
    Qty: number;
    // @Required()
    JobID: string;
}

export class v_JB_Transactions
{
    // @Required()
    SourceType: string;

    // @Required()
    BatchNo: string;

    JobCostStage: string;
    Item: string;
    Description: string;
    TranDate: string;
    Qty: number;
    TotalCost: number;
    TotalCharge: number;
    Remark: string;
    JobNo: string;
}

export class v_JB_WIPValue
{
    Cost: number;
    Charge: number;
    // @Required()
    JobID: string;
}

export class V_JIWA_Debtor_ALL
{
    // @Required()
    DebtorID: string;

    SearchField: string;
    // @Required()
    AccountNo: string;

    Name: string;
    Phone: string;
    PostCode: string;
    Address3: string;
    Address2: string;
}

export class v_Jiwa_Debtor_List
{
    // @Required()
    DebtorID: string;

    // @Required()
    AccountNo: string;

    Name: string;
    AltAccountNo: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    // @Required()
    Country: string;

    Phone: string;
    AccountOnHold: boolean;
    EmailAddress: string;
    CurrentBalance: number;
    // @Required()
    WebAccess: boolean;

    LastSavedDateTime: string;
    TradingStatus: number;
    // @Required()
    DebtorClassificationID: string;

    // @Required()
    ClassificationDescription: string;

    // @Required()
    Category1ID: string;

    Category1Description: string;
    // @Required()
    Category2ID: string;

    Category2Description: string;
    // @Required()
    Category3ID: string;

    Category3Description: string;
    // @Required()
    Category4ID: string;

    Category4Description: string;
    // @Required()
    Category5ID: string;

    Category5Description: string;
    // @Required()
    PriceSchemeID: string;

    // @Required()
    PriceSchemeDescription: string;

    // @Required()
    PricingGroupDescription: string;
}

export class v_Jiwa_Debtor_Transactions_List
{
    // @Required()
    TransID: string;

    DebtorID: string;
    // @Required()
    AccountNo: string;

    Name: string;
    TranDate: string;
    DueDate: string;
    InvRemitNo: string;
    // @Required()
    DebitCredit: boolean;

    Amount: number;
    AllocatedAmount: number;
    GSTAmount: number;
    OutstandingAmount: number;
    Description: string;
    SourceID: string;
    Ref: string;
    Remark: string;
    Note: string;
    // @Required()
    AgedOut: boolean;
}

export class v_JIWA_DefaultOrderLocations
{
    // @Required()
    IN_LogicalID: string;

    // @Required()
    IN_PhysicalID: string;

    LogicalWarehouseDesciption: string;
    // @Required()
    PhysicalWarehouseDesciption: string;
}

export class v_Jiwa_GL_PeriodsFromGL_Config
{
    // @Required()
    Year_No: number;

    Period_Name: string;
    // @Required()
    Period_Start_Date: string;

    Period_End_Date: string;
}

export class v_Jiwa_GL_PeriodsFromGL_ConfigAndSO_SalesHistory
{
    Year_No: number;
    Period_Name: string;
    Period_Start_Date: string;
    Period_End_Date: string;
}

export class v_Jiwa_GL_PeriodsFromSO_SalesHistory
{
    Year_No: number;
    Period_Name: string;
    Period_Start_Date: string;
    Period_End_Date: string;
}

export class v_JIWA_Inventory_AllPartsIncludingOldPartNumbers
{
    InventoryID: string;
    PartNo: string;
    Description: string;
}

export class SH_Main
{
    // @Required()
    ShipmentID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    IN_LogicalID: string;

    // @Required()
    ShipmentNo: string;

    // @Required()
    Status: number;

    // @Required()
    ShipInitDate: string;

    WayBillNo: string;
    VesselName: string;
    ContainerNo: string;
    // @References(typeof(CR_Main))
    ShippingAgent: string;

    DeliveryNotes: string;
    DepartureDate: string;
    ArrivalDate: string;
    ReceiptDate: string;
    // @Required()
    UseVOTI: boolean;

    ImportCostClearingAccountID: string;
    // @Required()
    ExpectedArrivalDate: string;
}

export class SH_PurchaseOrders
{
    // @Required()
    RecID: string;

    // @Required()
    SH_Main_RecID: string;

    // @Required()
    PO_Main_RecID: string;

    // @Required()
    DisplayLines: boolean;

    FXRate: number;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SH_Voti
{
    // @Required()
    VotiID: string;

    // @Required()
    ShipmentID: string;

    // @Required()
    CreditorID: string;

    CreditorLedgerID: string;
    GSTID: string;
    LedgerID: string;
    Description: string;
    InvoiceNo: string;
    Reference: string;
    Amount: number;
    GSTAmount: number;
    DueDate: string;
    // @Required()
    Invoiced: boolean;

    CR_TransID: string;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
    DecimalPlaces: number;
    InvoiceDate: string;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class SM_Activities
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;

    IsDefault: boolean;
}

export class SM_ActivityBudgets
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Activities))
    // @Required()
    SM_Activities_RecID: string;

    // @References(typeof(SM_Tasks))
    // @Required()
    SM_Tasks_RecID: string;

    BudgetedBillingTime: number;
    BudgetedElapsedTime: number;
    BudgetedBillingValue: number;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SM_ActivityBudgetsCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class SM_ActivityBudgetsCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_ActivityBudgets))
    // @Required()
    SM_ActivityBudgets_RecID: string;

    // @References(typeof(SM_ActivityBudgetsCustomFields))
    // @Required()
    SM_ActivityBudgetsCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class SM_CashSale
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Tasks))
    // @Required()
    SM_Tasks_RecID: string;

    Name: string;
    Company: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    ContactName: string;
    // @Required()
    RowHash: Uint8Array;

    Country: string;
}

export class SM_CustomerReturnLineDetails
{
    // @Required()
    CustomerReturnLineDetailsID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    CustomerReturnID: string;

    Quantity: number;
    Cost: number;
    SerialNo: string;
    BinLocationDesc: string;
    ExpiryDate: string;
    SOHID: string;
    // @References(typeof(SY_Plugin))
    SY_Plugin_RecID: string;
}

export class SM_CustomerReturns
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    TaskID: string;

    InventoryID: string;
    PartNo: string;
    Description: string;
    CommentLine: boolean;
    Quantity: number;
    PriceExGST: number;
    GSTID: string;
    GSTRate: number;
    GSTAmount: number;
    LineTotalIncGST: number;
    Processed: boolean;
    InvoiceID: string;
    InvoiceLineID: string;
    DisplayOrder: number;
    PhysicalItem: boolean;
    UseSerials: boolean;
    QuantityDecimalPlaces: number;
    SellPriceIsIncTax: boolean;
    CreditReasonID: string;
    CreditIntoStock: boolean;
    Notes: string;
    UserDefinedBit1: boolean;
    UserDefinedBit2: boolean;
    UserDefinedBit3: boolean;
    UserDefinedString1: string;
    UserDefinedString2: string;
    UserDefinedString3: string;
    UserDefinedDate1: string;
    UserDefinedDate2: string;
    UserDefinedDate3: string;
    UserDefinedFloat1: number;
    UserDefinedFloat2: number;
    UserDefinedFloat3: number;
    // @References(typeof(SY_Plugin))
    SY_Plugin_RecID: string;
}

export class SM_CustomSettings
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class SM_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(SM_CustomSettings))
    // @Required()
    SettingID: string;

    // @References(typeof(SM_Tasks))
    // @Required()
    TaskID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SM_DebtorManager
{
    // @Required()
    DebtorID: string;

    Name: string;
    // @Required()
    StaffID: string;

    FName: string;
    SName: string;
}

export class SM_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    SM_Tasks_RecID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    LastSavedByStaffID: string;
    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class SM_EmailLog
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Tasks))
    // @Required()
    SM_Tasks_RecID: string;

    // @Required()
    EmailDateTime: string;

    From: string;
    To: string;
    CC: string;
    BCC: string;
    Attachments: string;
    Subject: string;
    Body: string;
    // @References(typeof(SM_Jobs))
    // @Required()
    SM_Jobs_RecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @References(typeof(EM_Main))
    EM_Main_RecID: string;

    RequestReadReceipt: boolean;
}

export class SM_JobActivityBudgets
{
    // @Required()
    RecID: string;

    // @Required()
    SM_Activities_RecID: string;

    // @References(typeof(SM_Jobs))
    // @Required()
    SM_Jobs_RecID: string;

    BudgetedBillingTime: number;
    BudgetedElapsedTime: number;
    BudgetedBillingValue: number;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SM_JobActivityBudgetsCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class SM_JobActivityBudgetsCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_JobActivityBudgets))
    // @Required()
    SM_JobActivityBudgets_RecID: string;

    // @References(typeof(SM_JobActivityBudgetsCustomFields))
    // @Required()
    SM_JobActivityBudgetsCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class SM_JobEquipment
{
    // @Required()
    EquipmentID: string;

    // @Required()
    JobID: string;

    InventoryID: string;
    PartNo: string;
    Description: string;
    Notes: string;
    SerialNumber: string;
    // @Required()
    Damaged: number;

    // @Required()
    WarrantyItemID: string;

    Reference: string;
    DateSent: string;
    DateReturn: string;
    Status: number;
}

export class SM_JobPLLink
{
    SM_Tasks_RecID: string;
    RecID: string;
    PartID: string;
    EquipmentID: string;
}

export class SM_Jobs
{
    // @Required()
    RecID: string;

    // @Required()
    JobNo: string;

    // @References(typeof(DB_Main))
    // @Required()
    DB_Main_RecID: string;

    // @References(typeof(CN_Contact))
    CN_Contact_RecID: string;

    Reference: string;
    Description: string;
    // @References(typeof(HR_Staff))
    Coordinator_HR_Staff_RecID: string;

    // @Required()
    DateLogged: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSaved_HR_Staff_RecID: string;

    // @References(typeof(IN_PriceSchemes))
    IN_PriceSchemes_RecID: string;

    TaxExemptNo: string;
    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;
}

export class SM_Labour
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    IN_Main_RecID: string;

    // @References(typeof(SM_Tasks))
    // @Required()
    SM_Tasks_RecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    StaffID: string;

    // @Required()
    StartTime: string;

    // @Required()
    EndTime: string;

    Description: string;
    // @Required()
    BillingTime: number;

    // @Required()
    Rate: number;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedStaffID: string;

    // @Required()
    IsPrepaid: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    SitesheetReceived: boolean;

    // @References(typeof(TX_Main))
    // @Required()
    TX_Main_RecID: string;

    // @Required()
    Tax: number;

    // @Required()
    TaxRate: number;

    // @Required()
    LCostIn: number;

    // @References(typeof(SM_Activities))
    // @Required()
    SM_Activities_RecID: string;

    // @References(typeof(SO_Lines))
    SO_Lines_RecID: string;
}

export class SM_LabourLineCustomFields
{
    // @Required()
    FieldID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class SM_LabourLineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Labour))
    // @Required()
    LabourID: string;

    // @References(typeof(SM_LabourLineCustomFields))
    // @Required()
    FieldID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SM_LabourLineDetails
{
    // @Required()
    RecID: string;

    // @Required()
    Quantity: number;

    // @References(typeof(SM_PrepaidLabourPacks))
    // @Required()
    SM_PrepaidLabourPacks_RecID: string;

    // @References(typeof(SM_Labour))
    // @Required()
    SM_Labour_RecID: string;
}

export class SM_Notes
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Tasks))
    // @Required()
    SM_Tasks_RecID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class SM_PartLineCustomFields
{
    // @Required()
    FieldID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class SM_PartLineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Parts))
    // @Required()
    PartID: string;

    // @References(typeof(SM_PartLineCustomFields))
    // @Required()
    FieldID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SM_PartLineDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Parts))
    // @Required()
    SM_Parts_RecID: string;

    // @Required()
    LinkID: string;

    Quantity: number;
    Mode: number;
    Cost: number;
    TaxPaid: number;
    SerialNo: string;
    ExpiryDate: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SM_Parts
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Tasks))
    SM_Tasks_RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    IN_Main_RecID: string;

    // @Required()
    PartNo: string;

    // @Required()
    Description: string;

    Quantity: number;
    ItemPrice: number;
    Tax: number;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedStaffID: string;

    QOReference: string;
    // @Required()
    ItemNo: number;

    Discount: number;
    DiscountPercentage: number;
    SellPriceIsIncTax: boolean;
    QuantityDecimalPlaces: number;
    Discountable: boolean;
    DefaultPrice: number;
    MinimumGP: number;
    LastCost: number;
    TaxID: string;
    TaxRate: number;
    UserDefinedBit1: boolean;
    UserDefinedBit2: boolean;
    UserDefinedBit3: boolean;
    UserDefinedString1: string;
    UserDefinedString2: string;
    UserDefinedString3: string;
    UserDefinedDate1: string;
    UserDefinedDate2: string;
    UserDefinedDate3: string;
    UserDefinedFloat1: number;
    UserDefinedFloat2: number;
    UserDefinedFloat3: number;
    // @References(typeof(SO_Lines))
    SO_Lines_RecID: string;
}

export class SM_PrepaidLabourPacks
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    Status: number;

    // @References(typeof(DB_Main))
    // @Required()
    DB_Main_RecID: string;

    // @References(typeof(SO_Main))
    Invoice_SO_Main_RecID: string;

    // @References(typeof(SO_Main))
    CreditNote_SO_Main_RecID: string;

    TotalHours: number;
    ReorderLevel: number;
    Rate: number;
    Ratio: number;
    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedBy_HR_Staff_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedBy_HR_Staff_RecID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    UnearnedIncomeAccount_GL_Ledger_RecID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    IncomeAccount_GL_Ledger_RecID: string;

    SpecialUse: boolean;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    PackNo: string;
}

export class SM_Priorities
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;

    IsDefault: boolean;
    ResponseTime: number;
    Deadline: boolean;
}

export class SM_SalesInvoiceNoSearch
{
    // @Required()
    InvoiceNo: string;

    // @Required()
    InvoiceInitDate: string;

    // @Required()
    AccountNo: string;

    Name: string;
}

export class SM_Statuses
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;

    IsDefault: boolean;
}

export class SM_Tasks
{
    // @Required()
    RecID: string;

    // @Required()
    TaskNo: number;

    // @References(typeof(SM_Jobs))
    // @Required()
    SM_Jobs_RecID: string;

    // @References(typeof(HR_Departments))
    HR_Departments_RecID: string;

    // @References(typeof(HR_DepartmentCategories))
    HR_DepartmentCategories_RecID: string;

    // @References(typeof(SM_Priorities))
    SM_Priorities_RecID: string;

    // @References(typeof(SM_Statuses))
    SM_Statuses_RecID: string;

    // @References(typeof(HR_Staff))
    AssignedTo_HR_Staff_RecID: string;

    Description: string;
    Note: string;
    // @Required()
    DateLogged: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LoggedBy_HR_Staff_RecID: string;

    HasDeadline: boolean;
    Deadline: string;
    CompletionDate: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSaved_HR_Staff_RecID: string;

    // @References(typeof(SM_PrepaidLabourPacks))
    SM_PrepaidLabourPacks_RecID: string;

    // @References(typeof(DB_DeliveryAddress))
    DB_DeliveryAddress_RecID: string;

    // @References(typeof(DB_DebtorSystems))
    DB_DebtorSystems_RecID: string;

    IsRetired: boolean;
    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(DB_Main))
    BillingDebtor_DB_Main_RecID: string;

    // @References(typeof(DB_DeliveryAddress))
    BillingDebtor_DB_DeliveryAddress_RecID: string;
}

export class SM_TimesheetLines
{
    // @Required()
    RecID: string;

    // @References(typeof(SM_Timesheets))
    // @Required()
    SM_Timesheets_RecID: string;

    // @References(typeof(SM_Tasks))
    // @Required()
    SM_Tasks_RecID: string;

    // @Required()
    StartTime: string;

    EndTime: string;
    Description: string;
    // @Required()
    ItemNo: number;

    // @Required()
    SM_Activities_RecID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SM_Timesheets
{
    // @Required()
    RecID: string;

    // @Required()
    TimesheetNo: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    TimeSheetDate: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    IsActivated: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class SO_BatchPrintFilters
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @Required()
    StoredProcedureName: string;

    IsDefault: boolean;
    // @Required()
    ItemNo: number;

    IsReadOnly: boolean;
}

export class SO_BatchPrintSettings
{
    // @Required()
    Name: string;

    Description: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    DeliveryDocketPrintedStatus: number;

    // @Required()
    SalesOrderPrintedStatus: number;

    // @Required()
    PackSlipPrintedStatus: number;

    // @Required()
    PickSheetPrintedStatus: number;

    // @Required()
    OtherPrintedStatus: number;

    // @Required()
    SalesOrderType: number;

    // @Required()
    DocumentType: number;

    // @Required()
    BillingType: number;

    // @Required()
    BackOrderMode: number;

    // @Required()
    SalesOrderStatus: number;

    CurrentSnapOnly: boolean;
    // @References(typeof(SO_BatchPrintFilters))
    BatchPrintFilterRecID: string;

    PrintDeliveryDocket: boolean;
    PrintInvoice: boolean;
    PrintPackSlip: boolean;
    PrintPickSheet: boolean;
    PrintOther: boolean;
    // @Required()
    RecID: string;

    EmailDeliveryDocket: boolean;
    EmailInvoice: boolean;
    EmailPackSlip: boolean;
    EmailPickSheet: boolean;
    EmailOther: boolean;
    DeliveryDocketEmailedStatus: number;
    SalesOrderEmailedStatus: number;
    PackSlipEmailedStatus: number;
    PickSheetEmailedStatus: number;
    OtherEmailedStatus: number;
    // @References(typeof(EM_Templates))
    // @Required()
    BatchPrintEmailTemplateRecID: string;

    AppliesTo_IN_PhysicalID: string;
    AppliesTo_IN_LogicalID: string;
    VisibleTo_IN_PhysicalID: string;
    VisibleTo_IN_LogicalID: string;
}

export class SO_BatchProcessTypes
{
    // @Required()
    RecID: string;

    // @Required()
    Description: string;

    // @Required()
    ListOfSalesOrdersToProcessStoredProcedure: string;

    PostProcessingStoredProcedure: string;
}

export class SO_BORun
{
    // @Required()
    RunID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RunBy: string;

    // @Required()
    RunNo: string;
}

export class SO_BORunLines
{
    // @Required()
    RecID: string;

    // @Required()
    RunID: string;

    SourceType: number;
    // @Required()
    SourceLineID: string;
}

export class SO_BulkCreditNoteBatch
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @Required()
    StaffID: string;

    // @Required()
    DateActivated: string;

    BatchActivated: boolean;
    // @Required()
    LastSavedDateTime: string;
}

export class SO_BulkCreditNoteBatchLines
{
    // @Required()
    RecID: string;

    // @Required()
    BulkCreditNoteBatchID: string;

    // @Required()
    LineNumber: number;

    // @Required()
    InvoiceHistoryID: string;

    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    DebtorID: string;

    // @Required()
    DebtorAccountNo: string;

    DebtorName: string;
    CreditNoteInvoiceID: string;
    CreditNoteInvoiceNo: string;
    CreditFlag: boolean;
    CreditFailed: boolean;
    FailReason: string;
}

export class SO_CashSale
{
    // @References(typeof(SO_Main))
    // @Required()
    InvoiceID: string;

    Name: string;
    Company: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    ContactName: string;
}

export class SO_CreditNoteInvoiceLink
{
    // @Required()
    RecID: string;

    // @Required()
    CreditNoteInvoiceID: string;

    // @Required()
    SourceInvoiceHistoryID: string;
}

export class SO_CreditReasons
{
    // @Required()
    CreditReasonID: string;

    // @Required()
    CreditReasonDescription: string;

    // @Required()
    DefaultCreditReason: boolean;

    // @Required()
    CreditIntoStock: boolean;
}

export class SO_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    // @Required()
    SettingName: string;

    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class SO_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(SO_CustomSetting))
    // @Required()
    SettingID: string;

    // @References(typeof(SO_Main))
    // @Required()
    InvoiceID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SO_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    InvoiceID: string;

    // @Required()
    DocumentTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class SO_EDIMain
{
    // @Required()
    InvoiceID: string;

    EDIOrderType: number;
    EDIAddress: string;
    EDIDeliverNotBeforeDate: string;
    EDIDeliverNotAfterDate: string;
    ReceiverEDIAddress: string;
    VendorNumber: string;
    BuyerNumber: string;
}

export class SO_EmailLog
{
    // @Required()
    EmailLogID: string;

    // @References(typeof(SO_History))
    // @Required()
    InvoiceHistoryID: string;

    // @Required()
    EmailDateTime: string;

    From: string;
    To: string;
    CC: string;
    BCC: string;
    Attachments: string;
    Subject: string;
    Body: string;
    // @Required()
    InvoiceID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    StaffID: string;

    EM_Main_RecID: string;
    RequestReadReceipt: boolean;
    ReportType: number;
}

export class SO_ExportLines
{
    // @Required()
    RecID: string;

    // @References(typeof(SO_ExportMain))
    // @Required()
    SO_ExportMain_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ItemNo: number;

    // @Required()
    SO_Main_InvoiceID: string;

    FlaggedForExport: boolean;
    SO_History_InvoiceHistoryID: string;
    // @Required()
    RowHash: Uint8Array;
}

export class SO_ExportMain
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    BatchNo: string;

    // @Required()
    DateCreated: string;

    // @Required()
    DateActivated: string;

    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    Status: number;

    ExportFileNameAndPath: string;
}

export class SO_ForwardOrderProcessBatch
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @Required()
    StaffID: string;

    DateActivated: string;
    BatchActivated: boolean;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(IN_Logical))
    IN_Logical_RecID: string;

    UseSpecificWarehouse: boolean;
}

export class SO_ForwardOrderProcessBatchLines
{
    // @Required()
    RecID: string;

    // @Required()
    ForwardOrderProcessBatchID: string;

    // @Required()
    LineNumber: number;

    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    DebtorID: string;

    // @Required()
    DebtorAccountNo: string;

    DebtorName: string;
    ConvertFlag: boolean;
    ConvertFailed: boolean;
    FailReason: string;
}

export class SO_ForwardOrderScheduleBatch
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @Required()
    StaffID: string;

    DateActivated: string;
    BatchActivated: boolean;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(IN_Logical))
    IN_Logical_RecID: string;

    UseSpecificWarehouse: boolean;
    IncludeForwardOrders: boolean;
    IncludeOrders: boolean;
    IncludeInvoices: boolean;
    IncludeActiveOrders: boolean;
}

export class SO_ForwardOrderScheduleBatchLines
{
    // @Required()
    RecID: string;

    // @Required()
    ForwardOrderScheduleBatchID: string;

    // @Required()
    LineNumber: number;

    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    DebtorID: string;

    // @Required()
    DebtorAccountNo: string;

    DebtorName: string;
    // @Required()
    InvoiceLineID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;

    Description: string;
    // @Required()
    Quantity: number;

    // @Required()
    ForwardOrderDate: string;

    // @Required()
    CurrentScheduledDate: string;

    // @Required()
    NewScheduledDate: string;

    UpdateFailed: boolean;
    FailReason: string;
}

export class SO_FoundStockAudit
{
    // @Required()
    RecID: string;

    // @Required()
    DestInvoiceID: string;

    // @Required()
    DestHistoryID: string;

    // @Required()
    DestInvoiceLineID: string;

    DestQuantityRequired: number;
}

export class SO_FoundStockAuditLines
{
    // @Required()
    RecID: string;

    // @Required()
    FoundStockAuditID: string;

    // @Required()
    SourceInvoiceID: string;

    // @Required()
    SourceHistoryID: string;

    // @Required()
    SourceInvoiceLineID: string;

    QuantityTaken: number;
}

export class SO_History
{
    // @Required()
    InvoiceHistoryID: string;

    // @References(typeof(SO_Main))
    // @Required()
    InvoiceID: string;

    // @Required()
    LastModifiedBy: string;

    // @Required()
    RecordDate: string;

    Ref: string;
    HistoryNo: number;
    HistoryTotal: number;
    DelAddress1: string;
    DelAddress2: string;
    DelAddress3: string;
    DelAddress4: string;
    PostCode: string;
    Notes: string;
    CourierDetails: string;
    // @Required()
    PaymentTypeID: string;

    PaymentRef: string;
    AmountPaid: number;
    RunNo: string;
    CartageCharge1: number;
    CartageCharge2: number;
    CartageCharge3: number;
    DelContactName: string;
    // @Required()
    Delivered: boolean;

    DeliveredDate: string;
    // @References(typeof(TX_Main))
    Cartage1TaxRateID: string;

    Cartage1TaxRate: number;
    Cartage1TaxAmount: number;
    // @References(typeof(TX_Main))
    Cartage2TaxRateID: string;

    Cartage2TaxRate: number;
    Cartage2TaxAmount: number;
    // @References(typeof(TX_Main))
    Cartage3TaxRateID: string;

    Cartage3TaxRate: number;
    Cartage3TaxAmount: number;
    FreightForwardAddress1: string;
    FreightForwardAddress2: string;
    FreightForwardAddress3: string;
    FreightForwardAddress4: string;
    FreightForwardNotes: string;
    DBTransID: string;
    Status: number;
    EmailAddress: string;
    ConsignmentNote: string;
    EDIASNNumber: string;
    EDIPickStatus: number;
    DateCreated: string;
    DateLastSaved: string;
    DatePosted: string;
    DateProcessed: string;
    // @Required()
    DropShipment: boolean;

    // @Required()
    DeliveryAddressee: string;

    // @Required()
    DeliveryAddressCountry: string;

    // @Required()
    FreightForwardAddressCountry: string;
}

export class SO_HistoryCarrier
{
    // @Required()
    SO_History_InvoiceHistoryID: string;

    UseLeastCost: boolean;
    // @References(typeof(FR_Carriers))
    // @Required()
    FR_Carriers_RecID: string;

    // @References(typeof(FR_CarrierServices))
    // @Required()
    FR_CarrierServices_RecID: string;

    // @Required()
    FreightSystemStatus: number;

    // @Required()
    ChargeTo: number;

    CarrierAccountNo: string;
}

export class SO_HistoryConsignmentNotes
{
    // @Required()
    RecID: string;

    // @Required()
    SO_History_InvoiceHistoryID: string;

    // @Required()
    ConsignmentNoteNo: string;

    // @Required()
    LastSavedDateTime: string;

    ConsignmentNoteDate: string;
    // @Required()
    ExGSTAmount: number;

    // @Required()
    GSTAmount: number;
}

export class SO_HistoryCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    // @Required()
    SettingName: string;

    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class SO_HistoryCustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(SO_HistoryCustomSetting))
    // @Required()
    SettingID: string;

    // @References(typeof(SO_History))
    // @Required()
    HistoryID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SO_HistoryFreightItems
{
    // @Required()
    RecID: string;

    // @Required()
    Reference: string;

    // @Required()
    SO_History_InvoiceHistoryID: string;

    // @Required()
    FR_CarrierFreightDescriptions_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    NumberItems: number;

    // @Required()
    ItemWeight: number;

    // @Required()
    ItemCubic: number;

    // @Required()
    ItemLength: number;

    // @Required()
    ItemWidth: number;

    // @Required()
    ItemHeight: number;

    // @Required()
    SO_HistoryConsignmentNotes_RecID: string;
}

export class SO_Incidents
{
    // @Required()
    RecID: string;

    // @Required()
    IncidentNo: string;

    // @Required()
    DebtorID: string;

    ContactName: string;
    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceHistoryID: string;

    InvoiceLineID: string;
    // @References(typeof(SO_IncidentTypes))
    // @Required()
    SO_IncidentTypes_RecID: string;

    Details: string;
    // @Required()
    CreatedDateTime: string;

    // @Required()
    CreatedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    IncidentDate: string;
}

export class SO_IncidentTypes
{
    // @Required()
    RecID: string;

    DisplayOrder: number;
    Description: string;
    DefaultType: boolean;
    // @Required()
    CreatedDateTime: string;

    // @Required()
    CreatedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;
}

export class SO_LineCustomFields
{
    // @Required()
    FieldID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class SO_LineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(SO_Lines))
    // @Required()
    InvoiceLineID: string;

    // @References(typeof(SO_LineCustomFields))
    // @Required()
    FieldID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SO_LineDetails
{
    // @Required()
    DetailsLineID: string;

    // @Required()
    InvoiceHistoryID: string;

    // @References(typeof(SO_Lines))
    // @Required()
    InvoiceLineID: string;

    // @References(typeof(IN_SOH))
    SOHID: string;

    Cost: number;
    SpecialPrice: number;
    Quantity: number;
    TaxPaid: number;
    SerialNo: string;
    ExpiryDate: string;
    BinLocation: string;
}

export class SO_Lines
{
    // @Required()
    InvoiceLineID: string;

    // @References(typeof(SO_History))
    // @Required()
    InvoiceHistoryID: string;

    GroupNo: number;
    LineNum: number;
    CommentLine: boolean;
    PartNo: string;
    Description: string;
    PhysicalItem: number;
    ItemWeight: number;
    ItemCubic: number;
    // @References(typeof(TX_Main))
    TaxID: string;

    ClassDescription: string;
    Cat1Description: string;
    Cat2Description: string;
    Cat3Description: string;
    Units: string;
    CostIn: number;
    DefaultPrice: number;
    ItemPrice: number;
    Discount: number;
    InvoicePrice: number;
    RRPPrice: number;
    TaxToCharge: number;
    TaxToPay: number;
    CurrentLineTotal: number;
    QuantityOrdered: number;
    QuantityPrevDel: number;
    QuantityThisDel: number;
    QuantityBackOrd: number;
    HistoryText_Comment: string;
    Discountable: boolean;
    TaxInc: boolean;
    DirectTax: number;
    DecimalPlaces: number;
    MinimumGP: number;
    // @References(typeof(GL_Ledger))
    DebitLedger: string;

    // @References(typeof(GL_Ledger))
    CreditLedger: string;

    NonStock: boolean;
    // @References(typeof(IN_Main))
    InventoryID: string;

    UseSerialNo: boolean;
    Backorderable: boolean;
    Picked: boolean;
    TaxPaid: number;
    TaxRate: number;
    UsingSpecialPrice: boolean;
    EstBOValue: number;
    ItemTaxToCharge: number;
    ItemTaxToPay: number;
    LineLinkID: string;
    // @Required()
    KittingStatus: number;

    KittingUnits: number;
    JobConnectorID: string;
    KitStyle: number;
    DiscountPercentage: number;
    SalesmanCost: number;
    LineCost: number;
    OrigInvoiceNo: string;
    ItemPriceIncGST: number;
    ItemPriceUnDiscounted: number;
    DemandQuantity: number;
    // @References(typeof(GL_Ledger))
    NonStockLedgerSalesAccID: string;

    // @References(typeof(SO_Lines))
    KitLineID: string;

    JobCostNo: string;
    // @Required()
    SellPriceIncTax: boolean;

    JobInvoiceItem: number;
    QuantityPrevDemand: number;
    JobID: string;
    // @References(typeof(JB_JobCostCentres))
    CostCentreID: string;

    // @References(typeof(JB_JobStages))
    StageID: string;

    UserDefinedFloat1: number;
    UserDefinedFloat2: number;
    UserDefinedFloat3: number;
    ForwardOrderDate: string;
    ScheduledDate: string;
    // @Required()
    DeliverStock: boolean;

    // @Required()
    FixSellPrice: boolean;

    TypeKitRounding: boolean;
    EDIStoreLocationCode: string;
    EDIDCLocationCode: string;
    // @References(typeof(SM_Parts))
    SM_Parts_RecID: string;

    // @References(typeof(SM_Labour))
    SM_Labour_RecID: string;

    // @References(typeof(IN_UnitOfMeasure))
    IN_UnitOfMeasure_RecID: string;
}

export class SO_LineSerials
{
    // @Required()
    RecID: string;

    // @References(typeof(SO_Lines))
    // @Required()
    SOLineID: string;

    // @Required()
    InvoiceID: string;

    // @Required()
    HistoryID: string;

    // @Required()
    LineNum: number;

    SerialNo: string;
    Quantity: number;
}

export class SO_LineShippingLabels
{
    // @Required()
    RecID: string;

    // @Required()
    SO_Lines_InvoiceLineID: string;

    // @Required()
    Quantity: number;

    SSCC_Number: string;
    BatchNo: string;
    UseByDate: string;
    Reference: string;
    // @Required()
    LabelNumber: number;

    SpareString1: string;
    SpareString2: string;
    SpareString3: string;
    SpareNumeric1: number;
    SpareNumeric2: number;
    SpareNumeric3: number;
    SpareDate1: string;
    SpareDate2: string;
    SpareDate3: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SO_Main
{
    // @Required()
    InvoiceID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    // @References(typeof(HR_Staff))
    StaffID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    InvoiceInitDate: string;

    // @Required()
    InvoiceLastDate: string;

    OrderNo: string;
    TaxExemptNo: string;
    // @Required()
    WholeSaleInvoice: boolean;

    InvoiceTotal: number;
    CurrentHistoryNo: number;
    Status: number;
    // @Required()
    BillWhenComplete: number;

    // @Required()
    CreditNote: boolean;

    InvoiceType: number;
    GroupSupplierID: string;
    // @Required()
    GroupOrdered: boolean;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    // @References(typeof(SY_Branch))
    // @Required()
    BranchID: string;

    SOReference: string;
    // @References(typeof(JB_Main))
    JobCostID: string;

    // @References(typeof(DB_Main))
    // @Required()
    ParentDebtorID: string;

    // @Required()
    BackOrderMode: number;

    DebtorContactName: string;
    DocType: number;
    // @Required()
    GSTInvoice: boolean;

    ExpectedDeliveryDate: string;
    SourceQuoteHistoryID: string;
    // @References(typeof(IN_PriceSchemes))
    // @Required()
    PriceSchemeID: string;

    // @References(typeof(SO_CreditReasons))
    CreditReasonID: string;

    // @Required()
    CreditIntoStock: boolean;
}

export class SO_Notes
{
    // @Required()
    RecID: string;

    // @Required()
    InvoiceID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class SO_PaymentDetails
{
    // @Required()
    PaymentID: string;

    CardNumber: string;
    CardExpiry: string;
    CardHolder: string;
    BankName: string;
    BSBN: string;
    BankAcc: string;
    AccountName: string;
}

export class SO_Payments
{
    // @Required()
    PaymentID: string;

    // @Required()
    InvoiceHistoryID: string;

    // @Required()
    InvoiceID: string;

    // @References(typeof(SO_PaymentTypes))
    // @Required()
    PaymentTypeID: string;

    PaymentRef: string;
    AmountPaid: number;
    // @Required()
    PaymentDate: string;

    // @Required()
    AuthorisationStatus: number;

    AuthorisationNumber: string;
    // @Required()
    ProcessPayment: boolean;

    // @Required()
    Processed: boolean;

    DBTransID: string;
    PaymentGatewayReturnCode: number;
    PaymentGatewayReturnMessage: string;
    AmountTendered: number;
}

export class SO_PaymentTypes
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    IsDefault: boolean;

    // @Required()
    IsCreditCard: boolean;

    // @References(typeof(GL_Ledger))
    GL_Main_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsPOS: boolean;

    // @Required()
    Code: string;
}

export class SO_PrintLog
{
    // @Required()
    PrintLogID: string;

    // @Required()
    InvoiceID: string;

    // @Required()
    SysDateTime: string;

    Description: string;
    InvoiceHistoryID: string;
    ReportType: number;
    // @References(typeof(HR_Staff))
    StaffID: string;
}

export class SO_Profit
{
    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    BillWhenComplete: number;

    OrderNo: string;
    // @Required()
    CreditNote: boolean;

    // @Required()
    WholeSaleInvoice: boolean;

    TaxExemptNo: string;
    // @Required()
    InvoiceHistoryID: string;

    HistoryNo: number;
    RunNo: string;
    // @Required()
    RecordDate: string;

    // @Required()
    InvoiceLineID: string;

    PartNo: string;
    Description: string;
    CostIn: number;
    QuantityThisDel: number;
    CurrentLineTotal: number;
    TaxToCharge: number;
    TaxPaid: number;
    DecimalPlaces: number;
    TaxID: string;
    PhysicalItem: number;
    NonStock: boolean;
    // @Required()
    DebtorID: string;

    // @Required()
    AccountNo: string;

    Name: string;
    // @Required()
    InventoryClassificationID: string;

    ClassDescription: string;
}

export class SO_ReportDefinition
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @Required()
    BillingType: number;

    // @Required()
    TradingCategory: number;

    // @Required()
    DocumentType: number;

    // @Required()
    NumberOfCopies: number;

    // @Required()
    UseRange: boolean;

    // @Required()
    RangeType: number;

    // @Required()
    MinRange: number;

    // @Required()
    MaxRange: number;

    // @Required()
    BackOrderStatus: number;

    // @References(typeof(SY_Report))
    // @Required()
    SY_Report_RecID: string;

    // @References(typeof(SY_PrintGroupLogicalPrinter))
    SY_PrintGroupLogicalPrinter_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(SY_PrintGroup))
    // @Required()
    SY_PrintGroup_RecID: string;
}

export class SO_Run
{
    // @Required()
    RunID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RunBy: string;

    // @Required()
    RunNo: string;
}

export class SO_Sales
{
    SalesID: string;
    // @Required()
    DateRun: string;

    // @Required()
    InvoiceDate: string;

    // @Required()
    DebtorID: string;

    InvoiceNo: string;
    PartNo: string;
    Description: string;
    ClassDescription: string;
    Cat1Description: string;
    Cat2Description: string;
    Cat3Description: string;
    Quantity: number;
    UnitCost: number;
    UnitSellPrice: number;
    LineTax: number;
    LineTotal: number;
    RunNo: string;
    HistoryNo: number;
    InvoiceID: string;
    InventoryID: string;
    YearNo: number;
    MonthNo: number;
    // @Required()
    IN_LogicalID: string;

    Cat4Description: string;
    Cat5Description: string;
    KitStyle: number;
    KitStatus: number;
    SO_LinesID: string;
    LineCost: number;
    DebtorAccountNo: string;
    DebtorName: string;
    DebtorClassification: string;
    PhysicalWarehouse: string;
    LogicalWarehouse: string;
    GPDollars: number;
    GPPercent: number;
}

export class SO_Sales_InvoiceNo
{
    InvoiceNo: string;
}

export class SO_SalesDelBatch
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @Required()
    StaffID: string;

    DateActivated: string;
    BatchActivated: boolean;
    // @Required()
    LastSavedDateTime: string;

    SplitOrder: boolean;
    SplitBackOrders: boolean;
    // @References(typeof(IN_Logical))
    IN_Logical_RecID: string;

    UseSpecificWarehouse: boolean;
}

export class SO_SalesDelBatchLines
{
    // @Required()
    RecID: string;

    // @Required()
    SalesDelBatchID: string;

    // @Required()
    LineNumber: number;

    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    DebtorID: string;

    // @Required()
    DebtorAccountNo: string;

    DebtorName: string;
    // @Required()
    InvoiceLineID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;

    Description: string;
    // @Required()
    Quantity: number;

    // @Required()
    QuantityBackOrdered: number;

    // @Required()
    ForwardOrderDate: string;

    // @Required()
    ScheduledDate: string;

    NewDeliverStockFlag: boolean;
    // @Required()
    NewQuantityDelivered: number;

    UpdateFailed: boolean;
    FailReason: string;
    // @Required()
    QuantityDecimalPlaces: number;
}

export class SO_SalesHistory
{
    // @Required()
    SalesID: string;

    // @Required()
    DateRun: string;

    // @Required()
    InvoiceDate: string;

    // @Required()
    DebtorID: string;

    InvoiceNo: string;
    PartNo: string;
    Description: string;
    ClassDescription: string;
    Cat1Description: string;
    Cat2Description: string;
    Cat3Description: string;
    Quantity: number;
    UnitCost: number;
    UnitSellPrice: number;
    LineTax: number;
    LineTotal: number;
    RunNo: string;
    HistoryNo: number;
    InvoiceID: string;
    InventoryID: string;
    YearNo: number;
    MonthNo: number;
    // @Required()
    IN_LogicalID: string;

    Cat4Description: string;
    Cat5Description: string;
    KitStyle: number;
    KitStatus: number;
    SO_LinesID: string;
    LineCost: number;
    InvoiceHistoryID: string;
}

export class SO_SalesQty
{
    InventoryID: string;
    YearNo: number;
    MonthNo: number;
    TotalQty: number;
}

export class SO_SplitOrders
{
    // @Required()
    RecID: string;

    // @Required()
    SourceInvoiceID: string;

    // @Required()
    SourceInvoiceNo: string;

    // @Required()
    DestInvoiceID: string;

    // @Required()
    DestInvoiceNo: string;

    // @Required()
    HRStaffID: string;

    // @Required()
    LastSavedDateTime: string;
}

export class SO_Totals
{
    // @Required()
    InvoiceID: string;

    InvoiceTotal: number;
    Cartage1Total: number;
    Cartage1TaxTotal: number;
    Cartage2Total: number;
    Cartage2TaxTotal: number;
    Cartage3Total: number;
    Cartage3TaxTotal: number;
}

export class SO_ViewInvoiced
{
    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    BillWhenComplete: number;

    OrderNo: string;
    // @Required()
    CreditNote: boolean;

    // @Required()
    WholeSaleInvoice: boolean;

    TaxExemptNo: string;
    Status: number;
    StaffID: string;
    // @Required()
    InvoiceHistoryID: string;

    Frieght: number;
    ProcessedHistoryNo: number;
    InvoicedHistoryNo: number;
    ProcessedOnRunNo: string;
    InvoicedOnRunNo: string;
    // @Required()
    ProcessedDate: string;

    // @Required()
    InvoicedDate: string;

    // @Required()
    InvoiceLineID: string;

    PartNo: string;
    Description: string;
    CostIn: number;
    QuantityThisDel: number;
    CurrentLineTotal: number;
    TaxToCharge: number;
    TaxPaid: number;
    DecimalPlaces: number;
    TaxID: string;
    PhysicalItem: number;
    NonStock: boolean;
    // @Required()
    DebtorID: string;

    // @Required()
    AccountNo: string;

    Name: string;
    // @Required()
    InventoryClassificationID: string;

    ClassDescription: string;
}

export class SO_ViewShipped
{
    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    BillWhenComplete: number;

    OrderNo: string;
    // @Required()
    CreditNote: boolean;

    // @Required()
    WholeSaleInvoice: boolean;

    TaxExemptNo: string;
    Status: number;
    StaffID: string;
    // @Required()
    InvoiceHistoryID: string;

    Frieght: number;
    ProcessedHistoryNo: number;
    ShippedHistoryNo: number;
    ProcessedOnRunNo: string;
    ShippedOnRunNo: string;
    // @Required()
    ProcessedDate: string;

    // @Required()
    ShippedDate: string;

    // @Required()
    InvoiceLineID: string;

    PartNo: string;
    Description: string;
    CostIn: number;
    QuantityThisDel: number;
    CurrentLineTotal: number;
    TaxToCharge: number;
    TaxPaid: number;
    DecimalPlaces: number;
    TaxID: string;
    PhysicalItem: number;
    NonStock: boolean;
    // @Required()
    DebtorID: string;

    // @Required()
    AccountNo: string;

    Name: string;
    // @Required()
    InventoryClassificationID: string;

    ClassDescription: string;
}

export class SO_VInv
{
    // @Required()
    InvoiceID: string;

    // @Required()
    InvID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    IN_LogicalID: string;

    // @Required()
    BillWhenComplete: number;

    OrderNo: string;
    // @Required()
    CreditNote: boolean;

    // @Required()
    WholeSaleInvoice: boolean;

    TaxExemptNo: string;
    Status: number;
    StaffID: string;
    // @Required()
    BranchID: string;

    // @Required()
    CreditIntoStock: boolean;

    // @Required()
    InvoiceHistoryID: string;

    HistoryTotal: number;
    CartageCharge1: number;
    CartageCharge2: number;
    CartageCharge3: number;
    Frieght: number;
    Frt: number;
    FrtTax: number;
    ProHistoryNo: number;
    InvHistoryNo: number;
    ProRunNo: string;
    InvRunNo: string;
    ProDate: string;
    InvDate: string;
    // @Required()
    InvoiceLineID: string;

    InventoryID: string;
    PartNo: string;
    Description: string;
    JobID: string;
    CostIn: number;
    QuantityThisDel: number;
    CurrentLineTotal: number;
    TaxToCharge: number;
    TaxPaid: number;
    DecimalPlaces: number;
    TaxID: string;
    PhysicalItem: number;
    NonStock: boolean;
    ClassDescription: string;
    // @Required()
    DebtorID: string;

    // @Required()
    AccountNo: string;

    Name: string;
    LineCost: number;
    Cat1Description: string;
    Cat2Description: string;
    Cat3Description: string;
}

export class SY_Branch
{
    // @Required()
    BranchID: string;

    // @Required()
    Description: string;

    // @Required()
    LedgerMask: string;

    DefaultBranch: number;
}

export class SY_BusinessLogic
{
    // @Required()
    RecID: string;

    // @Required()
    Description: string;

    // @Required()
    AssemblyFullName: string;

    // @Required()
    ClassName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_Custom_MaintenanceForm_Tabs
{
    // @Required()
    RecID: string;

    Description: string;
    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    // @Required()
    HostTabControlName: string;

    // @Required()
    TabKey: string;

    // @Required()
    TabCaption: string;

    // @Required()
    StoredProcedureName: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_DebtorImportSavedMappings
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_DebtorImportSavedMappingSets))
    // @Required()
    SY_DebtorImportSavedMappingSets_RecID: string;

    SourceColumnName: string;
    // @Required()
    DestinationProperty: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_DebtorImportSavedMappingSets
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    Name: string;
}

export class SY_Dialogs
{
    // @Required()
    RecID: string;

    DialogNo: number;
    // @Required()
    AssemblyName: string;

    // @Required()
    ClassName: string;
}

export class SY_DialogSettings
{
    // @Required()
    RecID: string;

    // @Required()
    SY_Dialogs_RecID: string;

    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    WindowState: number;

    // @Required()
    Top: number;

    // @Required()
    Left: number;

    // @Required()
    Width: number;

    // @Required()
    Height: number;

    Context: string;
}

export class SY_DocumentLinks
{
    // @Required()
    PKID: string;

    // @Required()
    SourceDocDesc: string;

    SourceDocID: string;
    // @Required()
    DestDocDesc: string;

    // @Required()
    DestDocID: string;

    LinkDescriptor: string;
    LastSavedDateTime: string;
    DateCreated: string;
    // @Required()
    StaffID: string;

    StaffName: string;
}

export class SY_DocumentTypes
{
    // @Required()
    RecID: string;

    // @Required()
    DocumentType: string;

    DefaultType: boolean;
    DocumentDescription: string;
    LastSavedDateTime: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_File
{
    // @Required()
    FileID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    PhysicalFileName: string;

    // @Required()
    FullPhysicalFileName: string;

    FileDescription: string;
    // @Required()
    FileInDB: boolean;

    FileBinary: Uint8Array;
    // @Required()
    RowHash: Uint8Array;
}

export class SY_FilterDefaults
{
    // @Required()
    FilterDefID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    StaffID: string;

    // @Required()
    FilterNo: number;

    SortOrderIndex: number;
    // @Required()
    GetDataOnLoad: boolean;

    SortOrderType: number;
    StartType: number;
    // @References(typeof(SY_Filters))
    SY_Filters_RecID: string;
}

export class SY_Filters
{
    // @Required()
    RecID: string;

    // @Required()
    FilterNo: number;

    // @Required()
    FilterString: string;

    Description: string;
    // @Required()
    ItemNo: number;

    // @Required()
    Name: string;
}

export class SY_FiltersTemp
{
    // @Required()
    FilterID: string;

    Section: number;
    Filter: string;
    Description: string;
}

export class SY_FormReportDefinition
{
    // @Required()
    RecID: string;

    // @Required()
    Description: string;

    // @References(typeof(SY_Report))
    // @Required()
    SY_Report_RecID: string;

    // @References(typeof(SY_PrintGroupLogicalPrinter))
    SY_PrintGroupLogicalPrinter_RecID: string;

    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    // @References(typeof(SY_PrintGroup))
    // @Required()
    SY_PrintGroup_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    IsDefault: boolean;
}

export class SY_Forms
{
    // @Required()
    ClassName: string;

    Description: string;
    FormType: number;
    HelpFileName: string;
    HelpPageName: string;
    AssemblyFullName: string;
}

export class SY_FormsAbstractPermissions
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    Name: string;
    Description: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_FormSettings
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    WindowState: number;

    // @Required()
    Top: number;

    // @Required()
    Left: number;

    // @Required()
    Width: number;

    // @Required()
    Height: number;

    Context: string;
    Floating: boolean;
}

export class SY_Icon
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IconBinary: Uint8Array;

    // @Required()
    IconFileHash: string;

    // @Required()
    IsReadOnly: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_Image
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @Required()
    ImageBinary: Uint8Array;

    // @Required()
    IsReadOnly: boolean;

    // @Required()
    ItemNo: number;

    LastSavedDateTime: string;
    // @Required()
    RowHash: Uint8Array;
}

export class SY_IntegrityCheckProvider
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    // @Required()
    StoredProcedureName: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsEnabled: boolean;
}

export class SY_InventoryImportSavedMappings
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_InventoryImportSavedMappingSets))
    // @Required()
    SY_InventoryImportSavedMappingSets_RecID: string;

    SourceColumnName: string;
    // @Required()
    DestinationProperty: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_InventoryImportSavedMappingSets
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    Name: string;
}

export class SY_Language
{
    // @Required()
    RecID: string;

    // @Required()
    Description: string;

    LanguageCode: string;
    // @Required()
    IsDefault: boolean;
}

export class SY_Licence
{
    // @Required()
    RecID: string;

    // @Required()
    ResourceID: string;

    // @Required()
    ResourceName: string;

    // @Required()
    IssueDate: string;

    // @Required()
    Scope: string;

    Note: string;
    // @Required()
    CommenceDate: string;

    // @Required()
    ExpiryDate: string;

    // @Required()
    CALs: number;

    // @Required()
    Version: string;

    // @Required()
    CompanyName: string;

    // @Required()
    Signature: string;
}

export class SY_LicenceUsage
{
    // @References(typeof(SY_Licence))
    // @Required()
    SY_Licence_RecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_LoginAudit
{
    // @Required()
    RecID: string;

    // @Required()
    UserName: string;

    // @Required()
    IPAddress: string;

    // @Required()
    HostName: string;

    // @Required()
    AuditDateTime: string;

    // @Required()
    AuditResult: number;
}

export class SY_Menu
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @Required()
    Description: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsReadOnly: boolean;
}

export class SY_MenuItem
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_Menu))
    // @Required()
    SY_Menu_RecID: string;

    // @Required()
    Type: number;

    // @Required()
    Caption: string;

    SY_MenuItem_RecID: string;
    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(SY_Image))
    SY_Image_RecID: string;

    // @References(typeof(SY_Image))
    SY_Image_RecID_Selected: string;

    // @References(typeof(SY_Image))
    SY_Image_RecID_HotTracked: string;
}

export class SY_MenuItemForm
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_MenuItem))
    // @Required()
    SY_MenuItem_RecID: string;

    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_MenuItemReport
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_MenuItem))
    // @Required()
    SY_MenuItem_RecID: string;

    // @References(typeof(SY_Report))
    // @Required()
    SY_Report_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_MessageLinks
{
    // @Required()
    RecID: string;

    // @Required()
    Source: string;

    // @Required()
    LinkName: string;

    // @Required()
    Caption: string;

    Description: string;
    // @Required()
    ScriptText: string;

    // @Required()
    LastSavedDateTime: string;
}

export class SY_NoteTypes
{
    // @Required()
    RecID: string;

    // @Required()
    NoteType: string;

    DefaultType: boolean;
    NoteTypeDescription: string;
    LastSavedDateTime: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SY_Numbers
{
    // @Required()
    InvoiceNumberID: string;

    Description: string;
    LastInvoiceNo: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SY_Plugin
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    IsEnabled: boolean;
    // @Required()
    ExecutionOrder: number;

    // @Required()
    Author: string;

    // @Required()
    Version: string;

    // @Required()
    LicenceKey: string;

    ViewPassword: string;
    EditPassword: string;
    IsEncrypted: boolean;
    // @Required()
    RowHash: Uint8Array;

    Code: string;
    // @Required()
    ExceptionPolicy: number;

    IsIsolatedToOwnAppDomain: boolean;
    FileHash: string;
    // @Required()
    CreateDateTime: string;

    // @Required()
    LastWriteDateTime: string;

    // @Required()
    Language: number;
}

export class JB_EstimateNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_Estimates))
    // @Required()
    JB_Estimate_RecID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class JB_EstimatePurchaseLines
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @References(typeof(CR_Main))
    // @Required()
    CR_Main_RecID: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    Units: string;
    // @Required()
    JB_EstimateLines_RecID: string;
}

export class JB_EstimateResourceLines
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @References(typeof(JB_Resources))
    // @Required()
    JB_Resources_RecID: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    Units: string;
    // @Required()
    JB_EstimateLines_RecID: string;
}

export class JB_Estimates
{
    // @Required()
    RecID: string;

    // @Required()
    EstimateNo: string;

    Description: string;
    // @References(typeof(JB_Main))
    // @Required()
    JB_Main_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_Logical_RecID: string;

    // @Required()
    IsDefault: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class JB_Groups
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;

    IsDefault: boolean;
}

export class JB_JobCostCentres
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_Main))
    // @Required()
    JobID: string;

    // @References(typeof(JB_CostCentres))
    // @Required()
    JB_CostCentres_RecID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class JB_JobStages
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_Classification))
    // @Required()
    JB_Classifications_RecID: string;

    // @References(typeof(JB_JobCostCentres))
    // @Required()
    JB_JobCostCentres_RecID: string;

    // @References(typeof(JB_Stages))
    // @Required()
    JB_Stages_RecID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class JB_Main
{
    // @Required()
    JobID: string;

    JobNo: string;
    Description: string;
    DebtorID: string;
    OrderNo: string;
    // @Required()
    StartDate: string;

    // @Required()
    EstEndDate: string;

    // @Required()
    ClosedDate: string;

    InventorySellType: number;
    // @Required()
    LastSavedDateTime: string;

    IsTemplate: boolean;
    ContractAmount: number;
    MarkUpMaterials: number;
    MarkUpLabour: number;
    MarkUpSubContract: number;
    MarkUpResource: number;
    RetentionType: number;
    RetentionValue: number;
    GstApplicable: boolean;
    EstimateType: number;
    WarehouseID: string;
    ProductID: string;
    ProductDesc: string;
    ProductQty: number;
    // @Required()
    EstStartDate: string;

    ClassificationID: string;
    CN_Contact_RecID: string;
    // @Required()
    JobStatus: number;

    // @References(typeof(JB_Groups))
    // @Required()
    JB_Groups_RecID: string;

    // @References(typeof(JB_Statuses))
    // @Required()
    JB_Statuses_RecID: string;

    // @References(typeof(JB_Priorities))
    // @Required()
    JB_Priorities_RecID: string;
}

export class JB_Notes
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_Main))
    // @Required()
    JB_Main_RecID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class JB_PaymentDetails
{
    // @Required()
    RecID: string;

    // @Required()
    JobNo: string;

    // @Required()
    InvoiceID: string;

    CostEntryLineID: string;
    // @Required()
    InvoiceType: number;

    // @Required()
    BillAmount: number;

    // @Required()
    CostAmount: number;

    // @Required()
    Status: number;

    // @Required()
    WriteBill: number;

    // @Required()
    WriteCost: number;

    LinkLineID: string;
}

export class JB_Priorities
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;

    IsDefault: boolean;
}

export class JB_Resources
{
    // @Required()
    RecID: string;

    // @Required()
    RecNum: string;

    RecDescription: string;
    RecType: number;
    RecGroup: string;
    Cost: number;
    Charge: number;
    Unit: string;
    Status: boolean;
    Note: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(GL_Ledger))
    GLCode: string;
}

export class JB_Staffs
{
    // @Required()
    RecID: string;

    // @Required()
    RecNum: string;

    RecDescription: string;
    Cost: number;
    Charge: number;
    Unit: string;
    // @Required()
    IsEnabled: boolean;

    Note: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(GL_Ledger))
    GLCode: string;

    // @References(typeof(JB_Groups))
    // @Required()
    JB_Groups_RecID: string;
}

export class JB_Stages
{
    // @Required()
    RecID: string;

    // @Required()
    StageNo: string;

    Name: string;
    Description: string;
    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;
}

export class JB_Statuses
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;

    IsDefault: boolean;
}

export class JB_TimesheetLines
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_Timesheets))
    // @Required()
    JB_Timesheets_RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class JB_TimesheetNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_Timesheets))
    // @Required()
    JB_Timesheets_RecID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class JB_Timesheets
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @References(typeof(JB_Staffs))
    JB_Staff_RecID: string;

    Description: string;
    // @Required()
    IsActivated: boolean;

    // @References(typeof(GL_Sets))
    GL_Sets_RecID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedBy_HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class KitTax
{
    Tax: number;
    LN: number;
    // @Required()
    InvID: string;
}

export class LastYearProfit
{
    Profit: number;
}

export class Magento_Integration
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    LogRetentionDays: number;

    // @Required()
    CompletedQueueRetentionDays: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class Magento_Integration_Schedule
{
    // @Required()
    RecID: string;

    // @References(typeof(Magento_Integration))
    // @Required()
    Magento_Integration_RecID: string;

    // @References(typeof(SY_PluginSchedule))
    // @Required()
    SY_PluginSchedule_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class Magento_Integration_SelectedAction
{
    // @Required()
    RecID: string;

    // @References(typeof(Magento_Integration))
    // @Required()
    Magento_Integration_RecID: string;

    // @Required()
    Action_RecID: string;

    // @Required()
    ExceptionPolicy: number;

    // @Required()
    LogPolicy: number;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class Magento_Log
{
    id: number;
    // @Required()
    Magento_Integration_RecID: string;

    // @Required()
    LogDateTime: string;

    // @Required()
    LogType: number;

    IntegrationActionName: string;
    // @Required()
    ElapsedMilliseconds: number;

    // @Required()
    LogMessage: string;
}

export class Magento_Queue
{
    // @Required()
    RecID: string;

    // @Required()
    QueueName: string;

    // @Required()
    Identifier: string;

    // @Required()
    QueueInsertionDateTime: string;

    // @Required()
    LastChangedDateTime: string;

    // @Required()
    Status: number;

    ExceptionText: string;
    // @Required()
    RowHash: Uint8Array;
}

export class PI_CustomSettings
{
    // @Required()
    SettingID: string;

    LastSavedDateTime: string;
    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class PI_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @Required()
    SettingID: string;

    PI_Main_RecID: string;
    Contents: string;
    LastSavedDateTime: string;
}

export class PI_Documents
{
    // @Required()
    RecID: string;

    // @References(typeof(PI_Main))
    // @Required()
    PI_Main_PI_MainID: string;

    // @References(typeof(SY_DocumentTypes))
    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class PI_LineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class PI_LineCustomValues
{
    // @Required()
    RecID: string;

    // @Required()
    PI_Lines_RecID: string;

    // @References(typeof(PI_LineCustomFields))
    // @Required()
    PI_LineCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class PI_Lines
{
    // @Required()
    PI_LinesID: string;

    // @References(typeof(PI_Main))
    // @Required()
    PI_MainID: string;

    // @References(typeof(RE_Main))
    // @Required()
    RE_MainID: string;

    // @References(typeof(RE_Lines))
    // @Required()
    RE_LinesID: string;

    // @Required()
    Quantity: number;

    SuppliersCost: number;
    // @Required()
    InventoryID: string;

    PartNo: string;
    Description: string;
    SuppPartNo: string;
    LineType: number;
    DecimalPlaces: number;
    LastSavedDateTime: string;
    InvoiceLineNo: number;
    HomeSuppliersCost: number;
    TaxRate: number;
    TaxID: string;
    TaxAmount: number;
    CurrencyRateUsed: number;
    POClassID: string;
    LineTotal: number;
    FXDecimalPlaces: number;
    HomeDecimalPlaces: number;
    UnitChanged: boolean;
    FXChanged: boolean;
    ExChanged: boolean;
    TaxRateChanged: boolean;
    // @Required()
    LineTotalExTax: number;

    ChangeSourceIsFromGRNLine: boolean;
    // @Required()
    FXLineTotalExTax: number;

    // @Required()
    UnitCostIncTax: number;
}

export class PI_LinesDetails
{
    // @Required()
    PI_LinesDetailsID: string;

    // @References(typeof(PI_Lines))
    // @Required()
    PI_LinesID: string;

    // @Required()
    SerialNo: string;

    // @Required()
    Quantity: number;

    ExpiryDate: string;
    BinLocation: string;
    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(RE_LineDetails))
    RE_LineDetails_RecID: string;

    // @References(typeof(IN_SOH))
    IN_SOH_RecID: string;
}

export class PI_Main
{
    // @Required()
    PI_MainID: string;

    LastSavedDateTime: string;
    InvoiceNo: string;
    // @References(typeof(CR_Main))
    // @Required()
    CreditorID: string;

    InvoiceDate: string;
    // @Required()
    Status: number;

    Freight: number;
    Duty: number;
    Insurance: number;
    DueDate: string;
    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    // @Required()
    TotalLineTax: number;

    // @Required()
    AdjTax: number;

    // @References(typeof(TX_Main))
    FreightTaxID: string;

    FreightTaxRate: number;
    FreightTaxAmount: number;
    // @References(typeof(TX_Main))
    DutyTaxID: string;

    DutyTaxRate: number;
    DutyTaxAmount: number;
    // @References(typeof(TX_Main))
    InsuranceTaxID: string;

    InsuranceTaxRate: number;
    InsuranceTaxAmount: number;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    DecimalPlaces: number;
    FXDecimalPlaces: number;
}

export class PI_Notes
{
    // @Required()
    RecID: string;

    // @References(typeof(PI_Main))
    // @Required()
    PI_Main_PI_MainID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class PI_Receipts
{
    // @Required()
    PI_ReceiptsID: string;

    // @References(typeof(PI_Main))
    // @Required()
    PI_MainID: string;

    // @References(typeof(RE_Main))
    // @Required()
    RE_MainID: string;
}

export class PO_BatchHeader
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastModifiedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    BatchStatus: number;

    // @Required()
    ReOrderMonth: number;

    // @Required()
    IncludeDefaultSuppliersOnly: boolean;
}

export class PO_BatchPurchaseOrderLines
{
    // @Required()
    RecID: string;

    // @References(typeof(PO_BatchPurchaseOrders))
    // @Required()
    PO_BatchPurchaseOrders_RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(IN_Main))
    // @Required()
    IN_Main_RecID: string;

    // @Required()
    UnitCost: number;

    // @Required()
    FXUnitCost: number;

    // @Required()
    SuggestedOrderQuantity: number;

    // @Required()
    OrderQuantity: number;

    // @Required()
    LineCost: number;

    // @Required()
    FXLineCost: number;

    // @Required()
    QuantitySOH: number;

    // @Required()
    QuantityMinSOH: number;

    // @Required()
    QuantityOnPO: number;

    // @Required()
    QuantityOnBO: number;

    // @Required()
    QuantitySalesForecast: number;

    // @Required()
    QuantityLastYearPurchases: number;

    // @Required()
    QuantityLastYearSales: number;

    // @References(typeof(PO_Lines))
    PO_Lines_RecID: string;

    // @Required()
    UnitCubic: number;

    // @Required()
    UnitWeight: number;

    // @Required()
    LineCubic: number;

    // @Required()
    LineWeight: number;

    // @Required()
    DeliveryDays: number;

    // @Required()
    OrderUnits: number;

    // @Required()
    RowHash: Uint8Array;
}

export class PO_BatchPurchaseOrders
{
    // @Required()
    RecID: string;

    // @References(typeof(PO_BatchHeader))
    // @Required()
    PO_BatchHeader_RecID: string;

    PO_Main_RecID: string;
    // @Required()
    CR_Main_RecID: string;

    // @Required()
    FXCurrencyRate: number;

    // @Required()
    RowHash: Uint8Array;
}

export class PO_Classification
{
    // @Required()
    POClassificationID: string;

    // @Required()
    Description: string;

    // @Required()
    PurchClassLedgerID: string;

    DefaultClass: number;
    LastSavedDateTime: string;
}

export class PO_CustomSettings
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class PO_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(PO_CustomSettings))
    // @Required()
    SettingID: string;

    // @References(typeof(PO_Main))
    // @Required()
    PurchaseOrderID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class PO_Documents
{
    // @Required()
    RecID: string;

    // @References(typeof(PO_Main))
    // @Required()
    PurchaseOrderID: string;

    FileID: string;
    DocumentTypeID: string;
    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class PO_EmailLog
{
    // @Required()
    EmailLogID: string;

    // @References(typeof(PO_Main))
    // @Required()
    OrderID: string;

    // @Required()
    EmailDateTime: string;

    From: string;
    To: string;
    CC: string;
    BCC: string;
    Attachments: string;
    FileID: string;
    Subject: string;
    Body: string;
    // @References(typeof(HR_Staff))
    // @Required()
    StaffID: string;

    EM_Main_RecID: string;
    RequestReadReceipt: boolean;
}

export class PO_LineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class PO_LineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(PO_Lines))
    // @Required()
    PO_Lines_RecID: string;

    // @References(typeof(PO_LineCustomFields))
    // @Required()
    PO_LineCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class PO_Lines
{
    // @Required()
    OrderLineID: string;

    // @References(typeof(PO_Main))
    // @Required()
    OrderID: string;

    // @Required()
    InventoryID: string;

    Quantity: number;
    SuppliersCost: number;
    DeliveryDate: string;
    Delivered: number;
    DecimalPlaces: number;
    OrderLineNo: number;
    SuppPartNo: string;
    LastSavedDateTime: string;
    HistoryText_Comment: string;
    OrderUnits: number;
    LineType: number;
    PartNo: string;
    Description: string;
    DeliveryDays: number;
    // @Required()
    ClassificationID: string;

    ClassDescription: string;
    TaxAmount: number;
    TaxID: string;
    TaxRate: number;
    HomeSuppliersCost: number;
    CurrencyRateUsed: number;
    POClassID: string;
    IncPrice: number;
    LineTotal: number;
    FxDecimalPlaces: number;
    AUDDecimalPlaces: number;
    FxTotal: number;
    // @References(typeof(IN_SupplierWarehouse))
    IN_SupplierWarehouse_RecID: string;

    Unit: string;
    UserDefinedDate3: string;
    UserDefinedString1: string;
    UserDefinedString2: string;
    UserDefinedString3: string;
    UserDefinedFloat1: number;
    UserDefinedFloat2: number;
    UserDefinedFloat3: number;
    UserDefinedDate1: string;
    UserDefinedDate2: string;
    SM_Task_RecID: string;
    // @References(typeof(JB_JobStages))
    JB_JobStages_RecID: string;

    // @Required()
    LineTotalExTax: number;

    // @References(typeof(IN_UnitOfMeasure))
    IN_UnitOfMeasure_RecID: string;

    UnitChanged: boolean;
    FXChanged: boolean;
    ExChanged: boolean;
    TaxRateChanged: boolean;
}

export class PO_Main
{
    // @Required()
    OrderID: string;

    LastSavedDateTime: string;
    // @Required()
    CreditorID: string;

    // @Required()
    OrderNo: string;

    // @Required()
    OrderedDate: string;

    Header1: string;
    Header2: string;
    Header5: string;
    // @Required()
    Status: number;

    OrderType: number;
    OrderTypeInvID: string;
    // @Required()
    IN_LogicalID: string;

    // @Required()
    OrderSupplierType: number;

    CentralWarehouseID: string;
    TaxTotal: number;
    // @References(typeof(FX_Currency))
    // @Required()
    CurrencyID: string;

    // @Required()
    InTransitWarehouseID: string;

    Reference: string;
    // @References(typeof(PO_Workflows))
    // @Required()
    PO_Workflows_RecID: string;

    HR_Staff_RecID: string;
    // @References(typeof(CR_Warehouse))
    CR_Warehouse_WarehouseID: string;

    // @Required()
    Freight: number;

    // @Required()
    Duty: number;

    // @Required()
    Insurance: number;

    // @References(typeof(TX_Main))
    // @Required()
    FreightTaxID: string;

    // @Required()
    FreightTaxRate: number;

    // @Required()
    FreightTaxAmount: number;

    // @References(typeof(TX_Main))
    // @Required()
    DutyTaxID: string;

    // @Required()
    DutyTaxRate: number;

    // @Required()
    DutyTaxAmount: number;

    // @References(typeof(TX_Main))
    // @Required()
    InsuranceTaxID: string;

    // @Required()
    InsuranceTaxRate: number;

    // @Required()
    InsuranceTaxAmount: number;
}

export class PO_Notes
{
    // @Required()
    RecID: string;

    // @References(typeof(PO_Main))
    // @Required()
    PurchaseOrderID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    ReminderFlag: boolean;
    ReminderDueDate: string;
    ReminderStaffID: string;
    LineNum: number;
    // @Required()
    ItemNo: number;
}

export class PO_OrderQty
{
    // @Required()
    InventoryID: string;

    Qty: number;
    Delivered: number;
}

export class PO_ShippingAddress
{
    // @References(typeof(PO_Main))
    // @Required()
    OrderID: string;

    // @Required()
    LastSavedDateTime: string;

    AddressLine1: string;
    AddressLine2: string;
    AddressLine3: string;
    AddressLine4: string;
    Country: string;
    Postcode: string;
    ContactName: string;
    Phone: string;
    Fax: string;
    Spare1: string;
    Spare2: string;
    Spare3: string;
    Spare4: string;
    Spare5: string;
}

export class PO_WorkflowLines
{
    // @Required()
    RecID: string;

    // @References(typeof(PO_Workflows))
    // @Required()
    PO_Workflows_RecID: string;

    // @Required()
    StatusValue: number;

    NextStatusValue: number;
    // @Required()
    LastSavedDateTime: string;
}

export class PO_Workflows
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    LastSavedDateTime: string;
}

export class PR_ClassificationPricing
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_Classification))
    DB_Classification_RecID: string;

    // @References(typeof(IN_Classification))
    IN_Classification_RecID: string;

    // @Required()
    Source: number;

    // @Required()
    Mode: number;

    // @Required()
    Amount: number;

    // @Required()
    StartDate: string;

    // @Required()
    EndDate: string;

    // @Required()
    UseQuantityBreak: boolean;

    // @Required()
    QuantityBreak: number;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class QO_ActivateBatch
{
    // @Required()
    BatchID: string;

    // @Required()
    BatchNo: string;

    BatchDateTime: string;
    // @Required()
    StaffID: string;

    Notes: string;
}

export class QO_ActivateBatchLines
{
    // @Required()
    BatchLineID: string;

    // @Required()
    BatchID: string;

    DestInvoiceID: string;
    DestInvoiceNo: string;
    SourceQuoteID: string;
    SourceQuoteNo: string;
    SourceQuoteHistoryID: string;
    SourceQuoteHistoryNo: number;
    SourceQuoteTotal: number;
    DebtorID: string;
    QuoteInitDate: string;
    NextActivateDate: string;
    // @Required()
    Failed: boolean;

    FailReason: string;
    DocType: number;
}

export class QO_CashSale
{
    // @Required()
    InvoiceCashSaleID: string;

    // @Required()
    InvoiceID: string;

    Name: string;
    Company: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    ContactName: string;
}

export class QO_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    // @Required()
    SettingName: string;

    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class QO_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(QO_CustomSetting))
    // @Required()
    SettingID: string;

    // @References(typeof(QO_Main))
    // @Required()
    QuoteID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class QO_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    InvoiceID: string;

    // @Required()
    DocumentTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class QO_EmailLog
{
    // @Required()
    EmailLogID: string;

    // @References(typeof(QO_History))
    // @Required()
    InvoiceHistoryID: string;

    // @Required()
    EmailDateTime: string;

    From: string;
    To: string;
    CC: string;
    BCC: string;
    Attachments: string;
    FileID: string;
    Subject: string;
    Body: string;
    // @Required()
    InvoiceID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    StaffID: string;

    EM_Main_RecID: string;
    RequestReadReceipt: boolean;
}

export class QO_History
{
    // @Required()
    InvoiceHistoryID: string;

    // @Required()
    InvoiceID: string;

    // @Required()
    LastModifiedBy: string;

    // @Required()
    RecordDate: string;

    Ref: string;
    HistoryNo: number;
    HistoryTotal: number;
    // @Required()
    DocketPrinted: boolean;

    DelAddress1: string;
    DelAddress2: string;
    DelAddress3: string;
    DelAddress4: string;
    PostCode: string;
    Notes: string;
    CourierDetails: string;
    // @Required()
    InvoicePrinted: boolean;

    CartageCharge1: number;
    CartageCharge2: number;
    CartageCharge3: number;
    ExpiryDate: string;
    Cartage1TaxRateID: string;
    Cartage1TaxRate: number;
    Cartage1TaxAmount: number;
    Cartage2TaxRateID: string;
    Cartage2TaxRate: number;
    Cartage2TaxAmount: number;
    Cartage3TaxRateID: string;
    Cartage3TaxRate: number;
    Cartage3TaxAmount: number;
    DelContactName: string;
    FreightForwardAddress1: string;
    FreightForwardAddress2: string;
    FreightForwardAddress3: string;
    FreightForwardAddress4: string;
    FreightForwardNotes: string;
    ExpectedCloseDate: string;
    OpportunityStatus: number;
    // @Required()
    SalesStageID: string;

    // @Required()
    OpportunityStatusReasonID: string;

    OpportunityNote: string;
    InvoiceEmailed: boolean;
    // @Required()
    DropShipment: boolean;

    // @Required()
    DeliveryAddressee: string;

    // @Required()
    DeliveryAddressCountry: string;

    // @Required()
    FreightForwardAddressCountry: string;
}

export class QO_HistoryActivate
{
    // @Required()
    QuoteActivateID: string;

    // @Required()
    QuoteHistoryID: string;

    LastActivated: string;
    RepeatEvery: number;
    RepeatPeriod: number;
    NextActivate: string;
    // @Required()
    EndingFlag: boolean;

    EndDate: string;
}

export class QO_LineCustomFields
{
    // @Required()
    FieldID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class QO_LineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(QO_Lines))
    // @Required()
    InvoiceLineID: string;

    // @References(typeof(QO_LineCustomFields))
    // @Required()
    FieldID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class QO_LineExtra
{
    // @Required()
    SOLineExtraRecID: string;

    // @Required()
    InvoiceLineID: string;

    // @Required()
    InvoiceHistoryID: string;

    LedgerReversePurchaseAccID: string;
    LedgerMovement_COGAccID: string;
    LedgerSalesAccID: string;
    LedgerSalesReturnsAccID: string;
    LedgerTaxLiabAccID: string;
    LedgerTaxExpAccID: string;
}

export class QO_Lines
{
    // @Required()
    InvoiceLineID: string;

    // @Required()
    InvoiceHistoryID: string;

    GroupNo: number;
    LineNum: number;
    CommentLine: boolean;
    PartNo: string;
    Description: string;
    PhysicalItem: number;
    ItemWeight: number;
    ItemCubic: number;
    // @Required()
    TaxID: string;

    ClassDescription: string;
    Cat1Description: string;
    Cat2Description: string;
    Cat3Description: string;
    Units: string;
    CostIn: number;
    DefaultPrice: number;
    ItemPrice: number;
    Discount: number;
    InvoicePrice: number;
    RRPPrice: number;
    TaxToCharge: number;
    CurrentLineTotal: number;
    QuantityOrdered: number;
    HistoryText_Comment: string;
    Discountable: boolean;
    DirectTax: number;
    DecimalPlaces: number;
    MinimumGP: number;
    DebitLedger: string;
    CreditLedger: string;
    NonStock: boolean;
    // @References(typeof(IN_Main))
    InventoryID: string;

    UseSerialNo: boolean;
    Backorderable: boolean;
    TaxRate: number;
    ItemTaxToCharge: number;
    LineLinkID: string;
    // @Required()
    KittingStatus: number;

    KittingUnits: number;
    JobConnectorID: string;
    // @Required()
    KitStyle: number;

    DiscountPercentage: number;
    SalesmanCost: number;
    ItemPriceIncGST: number;
    ItemPriceUnDiscounted: number;
    NonStockLedgerSalesAccID: string;
    KitLineID: string;
    // @Required()
    SellPriceIncTax: boolean;

    UserDefinedFloat1: number;
    UserDefinedFloat2: number;
    UserDefinedFloat3: number;
    // @Required()
    FixSellPrice: boolean;

    TypeKitRounding: boolean;
    // @References(typeof(IN_UnitOfMeasure))
    IN_UnitOfMeasure_RecID: string;
}

export class QO_Main
{
    // @Required()
    InvoiceID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    StaffID: string;
    // @Required()
    InvoiceNo: string;

    // @Required()
    InvoiceInitDate: string;

    // @Required()
    InvoiceLastDate: string;

    OrderNo: string;
    TaxExemptNo: string;
    // @Required()
    WholeSaleInvoice: boolean;

    InvoiceTotal: number;
    // @Required()
    InvoicePrinted: boolean;

    CurrentHistoryNo: number;
    Status: number;
    // @Required()
    BillWhenComplete: number;

    InvoiceType: number;
    GroupSupplierID: string;
    // @Required()
    GroupOrdered: boolean;

    // @Required()
    IN_LogicalID: string;

    // @Required()
    BranchID: string;

    QOReference: string;
    // @Required()
    JobCostID: string;

    // @Required()
    DocType: number;

    // @Required()
    BackOrderMode: number;

    ExpectedDeliveryDate: string;
    DebtorContactName: string;
    ParentDebtorID: string;
    // @References(typeof(IN_PriceSchemes))
    // @Required()
    PriceSchemeID: string;

    InvoiceEmailed: boolean;
}

export class QO_Notes
{
    // @Required()
    RecID: string;

    // @Required()
    InvoiceID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class QO_OpportunityStatusReasons
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    DisplayOrder: number;

    // @Required()
    Description: string;

    // @Required()
    OpportunityStatusType: number;

    Note: string;
    DefaultOpportunityReason: boolean;
    // @Required()
    IsEnabled: boolean;
}

export class QO_SalesStages
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    DisplayOrder: number;

    // @Required()
    Description: string;

    // @Required()
    PercentComplete: number;

    DefaultSalesStage: boolean;
    // @Required()
    IsEnabled: boolean;
}

export class QO_SOLink
{
    // @Required()
    LinkID: string;

    // @Required()
    QuoteID: string;

    // @Required()
    InvoiceID: string;
}

export class RA_CreditDocuments
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_CreditMain))
    // @Required()
    RA_CreditMain_RecID: string;

    // @References(typeof(SY_DocumentTypes))
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class RA_CreditExchangeLineDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_CreditExchangeLines))
    // @Required()
    Parent_RecID: string;

    // @References(typeof(IN_SOH))
    IN_SOH_LinkID: string;

    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    // @Required()
    SerialNo: string;

    ExpiryDate: string;
    // @Required()
    BinLocation: string;

    LastSavedDateTime: string;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class RA_CreditExchangeLines
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_CreditMain))
    // @Required()
    RA_CreditMain_RecID: string;

    // @References(typeof(RA_CreditLines))
    // @Required()
    RA_CreditLines_RecID: string;

    Quantity: number;
    // @Required()
    LastSavedDateTime: string;

    Remark: string;
    TotalCreditValue: number;
    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(TX_Main))
    // @Required()
    TaxID: string;

    TaxAmount: number;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;

    // @Required()
    FXUnitCreditValue: number;

    // @Required()
    FXTotalCreditValue: number;

    // @Required()
    FXRate: number;

    UnitCreditValue: number;
}

export class RA_CreditLineDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_CreditLines))
    // @Required()
    Parent_RecID: string;

    // @References(typeof(IN_SOH))
    IN_SOH_LinkID: string;

    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    // @Required()
    SerialNo: string;

    ExpiryDate: string;
    // @Required()
    BinLocation: string;

    LastSavedDateTime: string;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class RA_CreditLines
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_CreditMain))
    // @Required()
    RA_CreditMain_RecID: string;

    // @References(typeof(RA_ShipLines))
    RA_ShipLines_RecID: string;

    Quantity: number;
    // @References(typeof(RA_ReturnCodes))
    // @Required()
    RA_ReturnCodes_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    Remark: string;
    TotalCreditValue: number;
    // @Required()
    Completed: boolean;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    LinkLineID: string;
    // @References(typeof(TX_Main))
    // @Required()
    TaxID: string;

    TaxAmount: number;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;

    // @References(typeof(PO_Lines))
    PO_Lines_OrderLineID: string;

    // @Required()
    FXUnitCreditValue: number;

    // @Required()
    FXTotalCreditValue: number;

    // @Required()
    FXRate: number;

    UnitCreditValue: number;
}

export class RA_CreditLinesCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class RA_CreditLinesCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_CreditLines))
    // @Required()
    RA_CreditLines_RecID: string;

    // @References(typeof(RA_CreditLinesCustomFields))
    // @Required()
    RA_CreditLinesCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class RA_CreditMain
{
    // @Required()
    RecID: string;

    // @Required()
    CreditNo: string;

    Reference: string;
    // @References(typeof(IN_Logical))
    // @Required()
    WarehouseID: string;

    // @Required()
    Status: number;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedBy: string;

    // @Required()
    CreditDate: string;

    // @References(typeof(CR_Main))
    // @Required()
    CreditorID: string;

    CreditorRef: string;
    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(RA_ReturnCodes))
    // @Required()
    ReturnCode: string;
}

export class RA_CreditMainCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class RA_CreditMainCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_CreditMain))
    // @Required()
    RA_CreditMain_RecID: string;

    // @References(typeof(RA_CreditMainCustomFields))
    // @Required()
    RA_CreditMainCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class RA_CreditNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_CreditMain))
    // @Required()
    RA_CreditMain_RecID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class RA_Documents
{
    // @Required()
    RecID: string;

    FileID: string;
    ParentID: string;
    Remark: string;
    UserName: string;
    LastSavedDateTime: string;
    DocTypeID: string;
    // @Required()
    ParentType: number;
}

export class RA_RequestDocuments
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_RequestMain))
    // @Required()
    RA_RequestMain_RecID: string;

    // @References(typeof(SY_DocumentTypes))
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class RA_RequestIn
{
    // @References(typeof(RA_ShipMain))
    RA_ShipMain_RecID: string;

    // @References(typeof(RA_RequestMain))
    RA_RequestMain_RecID: string;
}

export class RA_RequestLineDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_RequestLines))
    // @Required()
    Parent_RecID: string;

    // @References(typeof(IN_SOH))
    IN_SOH_LinkID: string;

    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    // @Required()
    SerialNo: string;

    ExpiryDate: string;
    // @Required()
    BinLocation: string;

    LastSavedDateTime: string;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class RA_RequestLines
{
    // @Required()
    RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(RA_RequestMain))
    // @Required()
    RA_RequestMain_RecID: string;

    // @Required()
    Quantity: number;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(RA_ReturnCodes))
    // @Required()
    RA_ReturnCodes_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    Remark: string;
    // @Required()
    UnitReturnValue: number;

    // @Required()
    TotalReturnValue: number;

    // @References(typeof(TX_Main))
    // @Required()
    TaxID: string;

    // @Required()
    TaxAmount: number;

    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(PO_Lines))
    PO_Lines_OrderLineID: string;

    // @Required()
    FXUnitReturnValue: number;

    // @Required()
    FXTotalReturnValue: number;

    // @Required()
    FXRate: number;
}

export class RA_RequestLinesCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class RA_RequestLinesCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_RequestLines))
    // @Required()
    RA_RequestLines_RecID: string;

    // @References(typeof(RA_RequestLinesCustomFields))
    // @Required()
    RA_RequestLinesCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class RA_RequestMain
{
    // @Required()
    RecID: string;

    RequestNo: string;
    Reference: string;
    // @References(typeof(IN_Logical))
    // @Required()
    WarehouseID: string;

    Status: number;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedBy: string;

    // @References(typeof(RA_ReturnCodes))
    // @Required()
    ReturnCode: string;

    DeliveryAddressee: string;
    DeliveryStreetAddress1: string;
    DeliveryStreetAddress2: string;
    DeliveryLocality: string;
    DeliveryRegion: string;
    DeliveryPostCode: string;
    DeliveryCountry: string;
    DeliveryTelephone: string;
    DeliveryFacsimile: string;
    ContactName: string;
    Note: string;
    CourierDetails: string;
    // @Required()
    RequestDate: string;

    // @References(typeof(CR_Main))
    // @Required()
    CreditorID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    ReturnsWarehouseID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class RA_RequestMainCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class RA_RequestMainCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_RequestMain))
    // @Required()
    RA_RequestMain_RecID: string;

    // @References(typeof(RA_RequestMainCustomFields))
    // @Required()
    RA_RequestMainCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class RA_RequestNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_RequestMain))
    // @Required()
    RA_RequestMain_RecID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class RA_ReturnCodes
{
    // @Required()
    RecID: string;

    ReturnCode: string;
    Description: string;
    IsDefault: boolean;
    ReturnType: number;
    LastSavedDateTime: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsEnabled: boolean;
}

export class RA_SelectedShipLines
{
    // @Required()
    RecID: string;

    CreditID: string;
    CreditLineID: string;
    ShipID: string;
    ShipLineID: string;
    ShipLineDetailID: string;
    // @Required()
    InvID: string;

    Quantity: number;
    SOHID: string;
}

export class RA_ShipDocuments
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_ShipMain))
    // @Required()
    RA_ShipMain_RecID: string;

    // @References(typeof(SY_DocumentTypes))
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class RA_ShipIn
{
    // @References(typeof(RA_CreditMain))
    RA_CreditMain_RecID: string;

    // @References(typeof(RA_ShipMain))
    RA_ShipMain_RecID: string;
}

export class RA_ShipLineDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_ShipLines))
    // @Required()
    Parent_RecID: string;

    // @References(typeof(IN_SOH))
    IN_SOH_LinkID: string;

    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    // @Required()
    SerialNo: string;

    ExpiryDate: string;
    // @Required()
    BinLocation: string;

    LastSavedDateTime: string;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class RA_ShipLines
{
    // @Required()
    RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(RA_ShipMain))
    // @Required()
    RA_ShipMain_RecID: string;

    // @Required()
    Quantity: number;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(RA_ReturnCodes))
    // @Required()
    RA_ReturnCodes_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    Remark: string;
    // @Required()
    UnitReturnValue: number;

    // @Required()
    TotalReturnValue: number;

    // @References(typeof(RA_RequestLines))
    RA_RequestLines_RecID: string;

    // @References(typeof(TX_Main))
    // @Required()
    TaxID: string;

    // @Required()
    TaxAmount: number;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    FXUnitReturnValue: number;

    // @Required()
    FXTotalReturnValue: number;

    // @Required()
    FXRate: number;

    // @References(typeof(PO_Lines))
    PO_Lines_OrderLineID: string;
}

export class RA_ShipLinesCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class RA_ShipLinesCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_ShipLines))
    // @Required()
    RA_ShipLines_RecID: string;

    // @References(typeof(RA_ShipLinesCustomFields))
    // @Required()
    RA_ShipLinesCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class RA_ShipMain
{
    // @Required()
    RecID: string;

    ShippingNo: string;
    RANumber: string;
    Reference: string;
    // @References(typeof(IN_Logical))
    // @Required()
    WarehouseID: string;

    // @Required()
    Status: number;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedBy: string;

    // @References(typeof(RA_ReturnCodes))
    // @Required()
    ReturnCode: string;

    DeliveryStreetAddress1: string;
    DeliveryStreetAddress2: string;
    DeliveryLocality: string;
    DeliveryRegion: string;
    DeliveryPostCode: string;
    ContactName: string;
    Note: string;
    CourierDetails: string;
    // @Required()
    ShippingDate: string;

    // @References(typeof(CR_Main))
    // @Required()
    CreditorID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    TransitWarehouseID: string;

    // @Required()
    RowHash: Uint8Array;

    DeliveryAddressee: string;
    DeliveryCountry: string;
    DeliveryTelephone: string;
    DeliveryFacsimile: string;
}

export class RA_ShipMainCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class RA_ShipMainCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_ShipMain))
    // @Required()
    RA_ShipMain_RecID: string;

    // @References(typeof(RA_ShipMainCustomFields))
    // @Required()
    RA_ShipMainCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class RA_ShipNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(RA_ShipMain))
    // @Required()
    RA_ShipMain_RecID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class RE_CustomSettings
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class RE_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @Required()
    SettingID: string;

    RE_Main_RecID: string;
    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class RE_LineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class RE_LineCustomValues
{
    // @Required()
    RecID: string;

    // @Required()
    RE_Lines_RecID: string;

    // @References(typeof(RE_LineCustomFields))
    // @Required()
    RE_LineCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class RE_LineDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(RE_Lines))
    // @Required()
    RE_Lines_RecID: string;

    LinkID: string;
    // @Required()
    Quantity: number;

    SerialNo: string;
    BinLocationDescription: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    ExpiryDate: string;
    // @Required()
    ItemNo: number;
}

export class RE_Lines
{
    // @Required()
    SourceID: string;

    // @References(typeof(RE_Main))
    // @Required()
    PackSlipID: string;

    // @Required()
    OrderID: string;

    // @Required()
    OrderLineID: string;

    Quantity: number;
    SuppliersCost: number;
    // @Required()
    InventoryID: string;

    PartNo: string;
    Description: string;
    SuppPartNo: string;
    LineType: number;
    DecimalPlaces: number;
    LastSavedDateTime: string;
    // @Required()
    ClassificationID: string;

    ClassDescription: string;
    TaxAmount: number;
    TaxID: string;
    TaxRate: number;
    HomeSuppliersCost: number;
    CurrencyRateUsed: number;
    POClassID: string;
    // @Required()
    PostedToWIP: boolean;

    // @Required()
    JobCharge: number;

    LineNumber: number;
    // @References(typeof(JB_JobStages))
    JB_JobStages_RecID: string;

    FXDecimalPlaces: number;
    HomeDecimalPlaces: number;
    // @Required()
    LineTotalExTax: number;

    // @Required()
    UnitIncTax: number;

    // @Required()
    LineTotalIncTax: number;

    // @Required()
    FXLineTotalExTax: number;

    UnitChanged: boolean;
    FXChanged: boolean;
    ExChanged: boolean;
    TaxRateChanged: boolean;
    ChangeSourceIsFromPurchaseOrderLine: boolean;
}

export class RE_Main
{
    // @Required()
    PackSlipID: string;

    LastSavedDateTime: string;
    SlipNo: string;
    // @References(typeof(CR_Main))
    // @Required()
    CreditorID: string;

    SlipDate: string;
    // @Required()
    Status: number;

    Freight: number;
    Duty: number;
    // @Required()
    Invoiced: boolean;

    // @References(typeof(PI_Main))
    PI_MainID: string;

    Insurance: number;
    // @Required()
    IN_LogicalID: string;

    TaxTotal: number;
    FreightTaxID: string;
    FreightTaxRate: number;
    FreightTaxAmount: number;
    DutyTaxID: string;
    DutyTaxRate: number;
    DutyTaxAmount: number;
    InsuranceTaxID: string;
    InsuranceTaxRate: number;
    InsuranceTaxAmount: number;
    Reference: string;
}

export class RE_OrdersUsed
{
    // @Required()
    OrdersPSOrdersID: string;

    // @Required()
    PackSlipID: string;

    // @Required()
    OrderID: string;

    // @Required()
    TypeReceival: boolean;
}

export class RE_Reversal
{
    // @Required()
    RecID: string;

    // @References(typeof(RE_Main))
    // @Required()
    Reversed_RE_Main_RecID: string;

    // @References(typeof(RE_Main))
    // @Required()
    Reversal_RE_Main_RecID: string;
}

export class SH_ApportionedCostsAmounts
{
    // @Required()
    CostsAmountsID: string;

    // @Required()
    ShipmentLineID: string;

    // @References(typeof(SH_Costs))
    // @Required()
    CostsID: string;

    Amount: number;
    // @Required()
    IncludeFlag: boolean;

    // @Required()
    RowHash: Uint8Array;
}

export class SH_ApportionedCostsOnPO
{
    // @Required()
    ApportionedID: string;

    // @Required()
    CostsID: string;

    // @Required()
    ShipmentID: string;

    // @References(typeof(SH_PurchaseOrders))
    // @Required()
    OrdersUsedID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class SH_BookInDetailLines
{
    // @Required()
    RecID: string;

    // @References(typeof(SH_BookInLines))
    // @Required()
    Parent_RecID: string;

    Quantity: number;
    SerialNo: string;
    ExpiryDate: string;
    BinLocation: string;
    // @References(typeof(IN_SOH))
    IN_SOH_LinkID: string;

    Cost: number;
    // @Required()
    RowHash: Uint8Array;

    SpecialPrice: number;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ItemNo: number;
}

export class SH_BookInDetailLinesCostAudit
{
    // @Required()
    RecID: string;

    // @References(typeof(SH_BookInDetailLines))
    // @Required()
    BookInDetailLineID: string;

    // @Required()
    DateCostChanged: string;

    CostBefore: number;
    CostAfter: number;
}

export class SH_BookInLineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class SH_BookInLineCustomValues
{
    // @Required()
    RecID: string;

    // @Required()
    SH_BookInLines_RecID: string;

    // @References(typeof(SH_BookInLineCustomFields))
    // @Required()
    SH_BookInLineCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SH_BookInLines
{
    // @Required()
    BookInLineID: string;

    // @Required()
    BookInID: string;

    // @Required()
    PartNo: string;

    InventoryID: string;
    Quantity: number;
    // @References(typeof(SH_Lines))
    // @Required()
    ShipmentLineID: string;

    // @Required()
    UseSerialNo: boolean;

    // @Required()
    UseExpiry: boolean;

    DecimalPlaces: number;
    POClassID: string;
    DeliveryDays: number;
    Description: string;
    OrderUnits: number;
    ClassificationID: string;
    SupplierPartNo: string;
    OrderedCost: number;
    GSTRate: number;
    GSTAmount: number;
    GSTID: string;
    JobCostID: string;
    CreditorID: string;
    FXRate: number;
    UnitCost: number;
    Weight: number;
    Volume: number;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    // @Required()
    PhysicalItem: boolean;

    FXOrderedCost: number;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class SH_BookInMain
{
    // @Required()
    BookInID: string;

    // @Required()
    BookInNo: string;

    LastSavedDateTime: string;
    // @Required()
    ShipmentID: string;

    BookInDate: string;
    // @Required()
    Status: boolean;

    // @Required()
    IN_LogicalID: string;

    SETID: string;
}

export class SH_Costs
{
    // @Required()
    CostsID: string;

    // @Required()
    ShipmentID: string;

    // @References(typeof(CR_Main))
    CreditorID: string;

    CostType: string;
    FXAmount: number;
    FXRate: number;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    HomeAmount: number;
    GSTAmount: number;
    GSTRate: number;
    GSTID: string;
    TotalAmount: number;
    ApportionMethod: number;
    // @Required()
    Apportioned: boolean;

    // @Required()
    Invoiced: boolean;

    CR_TransID: string;
    DueDate: string;
    InvoiceNo: string;
    Reference: string;
    CreditorLedgerID: string;
    LedgerID: string;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
    // @Required()
    LastSavedDateTime: string;

    AUDDecimalPlaces: number;
    FXDecimalPlaces: number;
    InvoiceDate: string;
    DisplayOrder: number;
    // @Required()
    SH_CostTypes_RecID: string;
}

export class SH_CostTypes
{
    // @Required()
    RecID: string;

    Description: string;
    // @Required()
    Name: string;

    IsEnabled: boolean;
    // @Required()
    IsDefault: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class SH_CustomSettings
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class SH_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @Required()
    SettingID: string;

    SH_Main_RecID: string;
    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class SH_Invoices
{
    // @Required()
    InvoicesID: string;

    // @Required()
    ShipmentID: string;

    InvoiceNo: string;
    Reference: string;
    Remark: string;
    DueDate: string;
    // @Required()
    CreditorID: string;

    FXRate: number;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    HomeAmount: number;
    FXAmount: number;
    CR_TransID: string;
    CreditorLedgerID: string;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
    ExpectedHomeAmount: number;
    ExpectedFXAmount: number;
    // @Required()
    Invoiced: boolean;

    InvoiceDate: string;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;

    TaxAmount: number;
    AmountIncTax: number;
}

export class SH_Lines
{
    // @Required()
    ShipmentLineID: string;

    // @Required()
    ShipmentID: string;

    // @References(typeof(SH_PurchaseOrders))
    PurchaseOrdersID: string;

    // @References(typeof(PO_Lines))
    PurchaseOrderLineID: string;

    InventoryID: string;
    PartNo: string;
    SupplierPartNo: string;
    QuantityOrdered: number;
    QuantityThisShipment: number;
    OrderedCost: number;
    ShipUnitCostExGST: number;
    ShipUnitCostIncGST: number;
    FXShipUnitCostExGST: number;
    AdjustedUnitCost: number;
    GSTRate: number;
    GSTAmount: number;
    GSTID: string;
    // @Required()
    UseSerialNo: boolean;

    // @Required()
    UseExpiry: boolean;

    DecimalPlaces: number;
    POClassID: string;
    InvoicesID: string;
    DeliveryDays: number;
    Description: string;
    OrderUnits: number;
    ClassificationID: string;
    JobCostID: string;
    FXRate: number;
    Weight: number;
    Volume: number;
    LineTotalExGST: number;
    FXLineTotalExGST: number;
    LineTotalIncGST: number;
    LandedCostTotal: number;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    CreditorID: string;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
    // @Required()
    PhysicalItem: boolean;

    FXOrderedCost: number;
    DisplayOrder: number;
    IN_SupplierWarehouse_RecID: string;
    IN_Creditor_RecID: string;
    // @Required()
    RowHash: Uint8Array;

    UnitChanged: boolean;
    FXChanged: boolean;
    ExChanged: boolean;
    TaxRateChanged: boolean;
    ChangeSourceIsFromPurchaseOrderLine: boolean;
}

export class IN_BinLocationLookup
{
    // @Required()
    INBinLookupID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(IN_Logical))
    // @Required()
    INLogicalID: string;

    Description: string;
    ShortName: string;
    ItemNo: number;
    IsDefault: boolean;
    // @Required()
    RowHash: Uint8Array;
}

export class IN_BinLocationLookupCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_BinLocationLookupCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_BinLocationLookup))
    // @Required()
    IN_BinLocationLookup_RecID: string;

    // @References(typeof(IN_BinLocationLookupCustomFields))
    // @Required()
    IN_BinLocationLookupCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_BOQty
{
    // @Required()
    InventoryID: string;

    Qty: number;
    Price: number;
    EstBOValue: number;
}

export class IN_Budget
{
    // @Required()
    InventoryBudgetID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    Quantity1: number;

    // @Required()
    Dollars1: number;

    // @Required()
    Quantity2: number;

    // @Required()
    Dollars2: number;

    // @Required()
    Quantity3: number;

    // @Required()
    Dollars3: number;

    // @Required()
    Quantity4: number;

    // @Required()
    Dollars4: number;

    // @Required()
    Quantity5: number;

    // @Required()
    Dollars5: number;

    // @Required()
    Quantity6: number;

    // @Required()
    Dollars6: number;

    // @Required()
    Quantity7: number;

    // @Required()
    Dollars7: number;

    // @Required()
    Quantity8: number;

    // @Required()
    Dollars8: number;

    // @Required()
    Quantity9: number;

    // @Required()
    Dollars9: number;

    // @Required()
    Quantity10: number;

    // @Required()
    Dollars10: number;

    // @Required()
    Quantity11: number;

    // @Required()
    Dollars11: number;

    // @Required()
    Quantity12: number;

    // @Required()
    Dollars12: number;

    // @Required()
    Quantity13: number;

    // @Required()
    Dollars13: number;

    // @Required()
    Quantity14: number;

    // @Required()
    Dollars14: number;

    // @Required()
    Quantity15: number;

    // @Required()
    Dollars15: number;

    // @Required()
    Quantity16: number;

    // @Required()
    Dollars16: number;

    // @Required()
    Quantity17: number;

    // @Required()
    Dollars17: number;

    // @Required()
    Quantity18: number;

    // @Required()
    Dollars18: number;

    // @Required()
    Quantity19: number;

    // @Required()
    Dollars19: number;

    // @Required()
    Quantity20: number;

    // @Required()
    Dollars20: number;

    // @Required()
    Quantity21: number;

    // @Required()
    Dollars21: number;

    // @Required()
    Quantity22: number;

    // @Required()
    Dollars22: number;

    // @Required()
    Quantity23: number;

    // @Required()
    Dollars23: number;

    // @Required()
    Quantity24: number;

    // @Required()
    Dollars24: number;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;
}

export class IN_Categories
{
    // @Required()
    CategoryNo: number;

    // @Required()
    CategoryID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
    Picture: Uint8Array;
}

export class IN_Category1
{
    // @Required()
    Category1ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
    Picture: Uint8Array;
}

export class IN_Category1CustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_Category1CustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Category1))
    // @Required()
    IN_Category1_RecID: string;

    // @References(typeof(IN_Category1CustomFields))
    // @Required()
    IN_Category1CustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_Category2
{
    // @Required()
    Category2ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
    Picture: Uint8Array;
}

export class IN_Category2CustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_Category2CustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Category2))
    // @Required()
    IN_Category2_RecID: string;

    // @References(typeof(IN_Category2CustomFields))
    // @Required()
    IN_Category2CustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_Category3
{
    // @Required()
    Category3ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
    Picture: Uint8Array;
}

export class IN_Category3CustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_Category3CustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Category3))
    // @Required()
    IN_Category3_RecID: string;

    // @References(typeof(IN_Category3CustomFields))
    // @Required()
    IN_Category3CustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_Category4
{
    // @Required()
    Category4ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
    Picture: Uint8Array;
}

export class IN_Category4CustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_Category4CustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Category4))
    // @Required()
    IN_Category4_RecID: string;

    // @References(typeof(IN_Category4CustomFields))
    // @Required()
    IN_Category4CustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_Category5
{
    // @Required()
    Category5ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
    Picture: Uint8Array;
}

export class IN_Category5CustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_Category5CustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Category5))
    // @Required()
    IN_Category5_RecID: string;

    // @References(typeof(IN_Category5CustomFields))
    // @Required()
    IN_Category5CustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_Class
{
    Class: string;
}

export class IN_Classification
{
    // @Required()
    InventoryClassificationID: string;

    Description: string;
    LastSavedDateTime: string;
    // @References(typeof(GL_Ledger))
    LedgerInvValue: string;

    // @References(typeof(GL_Ledger))
    LedgerMovement_COG: string;

    // @References(typeof(GL_Ledger))
    LedgerExpAsset: string;

    // @References(typeof(GL_Ledger))
    LedgerExpLiab: string;

    // @References(typeof(GL_Ledger))
    LedgerDelAsset: string;

    // @References(typeof(GL_Ledger))
    LedgerDelLiab: string;

    // @References(typeof(GL_Ledger))
    LedgerAssignedValue: string;

    // @References(typeof(GL_Ledger))
    LedgerCogVariance: string;

    // @References(typeof(GL_Ledger))
    LedgerInvSales: string;

    // @References(typeof(GL_Ledger))
    LedgerAccumulator: string;

    // @References(typeof(GL_Ledger))
    LedgerPurchases: string;

    // @References(typeof(GL_Ledger))
    LedgerShipComplete: string;

    // @References(typeof(GL_Ledger))
    LedgerWriteOn: string;

    // @References(typeof(GL_Ledger))
    LedgerWriteOff: string;

    // @References(typeof(GL_Ledger))
    LedgerCostPriceAdj: string;

    GSTInwardsID: string;
    GSTOutwardsID: string;
    GSTAdjustmentsINID: string;
    GSTAdjustmentsOUTID: string;
    // @Required()
    WebEnabled: boolean;

    DefaultClassification: boolean;
    PricingGroupID: string;
}

export class IN_ClassificationCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class IN_ClassificationCustomValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(IN_ClassificationCustomSetting))
    SettingID: string;

    // @References(typeof(IN_Classification))
    // @Required()
    IN_Classification_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_CollectionOfGroups
{
    // @Required()
    InventoryGroupCollectionID: string;

    LastSavedDateTime: string;
    // @Required()
    Description: string;

    // @Required()
    IsDefault: boolean;
}

export class IN_Colours
{
    // @Required()
    RecID: string;

    Description: string;
    // @Required()
    ColourCode: string;

    // @Required()
    StyleID: string;

    DisplayOrder: number;
}

export class IN_Components
{
    // @Required()
    INComponentRecID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    ComponentID: string;

    Quantity: number;
    // @Required()
    LineNumber: number;
}

export class IN_CostChange
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ChangeNo: string;

    Notes: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSaved_HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    Status: number;
}

export class IN_CostChangeLines
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_CostChange))
    // @Required()
    IN_CostChange_RecID: string;

    // @References(typeof(IN_SOH))
    // @Required()
    Old_IN_SOH_RecID: string;

    // @Required()
    NewCost: number;

    Reference: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    New_IN_SOH_RecID: string;
}

export class IN_Creditor
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(CR_Main))
    // @Required()
    CreditorID: string;

    PartNo: string;
    SupplierUPC: string;
    SpareFloat1: number;
    SpareFloat2: number;
    SpareFloat3: number;
    SpareString1: string;
    SpareString2: string;
    SpareString3: string;
    SpareDate1: string;
    SpareDate2: string;
    SpareDate3: string;
    DefaultSupplier: boolean;
    // @References(typeof(IN_Region))
    // @Required()
    IN_Region_RecID: string;

    // @Required()
    ItemNo: number;
}

export class IN_Creditor_QuantityPriceBreak
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Creditor))
    // @Required()
    IN_Creditor_RecID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    QuantityBreak: number;

    // @Required()
    Price: number;
}

export class IN_CreditorCustomFields
{
    // @Required()
    FieldID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_CreditorCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Creditor))
    InvSuppID: string;

    // @References(typeof(IN_CreditorCustomFields))
    // @Required()
    FieldID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    // @Required()
    SettingName: string;

    // @Required()
    DisplayOrder: number;

    // @Required()
    CellType: number;

    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class IN_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(IN_CustomSetting))
    // @Required()
    SettingID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_DebtorClassificationSpecificPrice
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Main))
    InventoryID: string;

    // @References(typeof(DB_Classification))
    DebtorClassificationID: string;

    // @Required()
    Source: number;

    // @Required()
    OPMode: number;

    Amount: number;
    StartDate: string;
    EndDate: string;
    // @Required()
    UseQuantityBreak: boolean;

    QuantityBreak: number;
    Note: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class IN_DebtorPartNumbers
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    DebtorPartNo: string;
    DebtorBarcode: string;
}

export class IN_DebtorPricingGroupSpecificPrice
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Main))
    InventoryID: string;

    // @References(typeof(DB_PricingGroups))
    DB_PricingGroups_RecID: string;

    // @Required()
    Source: number;

    // @Required()
    OPMode: number;

    Amount: number;
    StartDate: string;
    EndDate: string;
    // @Required()
    UseQuantityBreak: boolean;

    QuantityBreak: number;
    Note: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class IN_DebtorSpecificPrice
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Main))
    InventoryID: string;

    // @References(typeof(DB_Main))
    DebtorID: string;

    // @Required()
    Source: number;

    // @Required()
    OPMode: number;

    Amount: number;
    StartDate: string;
    EndDate: string;
    // @Required()
    UseQuantityBreak: boolean;

    QuantityBreak: number;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    Note: string;
}

export class IN_Description
{
    // @Required()
    DescriptionID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    Description: string;

    // @References(typeof(SY_Language))
    // @Required()
    SY_Language_RecID: string;
}

export class IN_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    InventoryID: string;

    DocumentTypeID: string;
    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class IN_Duty
{
    // @Required()
    DutyID: string;

    Description: string;
    Value: number;
    // @Required()
    IsDefault: boolean;
}

export class IN_Freight
{
    // @Required()
    FreightInID: string;

    Description: string;
    FreightValue: number;
    FreightType: number;
    FreightFactor: boolean;
    // @Required()
    IsDefault: boolean;
}

export class IN_Group
{
    // @Required()
    InventoryGroupID: string;

    LastSavedDateTime: string;
    // @Required()
    Description: string;

    // @References(typeof(IN_CollectionOfGroups))
    // @Required()
    InventoryGroupCollectionID: string;
}

export class IN_GroupLink
{
    // @Required()
    LinkID: string;

    // @Required()
    InventoryGroupID: string;

    // @Required()
    InventoryID: string;
}

export class IN_InTransitWH
{
    // @Required()
    IN_LogicalID: string;

    // @Required()
    IN_PhysicalID: string;

    // @Required()
    IsDefault: number;
}

export class IN_KitStockTakeLineKitComponents
{
    // @Required()
    KitStockTakeLineComponentID: string;

    // @Required()
    KitStockTakeLineID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    BOMObject: number;

    // @Required()
    DecimalPlaces: number;

    // @Required()
    KitRatioQuantity: number;

    // @Required()
    QuantityCounted: number;
}

export class IN_KitStockTakeLineKits
{
    // @Required()
    KitStockTakeLineID: string;

    // @Required()
    KitStockTakeID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    BOMObject: number;

    // @Required()
    DecimalPlaces: number;

    // @Required()
    Quantity: number;

    // @Required()
    LineNumber: number;

    // @Required()
    LastSavedDateTime: string;
}

export class IN_KitStockTakeMain
{
    // @Required()
    KitStockTakeID: string;

    KitStockTakeNo: string;
    KitStockTakeNotes: string;
    KitStockTakeStatus: boolean;
    // @Required()
    KitStockTakeDate: string;

    StaffID: string;
    IN_LogicalID: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_LogicalOrder
{
    // @Required()
    IN_LogicalOrderID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    CentralWarehouseID: string;
}

export class IN_LogicalWarehouseCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_LogicalWarehouseCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_Logical_RecID: string;

    // @References(typeof(IN_LogicalWarehouseCustomFields))
    // @Required()
    IN_LogicalWarehouseCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_Main
{
    // @Required()
    InventoryID: string;

    LastSavedDateTime: string;
    // @Required()
    PartNo: string;

    Description: string;
    Units: string;
    // @Required()
    PhysicalItem: boolean;

    // @Required()
    Discountable: boolean;

    DirectTax: number;
    // @Required()
    Catagory1ID: string;

    // @Required()
    Catagory2ID: string;

    // @Required()
    Catagory3ID: string;

    // @Required()
    Catagory4ID: string;

    // @Required()
    Catagory5ID: string;

    // @Required()
    ClassificationID: string;

    // @Required()
    Status: number;

    DefaultPrice: number;
    RRPPrice: number;
    LCost: number;
    SCost: number;
    DecimalPlaces: number;
    MinimumGP: number;
    Weight: number;
    Cubic: number;
    // @Required()
    UseSerialNo: boolean;

    Aux1: string;
    Aux2: string;
    Aux3: string;
    Aux4: string;
    Aux5: string;
    // @Required()
    BackOrderable: boolean;

    LedgerInvValue: string;
    LedgerMovement_COG: string;
    LedgerExpAsset: string;
    LedgerExpLiab: string;
    LedgerDelAsset: string;
    LedgerDelLiab: string;
    SalesManCost: number;
    LedgerAssignedValue: string;
    LedgerCogVariance: string;
    LedgerInvSales: string;
    LedgerAccumulator: string;
    LedgerPurchases: string;
    LedgerShipComplete: string;
    LedgerWriteOn: string;
    LedgerWriteOff: string;
    LedgerCostPriceAdj: string;
    // @Required()
    BOMObject: number;

    // @Required()
    UseExpiryDate: boolean;

    // @Required()
    UseStandardCost: boolean;

    StandardCost: number;
    // @Required()
    WebEnabled: boolean;

    GSTInwardsID: string;
    GSTOutwardsID: string;
    GSTAdjustmentsINID: string;
    GSTAdjustmentsOUTID: string;
    // @Required()
    SellPriceIncTax: boolean;

    StyleID: string;
    ColourID: string;
    SizeID: string;
    PartEncodeOrder: number;
    TypeStyle: boolean;
    MatrixDescription: string;
    SecondaryCost: number;
    PricingGroupID: string;
    ShipWithPhysicalItem: boolean;
    // @Required()
    RowHash: Uint8Array;

    Picture: Uint8Array;
}

export class IN_Notes
{
    // @Required()
    RecID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class IN_OnBackOrder
{
    // @Required()
    OrdersOnBackID: string;

    LastSavedDateTime: string;
    TranDate: string;
    InvoiceType: number;
    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceLineID: string;

    // @References(typeof(DB_Main))
    DebtorID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    OrderID: string;
    OrderLineID: string;
    Quantity: number;
    Price: number;
    EstBOValue: number;
    // @Required()
    Priority: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    // @References(typeof(IN_Logical))
    ForLogicalID: string;

    ForAnotherWarehouse: number;
    INAssemblyID: string;
    BackOrderMode: number;
    PriorityWeight: number;
}

export class IN_OrderLevels
{
    // @Required()
    InventoryLevelsID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    Quantity1: number;

    // @Required()
    Quantity2: number;

    // @Required()
    Quantity3: number;

    // @Required()
    Quantity4: number;

    // @Required()
    Quantity5: number;

    // @Required()
    Quantity6: number;

    // @Required()
    Quantity7: number;

    // @Required()
    Quantity8: number;

    // @Required()
    Quantity9: number;

    // @Required()
    Quantity10: number;

    // @Required()
    Quantity11: number;

    // @Required()
    Quantity12: number;

    // @Required()
    Quantity13: number;

    // @Required()
    Quantity14: number;

    // @Required()
    Quantity15: number;

    // @Required()
    Quantity16: number;

    // @Required()
    Quantity17: number;

    // @Required()
    Quantity18: number;

    // @Required()
    Quantity19: number;

    // @Required()
    Quantity20: number;

    // @Required()
    Quantity21: number;

    // @Required()
    Quantity22: number;

    // @Required()
    Quantity23: number;

    // @Required()
    Quantity24: number;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    SafetyMinQuantity1: number;
    SafetyMinQuantity2: number;
    SafetyMinQuantity3: number;
    SafetyMinQuantity4: number;
    SafetyMinQuantity5: number;
    SafetyMinQuantity6: number;
    SafetyMinQuantity7: number;
    SafetyMinQuantity8: number;
    SafetyMinQuantity9: number;
    SafetyMinQuantity10: number;
    SafetyMinQuantity11: number;
    SafetyMinQuantity12: number;
    SafetyMaxQuantity1: number;
    SafetyMaxQuantity2: number;
    SafetyMaxQuantity3: number;
    SafetyMaxQuantity4: number;
    SafetyMaxQuantity5: number;
    SafetyMaxQuantity6: number;
    SafetyMaxQuantity7: number;
    SafetyMaxQuantity8: number;
    SafetyMaxQuantity9: number;
    SafetyMaxQuantity10: number;
    SafetyMaxQuantity11: number;
    SafetyMaxQuantity12: number;
}

export class IN_Physical
{
    // @Required()
    IN_PhysicalID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    Description: string;

    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    RefComment: string;
}

export class IN_PhysicalWarehouseCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class IN_PhysicalWarehouseCustomValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(IN_PhysicalWarehouseCustomSetting))
    SettingID: string;

    // @References(typeof(IN_Physical))
    // @Required()
    IN_Physical_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_Price
{
    // @Required()
    PriceID: string;

    LastSavedDateTime: string;
    Description: string;
    QuantityBreak: number;
    ExpiryDate: string;
}

export class IN_PriceLink
{
    // @Required()
    LinkID: string;

    // @References(typeof(IN_Price))
    // @Required()
    PriceID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    Price: number;
}

export class IN_PriceSchemePrice
{
    // @Required()
    PriceSchemePriceID: string;

    // @Required()
    PriceDescription: string;

    // @Required()
    PriceIsStoredProc: boolean;

    PriceStoredProcName: string;
    // @Required()
    PriceActive: boolean;

    PriceVBScript: string;
    UseZeroPrice: boolean;
}

export class IN_PriceSchemePriority
{
    // @Required()
    PriceSchemePriorityID: string;

    // @References(typeof(IN_PriceSchemes))
    // @Required()
    PriceSchemeID: string;

    // @References(typeof(IN_PriceSchemePrice))
    // @Required()
    PriceSchemePriceID: string;

    SchemePriority: number;
}

export class IN_PriceSchemes
{
    // @Required()
    PriceSchemeID: string;

    // @Required()
    PriceSchemeDescription: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    SchemeActive: boolean;

    // @Required()
    FindTheCheapest: boolean;

    IsDefault: boolean;
}

export class IN_PricingGroupMatrix
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_PricingGroups))
    IN_PricingGroups_RecID: string;

    // @References(typeof(DB_PricingGroups))
    DB_PricingGroups_RecID: string;

    // @Required()
    SourcePrice: number;

    // @Required()
    Mode: number;

    // @Required()
    Amount: number;

    UseQuantityBreak: boolean;
    QuantityBreak: number;
    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;

    StartDate: string;
    EndDate: string;
}

export class IN_PricingGroups
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    Description: string;

    DefaultPriceGroup: boolean;
}

export class IN_ProductAvailability
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    LogicalID: string;

    // @Required()
    Available: boolean;
}

export class IN_Region
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsDefault: boolean;

    // @Required()
    HR_Staff_RecID_CreatedBy: string;

    // @Required()
    CreatedDateTime: string;

    // @Required()
    HR_Staff_RecID_LastSavedBy: string;

    // @Required()
    LastSavedDateTime: string;
}

export class IN_RegionSupplierOrdering
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Region))
    // @Required()
    IN_Region_RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    IN_Main_InventoryID: string;

    // @Required()
    LastSavedDateTime: string;

    OrderEnabled: boolean;
}

export class IN_SellingPrices
{
    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    ForwardPriceDate: string;

    // @Required()
    CurrentPriceDate: string;

    Price1: number;
    ForwardPrice1: number;
    Price1IsIncTax: boolean;
    Price2: number;
    ForwardPrice2: number;
    Price2IsIncTax: boolean;
    Price3: number;
    ForwardPrice3: number;
    Price3IsIncTax: boolean;
    Price4: number;
    ForwardPrice4: number;
    Price4IsIncTax: boolean;
    Price5: number;
    ForwardPrice5: number;
    Price5IsIncTax: boolean;
    Price6: number;
    ForwardPrice6: number;
    Price6IsIncTax: boolean;
    Price7: number;
    ForwardPrice7: number;
    Price7IsIncTax: boolean;
    Price8: number;
    ForwardPrice8: number;
    Price8IsIncTax: boolean;
    Price9: number;
    ForwardPrice9: number;
    Price9IsIncTax: boolean;
    Price10: number;
    ForwardPrice10: number;
    Price10IsIncTax: boolean;
}

export class IN_Sizes
{
    // @Required()
    RecID: string;

    Description: string;
    // @Required()
    SizeCode: string;

    // @Required()
    StyleID: string;

    DisplayOrder: number;
}

export class IN_SOH
{
    // @Required()
    LinkID: string;

    LastSavedDateTime: string;
    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    DateIn: string;
    QuantityIn: number;
    LCostIn: number;
    SCostIn: number;
    SpecialPrice: number;
    QuantityLeft: number;
    SerialNo: string;
    TaxPaid: number;
    Ref: string;
    SourceID: string;
    HistoryText: string;
    QuantityAllocated: number;
    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    BinLocationDesc: string;
    ExpiryDate: string;
    // @References(typeof(SY_Forms))
    SY_Forms_ClassName: string;
}

export class IN_SOHManualSplitAudit
{
    // @Required()
    RecID: string;

    // @Required()
    SplitFromSOHID: string;

    // @Required()
    SplitToSOHID: string;

    // @Required()
    QuantitySplit: number;

    // @Required()
    StaffID: string;

    // @Required()
    SplitDateTime: string;
}

export class IN_StandCost
{
    // @Required()
    INStandCostID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    DocumentNo: string;

    // @Required()
    InitDate: string;

    UsageDate: string;
    Formula: string;
    Status: boolean;
    Ref: string;
    FromPartNo: string;
    ToPartNo: string;
    FromSupplier: string;
    ToSupplier: string;
    FromClass: string;
    ToClass: string;
    FromCat1: string;
    ToCat1: string;
    FromCat2: string;
    ToCat2: string;
    FromCat3: string;
    ToCat3: string;
    FromCat4: string;
    ToCat4: string;
    FromCat5: string;
    ToCat5: string;
}

export class IN_StandCostLine
{
    // @Required()
    INStandCostLineID: string;

    // @Required()
    INStandCostID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;

    Description: string;
    OldCost: number;
    NewCost: number;
    LastHomeCost: number;
    LastSupplierCost: number;
    StandardDuty: number;
    StandardFreight: number;
    FXRate: number;
    UserValue: number;
    TotalSOH: number;
    CurrentValue: number;
    NewValue: number;
    Variance: number;
    DecimalPlaces: number;
    FXCapitalRate: number;
}

export class IN_StockTakeLineDetails
{
    // @Required()
    StockTakeDetailsID: string;

    // @References(typeof(IN_StockTakeLines))
    // @Required()
    StockTakeLineID: string;

    SerialNumber: string;
    // @References(typeof(IN_SOH))
    LinkID: string;

    QtyFound: number;
    QtyNotFound: number;
    QtyAdded: number;
    Cost: number;
    ExpiryDate: string;
    // @References(typeof(IN_BinLocationLookup))
    IN_BinLocationLookup_RecID: string;

    // @Required()
    ItemNo: number;
}

export class IN_StockTakeLines
{
    // @Required()
    StockTakeLineID: string;

    // @References(typeof(IN_StockTakeMain))
    // @Required()
    StockTakeID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;

    Description: string;
    QtyOnHand: number;
    QtyFound: number;
    AmountVar: number;
    BinLocation: string;
    LineNum: number;
    DefaultBin: string;
    Comment: string;
}

export class IN_StockTakeMain
{
    // @Required()
    StockTakeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    StockTakeNumber: string;

    // @Required()
    DateCreated: string;

    // @Required()
    UserID: string;

    WarehouseID: string;
    // @Required()
    Status: number;

    // @Required()
    Mode: boolean;
}

export class IN_StyleColourSizeMatrix
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Styles))
    // @Required()
    StyleID: string;

    // @References(typeof(IN_Colours))
    // @Required()
    ColourID: string;

    // @References(typeof(IN_Sizes))
    // @Required()
    SizeID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;
}

export class IN_Styles
{
    // @Required()
    RecID: string;

    Description: string;
    // @Required()
    StyleCode: string;
}

export class IN_SupplierWarehouse
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Creditor))
    // @Required()
    IN_Creditor_RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(CR_Warehouse))
    // @Required()
    WarehouseID: string;

    // @References(typeof(IN_Freight))
    // @Required()
    FreightInID: string;

    OrderUnits: number;
    DeliveryDays: number;
    SuppliersCost: number;
    HomeSuppliersCost: number;
    // @References(typeof(IN_Duty))
    // @Required()
    DutyID: string;

    SupplierSOH: number;
    SuppliersCost2: number;
    HomeSuppliersCost2: number;
    SpareFloat1: number;
    SpareFloat2: number;
    SpareFloat3: number;
    SpareString1: string;
    SpareString2: string;
    SpareString3: string;
    SpareDate1: string;
    SpareDate2: string;
    SpareDate3: string;
    DefaultSupplierWarehouse: boolean;
    // @Required()
    ItemNo: number;

    // @References(typeof(IN_UnitOfMeasure))
    IN_UnitOfMeasure_RecID: string;
}

export class IN_SupplierWarehouseCustomFields
{
    // @Required()
    FieldID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_SupplierWarehouseCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_SupplierWarehouse))
    InvSuppSourceID: string;

    // @References(typeof(IN_SupplierWarehouseCustomFields))
    // @Required()
    FieldID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_Transfer
{
    // @Required()
    TransferID: string;

    LastSavedDateTime: string;
    // @Required()
    TransferNo: string;

    TransferDate: string;
    Reference: string;
    // @Required()
    IN_LogicalID: string;

    // @Required()
    Status: number;

    CreatedDateTime: string;
    CreatedByStaffID: string;
    LastSavedByStaffID: string;
    // @References(typeof(IN_TransferReasons))
    // @Required()
    IN_TransferReasons_RecID: string;
}

export class IN_TransferCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class IN_TransferCustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(IN_TransferCustomSetting))
    SettingID: string;

    // @References(typeof(IN_Transfer))
    // @Required()
    TransferID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class IN_TransferDocuments
{
    // @Required()
    RecID: string;

    // @Required()
    TransferID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class IN_TransferLineCustomField
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class IN_TransferLineCustomValue
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_TransferLines))
    // @Required()
    IN_TransferLines_TransferLineID: string;

    // @References(typeof(IN_TransferLineCustomField))
    // @Required()
    IN_TransferLineCustomField_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class IN_TransferLines
{
    // @Required()
    TransferLineID: string;

    // @References(typeof(IN_Transfer))
    // @Required()
    TransferID: string;

    FromPartInventoryID: string;
    FromPartInventorySOHID: string;
    FromPartNo: string;
    FromPartDescription: string;
    FromPartOriginalQuantity: number;
    TransferQuantity: number;
    ToPartInventoryID: string;
    ToPartNo: string;
    ToPartDescription: string;
    TransferLineNo: number;
    ToPartSerialNo: string;
    Reference: string;
    ToPartInventorySOHID: string;
    CreatedDateTime: string;
    LastSavedDateTime: string;
    CreatedByStaffID: string;
    LastSavedByStaffID: string;
    FromPartDecimalPlaces: number;
    ToPartDecimalPlaces: number;
    // @References(typeof(GL_Ledger))
    FromPartInventoryValueAccountID: string;

    // @References(typeof(GL_Ledger))
    ToPartInventoryValueAccountID: string;

    // @References(typeof(GL_Ledger))
    FromPartWriteOnAccountID: string;

    // @References(typeof(GL_Ledger))
    ToPartWriteOnAccountID: string;

    // @References(typeof(GL_Ledger))
    FromPartWriteOffAccountID: string;

    // @References(typeof(GL_Ledger))
    ToPartWriteOffAccountID: string;

    FromPartLastCost: number;
    ToPartLastCost: number;
    ToPartBinLocation: string;
    ToPartComment: string;
    ToPartExpiryDate: string;
    // @References(typeof(IN_TransferReasons))
    IN_TransferReasons_RecID: string;
}

export class IN_TransferNotes
{
    // @Required()
    RecID: string;

    // @Required()
    TransferID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class IN_TransferReasons
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    WriteOffAccountOverride: boolean;
    WriteOffAccountID: string;
    WriteOnAccountOverride: boolean;
    WriteOnAccountID: string;
    DefaultReason: boolean;
    ReadOnly: boolean;
    CreatedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    ItemNo: number;
    // @Required()
    RowHash: Uint8Array;
}

export class IN_UnitOfMeasure
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    IN_Main_InventoryID: string;

    // @Required()
    Name: string;

    // @References(typeof(IN_UnitOfMeasure))
    Inner_IN_UnitOfMeasure_RecID: string;

    // @Required()
    QuantityInnersPerUnitOfMeasure: number;

    // @Required()
    IsSell: boolean;

    // @Required()
    IsPurchase: boolean;

    PartNo: string;
    Barcode: string;
    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class IN_UpSell
{
    // @Required()
    RecID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    UpSellInventoryID: string;

    Description: string;
    // @Required()
    PrimaryCategoryID: string;

    // @Required()
    SecondaryCategoryID: string;

    Quantity: number;
}

export class IN_WarehouseSOH
{
    // @Required()
    IN_WarehouseSOHID: string;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    QuantityLeft: number;
    QuantityAllocated: number;
    PickAllocated: number;
    ShipAllocated: number;
    ForwardRequirements: number;
    TransferAllocated: number;
    BOMAllocated: number;
}

export class IN_WHQtyLeft
{
    // @Required()
    InventoryID: string;

    QtyLeft: number;
}

export class INMGT020BOQTY
{
    // @Required()
    InventoryID: string;

    Qty: number;
    Price: number;
    EstBOValue: number;
    // @Required()
    IN_LogicalID: string;
}

export class INMGT020POQty
{
    // @Required()
    InventoryID: string;

    Qty: number;
    Delivered: number;
    UnactQty: number;
    ActQty: number;
    // @Required()
    IN_LogicalID: string;
}

export class INV_Assembly
{
    AssemblyNO: string;
    AssembleTo: string;
    // @Required()
    AssemblyType: string;

    AssembleFrom: string;
    // @Required()
    INAssemblyHistoryID: string;

    // @Required()
    INAssemblyLineID: string;
}

export class INV_BOQTY
{
    // @Required()
    InventoryID: string;

    Qty: number;
    ManualQty: number;
    AutoQty: number;
    Price: number;
    EstBOValue: number;
    // @Required()
    In_logicalID: string;
}

export class INV_OnOrder
{
    // @Required()
    InventoryID: string;

    OnOrder: number;
    // @Required()
    IN_logicalID: string;
}

export class INV_OnOrderStatus
{
    // @Required()
    InventoryID: string;

    OnOrder: number;
    // @Required()
    Status: number;
}

export class INV_PI
{
    InvoiceNO: string;
    SuppPart: string;
    AccountNo: string;
    SerialNo: string;
    BinLoc: string;
    // @Required()
    PI_LinesDetailsID: string;
}

export class INV_Receival
{
    SlipNo: string;
    SuppPart: string;
    AccountNO: string;
    // @Required()
    SourceID: string;
}

export class Inv_Sales
{
    FullInvNo: string;
    orderno: string;
    Accountno: string;
    QtyOrd: string;
    // @Required()
    InvoiceLineID: string;

    InventoryID: string;
    // @Required()
    InvoiceHistoryID: string;
}

export class INV_SOH_Con
{
    // @Required()
    InventoryID: string;

    SOH: number;
}

export class INV_SOH1
{
    // @Required()
    InventoryID: string;

    SOH: number;
    Tax: number;
    VOH: number;
    // @Required()
    IN_LogicalID: string;
}

export class INV_UnProcessedQTY
{
    InventoryID: string;
    QTY: number;
    Value: number;
    Tax: number;
    // @Required()
    IN_LogicalID: string;
}

export class INV_WHTransfer
{
    TransferNo: string;
    Ref: string;
    FromWH: string;
    ToWH: string;
    // @Required()
    WH_TransferLineID: string;

    // @Required()
    WH_TransferLineDetailsID: string;

    SerialNo: string;
}

export class JB_Budget
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @Required()
    PurchaseQty: number;

    // @Required()
    PurchaseCost: number;

    // @Required()
    PurchaseCharge: number;

    PurchaseNote: string;
    // @Required()
    MaterialQty: number;

    // @Required()
    MaterialCost: number;

    // @Required()
    MaterialCharge: number;

    MaterialNote: string;
    // @Required()
    LabourQty: number;

    // @Required()
    LabourCost: number;

    // @Required()
    LabourCharge: number;

    LabourNote: string;
    // @Required()
    CashBookQty: number;

    // @Required()
    CashBookCost: number;

    // @Required()
    CashBookCharge: number;

    CashBookNote: string;
    // @Required()
    ResourceQty: number;

    // @Required()
    ResourceCost: number;

    // @Required()
    ResourceCharge: number;

    ResourceNote: string;
    // @Required()
    JournalQty: number;

    // @Required()
    JournalCost: number;

    // @Required()
    JournalCharge: number;

    JournalNote: string;
    // @Required()
    MaterialCreditorQty: number;

    // @Required()
    MaterialCreditorCost: number;

    // @Required()
    MaterialCreditorCharge: number;

    MaterialCreditorNote: string;
    // @Required()
    RowHash: Uint8Array;
}

export class JB_Classification
{
    // @Required()
    ClassificationID: string;

    Description: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(GL_Ledger))
    WIPExpectedAsset: string;

    // @References(typeof(GL_Ledger))
    WIPExpectedLiability: string;

    // @References(typeof(GL_Ledger))
    WIPDeliveredAsett: string;

    // @References(typeof(GL_Ledger))
    WIPDeliveredLiability: string;

    // @References(typeof(GL_Ledger))
    WorkInProgress: string;

    // @References(typeof(GL_Ledger))
    JobRevenue: string;

    // @References(typeof(GL_Ledger))
    JobCostOfGoods: string;

    // @References(typeof(GL_Ledger))
    Wages: string;

    // @References(typeof(GL_Ledger))
    Resources: string;

    // @References(typeof(GL_Ledger))
    WriteOn: string;

    // @References(typeof(GL_Ledger))
    WriteOff: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class JB_CostCentres
{
    // @Required()
    RecID: string;

    // @Required()
    CostCentreNo: string;

    Name: string;
    Description: string;
    IsEnabled: boolean;
    RowHash: Uint8Array;
}

export class JB_CostEntry
{
    // @Required()
    RecID: string;

    // @Required()
    RecNum: string;

    Reference: string;
    Note: string;
    Status: number;
    // @Required()
    WarehouseID: string;

    // @Required()
    LastSavedDateTime: string;

    EntryType: number;
    // @Required()
    JobID: string;

    JrnlSetID: string;
}

export class JB_CostEntryLines
{
    // @Required()
    RecID: string;

    // @Required()
    JobEntryID: string;

    // @Required()
    JobCode: string;

    // @Required()
    JobID: string;

    // @Required()
    CostCentreID: string;

    // @Required()
    StageID: string;

    // @Required()
    Qty: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    MarkUp: number;
    ComponentID: string;
    ComponentNo: string;
    ComponentDesc: string;
    ComponentType: number;
    InvoiceNo: string;
    TranType: number;
    // @Required()
    TaxID: string;

    Status: number;
    // @Required()
    LinkID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    TranDate: string;

    InvoicedAmount: number;
    Unit: string;
    Remark: string;
    ServiceNo: string;
    BackOrderQty: number;
    QtyDelivered: number;
    QtyDecimalPlaces: number;
}

export class JB_CostLineDetails
{
    // @Required()
    DetailsLineID: string;

    // @Required()
    CostEntryLineID: string;

    // @Required()
    SOHID: string;

    Cost: number;
    Quantity: number;
    SerialNo: string;
    ExpiryDate: string;
    BinLocation: string;
    DateIn: string;
    DeliveredDate: string;
}

export class JB_CustomSettings
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class JB_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(JB_CustomSettings))
    SettingID: string;

    // @References(typeof(JB_Main))
    // @Required()
    JB_Main_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class JB_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    JB_Main_RecID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    LastSavedByStaffID: string;
    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class JB_EstimateCashBookLines
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @References(typeof(CR_Main))
    // @Required()
    CR_Main_RecID: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    Units: string;
    // @Required()
    JB_EstimateLines_RecID: string;
}

export class JB_EstimateCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class JB_EstimateCustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(JB_EstimateCustomSetting))
    SettingID: string;

    // @References(typeof(JB_Estimates))
    // @Required()
    JB_Estimates_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class JB_EstimateFinishedGoodLines
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_Estimates))
    // @Required()
    JB_Estimates_RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    IN_Main_RecID: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    Remark: string;
    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    JB_EstimateLines_RecID: string;
}

export class JB_EstimateInventoryLines
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    IN_Main_RecID: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    Units: string;
    // @Required()
    JB_EstimateLines_RecID: string;
}

export class JB_EstimateJournalSetLines
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GL_Main_RecID: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    Units: string;
    // @Required()
    JB_EstimateLines_RecID: string;
}

export class JB_EstimateLabourLines
{
    // @Required()
    RecID: string;

    // @References(typeof(JB_JobStages))
    // @Required()
    JB_JobStages_RecID: string;

    // @References(typeof(JB_Staffs))
    // @Required()
    JB_Staff_RecID: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    Quantity: number;

    // @Required()
    UnitCost: number;

    // @Required()
    UnitCharge: number;

    Remark: string;
    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    Units: string;
    // @Required()
    JB_EstimateLines_RecID: string;
}

export class JB_EstimateLines
{
    // @Required()
    RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(JB_Estimates))
    // @Required()
    JB_Estimates_RecID: string;
}

export class CR_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    CreditorID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class CR_ForwardCover
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    ContractNo: string;

    Description: string;
    // @References(typeof(FX_Currency))
    // @Required()
    FX_Main_RecID: string;

    CurrencyDecimalPlaces: number;
    CurrencyRate: number;
    FXAmount: number;
    HomeAmount: number;
    Reference: string;
    // @Required()
    InitiatedDate: string;

    // @Required()
    StartDate: string;

    // @Required()
    EndDate: string;

    // @Required()
    Status: number;

    // @Required()
    AutoCloseContract: number;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID_CreatedBy: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID_LastSavedBy: string;

    // @Required()
    RowHash: Uint8Array;
}

export class CR_ForwardCoverNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_ForwardCover))
    // @Required()
    CR_ForwardCover_RecID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class CR_ForwardCoverTransactions
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_ForwardCover))
    // @Required()
    CR_ForwardCover_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    TransactionDate: string;

    // @Required()
    FXAmount: number;

    // @Required()
    HomeAmount: number;

    // @Required()
    SourceType: number;

    // @Required()
    SourceID: string;

    SourceReference: string;
    // @References(typeof(CR_Trans))
    // @Required()
    CRTrans_RecID: string;

    // @Required()
    TransactionType: number;
}

export class CR_GLAudit
{
    // @Required()
    GLLedgerID: string;

    LedgerValue: number;
    // @Required()
    ReportGroup: string;
}

export class CR_Main
{
    // @Required()
    CreditorID: string;

    LastSavedDateTime: string;
    // @Required()
    AccountNo: string;

    Name: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    BankName: string;
    BankAcc: string;
    BSBN: string;
    AccountName: string;
    DefaultPaymentType: number;
    CreditLimit: number;
    EarlyPayDisOnRemitDays: number;
    // @Required()
    EarlyPayDisOnRemitAmt: number;

    LastSaleDate: string;
    LastPaymentDate: string;
    // @Required()
    ClassificationID: string;

    // @Required()
    AccountOnHold: boolean;

    EmailAddress: string;
    CurrentBalance: number;
    // @Required()
    Period1: number;

    // @Required()
    Period2: number;

    // @Required()
    Period3: number;

    // @Required()
    Period4: number;

    AltAccountNo: string;
    CommenceDate: string;
    TermsDays: number;
    ACN: string;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    // @Required()
    UsesFX: boolean;

    ABN: string;
    TermsType: number;
    AustPostDPID: string;
    AustPostBCSP: string;
    // @Required()
    MinPOValue: number;

    // @Required()
    MaxPOValue: number;

    PeriodType: number;
    TradingName: string;
    CompanyName: string;
    ProprietorName: string;
    // @Required()
    FXCurrentBalance: number;

    // @Required()
    FXPeriod1: number;

    // @Required()
    FXPeriod2: number;

    // @Required()
    FXPeriod3: number;

    // @Required()
    FXPeriod4: number;

    TradingStatus: number;
    // @References(typeof(GL_Ledger))
    LedgerIDCreditorControl: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorPurchases: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorDiscounts: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorSourcedPayments: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorSourcedDebitAdjustment: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorSourcedPurchase: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorSourcedCreditAdjustment: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorFreight: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorInsurance: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorDuty: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorRealisedGainLoss: string;

    // @References(typeof(GL_Ledger))
    LedgerIDCreditorUnRealisedGainLoss: string;

    // @Required()
    PO_Workflows_RecID: string;

    // @Required()
    Country: string;
}

export class CR_Main1
{
    // @Required()
    CreditorID: string;

    LastSavedDateTime: string;
    // @Required()
    AccountNo: string;

    Name: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    BankName: string;
    BankAcc: string;
    BSBN: string;
    AccountName: string;
    DefaultPaymentType: number;
    CreditLimit: number;
    EarlyPayDisOnRemitDays: number;
    // @Required()
    EarlyPayDisOnRemitAmt: number;

    LastSaleDate: string;
    LastPaymentDate: string;
    // @Required()
    ClassificationID: string;

    // @Required()
    AccountOnHold: boolean;

    EmailAddress: string;
    CurrentBalance: number;
    // @Required()
    Period1: number;

    // @Required()
    Period2: number;

    // @Required()
    Period3: number;

    // @Required()
    Period4: number;

    AltAccountNo: string;
    CommenceDate: string;
    // @Required()
    ContactType: number;

    TermsDays: number;
    ACN: string;
    CurrencyID: string;
    // @Required()
    UsesFX: boolean;

    ABN: string;
    TermsType: number;
    AustPostDPID: string;
    AustPostBCSP: string;
    // @Required()
    MinPOValue: number;

    // @Required()
    MaxPOValue: number;
}

export class CR_Main2
{
    // @Required()
    CreditorID: string;

    LastSavedDateTime: string;
    C1: string;
    C2: string;
    C3: string;
    C4: string;
    C5: string;
    C7: string;
    C8: string;
    C10: string;
    C11: string;
    C12: string;
    // @Required()
    OpeningBal1: number;

    // @Required()
    OpeningBal2: number;

    // @Required()
    OpeningBal3: number;

    // @Required()
    OpeningBal4: number;

    // @Required()
    OpeningBal5: number;

    // @Required()
    OpeningBal6: number;

    // @Required()
    OpeningBal7: number;

    // @Required()
    OpeningBal8: number;

    // @Required()
    OpeningBal9: number;

    // @Required()
    OpeningBal10: number;

    // @Required()
    OpeningBal11: number;

    // @Required()
    OpeningBal12: number;

    // @Required()
    OpeningBal14: number;

    // @Required()
    OpeningBal15: number;

    // @Required()
    OpeningBal13: number;

    // @Required()
    OpeningBal16: number;

    // @Required()
    OpeningBal17: number;

    // @Required()
    OpeningBal18: number;

    // @Required()
    OpeningBal19: number;

    // @Required()
    OpeningBal20: number;

    // @Required()
    OpeningBal21: number;

    // @Required()
    OpeningBal22: number;

    // @Required()
    OpeningBal23: number;

    // @Required()
    OpeningBal24: number;

    // @Required()
    OpeningBal25: number;

    // @Required()
    OpeningBal26: number;

    // @Required()
    OpeningBal27: number;

    // @Required()
    OpeningBal28: number;

    // @Required()
    OpeningBal29: number;

    // @Required()
    OpeningBal30: number;

    // @Required()
    OpeningBal31: number;

    // @Required()
    OpeningBal32: number;

    // @Required()
    OpeningBal33: number;

    // @Required()
    OpeningBal34: number;

    // @Required()
    OpeningBal35: number;

    // @Required()
    OpeningBal36: number;

    // @Required()
    OpeningBal37: number;

    // @Required()
    OpeningBal38: number;

    // @Required()
    OpeningBal39: number;

    // @Required()
    OpeningBal40: number;

    // @Required()
    OpeningBal41: number;

    // @Required()
    OpeningBal42: number;

    // @Required()
    OpeningBal43: number;

    // @Required()
    OpeningBal44: number;

    // @Required()
    OpeningBal45: number;

    // @Required()
    OpeningBal46: number;

    // @Required()
    OpeningBal47: number;

    // @Required()
    OpeningBal48: number;

    // @Required()
    OpeningBal49: number;

    // @Required()
    OpeningBal50: number;

    // @Required()
    OpeningBal51: number;

    // @Required()
    OpeningBal52: number;

    // @Required()
    OpeningBal53: number;

    PeriodType: number;
    FXGainLossLedgerID: string;
    FXUnRealizedLedgerID: string;
    CustomField1: string;
    CustomField2: string;
    CustomField3: string;
    CustomField4: string;
}

export class CR_Notes
{
    // @Required()
    RecID: string;

    // @Required()
    CreditorID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class CR_PaymentCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class CR_PaymentCustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(CR_PaymentCustomSetting))
    SettingID: string;

    // @References(typeof(CR_BatchTrans))
    // @Required()
    CR_BatchTrans_ReceiptID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_PurchaseCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class CR_PurchaseCustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(CR_PurchaseCustomSetting))
    SettingID: string;

    // @References(typeof(CR_BatchTrans))
    // @Required()
    CR_BatchTrans_ReceiptID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_Purchases
{
    // @Required()
    CR_PurchID: string;

    DateRun: string;
    InvoiceDate: string;
    // @Required()
    CreditorID: string;

    InvoiceNo: string;
    PartNo: string;
    Description: string;
    ClassDescription: string;
    Quantity: number;
    UnitCost: number;
    LineTotal: number;
    // @Required()
    InvoiceID: string;

    // @Required()
    InventoryID: string;

    MonthNo: number;
    YearNo: number;
    // @Required()
    IN_LogicalID: string;
}

export class CR_Trans
{
    // @Required()
    TransID: string;

    // @References(typeof(CR_Main))
    // @Required()
    CreditorID: string;

    // @Required()
    DebitCredit: boolean;

    Ref: string;
    Remark: string;
    TranDate: string;
    InvRemitNo: string;
    FXAmount: number;
    DiscountedAmount: number;
    // @Required()
    AgedOut: boolean;

    SourceID: string;
    AllocatedAmount: number;
    InitDateTime: string;
    LastSavedDateTime: string;
    BatchNo: string;
    // @Required()
    ChequePrinting: boolean;

    ChequeRunID: string;
    DueDate: string;
    Amount: number;
    CurrencyRateUsed: number;
    FXAllocAmount: number;
    GSTAmount: number;
    RealisedGainLoss: number;
    UnRealisedGainLoss: number;
    FXDecimalPlaces: number;
    DecimalPlaces: number;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    Source: string;
    Note: string;
}

export class CR_TransAlloc
{
    // @Required()
    AllocID: string;

    // @Required()
    CreditorID: string;

    // @Required()
    DebitTransID: string;

    // @Required()
    CreditTransID: string;

    FXAmount: number;
    DebitAmount: number;
    CreditAmount: number;
    DebitAged: boolean;
    CreditAged: boolean;
    // @Required()
    DateAlloc: string;

    Version: number;
}

export class CR_TransCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class CR_TransCustomFieldValues
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_Trans))
    // @Required()
    CR_Trans_TransID: string;

    // @References(typeof(CR_TransCustomFields))
    // @Required()
    CR_TransCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_Warehouse
{
    // @Required()
    WarehouseID: string;

    // @Required()
    CreditorID: string;

    Description: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Notes: string;
    CourierDetails: string;
    DefaultItem: boolean;
    DefaultDelDays: number;
    // @Required()
    Country: string;
}

export class CurrYearProfit
{
    Profit: number;
}

export class DB_AdjustmentLines
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_Adjustments))
    // @Required()
    DB_Adjustments_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    DueDate: string;

    // @References(typeof(DB_Main))
    // @Required()
    DB_Main_RecID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GL_Ledger_RecID_DebtorsControl: string;

    // @Required()
    InvoiceRemittanceNo: string;

    // @Required()
    WriteOnAmount: number;

    // @Required()
    WriteOffAmount: number;

    // @References(typeof(GL_Ledger))
    GL_Ledger_RecID_OtherLedger: string;

    // @Required()
    Reference: string;

    // @Required()
    Remark: string;

    // @References(typeof(DB_Trans))
    DB_Trans_RecID: string;

    // @References(typeof(TX_Main))
    // @Required()
    TX_Main_RecID: string;

    // @Required()
    TaxRate: number;

    // @Required()
    TaxAmount: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    AdjustmentDate: string;
}

export class DB_Adjustments
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @Required()
    BatchDate: string;

    // @Required()
    Status: number;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedBy_HR_Staff_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    Description: string;

    // @Required()
    RowHash: Uint8Array;
}

export class DB_APIKey
{
    // @Required()
    RecID: string;

    Name: string;
    // @References(typeof(DB_Main))
    // @Required()
    DB_Main_DebtorID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    CreatedDateTime: string;

    ExpiryDateTime: string;
    CancelledDateTime: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    KeyValue: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class DB_Audit
{
    // @Required()
    DebtorID: string;

    DebtorTotal: number;
    // @Required()
    ReportGroup: string;
}

export class DB_AutoTran
{
    // @Required()
    DBAutoTranID: string;

    LastSavedDateTime: string;
    RunDateTime: string;
    UserName: string;
    // @Required()
    RunNo: string;
}

export class DB_AutoTranLines
{
    // @Required()
    DBAutoTranLineID: string;

    // @References(typeof(DB_AutoTran))
    // @Required()
    DBAutoTranID: string;

    // @Required()
    SourceDBBatchID: string;

    // @Required()
    SourceBatchNo: string;

    // @Required()
    SourceReceiptType: number;

    SourceDesc: string;
    PostingDue: string;
    Reason: string;
    // @Required()
    DestDBBatchID: string;

    // @Required()
    DestBatchNo: string;

    // @Required()
    LineNum: number;

    // @Required()
    LastSavedDateTime: string;
}

export class DB_BatchTranLines
{
    // @Required()
    ReceiptLineID: string;

    // @References(typeof(DB_BatchTrans))
    // @Required()
    ReceiptID: string;

    LastSavedDateTime: string;
    // @References(typeof(DB_Main))
    AccountID: string;

    // @References(typeof(GL_Ledger))
    LedgerID: string;

    LineReference: string;
    Remark: string;
    RemitNo: string;
    Amount: number;
    DBTransID: string;
    // @Required()
    LineNum: number;

    // @References(typeof(GL_Ledger))
    OtherLedgerID: string;

    OtherAmount: number;
    ReceiptDate: string;
    BankName: string;
    BankAcc: string;
    BSBN: string;
    AccountName: string;
    // @References(typeof(DB_Main))
    ParentAccountID: string;

    TaxID: string;
    TaxRate: number;
    TaxAmount: number;
    TaxLedgerID: string;
    DiscountAmount: number;
    DiscountLedgerID: string;
    DiscountTransID: string;
    HomeTaxID: string;
    HomeTaxRate: number;
    HomeTaxAmount: number;
    DiscountTaxID: string;
    DiscountTaxRate: number;
    DiscountTaxAmount: number;
    DueDate: string;
}

export class DB_BatchTrans
{
    // @Required()
    ReceiptID: string;

    LastSavedDateTime: string;
    JiwaUser: string;
    ReceiptDate: string;
    BatchNum: string;
    ReceiptType: number;
    ReceiptStatus: number;
    // @Required()
    BatchType: number;

    // @Required()
    RepeatingType: number;

    // @Required()
    RepeatingUnits: number;

    NextRepeatingDate: string;
    // @Required()
    RepeatingWillEnd: boolean;

    RepeatingEndDate: string;
    Description: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSaved_HR_Staff_RecID: string;
}

export class DB_Budget
{
    // @Required()
    BudgetID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    LastBudget1: number;
    LastBudget2: number;
    LastBudget3: number;
    LastBudget4: number;
    LastBudget5: number;
    LastBudget6: number;
    LastBudget7: number;
    LastBudget8: number;
    LastBudget9: number;
    LastBudget10: number;
    LastBudget11: number;
    LastBudget12: number;
    CurrBudget1: number;
    CurrBudget2: number;
    CurrBudget3: number;
    CurrBudget4: number;
    CurrBudget5: number;
    CurrBudget6: number;
    CurrBudget7: number;
    CurrBudget8: number;
    CurrBudget9: number;
    CurrBudget10: number;
    CurrBudget11: number;
    CurrBudget12: number;
    NextBudget1: number;
    NextBudget2: number;
    NextBudget3: number;
    NextBudget4: number;
    NextBudget5: number;
    NextBudget6: number;
    NextBudget7: number;
    NextBudget8: number;
    NextBudget9: number;
    NextBudget10: number;
    NextBudget11: number;
    NextBudget12: number;
}

export class DB_Categories
{
    // @Required()
    CategoryNo: number;

    // @Required()
    CategoryID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
}

export class DB_Category1
{
    // @Required()
    Category1ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
}

export class DB_Category2
{
    // @Required()
    Category2ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
}

export class DB_Category3
{
    // @Required()
    Category3ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
}

export class DB_Category4
{
    // @Required()
    Category4ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
}

export class DB_Category5
{
    // @Required()
    Category5ID: string;

    Description: string;
    // @Required()
    DefaultCategory: boolean;

    LastSavedDateTime: string;
}

export class DB_Class
{
    // @Required()
    Class: string;
}

export class DB_Classification
{
    // @Required()
    DebtorClassificationID: string;

    LastSavedDateTime: string;
    // @Required()
    Description: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorControl: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorSales: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorDiscounts: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorSourcedInvoices: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorDebitAdjustment: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorSourcedReceipts: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorCreditAdjustment: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorFreight: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorInsurance: string;

    TermsDays: number;
    // @Required()
    TermsType: number;

    // @References(typeof(IN_PriceSchemes))
    PriceSchemeID: string;

    // @References(typeof(DB_PricingGroups))
    PricingGroupID: string;

    LedgerIDDebtorRealisedGainLoss: string;
    LedgerIDDebtorUnRealisedGainLoss: string;
    // @Required()
    IsDefault: boolean;
}

export class DB_CreditNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class DB_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class DB_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(DB_CustomSetting))
    SettingID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class DB_DebtorSystemFieldValues
{
    // @Required()
    RecID: string;

    // @Required()
    DB_DebtorSystemTemplateFields_RecID: string;

    // @Required()
    DB_DebtorSystems_RecID: string;

    LastSavedDateTime: string;
    Contents: string;
}

export class DB_DebtorSystems
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_DebtorSystemTemplates))
    // @Required()
    DB_DebtorSystemTemplates_RecID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    LastSavedDateTime: string;
    Description: string;
    // @Required()
    RowHash: Uint8Array;
}

export class DB_DebtorSystemTemplateDefaultReference
{
    // @Required()
    RecID: string;

    // @Required()
    AssemblyFullName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class DB_DebtorSystemTemplateFields
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_DebtorSystemTemplates))
    // @Required()
    DB_DebtorSystemTemplates_RecID: string;

    LastSavedDateTime: string;
    // @Required()
    Name: string;

    // @Required()
    FieldType: number;

    ComboText: string;
    DefaultValue: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class DB_DebtorSystemTemplateFieldsReferences
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_DebtorSystemTemplateFields))
    // @Required()
    DebtorSystemTemplateFieldID: string;

    // @Required()
    AssemblyFullName: string;

    // @Required()
    AssemblyName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class DB_DebtorSystemTemplateReference
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_DebtorSystemTemplates))
    // @Required()
    DB_DebtorSystemTemplates_RecID: string;

    // @Required()
    AssemblyFullName: string;

    // @Required()
    AssemblyName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class DB_DebtorSystemTemplates
{
    // @Required()
    RecID: string;

    LastSavedDateTime: string;
    // @Required()
    Enabled: boolean;

    // @Required()
    Name: string;

    Code: string;
    // @Required()
    RowHash: Uint8Array;
}

export class DB_DeliveryAddress
{
    // @Required()
    DeliveryID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Notes: string;
    CourierDetails: string;
    DefaultItem: boolean;
    LineNum: number;
    EDIStoreLocationCode: string;
    DeliveryAddressCode: string;
    DeliveryAddressName: string;
    // @Required()
    Country: string;
}

export class DB_DetailedGLAudit
{
    // @Required()
    ReceiptID: string;

    AccountID: string;
    // @Required()
    DBAccountNo: string;

    RemitNo: string;
    ReceiptDate: string;
    Amount: number;
    SourceID: string;
    SetType: number;
    GLSetID: string;
    GLAccountNo: string;
    Ref: string;
    GLTransAmount: number;
}

export class DB_Directors
{
    // @Required()
    DirectorID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    DirectorName: string;
    Address: string;
    OfficeHeld: string;
}

export class DB_Documents
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    // @References(typeof(SY_DocumentTypes))
    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class DB_EDIMain
{
    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    EDIEnabled: boolean;
    EDIAddress: string;
    EDIOrderType: number;
    EDIPricesIncludeTax: boolean;
}

export class DB_FreightForwardAddress
{
    // @Required()
    FreightForwardID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    Notes: string;
    DefaultItem: boolean;
    LineNum: number;
    Country: string;
}

export class DB_GLAudit
{
    // @Required()
    GLLedgerID: string;

    LedgerValue: number;
    // @Required()
    ReportGroup: string;
}

export class DB_Main
{
    // @Required()
    DebtorID: string;

    LastSavedDateTime: string;
    // @Required()
    AccountNo: string;

    Name: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    BankName: string;
    BankAcc: string;
    BSBN: string;
    AccountName: string;
    TaxExemptNo: string;
    CreditLimit: number;
    EarlyPayDisOnStatsDays: number;
    EarlyPayDisOnStatsAmt: number;
    LastPurchaseDate: string;
    LastPaymentDate: string;
    StandingDisOnInvoices: number;
    // @References(typeof(DB_Classification))
    // @Required()
    ClassificationID: string;

    AccountOnHold: boolean;
    EmailAddress: string;
    CurrentBalance: number;
    Period1: number;
    Period2: number;
    Period3: number;
    Period4: number;
    AltAccountNo: string;
    // @Required()
    NotifyRequired: boolean;

    NotifyAddress: string;
    CommenceDate: string;
    // @Required()
    WebAccess: boolean;

    // @References(typeof(DB_Main))
    // @Required()
    ParentDebtorID: string;

    AllocLastSavedDateTime: string;
    // @References(typeof(IN_PriceSchemes))
    PriceSchemeID: string;

    AustPostDPID: string;
    AustPostBCSP: string;
    TradingName: string;
    CompanyName: string;
    ACN: string;
    ProprietorsName: string;
    FaxHeader: string;
    // @References(typeof(GL_Ledger))
    LedgerIDDebtorControl: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorSales: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorDiscounts: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorSourcedInvoices: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorDebitAdjustment: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorSourcedReceipts: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorCreditAdjustment: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorFreight: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorInsurance: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorRealisedGainLoss: string;

    // @References(typeof(GL_Ledger))
    LedgerIDDebtorUnRealisedGainLoss: string;

    PeriodType: number;
    TermsDays: number;
    TermsType: number;
    ABN: string;
    // @Required()
    ExcludeFromAging: boolean;

    BPayReference: string;
    // @Required()
    UsesFX: boolean;

    // @References(typeof(FX_Currency))
    FXCurrencyID: string;

    FXCurrentBalance: number;
    FXPeriod1: number;
    FXPeriod2: number;
    FXPeriod3: number;
    FXPeriod4: number;
    TradingStatus: number;
    // @References(typeof(DB_Category1))
    // @Required()
    Category1ID: string;

    // @References(typeof(DB_Category2))
    // @Required()
    Category2ID: string;

    // @References(typeof(DB_Category3))
    // @Required()
    Category3ID: string;

    // @References(typeof(DB_Category4))
    // @Required()
    Category4ID: string;

    // @References(typeof(DB_Category5))
    // @Required()
    Category5ID: string;

    // @References(typeof(BO_Priorities))
    BO_Priorities_RecID: string;

    // @References(typeof(DB_PricingGroups))
    PricingGroupID: string;

    BudgetedGPPercentage: number;
    // @Required()
    Country: string;

    // @References(typeof(FR_Carriers))
    FR_Carriers_RecID: string;

    // @References(typeof(FR_CarrierServices))
    FR_CarrierServices_RecID: string;

    CarrierAccountNo: string;
    // @Required()
    ChargeTo: number;

    // @Required()
    IsCashOnly: boolean;
}

export class DB_Main1
{
    // @Required()
    DebtorID: string;

    LastSavedDateTime: string;
    // @Required()
    AccountNo: string;

    Name: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    BankName: string;
    BankAcc: string;
    BSBN: string;
    AccountName: string;
    TaxExemptNo: string;
    // @Required()
    AccountType: number;

    CreditLimit: number;
    EarlyPayDisOnStatsDays: number;
    EarlyPayDisOnStatsAmt: number;
    LastPurchaseDate: string;
    LastPaymentDate: string;
    StandingDisOnInvoices: number;
    // @Required()
    ClassificationID: string;

    AccountOnHold: boolean;
    EmailAddress: string;
    CurrentBalance: number;
    Period1: number;
    Period2: number;
    Period3: number;
    Period4: number;
    // @Required()
    Period5: number;

    // @Required()
    Period6: number;

    // @Required()
    Period7: number;

    // @Required()
    Period8: number;

    AltAccountNo: string;
    // @Required()
    NotifyRequired: boolean;

    NotifyAddress: string;
    CommenceDate: string;
    // @Required()
    WebAccess: boolean;

    // @Required()
    ParentDebtorID: string;

    AllocLastSavedDateTime: string;
    PriceSchemeID: string;
    AustPostDPID: string;
    AustPostBCSP: string;
}

export class DB_Main2
{
    // @Required()
    DebtorID: string;

    LastSavedDateTime: string;
    TradingName: string;
    CompanyName: string;
    ACN: string;
    ProprietorsName: string;
    FaxHeader: string;
    D1: string;
    D2: string;
    D3: string;
    D4: string;
    D5: string;
    D6: string;
    D7: string;
    D8: string;
    D9: string;
    D10: string;
    D11: string;
    // @Required()
    OpeningBal1: number;

    // @Required()
    OpeningBal2: number;

    // @Required()
    OpeningBal3: number;

    // @Required()
    OpeningBal4: number;

    // @Required()
    OpeningBal5: number;

    // @Required()
    OpeningBal6: number;

    // @Required()
    OpeningBal7: number;

    // @Required()
    OpeningBal8: number;

    // @Required()
    OpeningBal9: number;

    // @Required()
    OpeningBal10: number;

    // @Required()
    OpeningBal11: number;

    // @Required()
    OpeningBal12: number;

    // @Required()
    OpeningBal13: number;

    // @Required()
    OpeningBal14: number;

    // @Required()
    OpeningBal15: number;

    // @Required()
    OpeningBal16: number;

    // @Required()
    OpeningBal17: number;

    // @Required()
    OpeningBal18: number;

    // @Required()
    OpeningBal19: number;

    // @Required()
    OpeningBal20: number;

    // @Required()
    OpeningBal21: number;

    // @Required()
    OpeningBal22: number;

    // @Required()
    OpeningBal23: number;

    // @Required()
    OpeningBal24: number;

    // @Required()
    OpeningBal25: number;

    // @Required()
    OpeningBal26: number;

    // @Required()
    OpeningBal27: number;

    // @Required()
    OpeningBal28: number;

    // @Required()
    OpeningBal29: number;

    // @Required()
    OpeningBal30: number;

    // @Required()
    OpeningBal31: number;

    // @Required()
    OpeningBal32: number;

    // @Required()
    OpeningBal33: number;

    // @Required()
    OpeningBal34: number;

    // @Required()
    OpeningBal35: number;

    // @Required()
    OpeningBal36: number;

    // @Required()
    OpeningBal37: number;

    // @Required()
    OpeningBal38: number;

    // @Required()
    OpeningBal39: number;

    // @Required()
    OpeningBal40: number;

    // @Required()
    OpeningBal41: number;

    // @Required()
    OpeningBal42: number;

    // @Required()
    OpeningBal43: number;

    // @Required()
    OpeningBal44: number;

    // @Required()
    OpeningBal45: number;

    // @Required()
    OpeningBal46: number;

    // @Required()
    OpeningBal47: number;

    // @Required()
    OpeningBal48: number;

    // @Required()
    OpeningBal49: number;

    // @Required()
    OpeningBal50: number;

    // @Required()
    OpeningBal51: number;

    // @Required()
    OpeningBal52: number;

    // @Required()
    OpeningBal53: number;

    PeriodType: number;
    TermsDays: number;
    TermsType: number;
    ABN: string;
    // @Required()
    ExcludeFromAging: boolean;

    BPayReference: string;
}

export class DB_Notes
{
    // @Required()
    RecID: string;

    // @Required()
    DebtorID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class DB_PricingGroups
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    Description: string;

    DefaultPriceGroup: boolean;
}

export class DB_Trans
{
    // @Required()
    TransID: string;

    // @References(typeof(DB_Main))
    DebtorID: string;

    // @Required()
    DebitCredit: boolean;

    // @References(typeof(SY_Forms))
    Source: string;

    Ref: string;
    Remark: string;
    TranDate: string;
    InvRemitNo: string;
    Amount: number;
    DiscountedAmount: number;
    // @Required()
    AgedOut: boolean;

    SourceID: string;
    AllocatedAmount: number;
    InitDateTime: string;
    LastSavedDateTime: string;
    SubType: number;
    BatchNo: string;
    // @References(typeof(DB_Main))
    ChildDebtorID: string;

    GSTAmount: number;
    DueDate: string;
    FXAmount: number;
    FXAllocAmount: number;
    CurrencyRateUsed: number;
    RealisedGainLoss: number;
    UnRealisedGainLoss: number;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    Cartage1Amount: number;
    Cartage1TaxAmount: number;
    Cartage2Amount: number;
    Cartage2TaxAmount: number;
    Cartage3Amount: number;
    Cartage3TaxAmount: number;
    FXDecimalPlaces: number;
    DecimalPlaces: number;
    Note: string;
}

export class DB_TransAlloc
{
    // @Required()
    AllocID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    // @References(typeof(DB_Trans))
    // @Required()
    DebitTransID: string;

    // @References(typeof(DB_Trans))
    // @Required()
    CreditTransID: string;

    FXAmount: number;
    DebitAmount: number;
    CreditAmount: number;
    DebitAged: boolean;
    CreditAged: boolean;
    // @Required()
    DateAlloc: string;

    Version: number;
}

export class DB_TransCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class DB_TransCustomFieldValues
{
    // @Required()
    RecID: string;

    // @References(typeof(DB_Trans))
    // @Required()
    DB_Trans_TransID: string;

    // @References(typeof(DB_TransCustomFields))
    // @Required()
    DB_TransCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class EM_Attachments
{
    // @Required()
    RecID: string;

    // @References(typeof(EM_Main))
    // @Required()
    EmailMessageID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class EM_Main
{
    // @Required()
    RecID: string;

    // @Required()
    EmailNo: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    DateCreated: string;

    DateSent: string;
    // @Required()
    StaffID: string;

    Reference: string;
    SourceID: string;
    SourceType: string;
    SourceDisplayNo: string;
    // @References(typeof(SY_Forms))
    SY_Forms_ClassName: string;

    EmailStatus: number;
    EmailFrom: string;
    EmailTo: string;
    EmailCC: string;
    EmailBCC: string;
    EmailSubject: string;
    EmailBody: string;
    RequestReadReceipt: boolean;
}

export class EM_TemplateAttachments
{
    // @Required()
    RecID: string;

    // @References(typeof(EM_Templates))
    // @Required()
    EM_Templates_RecID: string;

    SY_File_FileID: string;
}

export class EM_Templates
{
    // @Required()
    RecID: string;

    Name: string;
    EmailFrom: string;
    EmailTo: string;
    RequestReadReceipt: boolean;
    EmailCC: string;
    EmailBCC: string;
    EmailSubject: string;
    EmailBody: string;
    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    DefaultItem: boolean;
}

export class EX_ExportPending
{
    // @Required()
    ExportPendingID: string;

    ActionScript: string;
    ScriptErrorMessage: string;
    DateTimeAdded: string;
    Status: string;
}

export class EX_ExportQueue
{
    // @Required()
    ExportQueueID: string;

    ExportData: string;
    // @Required()
    Status: number;

    // @Required()
    AddedToQueueDateTime: string;

    // @Required()
    AddedToQueueByStaffID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    ExportErrorMessage: string;
    // @Required()
    ExportBatchID: string;

    // @Required()
    BatchNo: string;

    // @Required()
    ItemNo: string;
}

export class FR_CarrierFreightDescriptions
{
    // @Required()
    RecID: string;

    // @References(typeof(FR_Carriers))
    // @Required()
    FR_Carriers_RecID: string;

    // @Required()
    FreightDescription: string;

    DefaultItem: boolean;
    // @Required()
    LastSavedDateTime: string;

    FreightDescriptionEnabled: boolean;
}

export class FR_Carriers
{
    // @Required()
    RecID: string;

    // @Required()
    CarrierName: string;

    CarrierEnabled: boolean;
    // @Required()
    LastSavedDateTime: string;

    Notes: string;
    AccountNo: string;
}

export class FR_CarrierServices
{
    // @Required()
    RecID: string;

    // @References(typeof(FR_Carriers))
    // @Required()
    FR_Carriers_RecID: string;

    // @Required()
    ServiceName: string;

    DefaultItem: boolean;
    // @Required()
    LastSavedDateTime: string;

    ServiceEnabled: boolean;
}

export class FX_Currency
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    Name: string;
    ShortName: string;
    DecimalPlaces: number;
    // @Required()
    IsLocal: boolean;

    // @Required()
    IsEnabled: boolean;
}

export class FX_CurrencyRates
{
    // @Required()
    RecID: string;

    // @References(typeof(FX_Currency))
    FX_Main_RecID: string;

    // @Required()
    DateEntered: string;

    // @Required()
    EffectiveDate: string;

    // @Required()
    EffectiveDateEnd: string;

    TransactionRate: number;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class GL_AutoJournalLines
{
    // @Required()
    RecID: string;

    // @References(typeof(GL_AutoJournals))
    // @Required()
    GL_AutoJournals_RecID: string;

    // @References(typeof(GL_Sets))
    GL_Sets_RecID_Source: string;

    GL_Sets_SourceDescription: string;
    // @Required()
    PostingDue: string;

    Reason: string;
    // @References(typeof(GL_Sets))
    // @Required()
    GL_Sets_RecID_Destination: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class GL_AutoJournals
{
    // @Required()
    RecID: string;

    LastSavedDateTime: string;
    RunDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedBy_HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class GL_BankDetails
{
    // @Required()
    RecID: string;

    // @Required()
    GLLedgerID: string;

    NextChequeNumber: string;
    BankName: string;
    BSBN: string;
    AccountNumber: string;
    AccountName: string;
    DefaultBank: boolean;
    // @Required()
    LastSavedDateTime: string;

    FeesLedgerID: string;
    EFTBankCode: string;
    UserIdentificationNumber: string;
}

export class GL_Budget1
{
    // @Required()
    GLBudgetID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GLLedgerID: string;

    LastYearBudget1: number;
    LastYearBudget2: number;
    LastYearBudget3: number;
    LastYearBudget4: number;
    LastYearBudget5: number;
    LastYearBudget6: number;
    LastYearBudget7: number;
    LastYearBudget8: number;
    LastYearBudget9: number;
    LastYearBudget10: number;
    LastYearBudget11: number;
    LastYearBudget12: number;
    CurrYearBudget1: number;
    CurrYearBudget2: number;
    CurrYearBudget3: number;
    CurrYearBudget4: number;
    CurrYearBudget5: number;
    CurrYearBudget6: number;
    CurrYearBudget7: number;
    CurrYearBudget8: number;
    CurrYearBudget9: number;
    CurrYearBudget10: number;
    CurrYearBudget11: number;
    CurrYearBudget12: number;
    NextYearBudget1: number;
    NextYearBudget2: number;
    NextYearBudget3: number;
    NextYearBudget4: number;
    NextYearBudget5: number;
    NextYearBudget6: number;
    NextYearBudget7: number;
    NextYearBudget8: number;
    NextYearBudget9: number;
    NextYearBudget10: number;
    NextYearBudget11: number;
    NextYearBudget12: number;
}

export class GL_Budget2
{
    // @Required()
    GLBudgetID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GLLedgerID: string;

    LastYearBudget1: number;
    LastYearBudget2: number;
    LastYearBudget3: number;
    LastYearBudget4: number;
    LastYearBudget5: number;
    LastYearBudget6: number;
    LastYearBudget7: number;
    LastYearBudget8: number;
    LastYearBudget9: number;
    LastYearBudget10: number;
    LastYearBudget11: number;
    LastYearBudget12: number;
    CurrYearBudget1: number;
    CurrYearBudget2: number;
    CurrYearBudget3: number;
    CurrYearBudget4: number;
    CurrYearBudget5: number;
    CurrYearBudget6: number;
    CurrYearBudget7: number;
    CurrYearBudget8: number;
    CurrYearBudget9: number;
    CurrYearBudget10: number;
    CurrYearBudget11: number;
    CurrYearBudget12: number;
    NextYearBudget1: number;
    NextYearBudget2: number;
    NextYearBudget3: number;
    NextYearBudget4: number;
    NextYearBudget5: number;
    NextYearBudget6: number;
    NextYearBudget7: number;
    NextYearBudget8: number;
    NextYearBudget9: number;
    NextYearBudget10: number;
    NextYearBudget11: number;
    NextYearBudget12: number;
}

export class GL_Budget3
{
    // @Required()
    GLBudgetID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GLLedgerID: string;

    LastYearBudget1: number;
    LastYearBudget2: number;
    LastYearBudget3: number;
    LastYearBudget4: number;
    LastYearBudget5: number;
    LastYearBudget6: number;
    LastYearBudget7: number;
    LastYearBudget8: number;
    LastYearBudget9: number;
    LastYearBudget10: number;
    LastYearBudget11: number;
    LastYearBudget12: number;
    CurrYearBudget1: number;
    CurrYearBudget2: number;
    CurrYearBudget3: number;
    CurrYearBudget4: number;
    CurrYearBudget5: number;
    CurrYearBudget6: number;
    CurrYearBudget7: number;
    CurrYearBudget8: number;
    CurrYearBudget9: number;
    CurrYearBudget10: number;
    CurrYearBudget11: number;
    CurrYearBudget12: number;
    NextYearBudget1: number;
    NextYearBudget2: number;
    NextYearBudget3: number;
    NextYearBudget4: number;
    NextYearBudget5: number;
    NextYearBudget6: number;
    NextYearBudget7: number;
    NextYearBudget8: number;
    NextYearBudget9: number;
    NextYearBudget10: number;
    NextYearBudget11: number;
    NextYearBudget12: number;
}

export class GL_Category
{
    // @Required()
    GLCategoryID: string;

    LastSavedDateTime: string;
    Description: string;
    ExpSign: number;
    AccType: number;
    Group1: string;
    Group2: string;
    Group2DisplayOrder: number;
    Group1DisplayOrder: number;
}

export class GL_Config
{
    // @Required()
    GLSetUpID: string;

    LastSavedDateTime: string;
    // @Required()
    YearNo: number;

    YearStartingDate: string;
    RetainedEarningsNo: string;
    PeriodName1: string;
    // @Required()
    PeriodStart1: string;

    PeriodLocked1: number;
    PeriodRolled1: boolean;
    PeriodName2: string;
    // @Required()
    PeriodStart2: string;

    PeriodLocked2: number;
    PeriodRolled2: boolean;
    PeriodName3: string;
    // @Required()
    PeriodStart3: string;

    PeriodLocked3: number;
    PeriodRolled3: boolean;
    PeriodName4: string;
    // @Required()
    PeriodStart4: string;

    PeriodLocked4: number;
    PeriodRolled4: boolean;
    PeriodName5: string;
    // @Required()
    PeriodStart5: string;

    PeriodLocked5: number;
    PeriodRolled5: boolean;
    PeriodName6: string;
    // @Required()
    PeriodStart6: string;

    PeriodLocked6: number;
    PeriodRolled6: boolean;
    PeriodName7: string;
    // @Required()
    PeriodStart7: string;

    PeriodLocked7: number;
    PeriodRolled7: boolean;
    PeriodName8: string;
    // @Required()
    PeriodStart8: string;

    PeriodLocked8: number;
    PeriodRolled8: boolean;
    PeriodName9: string;
    // @Required()
    PeriodStart9: string;

    PeriodLocked9: number;
    PeriodRolled9: boolean;
    PeriodName10: string;
    // @Required()
    PeriodStart10: string;

    PeriodLocked10: number;
    PeriodRolled10: boolean;
    PeriodName11: string;
    // @Required()
    PeriodStart11: string;

    PeriodLocked11: number;
    PeriodRolled11: boolean;
    PeriodName12: string;
    // @Required()
    PeriodStart12: string;

    PeriodLocked12: number;
    PeriodRolled12: boolean;
    // @Required()
    YearRolled: boolean;
}

export class GL_Distribution
{
    // @Required()
    GLDistID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GLLedgerID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GLDistLedgerID: string;

    DistAmount: number;
    LineNum: number;
}

export class GL_Documents
{
    // @Required()
    RecID: string;

    // @References(typeof(GL_Sets))
    // @Required()
    GL_Sets_RecID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class GL_Duplicates
{
    // @Required()
    SetNo: string;

    PostDateTime: string;
    Source: string;
    // @Required()
    SourceID: string;

    // @Required()
    SetType: number;

    Description: string;
}

export class GL_Ledger
{
    // @Required()
    GLLedgerID: string;

    LastSavedDateTime: string;
    // @References(typeof(GL_Category))
    // @Required()
    GLCategoryID: string;

    // @Required()
    AccountNo: string;

    Seg1: string;
    Seg2: string;
    Seg3: string;
    Seg4: string;
    Seg5: string;
    Seg6: string;
    Description: string;
    LastYearOpen: number;
    CurrYearOpen: number;
    CurrBal: number;
    ExpSign: number;
    // @Required()
    AccClass: number;

    DistributionAcc: boolean;
    // @Required()
    ShortCut: string;

    // @Required()
    PostingAcc: number;

    ParentAccNo: string;
    UseTransCode1: boolean;
    UseTransCode2: boolean;
    UseTransCode3: boolean;
    UseStaffCode: boolean;
    ClearingAccountID: string;
    Details: string;
    IsEnabled: boolean;
}

export class GL_Movement
{
    // @Required()
    GLMovementID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GLLedgerID: string;

    LastYearMovement1: number;
    LastYearMovement2: number;
    LastYearMovement3: number;
    LastYearMovement4: number;
    LastYearMovement5: number;
    LastYearMovement6: number;
    LastYearMovement7: number;
    LastYearMovement8: number;
    LastYearMovement9: number;
    LastYearMovement10: number;
    LastYearMovement11: number;
    LastYearMovement12: number;
    CurrYearMovement1: number;
    CurrYearMovement2: number;
    CurrYearMovement3: number;
    CurrYearMovement4: number;
    CurrYearMovement5: number;
    CurrYearMovement6: number;
    CurrYearMovement7: number;
    CurrYearMovement8: number;
    CurrYearMovement9: number;
    CurrYearMovement10: number;
    CurrYearMovement11: number;
    CurrYearMovement12: number;
    NextYearMovement1: number;
    NextYearMovement2: number;
    NextYearMovement3: number;
    NextYearMovement4: number;
    NextYearMovement5: number;
    NextYearMovement6: number;
    NextYearMovement7: number;
    NextYearMovement8: number;
    NextYearMovement9: number;
    NextYearMovement10: number;
    NextYearMovement11: number;
    NextYearMovement12: number;
}

export class GL_Notes
{
    // @Required()
    RecID: string;

    // @References(typeof(GL_Sets))
    // @Required()
    GL_Sets_RecID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class GL_SegmentConfiguration
{
    // @Required()
    RecID: string;

    SegmentNo: number;
    Name: string;
    SegmentLength: number;
    SegmentType: number;
    // @Required()
    RowHash: Uint8Array;
}

export class GL_Segments
{
    // @Required()
    GLSegmentID: string;

    LastSavedDateTime: string;
    // @Required()
    SegmentNo: number;

    SegContents: string;
    SegContentsDesc: string;
}

export class GL_Sets
{
    // @Required()
    GLSetID: string;

    LastSavedDateTime: string;
    // @Required()
    SetNo: string;

    PostDateTime: string;
    // @Required()
    PostedToPeriodNo: number;

    Description: string;
    Source: string;
    // @Required()
    SourceID: string;

    // @References(typeof(HR_Staff))
    UserName: string;

    // @Required()
    SetType: number;

    // @Required()
    RepeatingType: number;

    // @Required()
    RepeatingUnits: number;

    NextRepeatingDate: string;
    RepeatingWillEnd: boolean;
    RepeatingEndDate: string;
    // @Required()
    ReverseType: number;

    ReversePeriod: number;
    ReverseDate: string;
    Reversed: boolean;
    YearNo: number;
}

export class GL_TranAllocs
{
    // @Required()
    GLTranAllocsID: string;

    // @Required()
    GLDebitTransID: string;

    // @Required()
    GLCreditTransID: string;

    Amount: number;
}

export class GL_TranCodes
{
    // @Required()
    GLTransCodeID: string;

    // @Required()
    LastSavedDateTime: string;

    Description: string;
    // @Required()
    TransNo: number;
}

export class GL_TransactionCode1
{
    // @Required()
    RecID: string;

    Name: string;
    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_CreatedBy: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_LastSavedBy: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class GL_TransactionCode2
{
    // @Required()
    RecID: string;

    Name: string;
    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_CreatedBy: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_LastSavedBy: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class GL_TransactionCode3
{
    // @Required()
    RecID: string;

    Name: string;
    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_CreatedBy: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_LastSavedBy: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class GL_Transactions
{
    // @Required()
    GLTransactionID: string;

    // @References(typeof(GL_Sets))
    // @Required()
    GLSetID: string;

    // @References(typeof(GL_Ledger))
    // @Required()
    GLLedgerID: string;

    DebitCredit: boolean;
    Amount: number;
    Ref: string;
    Remark: string;
    // @Required()
    LineNum: number;

    // @Required()
    TransCode1ID: string;

    // @Required()
    TransCode2ID: string;

    // @Required()
    TransCode3ID: string;

    // @References(typeof(HR_Staff))
    StaffID: string;

    Reconciled: boolean;
    Cleared: boolean;
    TransPostDateTime: string;
    JB_JobStages_RecID: string;
}

export class HR_APIKey
{
    // @Required()
    RecID: string;

    Name: string;
    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    CreatedDateTime: string;

    ExpiryDateTime: string;
    CancelledDateTime: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    KeyValue: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class HR_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class HR_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(HR_CustomSetting))
    SettingID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    StaffID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class HR_DepartmentCategories
{
    // @Required()
    RecID: string;

    // @References(typeof(HR_Departments))
    // @Required()
    HR_Departments_RecID: string;

    // @Required()
    Name: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;
}

export class HR_Departments
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @References(typeof(HR_Staff))
    // @Required()
    Manager_HR_Staff_RecID: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    IsDefault: boolean;
}

export class HR_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    StaffID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class HR_Notes
{
    // @Required()
    RecID: string;

    // @Required()
    StaffID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class HR_SkillRatings
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    ItemNo: number;

    IsEnabled: boolean;
    // @Required()
    RowHash: Uint8Array;

    IsDefault: boolean;
}

export class HR_Skills
{
    // @Required()
    RecID: string;

    Name: string;
    Description: string;
    ExamRequired: boolean;
    // @References(typeof(HR_Departments))
    // @Required()
    HR_Departments_RecID: string;

    IsEnabled: boolean;
    ItemNo: number;
    // @Required()
    RowHash: Uint8Array;
}

export class HR_Staff
{
    // @Required()
    StaffID: string;

    LastSavedDateTime: string;
    Title: string;
    FName: string;
    SName: string;
    Position1: string;
    Position2: string;
    Password: string;
    IsActive: boolean;
    EmailAddress: string;
    EmailDisplayName: string;
    SMTPUsername: string;
    SMTPPassword: string;
    // @Required()
    Username: string;

    MustChangePasswordNextLogin: boolean;
    PasswordLastChangedDateTime: string;
    SQLLogin: string;
    SQLPassword: string;
    ReportSQLLogin: string;
    ReportSQLPassword: string;
    Picture: Uint8Array;
    // @References(typeof(HR_Departments))
    HR_Departments_RecID: string;

    Extension: string;
    Mobile: string;
    UsePrepaidLabourPacks: boolean;
    // @Required()
    AuthenticationModes: number;

    WindowsDomainAccount: string;
    SMTPPasswordLastChangedDateTime: string;
    // @References(typeof(SY_Menu))
    SY_Menu_RecID: string;

    // @References(typeof(SY_PrintGroup))
    // @Required()
    SY_PrintGroup_RecID: string;

    // @Required()
    SQLLoginLastSavedDateTime: string;

    // @Required()
    ReportsLoginLastSavedDateTime: string;

    // @Required()
    IsEnabled: boolean;
}

export class HR_StaffSkills
{
    // @Required()
    RecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @References(typeof(HR_Skills))
    // @Required()
    HR_Skills_RecID: string;

    // @References(typeof(HR_SkillRatings))
    // @Required()
    HR_SkillRatings_RecID: string;

    // @Required()
    QualificationDate: string;

    Notes: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class HR_StaffUserSettings
{
    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    PreviewJournal: boolean;

    // @References(typeof(IN_Logical))
    LastLogicalWarehouse_RecID: string;

    // @Required()
    StockTakeOrder: number;

    // @Required()
    EnforceMinGP: number;

    // @Required()
    SearchAutoStart: number;

    // @Required()
    SearchReplaceText: boolean;

    // @Required()
    SearchFontName: string;

    // @Required()
    SearchFontSize: number;

    // @Required()
    CreditorsPrintToScreen: boolean;

    // @Required()
    IgnoreBackOrderAllocations: boolean;

    // @Required()
    InvoicingPrintToScreen: boolean;

    // @Required()
    AllowModificationOfPrintedUnprocessedInvoices: boolean;

    // @Required()
    IncrementInvoiceNumbers: string;

    // @Required()
    ParticipateInCustomerExperienceImprovementProgram: boolean;
}

export class HR_StartupItems
{
    // @Required()
    RecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_RecID: string;

    // @References(typeof(SY_Forms))
    // @Required()
    SY_Forms_ClassName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class IM_CSV_Staging
{
    // @Required()
    RecID: string;

    // @Required()
    BatchID: string;

    // @Required()
    LineNumber: number;

    Reference: string;
    // @Required()
    DateCreated: string;

    // @Required()
    ImportStatus: string;

    ImportMessage: string;
    Column1: string;
    Column2: string;
    Column3: string;
    Column4: string;
    Column5: string;
    Column6: string;
    Column7: string;
    Column8: string;
    Column9: string;
    Column10: string;
    Column11: string;
    Column12: string;
    Column13: string;
    Column14: string;
    Column15: string;
    Column16: string;
    Column17: string;
    Column18: string;
    Column19: string;
    Column20: string;
    Column21: string;
    Column22: string;
    Column23: string;
    Column24: string;
    Column25: string;
    Column26: string;
    Column27: string;
    Column28: string;
    Column29: string;
    Column30: string;
    Column31: string;
    Column32: string;
    Column33: string;
    Column34: string;
    Column35: string;
    Column36: string;
    Column37: string;
    Column38: string;
    Column39: string;
    Column40: string;
    Column41: string;
    Column42: string;
    Column43: string;
    Column44: string;
    Column45: string;
    Column46: string;
    Column47: string;
    Column48: string;
    Column49: string;
    Column50: string;
}

export class IM_ImportQueue
{
    // @Required()
    ImportQueueID: string;

    OriginalXML: string;
    TransformedXML: string;
    // @Required()
    Status: number;

    // @Required()
    AddedToQueueDateTime: string;

    // @Required()
    AddedToQueueByStaffID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    ImportErrorMessage: string;
    // @Required()
    ImportBatchID: string;

    // @Required()
    BatchNo: string;

    ItemNo: number;
    ImportSuccessMessage: string;
}

export class IN_Alternate
{
    // @Required()
    LinkID: string;

    InventoryID: string;
    LinkedInventoryID: string;
    Notes: string;
}

export class IN_Assembly
{
    // @Required()
    INAssemblyID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    InventoryID: string;

    // @Required()
    AssemblyNo: string;

    // @Required()
    AssemblyInitDate: string;

    // @Required()
    AssemblyLastDate: string;

    // @Required()
    QtyRequired: number;

    // @Required()
    AssemblyType: number;

    // @Required()
    Status: number;

    // @Required()
    CurrentHistoryNo: number;

    // @Required()
    IN_LogicalID: string;

    PartNo: string;
    Description: string;
    // @Required()
    AssemblyTotal: number;

    // @Required()
    UpdateSell: boolean;

    // @Required()
    SellPriceMode: number;

    // @Required()
    SellPriceAmount: number;

    // @Required()
    NewPrice: number;

    // @Required()
    CalcSell: number;
}

export class IN_AssemblyHistory
{
    // @Required()
    INAssemblyHistoryID: string;

    // @Required()
    INAssemblyID: string;

    // @Required()
    HistoryNo: number;

    RecordDate: string;
    // @Required()
    QtyAssembled: number;

    // @Required()
    QtyBackOrd: number;

    HistoryText: string;
    // @Required()
    HistoryTotal: number;

    StartSerialNo: string;
    // @Required()
    AutoIncrement: boolean;

    ExpiryDays: number;
}

export class IN_AssemblyLineDetails
{
    // @Required()
    INAssemblyLineDetailsID: string;

    // @Required()
    INAssemblyHistoryID: string;

    // @Required()
    INAssemblyLineID: string;

    // @Required()
    SOHID: string;

    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    // @Required()
    TaxPaid: number;

    SerialNo: string;
}

export class IN_AssemblyLines
{
    // @Required()
    INAssemblyLineID: string;

    // @Required()
    INAssemblyHistoryID: string;

    LineNum: number;
    // @Required()
    ComponentID: string;

    PartNo: string;
    Description: string;
    // @Required()
    DecimalPlaces: number;

    // @Required()
    CostPrice: number;

    // @Required()
    QtyNeeded: number;

    // @Required()
    QtyRequired: number;

    // @Required()
    QtyAvailable: number;

    // @Required()
    QtyOutstanding: number;

    // @Required()
    ThisAssemble: number;

    // @Required()
    PrevAssemble: number;
}

export class IN_AttributeGroup
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_AttributeGroupTemplate))
    // @Required()
    IN_AttributeGroupTemplate_RecID: string;

    // @References(typeof(IN_Main))
    // @Required()
    IN_Main_InventoryID: string;

    // @Required()
    LastSavedDateTime: string;

    Description: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class IN_AttributeGroupAttributeValue
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_AttributeGroupTemplateAttribute))
    // @Required()
    IN_AttributeGroupTemplateAttribute_RecID: string;

    // @References(typeof(IN_AttributeGroup))
    // @Required()
    IN_AttributeGroup_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    Contents: string;
    // @Required()
    RowHash: Uint8Array;
}

export class IN_AttributeGroupTemplate
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @Required()
    IsEnabled: boolean;

    Code: string;
    // @Required()
    RowHash: Uint8Array;

    LastSavedDateTime: string;
}

export class IN_AttributeGroupTemplateAttribute
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_AttributeGroupTemplate))
    // @Required()
    IN_AttributeGroupTemplate_RecID: string;

    // @Required()
    Name: string;

    // @Required()
    AttributeType: number;

    ComboText: string;
    DefaultValue: string;
    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    LastSavedDateTime: string;
}

export class IN_AttributeGroupTemplateDefaultReference
{
    // @Required()
    RecID: string;

    // @Required()
    AssemblyFullName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class IN_AttributeGroupTemplateReference
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_AttributeGroupTemplate))
    // @Required()
    IN_AttributeGroupTemplate_RecID: string;

    // @Required()
    AssemblyFullName: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class IN_BackOrderAlloc
{
    // @Required()
    AllocID: string;

    LastSavedDateTime: string;
    AllocNo: string;
    AllocDate: string;
    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;

    // @Required()
    Description: string;

    // @Required()
    AllocFrom: string;

    // @Required()
    Ref: string;

    Decimals: number;
    // @Required()
    IN_LogicalID: string;
}

export class IN_BackOrderAllocLines
{
    // @Required()
    AllocLineID: string;

    // @Required()
    AllocID: string;

    AllocDate: string;
    // @Required()
    InvoiceNo: string;

    // @Required()
    OrderNo: string;

    // @Required()
    DebtorID: string;

    Quantity: number;
    Price: number;
    EstBOValue: number;
    Priority: string;
    // @Required()
    BackOrderMode: number;

    // @Required()
    SourceType: number;

    PriorityWeight: number;
}

export class IN_BinLocation
{
    // @Required()
    IN_BinLocationID: string;

    // @References(typeof(IN_Main))
    // @Required()
    IN_MainID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    LastSavedDateTime: string;
    // @References(typeof(IN_BinLocationLookup))
    // @Required()
    IN_BinLocationLookup_INBinLookupID: string;
}

export class IN_BinLocationCustomFields
{
    // @Required()
    FieldID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class IN_BinLocationCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_BinLocation))
    // @Required()
    IN_BinLocationID: string;

    // @References(typeof(IN_BinLocationCustomFields))
    // @Required()
    FieldID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class AR_History
{
    // @Required()
    RecID: string;

    // @References(typeof(AR_Main))
    // @Required()
    AR_Main_RecID: string;

    Status: number;
    // @Required()
    StartDateTime: string;

    // @Required()
    EndDateTime: string;

    Message: string;
    Report: string;
    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    ExecutionID: string;
}

export class AR_Main
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Enabled: number;
    Description: string;
    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NextScheduledRunDateTime: string;
}

export class AR_Provider
{
    // @Required()
    ProviderID: string;

    // @Required()
    ProviderName: string;

    // @Required()
    StoredProcedureName: string;

    ProviderDescription: string;
    // @Required()
    LastSavedDateTime: string;
}

export class AR_ProviderFilters
{
    // @References(typeof(AR_ProviderHeaders))
    // @Required()
    HeaderID: string;

    // @Required()
    FilterID: string;

    // @Required()
    Description: string;

    FilterScript: string;
    // @Required()
    LastSavedDateTime: string;
}

export class AR_ProviderHeaders
{
    // @References(typeof(AR_Provider))
    // @Required()
    ProviderID: string;

    // @Required()
    HeaderID: string;

    // @Required()
    HeaderName: string;

    // @Required()
    DataType: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    OrdinalPosition: number;
}

export class AR_Schedules
{
    // @Required()
    RecID: string;

    // @References(typeof(AR_Main))
    // @Required()
    AR_Main_RecID: string;

    // @Required()
    Name: string;

    Enabled: number;
    // @Required()
    FrequencyType: number;

    // @Required()
    FrequencyInterval: number;

    // @Required()
    FrequencySubdayType: number;

    // @Required()
    FrequencySubdayInterval: number;

    // @Required()
    FrequencyRelativeInterval: number;

    // @Required()
    FrequencyRecurrenceFactor: number;

    // @Required()
    StartDateTime: string;

    // @Required()
    EndDateTime: string;

    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;
}

export class AR_TaskFilters
{
    // @Required()
    RecID: string;

    // @References(typeof(AR_Tasks))
    // @Required()
    AR_Tasks_RecID: string;

    // @References(typeof(AR_ProviderHeaders))
    // @Required()
    AR_ProviderHeaders_HeaderID: string;

    // @References(typeof(AR_ProviderFilters))
    // @Required()
    AR_ProviderFilters_FilterID: string;

    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;
}

export class AR_TaskHistory
{
    // @Required()
    RecID: string;

    // @References(typeof(AR_Tasks))
    // @Required()
    AR_Tasks_RecID: string;

    Status: number;
    // @Required()
    StartDateTime: string;

    // @Required()
    EndDateTime: string;

    Message: string;
    Report: string;
    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    ExecutionID: string;
}

export class AR_Tasks
{
    // @Required()
    RecID: string;

    // @References(typeof(AR_Main))
    // @Required()
    AR_Main_RecID: string;

    // @Required()
    TaskNo: number;

    // @Required()
    Name: string;

    // @References(typeof(AR_Provider))
    // @Required()
    AR_Provider_ProviderID: string;

    Enabled: number;
    Description: string;
    // @Required()
    CreatedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;
}

export class BM_BatchProduction
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @Required()
    BatchDate: string;

    // @Required()
    Description: string;

    // @References(typeof(BM_Main))
    // @Required()
    BM_Main_RecID: string;

    // @Required()
    Quantity: number;

    // @Required()
    QuantityPerWorkOrder: number;

    // @Required()
    IsActivated: boolean;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_BatchProductionCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class BM_BatchProductionCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_BatchProduction))
    // @Required()
    BM_BatchProduction_RecID: string;

    // @References(typeof(BM_BatchProductionCustomFields))
    // @Required()
    BM_BatchProductionCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class BM_BatchProductionDocuments
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_BatchProduction))
    // @Required()
    BM_BatchProduction_RecID: string;

    // @References(typeof(SY_DocumentTypes))
    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class BM_BatchProductionNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_BatchProduction))
    // @Required()
    BM_BatchProduction_RecID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class BM_BatchProductionWorkOrder
{
    // @Required()
    RecID: string;

    // @Required()
    ProductionQuantity: number;

    // @Required()
    PlannedStartDate: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(BM_BatchProduction))
    // @Required()
    BM_BatchProduction_RecID: string;

    // @References(typeof(BM_WorkOrder))
    BM_WorkOrder_RecID: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class BM_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(BM_CustomSetting))
    SettingID: string;

    // @References(typeof(BM_Main))
    // @Required()
    BM_Main_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_Documents
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Main))
    // @Required()
    BM_Main_RecID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class BM_InputCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class BM_InputCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Inputs))
    // @Required()
    BM_Inputs_RecID: string;

    // @References(typeof(BM_InputCustomFields))
    // @Required()
    BM_InputCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_Inputs
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Stages))
    // @Required()
    BM_Stages_RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    IsRatio: boolean;

    // @Required()
    Quantity: number;

    Note: string;
    // @References(typeof(BM_Main))
    SubAssembly: string;

    // @Required()
    SubAssemblyExplodePolicy: number;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_InstructionCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class BM_InstructionCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Instructions))
    // @Required()
    BM_Instructions_RecID: string;

    // @References(typeof(BM_InstructionCustomFields))
    // @Required()
    BM_InstructionCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_Instructions
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Stages))
    // @Required()
    BM_Stages_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    InstructionText: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_Main
{
    // @Required()
    RecID: string;

    // @Required()
    BillNo: string;

    // @Required()
    Description: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(BM_ProductionLine))
    BM_ProductionLine_RecID: string;
}

export class BM_Notes
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Main))
    // @Required()
    BM_Main_RecID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class BM_OutputCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class BM_OutputCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Outputs))
    // @Required()
    BM_Outputs_RecID: string;

    // @References(typeof(BM_OutputCustomFields))
    // @Required()
    BM_OutputCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_Outputs
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Main))
    // @Required()
    BM_Main_RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    IsRatio: boolean;

    // @Required()
    IsPrimary: boolean;

    // @Required()
    Quantity: number;

    Note: string;
    // @Required()
    CostPercentage: number;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_ProductionArea
{
    // @Required()
    RecID: string;

    // @Required()
    ProductionAreaNo: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsEnabled: boolean;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_ProductionLine
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_ProductionArea))
    // @Required()
    BM_ProductionArea_RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_ProductionLineWorkCentre
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_ProductionLine))
    // @Required()
    BM_ProductionLine_RecID: string;

    // @References(typeof(BM_WorkCentre))
    // @Required()
    BM_WorkCentre_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_Shift
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_LogicalID: string;

    // @Required()
    Name: string;

    // @Required()
    Description: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    IsDefault: boolean;
}

export class BM_ShiftWeekday
{
    // @Required()
    RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(BM_Shift))
    // @Required()
    BM_Shift_RecID: string;

    // @Required()
    Name: string;

    // @Required()
    IsWorkDay: boolean;

    StartDateTime: string;
    EndDateTime: string;
    // @Required()
    RowHash: Uint8Array;
}

export class BM_StageCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class BM_StageCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Stages))
    // @Required()
    BM_Stages_RecID: string;

    // @References(typeof(BM_StageCustomFields))
    // @Required()
    BM_StageCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_Stages
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_Main))
    // @Required()
    BM_Main_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    Name: string;

    // @References(typeof(BM_ProductionLineWorkCentre))
    BM_ProductionLineWorkCentre_RecID: string;

    RequiredCapacity: number;
    // @Required()
    RowHash: Uint8Array;
}

export class BM_WarehouseProductionArea
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_ProductionArea))
    // @Required()
    BM_ProductionArea_RecID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_Logical_IN_LogicalID: string;

    // @Required()
    ProductionAreaNo: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_WarehouseProductionLine
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WarehouseProductionArea))
    // @Required()
    BM_WarehouseProductionArea_RecID: string;

    // @References(typeof(BM_ProductionLine))
    // @Required()
    BM_ProductionLine_RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_WarehouseProductionLineWorkCentre
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WarehouseProductionLine))
    // @Required()
    BM_WarehouseProductionLine_RecID: string;

    // @References(typeof(BM_WarehouseWorkCentre))
    // @Required()
    BM_WarehouseWorkCentre_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_WarehouseWorkCentre
{
    // @Required()
    RecID: string;

    // @References(typeof(IN_Logical))
    // @Required()
    IN_Logical_IN_LogicalID: string;

    // @References(typeof(BM_WorkCentre))
    // @Required()
    BM_WorkCentre_RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsEnabled: boolean;

    // @References(typeof(HR_Skills))
    HR_skills_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_WarehouseWorkCentreShiftWeekdayCapacity
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WarehouseWorkCentre))
    // @Required()
    BM_WarehouseWorkCentre_RecID: string;

    // @Required()
    BM_Shift_RecID: string;

    // @References(typeof(BM_ShiftWeekday))
    // @Required()
    BM_ShiftWeekday_RecID: string;

    Capacity: number;
    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_WorkCentre
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    Description: string;
    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(HR_Skills))
    HR_skills_RecID: string;
}

export class BM_WorkOrder
{
    // @Required()
    RecID: string;

    // @Required()
    WorkOrderNo: string;

    Reference: string;
    // @References(typeof(BM_Main))
    BM_Main_RecID: string;

    // @Required()
    IN_LogicalID: string;

    // @Required()
    DateCreated: string;

    // @Required()
    DateRequired: string;

    // @Required()
    PlannedStartDate: string;

    // @Required()
    ActualStartDate: string;

    // @Required()
    DateCompleted: string;

    // @Required()
    ProductionQuantity: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(BM_WarehouseProductionLine))
    BM_WarehouseProductionLine_RecID: string;

    // @Required()
    Status: number;

    // @References(typeof(BM_WorkOrder))
    Parent_BM_WorkOrder_RecID: string;

    // @References(typeof(BM_WorkOrderInputs))
    Parent_BM_WorkOrderInputs_RecID: string;

    // @Required()
    WorkOrderType: number;

    // @References(typeof(BM_WorkOrder))
    Reversal_BM_WorkOrder_RecID: string;

    Migrated: boolean;
    // @References(typeof(SO_Lines))
    SO_Lines_InvoiceLineID: string;
}

export class BM_WorkOrderCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class BM_WorkOrderCustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(BM_WorkOrderCustomSetting))
    SettingID: string;

    // @References(typeof(BM_WorkOrder))
    // @Required()
    BM_WorkOrder_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_WorkOrderDocuments
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrder))
    // @Required()
    BM_WorkOrder_RecID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class BM_WorkOrderInputCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class BM_WorkOrderInputCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderInputs))
    // @Required()
    BM_WorkOrderInputs_RecID: string;

    // @References(typeof(BM_WorkOrderInputCustomFields))
    // @Required()
    BM_WorkOrderInputCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_WorkOrderInputDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderInputs))
    // @Required()
    Parent_RecID: string;

    // @References(typeof(IN_SOH))
    IN_SOH_LinkID: string;

    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    // @Required()
    SerialNo: string;

    ExpiryDate: string;
    // @Required()
    BinLocation: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class BM_WorkOrderInputs
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderStages))
    // @Required()
    BM_WorkOrderStages_RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    IsRatio: boolean;

    // @Required()
    Quantity: number;

    // @Required()
    QuantityOnBackOrder: number;

    Note: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @References(typeof(BM_Main))
    SubAssembly: string;

    // @Required()
    SubAssemblyExplodePolicy: number;
}

export class BM_WorkOrderInputWastageDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderInputs))
    // @Required()
    Parent_RecID: string;

    // @Required()
    IN_SOH_LinkID: string;

    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    // @Required()
    SerialNo: string;

    // @Required()
    ExpiryDate: string;

    // @Required()
    BinLocation: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class BM_WorkOrderInstructionCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class BM_WorkOrderInstructionCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderInstructions))
    // @Required()
    BM_WorkOrderInstructions_RecID: string;

    // @References(typeof(BM_WorkOrderInstructionCustomFields))
    // @Required()
    BM_WorkOrderInstructionCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_WorkOrderInstructions
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderStages))
    // @Required()
    BM_WorkOrderStages_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    InstructionText: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_WorkOrderLineDetailsAllocation
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrder))
    // @Required()
    BM_WorkOrder_RecID: string;

    // @References(typeof(BM_WorkOrderInputDetails))
    // @Required()
    BM_WorkOrderInputDetails_RecID: string;

    // @References(typeof(BM_WorkOrderOutputDetails))
    // @Required()
    BM_WorkOrderOutputDetails_RecID: string;

    // @Required()
    InputQuantity: number;

    // @Required()
    OutputQuantity: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_WorkOrderNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrder))
    // @Required()
    BM_WorkOrder_RecID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class BM_WorkOrderOutputCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class BM_WorkOrderOutputCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderOutputs))
    // @Required()
    BM_WorkOrderOutputs_RecID: string;

    // @References(typeof(BM_WorkOrderOutputCustomFields))
    // @Required()
    BM_WorkOrderOutputCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_WorkOrderOutputDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderOutputs))
    // @Required()
    Parent_RecID: string;

    // @References(typeof(IN_SOH))
    IN_SOH_LinkID: string;

    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    SerialNo: string;
    ExpiryDate: string;
    // @Required()
    BinLocation: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class BM_WorkOrderOutputs
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrder))
    // @Required()
    BM_WorkOrder_RecID: string;

    // @Required()
    ItemNo: number;

    // @References(typeof(IN_Main))
    // @Required()
    InventoryID: string;

    // @Required()
    IsRatio: boolean;

    // @Required()
    IsPrimary: boolean;

    // @Required()
    Quantity: number;

    // @Required()
    QuantityOutput: number;

    // @Required()
    QuantityWrittenoff: number;

    Note: string;
    // @Required()
    CostPercentage: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BM_WorkOrderOutputWastageDetails
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderOutputs))
    // @Required()
    Parent_RecID: string;

    IN_SOH_LinkID: string;
    // @Required()
    Cost: number;

    // @Required()
    SpecialPrice: number;

    // @Required()
    Quantity: number;

    SerialNo: string;
    ExpiryDate: string;
    BinLocation: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    ItemNo: number;
}

export class BM_WorkOrderStageCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class BM_WorkOrderStageCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrderStages))
    // @Required()
    BM_WorkOrderStages_RecID: string;

    // @References(typeof(BM_WorkOrderStageCustomFields))
    // @Required()
    BM_WorkOrderStageCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BM_WorkOrderStages
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrder))
    // @Required()
    BM_WorkOrder_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    Name: string;

    // @References(typeof(BM_WarehouseProductionLineWorkCentre))
    BM_WarehouseProductionLineWorkCentre_RecID: string;

    RequiredCapacity: number;
    // @Required()
    Status: number;

    // @Required()
    RowHash: Uint8Array;

    // @Required()
    StartDate: string;
}

export class BM_WorkOrderWastageLineDetailsAllocation
{
    // @Required()
    RecID: string;

    // @References(typeof(BM_WorkOrder))
    // @Required()
    BM_WorkOrder_RecID: string;

    // @References(typeof(BM_WorkOrderInputDetails))
    // @Required()
    BM_WorkOrderInputDetails_RecID: string;

    // @References(typeof(BM_WorkOrderOutputWastageDetails))
    // @Required()
    BM_WorkOrderOutputWastageDetails_RecID: string;

    // @Required()
    InputQuantity: number;

    // @Required()
    OutputQuantity: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class BO_ManualReleaseBatch
{
    // @Required()
    RecID: string;

    // @Required()
    BatchNo: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    // @Required()
    CreatedDateTime: string;

    // @Required()
    CreatedByStaffID: string;

    ActivatedDateTime: string;
    // @Required()
    ActivatedByStaffID: string;

    // @Required()
    IN_LogicalID: string;

    // @Required()
    Status: number;

    Notes: string;
    BORunNo: string;
}

export class BO_ManualReleaseBatchLines
{
    // @Required()
    RecID: string;

    // @References(typeof(BO_ManualReleaseBatch))
    // @Required()
    BatchID: string;

    // @Required()
    LineNumber: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    IN_OnBackOrder_OrdersOnBackID: string;

    // @Required()
    InventoryID: string;

    // @Required()
    PartNo: string;

    Description: string;
    // @Required()
    QuantityDecimalPlaces: number;

    // @Required()
    BackOrderQuantity: number;

    // @Required()
    BackOrderValue: number;

    // @Required()
    QuantityAvailable: number;

    // @Required()
    InvoiceInitDate: string;

    // @Required()
    ExpectedDeliveryDate: string;

    // @Required()
    BackOrderPriority: string;

    // @Required()
    BackOrderPriorityWeight: number;

    // @Required()
    DebtorID: string;

    // @Required()
    DebtorAccountNo: string;

    DebtorName: string;
    // @Required()
    InvoiceID: string;

    // @Required()
    InvoiceNo: string;

    // @Required()
    InvoiceHistoryID: string;

    // @Required()
    HistoryNo: number;

    InvoiceLineID: string;
    FulfillBackOrderFlag: boolean;
    // @Required()
    KitType: number;

    // @Required()
    BillType: number;

    // @Required()
    WholesaleInvoice: number;

    // @Required()
    OrderType: number;

    ErrorMessage: string;
    // @Required()
    QuantityLeft: number;
}

export class BO_ManualReleaseBatchReports
{
    // @Required()
    RecID: string;

    // @References(typeof(BO_ManualReleaseBatch))
    // @Required()
    BatchID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    DisplayOrder: number;

    // @Required()
    BillType: number;

    // @Required()
    TradingCategory: number;

    // @Required()
    BackOrderStatus: number;

    // @Required()
    ReportType: number;

    ReportDescription: string;
    NumberOfCopies: number;
    PrintFlag: boolean;
    // @References(typeof(SY_Report))
    // @Required()
    SY_Report_RecID: string;

    // @References(typeof(SY_PrintGroupLogicalPrinter))
    SY_PrintGroupLogicalPrinter_RecID: string;
}

export class BO_Priorities
{
    // @Required()
    RecID: string;

    // @Required()
    PriorityDescription: string;

    // @Required()
    PriorityWeight: number;

    DefaultPriority: boolean;
    LastSavedDateTime: string;
}

export class BR_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class BR_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(BR_CustomSetting))
    SettingID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class BR_DirectCreditorPaymentAllocations
{
    // @Required()
    DirectCreditorPaymentAllocationID: string;

    // @References(typeof(BR_DirectCreditorPayments))
    // @Required()
    DirectCreditorPaymentID: string;

    AmountAllocated: number;
    // @References(typeof(CR_Trans))
    TransID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    DiscountAmountAllocated: number;
}

export class BR_DirectCreditorPayments
{
    // @Required()
    DirectCreditorPaymentID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    CreatedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    LineNumber: number;
    TransactionDateTime: string;
    AmountIncGST: number;
    DebitCredit: number;
    Remark: string;
    Status: number;
    // @References(typeof(GL_Ledger))
    GLLedgerID: string;

    // @References(typeof(CR_Main))
    CreditorID: string;

    // @References(typeof(GL_Ledger))
    DiscountGLLedgerID: string;

    DiscountAmountIncGST: number;
    BankName: string;
    BankAccountNo: string;
    BSBN: string;
    BankAccountName: string;
    // @References(typeof(TX_Main))
    DiscountTaxID: string;

    DiscountTaxAmount: number;
    DiscountTaxRate: number;
    AmountReconciledIncGST: number;
    Reference: string;
    // @References(typeof(SO_PaymentTypes))
    // @Required()
    PaymentTypeID: string;

    RemitNo: string;
}

export class BR_DirectCreditorReceipts
{
    // @Required()
    DirectCreditorReceiptID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    CreatedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    LineNumber: number;
    TransactionDateTime: string;
    AmountIncGST: number;
    DebitCredit: number;
    Remark: string;
    Status: number;
    // @References(typeof(GL_Ledger))
    GLLedgerID: string;

    // @References(typeof(CR_Main))
    CreditorID: string;

    BankName: string;
    BankAccountNo: string;
    BSBN: string;
    BankAccountName: string;
    AmountReconciledIncGST: number;
    Reference: string;
    // @References(typeof(TX_Main))
    TaxID: string;

    TaxRate: number;
    TaxAmount: number;
    // @References(typeof(SO_PaymentTypes))
    // @Required()
    ReceiptTypeID: string;

    InvoiceNo: string;
}

export class BR_DirectDebtorPayments
{
    // @Required()
    DirectDebtorPaymentID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    CreatedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    LineNumber: number;
    TransactionDateTime: string;
    AmountIncGST: number;
    DebitCredit: number;
    Remark: string;
    Status: number;
    // @References(typeof(GL_Ledger))
    GLLedgerID: string;

    // @References(typeof(DB_Main))
    DebtorID: string;

    // @References(typeof(DB_Main))
    ParentDebtorID: string;

    BankName: string;
    BankAccountNo: string;
    BSBN: string;
    BankAccountName: string;
    AmountReconciledIncGST: number;
    Reference: string;
    // @References(typeof(SO_PaymentTypes))
    // @Required()
    PaymentTypeID: string;

    // @References(typeof(TX_Main))
    TaxID: string;

    TaxRate: number;
    TaxAmount: number;
    InvoiceNo: string;
}

export class BR_DirectDebtorReceiptAllocations
{
    // @Required()
    DirectDebtorReceiptAllocationID: string;

    // @Required()
    DirectDebtorReceiptID: string;

    AmountAllocated: number;
    // @Required()
    TransID: string;

    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    DiscountAmountAllocated: number;
}

export class BR_DirectDebtorReceipts
{
    // @Required()
    DirectDebtorReceiptID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    CreatedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    LineNumber: number;
    TransactionDateTime: string;
    AmountIncGST: number;
    DebitCredit: number;
    Remark: string;
    Status: number;
    // @References(typeof(GL_Ledger))
    GLLedgerID: string;

    // @References(typeof(DB_Main))
    // @Required()
    DebtorID: string;

    // @References(typeof(GL_Ledger))
    DiscountGLLedgerID: string;

    DiscountAmountIncGST: number;
    // @References(typeof(DB_Main))
    ParentDebtorID: string;

    BankName: string;
    BankAccountNo: string;
    BSBN: string;
    BankAccountName: string;
    // @References(typeof(TX_Main))
    DiscountTaxID: string;

    DiscountTaxAmount: number;
    DiscountTaxRate: number;
    AmountReconciledIncGST: number;
    Reference: string;
    // @References(typeof(SO_PaymentTypes))
    // @Required()
    ReceiptTypeID: string;

    RemitNo: string;
}

export class BR_DirectGLTransactions
{
    // @Required()
    DirectGLTransactionID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    CreatedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    LineNumber: number;
    TransactionDateTime: string;
    AmountIncGST: number;
    DebitCredit: number;
    Remark: string;
    Status: number;
    // @References(typeof(GL_Ledger))
    GLLedgerID: string;

    TransactionType: number;
    Reference: string;
    // @References(typeof(SO_PaymentTypes))
    // @Required()
    PaymentTypeID: string;

    // @References(typeof(TX_Main))
    TaxID: string;

    TaxRate: number;
    TaxAmount: number;
    AmountReconciledIncGST: number;
}

export class BR_Documents
{
    // @Required()
    RecID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    // @References(typeof(SY_DocumentTypes))
    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class BR_GLTransactions
{
    // @Required()
    BRGLTransactionID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    CreatedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    LineNumber: number;
    TransactionDateTime: string;
    Status: number;
    // @Required()
    GLTransactionID: string;

    AmountReconciledIncGST: number;
    Reference: string;
    DebitCredit: number;
    Remark: string;
    AmountIncGST: number;
    // @References(typeof(BR_Main))
    FirstAppearanceBankRecID: string;
}

export class BR_Main
{
    // @Required()
    BankRecID: string;

    // @Required()
    BankRecNo: string;

    // @Required()
    Reference: string;

    // @Required()
    BankAccountLedgerID: string;

    BankStatementDate: string;
    Status: number;
    // @Required()
    CreatedByStaffID: string;

    CreatedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    BankStatementOpeningBalance: number;
    BankAccountLedgerCurrentBalance: number;
    BankStatementClosingBalance: number;
    BankAccountLedgerBalanceBroughtForward: number;
}

export class BR_OpeningBalanceTransactions
{
    // @Required()
    OpeningBalanceTransactionID: string;

    // @References(typeof(BR_Main))
    // @Required()
    BankRecID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    CreatedByStaffID: string;

    CreatedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    LastSavedDateTime: string;
    LineNumber: number;
    TransactionDateTime: string;
    Status: number;
    AmountReconciledIncGST: number;
    Reference: string;
    DebitCredit: number;
    Remark: string;
    AmountIncGST: number;
    // @References(typeof(BR_Main))
    PreviousBankRecID: string;
}

export class CB_BatchTranLineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    LastSavedDateTime: string;
    DisplayOrder: number;
}

export class CB_BatchTranLineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(CB_BatchTranLines))
    // @Required()
    CB_BatchTranLine_CBBatchTranLineID: string;

    // @References(typeof(CB_BatchTranLineCustomFields))
    // @Required()
    CB_BatchTranLineCustomFields_RecID: string;

    Contents: string;
    LastSavedDateTime: string;
}

export class CB_BatchTranLines
{
    // @Required()
    CBBatchTranLineID: string;

    // @References(typeof(CB_BatchTrans))
    // @Required()
    CBBatchID: string;

    // @Required()
    OffsetLedgerID: string;

    // @Required()
    RemitNo: string;

    Ref: string;
    // @Required()
    DebtorCreditor: number;

    // @Required()
    DebtorCreditorID: string;

    // @Required()
    TransType: number;

    Remark: string;
    // @Required()
    LineNum: number;

    HomeAmount: number;
    // @Required()
    GroupNo: number;

    TranDate: string;
    // @Required()
    DiscountLedgerID: string;

    HomeDiscountTaken: number;
    SupplierAmount: number;
    CurrencyRateUsed: number;
    SupplierDiscountTaken: number;
    // @Required()
    ParentDebtorID: string;

    BankName: string;
    BankAcc: string;
    BSBN: string;
    AccountName: string;
    AllocatedAmount: number;
    PaymentTypeID: string;
    Approval: string;
    // @Required()
    UpdateDebtorBankDetails: boolean;

    GSTRateID: string;
    GSTRate: number;
    GSTAmount: number;
    DiscountGSTRateID: string;
    DiscountGSTRate: number;
    DiscountGSTAmount: number;
    JobNo: string;
    JobChargeAmount: number;
    // @References(typeof(FX_Currency))
    FXCurrencyID: string;

    FXDecimalPlaces: number;
    AUDDecimalPlaces: number;
    DueDate: string;
    SupplierAllocatedAmount: number;
}

export class CB_BatchTranLinesAllocs
{
    // @Required()
    CBBatchTranLineAllocID: string;

    // @References(typeof(CB_BatchTranLines))
    // @Required()
    CBBatchTranLineID: string;

    // @Required()
    AllocatedTransID: string;

    AllocatedAmount: number;
    // @Required()
    AllocType: number;

    // @Required()
    CBBatchID: string;
}

export class CB_BatchTrans
{
    // @Required()
    CBBatchID: string;

    LastSavedDateTime: string;
    // @Required()
    StaffID: string;

    BatchDate: string;
    BatchNo: string;
    Activated: boolean;
    // @Required()
    Description: string;

    ReceiptPayment: number;
    // @Required()
    BankLedgerID: string;

    // @Required()
    GroupJournals: boolean;
}

export class CB_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class CB_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(CB_CustomSetting))
    SettingID: string;

    // @References(typeof(CB_BatchTrans))
    // @Required()
    CashBookID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CB_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    CashBookID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class CB_Notes
{
    // @Required()
    RecID: string;

    // @Required()
    CashBookID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class CN_Contact
{
    // @Required()
    ContactID: string;

    AccNo: string;
    Title: string;
    FName: string;
    SName: string;
    // @References(typeof(CN_ContactPosition))
    // @Required()
    PrimaryID: string;

    // @References(typeof(CN_ContactPosition))
    // @Required()
    SecondaryID: string;

    // @References(typeof(CN_ContactPosition))
    // @Required()
    TertiaryID: string;

    Phone: string;
    Mobile: string;
    Fax: string;
    EmailAddress: string;
    // @Required()
    ProspectID: string;

    LogonCode: string;
    LogonPassword: string;
    ExternalAppRecID: string;
    DefaultContact: boolean;
    DebtorContact: boolean;
    CreditorContact: boolean;
    LastSavedDateTime: string;
    // @Required()
    ItemNo: number;
}

export class CN_ContactPosition
{
    // @Required()
    ContactPositionID: string;

    LastSavedDateTime: string;
    // @Required()
    Position: string;

    // @Required()
    IsDefault: boolean;
}

export class CN_Documents
{
    // @Required()
    RecID: string;

    // @Required()
    ProspectID: string;

    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class CN_Group
{
    // @Required()
    GroupID: string;

    LastSavedDateTime: string;
    Description: string;
}

export class CN_GroupLink
{
    // @Required()
    LinkID: string;

    // @References(typeof(CN_Group))
    // @Required()
    GroupID: string;

    ProspectID: string;
    // @References(typeof(HR_Staff))
    // @Required()
    StaffID: string;

    // @Required()
    DefaultItem: boolean;

    // @Required()
    LastSavedDateTime: string;

    ItemNo: number;
}

export class CN_Main
{
    // @Required()
    ProspectID: string;

    LastSavedDateTime: string;
    // @Required()
    ProspectNumber: string;

    CompanyName: string;
    Address1: string;
    Address2: string;
    Address3: string;
    State: string;
    PostCode: string;
    Phone: string;
    Fax: string;
    EmailAddress: string;
    CRAccountNo: string;
    DBAccountNo: string;
    // @References(typeof(CR_Main))
    CreditorID: string;

    // @References(typeof(DB_Main))
    DebtorID: string;

    ExternalAppRecID: string;
    AustPostDPID: string;
    AustPostBCSP: string;
    // @Required()
    Country: string;
}

export class CN_Notes
{
    // @Required()
    RecID: string;

    // @Required()
    ProspectID: string;

    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class CN_SyncLog
{
    // @Required()
    RecID: string;

    LastSavedDateTime: string;
    SyncFlag: string;
}

export class CR_AllocationBatch
{
    // @Required()
    RecID: string;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    BatchNo: string;

    // @Required()
    StaffID: string;

    // @Required()
    BatchDate: string;

    // @Required()
    CreditorID: string;
}

export class CR_AllocationBatchTransactions
{
    // @Required()
    CR_TransAlloc_AllocID: string;

    // @Required()
    CR_AllocationBatch_RecID: string;
}

export class CR_APIKey
{
    // @Required()
    RecID: string;

    Name: string;
    // @References(typeof(CR_Main))
    // @Required()
    CR_Main_CreditorID: string;

    // @References(typeof(HR_Staff))
    // @Required()
    HR_Staff_StaffID: string;

    // @Required()
    CreatedDateTime: string;

    ExpiryDateTime: string;
    CancelledDateTime: string;
    // @Required()
    LastSavedDateTime: string;

    // @Required()
    KeyValue: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;
}

export class CR_AUDIT
{
    // @Required()
    CreditorID: string;

    CreditorTotal: number;
    // @Required()
    ReportGroup: string;
}

export class CR_AutoTran
{
    // @Required()
    CRAutoTranID: string;

    LastSavedDateTime: string;
    RunDateTime: string;
    UserName: string;
    RunNo: string;
}

export class CR_AutoTranLines
{
    // @Required()
    CRAutoTranLineID: string;

    // @Required()
    CRAutoTranID: string;

    // @Required()
    SourceCRBatchID: string;

    // @Required()
    SourceBatchNo: string;

    // @Required()
    SourceReceiptType: number;

    SourceDesc: string;
    PostingDue: string;
    Reason: string;
    // @Required()
    DestCRBatchID: string;

    // @Required()
    DestBatchNo: string;

    // @Required()
    LineNum: number;

    LastSavedDateTime: string;
}

export class CR_BatchPayLines
{
    // @Required()
    CR_BatchPayLinesID: string;

    // @References(typeof(CR_BatchPayment))
    // @Required()
    CR_BatchPayID: string;

    // @Required()
    CR_TransID: string;

    PaymentAmount: number;
    BatchLineNo: number;
    // @Required()
    HistoryText: string;

    // @Required()
    PaymentTransID: string;

    // @Required()
    ChequeNo: string;

    LedgerID: string;
    PaymentFromBankAmount: number;
    PaymentFXAmount: number;
    CurrencyRateUsed: number;
    FXShortCode: string;
    DiscountAmount: number;
    HomeDiscountAmount: number;
    GSTID: string;
    GSTAmount: number;
    GSTRate: number;
    DiscountLedgerID: string;
    LastSavedDateTime: string;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    UnrealisedGainLoss: number;
    RealisedGainLoss: number;
    PaymentFromBankFXAmount: number;
    BankLedgerID: string;
    FeeAmount: number;
    FeeGSTID: string;
    FeeGSTRate: number;
    FeeGSTAmount: number;
    FeeIncGSTAmount: number;
    LineNumber: number;
    CR_TransOutstandingAmount: number;
    CR_TransOutstandingFXAmount: number;
    EFTReference: string;
}

export class CR_BatchPayment
{
    // @Required()
    CR_BatchPayID: string;

    // @Required()
    BatchNo: string;

    CreationDate: string;
    ActivationDate: string;
    LastSavedDateTime: string;
    Status: number;
    // @Required()
    GLBankID: string;

    // @Required()
    OneCheque: boolean;

    UseSelectedBank: boolean;
    TypeCheque: boolean;
    StartChequeNo: string;
    // @References(typeof(HR_Staff))
    // @Required()
    CreatedBy_HR_Staff_RecID: string;
}

export class CR_BatchTranLines
{
    // @Required()
    ReceiptLineID: string;

    // @References(typeof(CR_BatchTrans))
    // @Required()
    ReceiptID: string;

    LastSavedDateTime: string;
    // @References(typeof(CR_Main))
    AccountID: string;

    // @References(typeof(GL_Ledger))
    LedgerID: string;

    LineReference: string;
    Remark: string;
    RemitNo: string;
    HomeTransAmount: number;
    // @Required()
    LineNum: number;

    // @References(typeof(GL_Ledger))
    OtherLedgerID: string;

    HomeDispAmount: number;
    ReceiptDate: string;
    SupplierTransAmount: number;
    SupplierDispAmount: number;
    CurrencyRateUsed: number;
    // @References(typeof(TX_Main))
    TaxID: string;

    TaxRate: number;
    TaxAmount: number;
    DueDate: string;
    HomeDispAmountIncGST: number;
    // @References(typeof(FX_Currency))
    CurrencyID: string;

    JobChargeAmount: number;
    // @References(typeof(JB_JobStages))
    JB_JobStages_RecID: string;
}

export class CR_BatchTrans
{
    // @Required()
    ReceiptID: string;

    LastSavedDateTime: string;
    JiwaUser: string;
    ReceiptDate: string;
    BatchNum: string;
    ReceiptType: number;
    ReceiptStatus: number;
    // @Required()
    BatchType: number;

    // @Required()
    RepeatingType: number;

    // @Required()
    RepeatingUnits: number;

    NextRepeatingDate: string;
    // @Required()
    RepeatingWillEnd: boolean;

    RepeatingEndDate: string;
    Description: string;
}

export class CR_BatchTransDocuments
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_BatchTrans))
    // @Required()
    CR_BatchTrans_ReceiptID: string;

    // @References(typeof(SY_DocumentTypes))
    // @Required()
    DocumentTypeID: string;

    LastSavedDateTime: string;
    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    FileBinary: Uint8Array;
    Description: string;
    PhysicalFileName: string;
    // @Required()
    ItemNo: number;
}

export class CR_BatchTransNotes
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_BatchTrans))
    // @Required()
    CR_BatchTrans_ReceiptID: string;

    // @References(typeof(SY_NoteTypes))
    // @Required()
    NoteTypeID: string;

    // @Required()
    LastSavedDateTime: string;

    // @References(typeof(HR_Staff))
    // @Required()
    LastSavedByStaffID: string;

    NoteText: string;
    // @Required()
    ItemNo: number;
}

export class CR_Classification
{
    // @Required()
    CreditorClassificationID: string;

    LastSavedDateTime: string;
    // @Required()
    Description: string;

    LedgerIDCreditorControl: string;
    LedgerIDCreditorPurchases: string;
    LedgerIDCreditorDiscounts: string;
    LedgerIDCreditorSourcedPayments: string;
    LedgerIDCreditorSourcedDebitAdjustment: string;
    LedgerIDCreditorSourcedPurchase: string;
    LedgerIDCreditorSourcedCreditAdjustment: string;
    LedgerIDCreditorFreight: string;
    LedgerIDCreditorInsurance: string;
    LedgerIDCreditorDuty: string;
    LedgerIDCreditorRealisedGainLoss: string;
    LedgerIDCreditorUnRealisedGainLoss: string;
    TermsDays: number;
    // @Required()
    TermsType: number;

    // @Required()
    PO_Workflows_RecID: string;

    // @Required()
    IsDefault: boolean;
}

export class CR_CreditAdjustmentCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class CR_CreditAdjustmentCustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(CR_CreditAdjustmentCustomSetting))
    SettingID: string;

    // @References(typeof(CR_BatchTrans))
    // @Required()
    CR_BatchTrans_ReceiptID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_CreditorCreditAdjustmentLineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class CR_CreditorCreditAdjustmentLineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_BatchTranLines))
    // @Required()
    CR_CreditorCreditAdjustmentLines_RecID: string;

    // @References(typeof(CR_CreditorCreditAdjustmentLineCustomFields))
    // @Required()
    CR_CreditorCreditAdjustmentLineCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_CreditorDebitAdjustmentLineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class CR_CreditorDebitAdjustmentLineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_BatchTranLines))
    // @Required()
    CR_CreditorDebitAdjustmentLines_RecID: string;

    // @References(typeof(CR_CreditorDebitAdjustmentLineCustomFields))
    // @Required()
    CR_CreditorDebitAdjustmentLineCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_CreditorPaymentLineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class CR_CreditorPaymentLineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_BatchTranLines))
    // @Required()
    CR_CreditorPaymentLines_RecID: string;

    // @References(typeof(CR_CreditorPaymentLineCustomFields))
    // @Required()
    CR_CreditorPaymentLineCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_CreditorPurchaseLineCustomFields
{
    // @Required()
    RecID: string;

    // @Required()
    SettingName: string;

    SettingDescription: string;
    CellType: number;
    FieldParameter: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;

    // @Required()
    LastSavedDateTime: string;

    DisplayOrder: number;
}

export class CR_CreditorPurchaseLineCustomValues
{
    // @Required()
    RecID: string;

    // @References(typeof(CR_BatchTranLines))
    // @Required()
    CR_CreditorPurchaseLines_RecID: string;

    // @References(typeof(CR_CreditorPurchaseLineCustomFields))
    // @Required()
    CR_CreditorPurchaseLineCustomFields_RecID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_CustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class CR_CustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(CR_CustomSetting))
    SettingID: string;

    // @References(typeof(CR_Main))
    // @Required()
    CreditorID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_DebitAdjustmentCustomSetting
{
    // @Required()
    SettingID: string;

    // @Required()
    LastSavedDateTime: string;

    SettingDescription: string;
    SettingName: string;
    DisplayOrder: number;
    CellType: number;
    ScriptFormatCell: string;
    ScriptButtonClicked: string;
    ScriptReadData: string;
    GridHandlerCode: string;
    // @References(typeof(SY_Plugin))
    // @Required()
    SY_Plugin_RecID: string;
}

export class CR_DebitAdjustmentCustomSettingValues
{
    // @Required()
    SettingValueID: string;

    // @References(typeof(CR_DebitAdjustmentCustomSetting))
    SettingID: string;

    // @References(typeof(CR_BatchTrans))
    // @Required()
    CR_BatchTrans_ReceiptID: string;

    Contents: string;
    // @Required()
    LastSavedDateTime: string;
}

export class CR_DetailedGLAudit
{
    // @Required()
    ReceiptID: string;

    AccountID: string;
    // @Required()
    CRAccountNo: string;

    RemitNo: string;
    ReceiptDate: string;
    HomeTransAmount: number;
    SourceID: string;
    SetType: number;
    GLSetID: string;
    GLAccountNo: string;
    Ref: string;
    GLTransAmount: number;
}

export class RequestLogEntry
{
    Id: number;
    DateTime: string;
    StatusCode: number;
    StatusDescription: string;
    HttpMethod: string;
    AbsoluteUri: string;
    PathInfo: string;
    // @StringLength(2147483647)
    RequestBody: string;

    RequestDto: Object;
    UserAuthId: string;
    SessionId: string;
    IpAddress: string;
    ForwardedFor: string;
    Referer: string;
    Headers: { [index:string]: string; };
    FormData: { [index:string]: string; };
    Items: { [index:string]: string; };
    Session: Object;
    ResponseDto: Object;
    ErrorResponse: Object;
    ExceptionSource: string;
    ExceptionData: any;
    RequestDuration: string;
}

export class ProductionArea
{
    ProductionAreaID: string;
    ProductionAreaNo: string;
    Name: string;
    Description: string;
    IsEnabled: boolean;
}

export class WorkCentre
{
    WorkCentreID: string;
    Name: string;
    Description: string;
    Capacity: number;
    IsEnabled: boolean;
}

export class Configuration
{
}

export interface IHttpFile
{
    Name?: string;
    FileName?: string;
    ContentLength?: number;
    ContentType?: string;
}

export class LogoutGetResponse
{
    Username: string;
    LoginDateTime: string;
    LogoutDateTime: string;
}

export class LoginGetResponse
{
    redirect: string;
}

export class BillInput
{
    InputID: string;
    ItemNo: number;
    InventoryID: string;
    PartNo: string;
    Description: string;
    IsRatio: boolean;
    Quantity: number;
    Note: string;
    IsBoMItem: boolean;
    SubAssemblyBillID: string;
    SubAssemblyExplodePolicy: SubAssemblyExplodePolicyOptions;
    CustomFieldValues: CustomFieldValue[];
    TotalLineCost: number;
    LastCost: number;
    UnitMeasure: string;
}

export class BillInstruction
{
    InstructionID: string;
    ItemNo: number;
    InstructionText: string;
    CustomFieldValues: CustomFieldValue[];
}

export class BillStage
{
    StageID: string;
    ItemNo: number;
    Name: string;
    RequiredCapacity: number;
    ProductionLineWorkCentre: ProductionLineWorkCentre;
    Inputs: BillInput[];
    Instructions: BillInstruction[];
    CustomFieldValues: CustomFieldValue[];
}

export class BillOutput
{
    OutputID: string;
    ItemNo: number;
    InventoryID: string;
    PartNo: string;
    Description: string;
    IsRatio: boolean;
    Quantity: number;
    Note: string;
    IsPrimary: boolean;
    CostPercentage: number;
    Cost: number;
    LastCost: number;
    CustomFieldValues: CustomFieldValue[];
}

export class Bill
{
    BillID: string;
    BillNo: string;
    Description: string;
    IsEnabled: boolean;
    MaximumProductionCapability: number;
    LastSavedDateTime: string;
    RowHash: Uint8Array;
    Stages: BillStage[];
    Outputs: BillOutput[];
    Documents: Document[];
    CustomFieldValues: CustomFieldValue[];
    Notes: Note[];
    ProductionLine: ProductionLine;
    BillParents: BillParent[];
}

export class CustomField
{
    SettingID: string;
    SettingName: string;
    PluginID: string;
    PluginName: string;
    CellType: CellTypes;
    DisplayOrder: number;
}

export class CarrierService
{
    ServiceID: string;
    ServiceName: string;
    DefaultItem: boolean;
    LastSavedDateTime: string;
    Enabled: boolean;
}

export class CarrierFreightDescription
{
    FreightDescriptionID: string;
    Description: string;
    DefaultItem: boolean;
    LastSavedDateTime: string;
    Enabled: boolean;
}

export class Carrier
{
    CarrierID: string;
    CarrierName: string;
    AccountNo: string;
    Enabled: boolean;
    Notes: string;
    LastSavedDateTime: string;
    Services: CarrierService[];
    FreightDescriptions: CarrierFreightDescription[];
}

export class CreditorWarehouseAddress
{
    WarehouseAddressID: string;
    Description: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    Postcode: string;
    Country: string;
    Notes: string;
    CourierDetails: string;
    DefaultDeliveryDays: number;
    IsDefault: boolean;
}

export class Creditor
{
    CreditorID: string;
    AccountNo: string;
    AltAccountNo: string;
    Name: string;
    WarehouseAddresses: CreditorWarehouseAddress[];
    LastSavedDateTime: string;
}

export class CreditorClassification
{
    ClassificationID: string;
    Description: string;
    LastSavedDateTime: string;
    IsDefault: boolean;
    TermsDays: number;
    TermsType: CreditorTermsTypes;
    PO_Workflows_RecID: string;
    PO_Workflows_Name: string;
    PO_Workflows_Description: string;
    CreditorLedgers: CreditorLedger[];
}

export class DebtorClassification
{
    ClassificationID: string;
    Description: string;
    LastSavedDateTime: string;
    IsDefault: boolean;
    TermsDays: number;
    TermsType: DebtorTermsTypes;
    PricingGroupID: string;
    PricingGroupDescription: string;
    SellPricingSchemeID: string;
    SellPricingSchemeDescription: string;
    DebtorLedgers: DebtorLedger[];
}

export class DebtorCategory
{
    CategoryID: string;
    Description: string;
    CategoryNo: number;
    IsDefault: boolean;
    LastSavedDateTime: string;
}

export class DebtorContactName
{
    DefaultContact: boolean;
    DebtorContact: boolean;
    CreditorContact: boolean;
    ContactNameID: string;
    ContactID: string;
    AccountNo: string;
    Title: string;
    FirstName: string;
    Surname: string;
    PrimaryPositionID: string;
    PrimaryPositionName: string;
    SecondaryPositionID: string;
    SecondaryPositionName: string;
    TertiaryPositionID: string;
    TertiaryPositionName: string;
    Phone: string;
    Mobile: string;
    Fax: string;
    EmailAddress: string;
    ProspectID: string;
    LogonCode: string;
    LogonPassword: string;
    ExternalAppRecID: string;
    LastSavedDateTime: string;
    LogonCodeChangedByUser: boolean;
}

export class DebtorGroupMembership
{
    IsDefault: boolean;
    GroupMembershipID: string;
    GroupRecID: string;
    GroupDescription: string;
    StaffID: string;
    StaffUsername: string;
    StaffTitle: string;
    StaffFirstName: string;
    StaffSurname: string;
    LastSavedDateTime: string;
    ItemNo: number;
}

export class DebtorDeliveryAddress
{
    IsDefault: boolean;
    DeliveryAddressID: string;
    DeliveryAddressName: string;
    DeliveryAddressCode: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    Postcode: string;
    Country: string;
    Notes: string;
    CourierDetails: string;
    EDIStoreLocationCode: string;
}

export class DebtorFreightForwarderAddress
{
    IsDefault: boolean;
    FreightForwarderAddressID: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    Country: string;
    Notes: string;
}

export class DebtorPartNumber
{
    PartNumberID: string;
    InventoryID: string;
    PartNo: string;
    DebtorPartNo: string;
    DebtorBarcode: string;
}

export class Debtor
{
    CreditLimit: number;
    EarlyPaymentDiscountDays: number;
    EarlyPaymentDiscountAmount: number;
    LastPurchaseDate: string;
    LastPaymentDate: string;
    StandingDiscountOnInvoices: number;
    AccountOnHold: boolean;
    CurrentBalance: number;
    Period1Balance: number;
    Period2Balance: number;
    Period3Balance: number;
    Period4Balance: number;
    FXCurrentBalance: number;
    FXPeriod1Balance: number;
    FXPeriod2Balance: number;
    FXPeriod3Balance: number;
    FXPeriod4Balance: number;
    NotifyRequired: boolean;
    WebAccess: boolean;
    CommenceDate: string;
    TradingStatus: TradingStatuses;
    PeriodType: PeriodTypes;
    UsesFX: boolean;
    IsCashOnly: boolean;
    TermsDays: number;
    TermsType: TermsTypes;
    ExcludeFromAging: boolean;
    DebtorIsBranchAccount: boolean;
    RemainingNormalPrepaidLabourPackHours: number;
    RemainingSpecialPrepaidLabourPackHours: number;
    FXDecimalPlaces: number;
    DebtorID: string;
    ProspectID: string;
    LastSavedDateTime: string;
    AccountNo: string;
    AltAccountNo: string;
    Name: string;
    Address1: string;
    Address2: string;
    Address3: string;
    Address4: string;
    Postcode: string;
    Phone: string;
    Fax: string;
    EmailAddress: string;
    ACN: string;
    ABN: string;
    AustPostDPID: string;
    AustPostBCSP: string;
    BankName: string;
    BankAccountNo: string;
    BankBSBN: string;
    BankAccountName: string;
    TaxExemptionNo: string;
    NotifyAddress: string;
    ParentDebtorID: string;
    ParentDebtorAccountNo: string;
    ParentDebtorName: string;
    PriceSchemeID: string;
    PriceSchemeDescription: string;
    TradingName: string;
    CompanyName: string;
    ProprietorsName: string;
    FaxHeader: string;
    FXID: string;
    FXName: string;
    FXShortName: string;
    BPayReference: string;
    Classification: DebtorClassification;
    Category1: DebtorCategory;
    Category2: DebtorCategory;
    Category3: DebtorCategory;
    Category4: DebtorCategory;
    Category5: DebtorCategory;
    ContactNames: DebtorContactName[];
    GroupMemberships: DebtorGroupMembership[];
    BranchDebtors: DebtorBranchDebtor[];
    DeliveryAddresses: DebtorDeliveryAddress[];
    FreightForwarderAddresses: DebtorFreightForwarderAddress[];
    Notes: Note[];
    CreditNotes: Note[];
    Directors: DebtorDirector[];
    Budgets: DebtorBudget[];
    DebtorPartNumbers: DebtorPartNumber[];
    CustomFieldValues: CustomFieldValue[];
    Documents: Document[];
    DebtorSystems: DebtorSystem[];
    DebtorLedgers: DebtorLedger[];
}

export class DebtorPricingGroup
{
    PricingGroupID: string;
    Description: string;
    IsDefault: boolean;
    LastSavedDateTime: string;
}

export class GoodsReceivedNoteLineDetail
{
    LineDetailID: string;
    LinkID: string;
    Quantity: number;
    LastSavedDateTime: string;
    SerialNo: string;
    BinLocationID: string;
    BinLocationDescription: string;
    ExpiryDate: string;
}

export class GoodsReceivedNoteLine
{
    LineID: string;
    QuantityOrdered: number;
    QuantityDelivered: number;
    OrderID: string;
    OrderNo: string;
    OrderLineID: string;
    Quantity: number;
    InventoryID: string;
    PartNo: string;
    Aux2: string;
    Description: string;
    SupplierPartNo: string;
    GRNLineType: ReceivalLineType;
    QuantityDecimalPlaces: number;
    LastSavedDateTime: string;
    ClassificationID: string;
    ClassificationDescription: string;
    TaxAmount: number;
    TaxID: string;
    TaxRate: number;
    Cost: number;
    CurrencyRateUsed: number;
    PurchasingClassificationID: string;
    PurchasingClassificationDescription: string;
    PostedToWIP: boolean;
    JobCharge: number;
    UseSerialNo: boolean;
    FXCost: number;
    PhysicalItem: boolean;
    InventoryExpectedLiability_LedgerAccountID: string;
    InventoryExpectedLiability_LedgerAccountNo: string;
    InventoryExpectedLiability_LedgerAccountDescription: string;
    InventoryExpectedAsset_LedgerAccountID: string;
    InventoryExpectedAsset_LedgerAccountNo: string;
    InventoryExpectedAsset_LedgerAccountDescription: string;
    InventoryDeliveredAsset_LedgerAccountID: string;
    InventoryDeliveredAsset_LedgerAccountNo: string;
    InventoryDeliveredAsset_LedgerAccountDescription: string;
    InventoryValue_LedgerAccountID: string;
    InventoryValue_LedgerAccountNo: string;
    InventoryValue_LedgerAccountDescription: string;
    InventoryDeliveredLiability_LedgerAccountID: string;
    InventoryDeliveredLiability_LedgerAccountNo: string;
    InventoryDeliveredLiability_LedgerAccountDescription: string;
    InventoryWIP_LedgerAccountID: string;
    InventoryWIP_LedgerAccountNo: string;
    InventoryWIP_LedgerAccountDescription: string;
    POLineLastSavedDateTime: string;
    OrderUnits: number;
    ItemNo: number;
    IN_Creditor_RecID: string;
    IN_SupplierWarehouse_RecID: string;
    JobCostingStageID: string;
    JobCostingStageNo: string;
    JobCostingStageName: string;
    JobCostingCostCentreID: string;
    JobCostingCostCentreNo: string;
    JobCostingCostCentreName: string;
    JobCostingJobID: string;
    JobCostingJobNo: string;
    UnitIncTax: number;
    LineTotalIncTax: number;
    FXLineTotalExTax: number;
    FXDecimalPlaces: number;
    HomeDecimalPlaces: number;
    UseExpiryDate: boolean;
    LineDetails: GoodsReceivedNoteLineDetail[];
    CustomFieldValues: CustomFieldValue[];
}

export class GoodsReceivedNotePurchaseOrderReceived
{
    PurchaseOrderReceivedID: string;
    OrderID: string;
    OrderNo: string;
    OrderType: PurchaseOrderType;
    OrderedDate: string;
    FreightTaxID: string;
    Freight: number;
    FreightTaxAmount: number;
    DutyTaxID: string;
    Duty: number;
    DutyTaxAmount: number;
    InsuranceTaxID: string;
    Insurance: number;
    InsuranceTaxAmount: number;
}

export class GoodsReceivedNote
{
    GRNID: string;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    LastSavedDateTime: string;
    SlipNo: string;
    SlipDate: string;
    Status: Statuses;
    Freight: number;
    Duty: number;
    Invoiced: boolean;
    PI_MainID: string;
    Insurance: number;
    LogicalWarehouseID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseID: string;
    PhysicalWarehouseDescription: string;
    TaxTotal: number;
    FreightTaxID: string;
    FreightTaxRate: number;
    FreightTaxAmount: number;
    DutyTaxID: string;
    DutyTaxRate: number;
    DutyTaxAmount: number;
    InsuranceTaxID: string;
    InsuranceTaxRate: number;
    InsuranceTaxAmount: number;
    Reference: string;
    TotalGross: number;
    TotalNet: number;
    TotalFx: number;
    FreightInc: number;
    DutyInc: number;
    InsuranceInc: number;
    InventoryTotalQuantity: number;
    InventoryTotalQuantityDecimalPlaces: number;
    Lines: GoodsReceivedNoteLine[];
    PurchaseOrders: GoodsReceivedNotePurchaseOrderReceived[];
    CustomFieldValues: CustomFieldValue[];
}

export class InventoryLedger
{
    LedgerID: string;
    Name: string;
    LedgerAccountID: string;
    LedgerAccountNo: string;
    LedgerAccountDescription: string;
}

export class InventoryClassification
{
    ClassificationID: string;
    Description: string;
    LastSavedDateTime: string;
    WebEnabled: boolean;
    IsDefault: boolean;
    GSTInwardsTaxRateID: string;
    GSTInwardsTaxRateDescription: string;
    GSTInwardsTaxRate: number;
    GSTOutwardsTaxRateID: string;
    GSTOutwardsTaxRateDescription: string;
    GSTOutwardsTaxRate: number;
    GSTAdjustmentsINTaxRateID: string;
    GSTAdjustmentsINTaxRateDescription: string;
    GSTAdjustmentsINTaxRate: number;
    GSTAdjustmentsOUTTaxRateID: string;
    GSTAdjustmentsOUTTaxRateDescription: string;
    GSTAdjustmentsOUTTaxRate: number;
    InventoryLedgers: InventoryLedger[];
    PricingGroupID: string;
    PricingGroupDescription: string;
    CustomFields: CustomFieldValue[];
}

export class InventoryCategory
{
    CategoryID: string;
    CategoryNo: number;
    Description: string;
    IsDefault: boolean;
    LastSavedDateTime: string;
    Picture: Uint8Array;
    CustomFieldValues: CustomFieldValue[];
}

export class InventoryUnitOfMeasure
{
    RecID: string;
    InnerUnitOfMeasure: InventoryUnitOfMeasure;
    QuantityInnersPerUnitOfMeasure: number;
    IsSell: boolean;
    IsPurchase: boolean;
    ItemNo: number;
    LastSavedDateTime: string;
    UnitOfMeasureID: string;
    Name: string;
    PartNo: string;
    Barcode: string;
}

export class InventorySupplierWarehouse
{
    DefaultWarehouse: boolean;
    HomeSuppliersCost: number;
    SuppliersCost: number;
    SuppliersCost2: number;
    HomeSuppliersCost2: number;
    SupplierSOH: number;
    DeliveryDays: number;
    SpareFloat1: number;
    SpareFloat2: number;
    SpareFloat3: number;
    SpareDate1: string;
    SpareDate2: string;
    SpareDate3: string;
    SupplierWarehouseID: string;
    CreditorWarehouseID: string;
    CreditorWarehouseDescription: string;
    SpareString1: string;
    SpareString2: string;
    SpareString3: string;
    CustomFieldValues: CustomFieldValue[];
    UnitOfMeasure: InventoryUnitOfMeasure;
}

export class InventorySupplier
{
    FXRate: number;
    DefaultSupplier: boolean;
    SpareFloat1: number;
    SpareFloat2: number;
    SpareFloat3: number;
    SpareDate1: string;
    SpareDate2: string;
    SpareDate3: string;
    SupplierID: string;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    SupplierPartNo: string;
    SupplierUPC: string;
    SpareString1: string;
    SpareString2: string;
    SpareString3: string;
    CustomFieldValues: CustomFieldValue[];
    SupplierWarehouses: InventorySupplierWarehouse[];
    SupplierQuantityPriceBreaks: InventorySupplierQuantityPriceBreak[];
}

export class InventoryRegion
{
    RegionSupplierOrderingID: string;
    OrderEnabled: boolean;
    RegionID: string;
    RegionName: string;
    Suppliers: InventorySupplier[];
}

export class InventoryDebtorPrice
{
    Source: PriceSources;
    Mode: PriceModes;
    Amount: number;
    StartDate: string;
    EndDate: string;
    UseQuantityPriceBreak: boolean;
    QuantityPriceBreak: number;
    DebtorSpecificPriceID: string;
    DebtorID: string;
    DebtorAccountNo: string;
    DebtorName: string;
    Price: number;
    Note: string;
}

export class InventoryDebtorClassificationPrice
{
    Source: PriceSources;
    Mode: PriceModes;
    Amount: number;
    StartDate: string;
    EndDate: string;
    UseQuantityPriceBreak: boolean;
    QuantityPriceBreak: number;
    DebtorClassificationPriceID: string;
    DebtorClassificationID: string;
    DebtorClassificationDescription: string;
    Price: number;
    Note: string;
}

export class InventoryDebtorPriceGroupInventorySpecific
{
    Source: PriceSources;
    Mode: PriceModes;
    Amount: number;
    StartDate: string;
    EndDate: string;
    UseQuantityPriceBreak: boolean;
    QuantityPriceBreak: number;
    DebtorPriceGroupInventorySpecificID: string;
    DebtorPriceGroupID: string;
    DebtorPriceGroupDescription: string;
    Price: number;
    Note: string;
}

export class InventoryAlternateChild
{
    AlternateChildID: string;
    LinkedInventoryID: string;
    LinkedInventoryPartNo: string;
    LinkedInventoryDescription: string;
    Notes: string;
}

export class InventoryAlternateParent
{
    AlternateParentID: string;
    LinkedInventoryID: string;
    LinkedInventoryPartNo: string;
    LinkedInventoryDescription: string;
    Notes: string;
}

export class InventoryComponent
{
    ComponentQuantity: number;
    ItemNo: number;
    ComponentID: string;
    ComponentInventoryID: string;
    ComponentInventoryPartNo: string;
    ComponentInventoryDescription: string;
}

export class InventoryOtherDescription
{
    OtherDescriptionID: string;
    Description: string;
}

export class InventoryOrderLevel
{
    MonthStartDate: string;
    MonthEndDate: string;
    MinSOHUnits: number;
    MinSafetySOHUnits: number;
    MaxSafetySOHUnits: number;
    LogicalWarehouseID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseID: string;
    PhysicalWarehouseDescription: string;
    PeriodNo: number;
}

export class InventoryBudget
{
    MonthIndex: number;
    MonthStartDate: string;
    MonthEndDate: string;
    BudgetUnits: number;
    BudgetValue: number;
    LogicalWarehouseID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseID: string;
    PhysicalWarehouseDescription: string;
}

export class InventoryProductAvailability
{
    Available: boolean;
    ProductAvailabilityID: string;
    LogicalWarehouseID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseID: string;
    PhysicalWarehouseDescription: string;
}

export class InventorySellingPrices
{
    SellPrices: InventorySellingPrice[];
    CurrentPriceDate: string;
    ForwardPriceDate: string;
}

export class InventoryUpSell
{
    UpSellID: string;
    UpSellQuantity: number;
    UpSellInventoryID: string;
    UpSellInventoryPartNo: string;
    UpSellInventoryDescription: string;
    UpSellDescription: string;
    PrimaryCategoryID: string;
    PrimaryCategoryDescription: string;
    PrimaryCategoryNo: number;
    SecondaryCategoryID: string;
    SecondaryCategoryDescription: string;
    SecondaryCategoryNo: number;
}

export class InventoryAttributeGroupTemplateAttribute
{
    TemplateAttributeID: string;
    AttributeGroupTemplateID: string;
    AttributeType: number;
    ItemNo: number;
    Name: string;
}

export class InventoryAttributeGroupTemplate
{
    AttributeGroupTemplateID: string;
    Name: string;
    IsEnabled: boolean;
    TemplateAttributes: InventoryAttributeGroupTemplateAttribute[];
}

export class InventoryAttributeGroupAttribute
{
    AttributeID: string;
    AttributeGroupID: string;
    TemplateAttribute: InventoryAttributeGroupTemplateAttribute;
    LastSavedDateTime: string;
    Contents: string;
}

export class InventoryAttributeGroup
{
    AttributeGroupID: string;
    Template: InventoryAttributeGroupTemplate;
    LastSavedDateTime: string;
    Description: string;
    Attributes: InventoryAttributeGroupAttribute[];
}

export class InventoryItem
{
    PhysicalItem: boolean;
    ShipWithPhysicalItem: boolean;
    Discountable: boolean;
    LastSavedDateTime: string;
    DirectTax: number;
    Status: InventoryStatuses;
    DefaultPrice: number;
    RRPPrice: number;
    LCost: number;
    SCost: number;
    DecimalPlaces: number;
    MinimumGP: number;
    Weight: number;
    Cubic: number;
    UseSerialNo: boolean;
    BackOrderable: boolean;
    SalesManCost: number;
    SecondaryCost: number;
    BOMObject: InventoryBOMTypes;
    UseExpiryDate: boolean;
    UseStandardCost: boolean;
    StandardCost: number;
    WebEnabled: boolean;
    SellPriceIncTax: boolean;
    Style: InventoryStyle;
    Colour: InventoryColour;
    Size: InventorySize;
    PartEncodeOrder: number;
    InventoryID: string;
    PartNo: string;
    Picture: Uint8Array;
    Description: string;
    UnitMeasure: string;
    Classification: InventoryClassification;
    Category1: InventoryCategory;
    Category2: InventoryCategory;
    Category3: InventoryCategory;
    Category4: InventoryCategory;
    Category5: InventoryCategory;
    Aux1: string;
    Aux2: string;
    Aux3: string;
    Aux4: string;
    Aux5: string;
    GSTInwardsID: string;
    GSTInwardsDescription: string;
    GSTInwardsRate: number;
    GSTOutwardsID: string;
    GSTOutwardsDescription: string;
    GSTOutwardsRate: number;
    GSTAdjustmentsINID: string;
    GSTAdjustmentsINDescription: string;
    GSTAdjustmentsINRate: number;
    GSTAdjustmentsOUTID: string;
    GSTAdjustmentsOUTDescription: string;
    GSTAdjustmentsOUTRate: number;
    MatrixDescription: string;
    PricingGroupID: string;
    PricingGroupDescription: string;
    InventoryLedgers: InventoryLedger[];
    Notes: Note[];
    Documents: Document[];
    CustomFieldValues: CustomFieldValue[];
    Regions: InventoryRegion[];
    DebtorPrices: InventoryDebtorPrice[];
    DebtorClassPrices: InventoryDebtorClassificationPrice[];
    DebtorPriceGroupInventorySpecificPrices: InventoryDebtorPriceGroupInventorySpecific[];
    AlternateChildren: InventoryAlternateChild[];
    AlternateParents: InventoryAlternateParent[];
    Components: InventoryComponent[];
    WarehouseSOHs: InventoryWarehouseSOH[];
    DebtorPartNumbers: InventoryDebtorPartNumber[];
    GroupMemberships: InventoryGroupMembership[];
    OtherDescriptions: InventoryOtherDescription[];
    OrderLevels: InventoryOrderLevel[];
    Budgets: InventoryBudget[];
    LogicalOrders: InventoryLogicalOrder[];
    DefaultBinLocations: InventoryDefaultBinLocation[];
    ProductAvailabilities: InventoryProductAvailability[];
    SellingPrices: InventorySellingPrices;
    UpSells: InventoryUpSell[];
    AttributeGroups: InventoryAttributeGroup[];
    UnitOfMeasures: InventoryUnitOfMeasure[];
}

export class InventoryPriceGETResponse
{
    Price: number;
    IncludesTax: boolean;
}

export class InventoryPricingGroup
{
    PricingGroupID: string;
    Description: string;
    IsDefault: boolean;
    LastSavedDateTime: string;
}

export class JournalSetLine
{
    JournalSetLineID: string;
    ItemNo: number;
    Reference: string;
    Remark: string;
    TransCode1ID: string;
    TransCode1Description: string;
    TransCode2ID: string;
    TransCode2Description: string;
    BASCode: BASCodes;
    TransPostDateTime: string;
    DebitAmount: number;
    CreditAmount: number;
    AllowGroup: boolean;
    Staff: StaffMember;
    JobCostingStageID: string;
    JobCostingFullJobNo: string;
    GeneralLedgerAccountRecID: string;
    GeneralLedgerAccountAccountNo: string;
    GeneralLedgerAccountDescription: string;
}

export class JournalSet
{
    JournalSetID: string;
    SetNo: string;
    SetType: SetTypes;
    Description: string;
    Source: string;
    SourceID: string;
    PostedDate: string;
    IsReversed: boolean;
    ReverseType: ReverseTypes;
    ReverseDate: string;
    RepeatingUnits: number;
    RepeatingType: RepeatingTypes;
    NextRepeatingDate: string;
    RepeatingWillEnd: boolean;
    RepeatingEndDate: string;
    LastSavedDateTime: string;
    Staff: StaffMember;
    Lines: JournalSetLine[];
    Notes: Note[];
    Documents: Document[];
    PostedToPeriodNo: number;
    PostedToPeriodName: string;
    PostedToYearType: YearTypes;
    PostedToYearNo: number;
    PostedToPeriodNoIsGloballyLocked: boolean;
    PostedToPeriodNoIsExternallyLocked: boolean;
}

export class BookInLine
{
    LineID: string;
    ItemNo: number;
    Quantity: number;
    QuantityPreviouslyBookedIn: number;
    QuantityOutstanding: number;
    ShipmentLine: BookInShipmentLine;
    LineDetails: InventorySOHLineDetail[];
    CustomFieldValues: CustomFieldValue[];
}

export class BookIn
{
    BookInID: string;
    BookInNo: string;
    Shipment: BookInShipment;
    BookInDate: string;
    Activated: boolean;
    GL_Sets_RecID: string;
    LastSavedDateTime: string;
    Lines: BookInLine[];
    OtherBookInsForThisShipment: BookInOtherBookIn[];
}

export class ShipmentLine
{
    LineID: string;
    ItemNo: number;
    InventoryID: string;
    InventoryPartNo: string;
    InventoryDescription: string;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    SHInvoicesRecID: string;
    SHInvoicesInvoiceNo: string;
    PurchaseOrderLineID: string;
    PurchaseOrderLineOrderLineNo: string;
    PurchaseOrderLineOrderID: string;
    PurchaseOrderLineOrderNo: string;
    PurchaseOrderLineQuantity: string;
    PurchaseOrderLineQuantityDelivered: string;
    QuantityOrdered: number;
    QuantityThisShipment: number;
    OrderedCost: number;
    FXOrderedCost: number;
    UnitCostExTax: number;
    FXRate: number;
    FXUnitCostExTax: number;
    TaxRate: TaxRate;
    TaxAmount: number;
    UnitCostIncTax: number;
    LineTotalExTax: number;
    LineTotalIncTax: number;
    FXLineTotalExTax: number;
    LandedCostLineTotal: number;
    LandedCost: number;
}

export class ShipmentPurchaseOrderReceived
{
    PurchaseOrderReceivedID: string;
    OrderID: string;
    OrderNo: string;
    OrderedDate: string;
    ItemNo: number;
    UserField1: string;
    UserField2: string;
    UserField3: string;
    UserField4: string;
    UserField5: string;
    UserField6: string;
    UserField7: string;
    UserField8: string;
    UserField9: string;
    UserField10: string;
}

export class Shipment
{
    ShipmentID: string;
    ShipmentNo: string;
    LastSavedDateTime: string;
    InitiatedDate: string;
    DepartureDate: string;
    ExpectedArrivalDate: string;
    ScheduledArrivalDate: string;
    ReceiptDate: string;
    DeliveryNotes: string;
    Status: StatusType;
    WayBillNo: string;
    VesselName: string;
    ContainerNo: string;
    UseVOTI: boolean;
    ShippingAgentCreditorID: string;
    ShippingAgentCreditorAccountNo: string;
    ShippingAgentCreditorName: string;
    ImportCostClearingAccount: Account;
    Lines: ShipmentLine[];
    PurchaseOrders: ShipmentPurchaseOrderReceived[];
    ImportCosts: ShipmentImportCost[];
    VOTIs: ShipmentVOTI[];
    Invoices: ShipmentInvoice[];
    CustomFieldValues: CustomFieldValue[];
}

export class Language
{
    LanguageID: string;
    Description: string;
    LanguageCode: string;
    IsDefault: boolean;
}

export class IN_Logical
{
    // @Required()
    IN_LogicalID: string;

    // @References(typeof(IN_Physical))
    // @Required()
    IN_PhysicalID: string;

    // @Required()
    LastSavedDateTime: string;

    Description: string;
    LedgerMask: string;
    WarehouseCode: string;
    InTransit: boolean;
    DefaultInTransit: boolean;
    // @References(typeof(IN_Region))
    // @Required()
    IN_Region_RecID: string;

    // @Required()
    ItemNo: number;

    // @Required()
    RowHash: Uint8Array;

    Colour: number;
}

export class PurchaseOrderLine
{
    PurchaseOrderLineID: string;
    ItemNo: number;
    InventoryID: string;
    IsPhysical: boolean;
    PartNo: string;
    Description: string;
    QuantityDecimalPlaces: number;
    MakeSupplierTheNewDefault: boolean;
    PurchaseOrderLineType: OrderLineType;
    Quantity: number;
    IncPrice: number;
    TaxAmount: number;
    LineTotal: number;
    LineTotalExTax: number;
    FxTotal: number;
    CurrencyRateUsed: number;
    FXDecimalPlaces: number;
    HomeCurrencyDecimalPlaces: number;
    DeliveryDate: string;
    Delivered: number;
    HistoryText_Comment: string;
    JobCostingStageRecID: string;
    JobCostingStageNo: string;
    JobCostingStageName: string;
    JobCostingStageClassificationRecID: string;
    JobCostingStageClassificationDescription: string;
    JobCostingCostCentreRecID: string;
    JobCostingCostCentreNo: string;
    JobCostingCostCentreName: string;
    JobCostingJobRecID: string;
    JobCostingJobNo: string;
    JobCostingJobDescription: string;
    IN_OnBackOrder_OrdersOnBackID: string;
    IN_OnBackOrder_Quantity: number;
    IN_OnBackOrder_EstBOValue: number;
    IN_OnBackOrder_LastSavedDateTime: string;
    InvoiceLineID: string;
    UserDefinedFloat1: number;
    UserDefinedFloat2: number;
    UserDefinedFloat3: number;
    UserDefinedDate1: string;
    UserDefinedDate2: string;
    UserDefinedDate3: string;
    UserDefinedString1: string;
    UserDefinedString2: string;
    UserDefinedString3: string;
    PurchasingClassificationRecID: string;
    PurchasingClassificationDescription: string;
    PurchasingClassificationLedgerAccountRecID: string;
    PurchasingClassificationLedgerAccountAccountNo: string;
    PurchasingClassificationLedgerAccountDescription: string;
    ServiceManagerTaskRecID: string;
    ServiceManagerTaskNo: number;
    ServiceManagerTaskDescription: string;
    ServiceManagerJobRecID: string;
    ServiceManagerJobNo: string;
    ServiceManagerJobDescription: string;
    IN_Creditor_RecID: string;
    SupplierPartNo: string;
    IN_SupplierWarehouse_RecID: string;
    OrderUnits: number;
    DeliveryDays: number;
    FXCost: number;
    Cost: number;
    CostOriginal: number;
    Units: string;
    TaxRateRecID: string;
    TaxRateDescription: string;
    TaxRate: number;
    TaxRateBASCode: number;
    InventoryExpectedLiabilityLedgerAccountRecID: string;
    InventoryExpectedLiabilityLedgerAccountAccountNo: string;
    InventoryExpectedLiabilityLedgerAccountDescription: string;
    InventoryExpectedAssetLedgerAccountRecID: string;
    InventoryExpectedAssetLedgerAccountAccountNo: string;
    InventoryExpectedAssetLedgerAccountDescription: string;
    ClassificationID: string;
    ClassificationDescription: string;
    CustomFieldValues: CustomFieldValue[];
}

export class PurchaseOrder
{
    PurchaseOrderID: string;
    CreditorRecID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    CreditorWarehouseRecID: string;
    CreditorWarehouseDescription: string;
    LogicalWarehouseResidingInRecID: string;
    LogicalWarehouseResidingInDescription: string;
    PhysicalWarehouseResidingInRecID: string;
    PhysicalWarehouseResidingInDescription: string;
    LogicalWarehouseOrderingFromRecID: string;
    LogicalWarehouseOrderingFromDescription: string;
    PhysicalWarehouseOrderingFromRecID: string;
    PhysicalWarehouseOrderingFromDescription: string;
    InTransitLogicalWarehouseRecID: string;
    InTransitLogicalWarehouseDescription: string;
    InTransitPhysicalWarehouseRecID: string;
    InTransitPhysicalWarehouseDescription: string;
    OrderNo: string;
    OrderDate: string;
    Attention: string;
    ContactBy: string;
    StaffID: string;
    StaffUserName: string;
    StaffTitle: string;
    StaffFirstName: string;
    StaffSurname: string;
    OrderStatus: Status;
    OrderType: PurchaseOrderType;
    OrderSupplierType: SupplierType;
    TaxTotal: number;
    UseInTransit: boolean;
    Reference: string;
    TotalGross: number;
    TotalNet: number;
    TotalFx: number;
    Notes: Note[];
    Documents: Document[];
    CustomFieldValues: CustomFieldValue[];
    Lines: PurchaseOrderLine[];
    ShippingAddressAddressLine1: string;
    ShippingAddressAddressLine2: string;
    ShippingAddressAddressLine3: string;
    ShippingAddressAddressLine4: string;
    ShippingAddressAddressLine5: string;
    ShippingAddressCountry: string;
    ShippingAddressPostCode: string;
    ShippingAddressContactName: string;
    ShippingAddressPhone: string;
    ShippingAddressFax: string;
    ShippingAddressSpare1: string;
    ShippingAddressSpare2: string;
    ShippingAddressSpare3: string;
    ShippingAddressSpare4: string;
    ShippingAddressSpare5: string;
    Freight: number;
    Duty: number;
    Insurance: number;
    FreightTaxID: string;
    FreightTaxRate: number;
    FreightTaxAmount: number;
    DutyTaxID: string;
    DutyTaxRate: number;
    DutyTaxAmount: number;
    InsuranceTaxID: string;
    InsuranceTaxRate: number;
    InsuranceTaxAmount: number;
    FreightInc: number;
    DutyInc: number;
    InsuranceInc: number;
}

export class PurchaseInvoiceLine
{
    PurchaseInvoiceLineID: string;
    Quantity: number;
    InventoryID: string;
    PartNo: string;
    Aux2: string;
    Description: string;
    SupplierPartNo: string;
    PurchaseInvoiceLineType: InvoiceLineType;
    QuantityDecimalPlaces: number;
    LastSavedDateTime: string;
    TaxAmount: number;
    TaxID: string;
    TaxRate: number;
    Cost: number;
    CurrencyRateUsed: number;
    PurchasingClassificationID: string;
    PurchasingClassificationDescription: string;
    LineDetails: PurchaseInvoiceLineDetail[];
    UseSerialNo: boolean;
    FXCost: number;
    PhysicalItem: boolean;
    InventoryExpectedLiability_LedgerAccountID: string;
    InventoryExpectedLiability_LedgerAccountNo: string;
    InventoryExpectedLiability_LedgerAccountDescription: string;
    InventoryExpectedAsset_LedgerAccountID: string;
    InventoryExpectedAsset_LedgerAccountNo: string;
    InventoryExpectedAsset_LedgerAccountDescription: string;
    InventoryDeliveredAsset_LedgerAccountID: string;
    InventoryDeliveredAsset_LedgerAccountNo: string;
    InventoryDeliveredAsset_LedgerAccountDescription: string;
    InventoryValue_LedgerAccountID: string;
    InventoryValue_LedgerAccountNo: string;
    InventoryValue_LedgerAccountDescription: string;
    InventoryDeliveredLiability_LedgerAccountID: string;
    InventoryDeliveredLiability_LedgerAccountNo: string;
    InventoryDeliveredLiability_LedgerAccountDescription: string;
    InventoryCreditorPurchases_LedgerAccountID: string;
    InventoryCreditorPurchases_LedgerAccountNo: string;
    InventoryCreditorPurchases_LedgerAccountDescription: string;
    InventoryCostOfGoodsVariance_LedgerAccountID: string;
    InventoryCostOfGoodsVariance_LedgerAccountNo: string;
    InventoryCostOfGoodsVariance_LedgerAccountDescription: string;
    InventoryStockMovement_LedgerAccountID: string;
    InventoryStockMovement_LedgerAccountNo: string;
    InventoryStockMovement_LedgerAccountDescription: string;
    InventoryLastSavedDateTime: string;
    OrderUnits: number;
    ItemNo: number;
    IN_SupplierWarehouse_RecID: string;
    IncPrice: number;
    LineTotal: number;
    FXTotal: number;
    FXDecimalPlaces: number;
    HomeDecimalPlaces: number;
    UseExpiryDate: boolean;
    PostedToWIP: boolean;
    JobCostingStageID: string;
    JobCostingStageNo: string;
    JobCostingStageName: string;
    JobCostingCostCentreID: string;
    JobCostingCostCentreNo: string;
    JobCostingCostCentreName: string;
    JobCostingJobID: string;
    JobCostingJobNo: string;
    OrderNo: string;
    OrderID: string;
    PurchaseOrderLineNo: number;
    PurchaseOrderType: PurchaseOrderType;
    CustomFieldValues: CustomFieldValue[];
    LineTotalExTax: number;
    RE_Lines_SourceID: string;
}

export class PurchaseInvoiceGoodsReceivedNoteInvoiced
{
    GoodsReceivedNoteInvoicedID: string;
    GRNID: string;
    SlipNo: string;
    ReceivedDate: string;
    FreightTaxID: string;
    Freight: number;
    FreightTaxAmount: number;
    DutyTaxID: string;
    Duty: number;
    DutyTaxAmount: number;
    InsuranceTaxID: string;
    Insurance: number;
    InsuranceTaxAmount: number;
    RE_Main_LastSavedDateTime: string;
}

export class PurchaseInvoice
{
    PurchaseInvoiceID: string;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    LastSavedDateTime: string;
    InvoiceNo: string;
    InvoiceDate: string;
    Status: Statuses;
    Freight: number;
    Duty: number;
    Insurance: number;
    TaxTotal: number;
    FreightTaxID: string;
    FreightTaxRate: number;
    FreightTaxAmount: number;
    DutyTaxID: string;
    DutyTaxRate: number;
    DutyTaxAmount: number;
    InsuranceTaxID: string;
    InsuranceTaxRate: number;
    InsuranceTaxAmount: number;
    Lines: PurchaseInvoiceLine[];
    GoodsReceivedNotes: PurchaseInvoiceGoodsReceivedNoteInvoiced[];
    TotalGross: number;
    TotalNet: number;
    TotalFx: number;
    FreightInc: number;
    DutyInc: number;
    InsuranceInc: number;
    HomeDecimalPlaces: number;
    FXDecimalPlaces: number;
    TaxAdjustment: number;
    DueDate: string;
    CurrencyID: string;
    TotalNetOnInventoryReceivals: number;
    CustomFieldValues: CustomFieldValue[];
    Notes: Note[];
    Documents: Document[];
    LogicalWarehouseID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseID: string;
    PhysicalWarehouseDescription: string;
}

export class Region
{
    RegionID: string;
    Name: string;
    IsDefault: boolean;
    Description: string;
    CreatedDateTime: string;
    LastSavedDateTime: string;
    CreatedByStaff: StaffMember;
    LastSavedByStaff: StaffMember;
}

export interface IHttpResult
{
    Status?: number;
    StatusCode?: HttpStatusCode;
    StatusDescription?: string;
    ContentType?: string;
    Headers?: { [index:string]: string; };
    Cookies?: Cookie[];
    Response?: Object;
    ResponseFilter?: IContentTypeWriter;
    RequestContext?: IRequest;
    PaddingLength?: number;
    ResultScope?: Func<IDisposable>;
}

export class PaymentType
{
    PaymentTypeID: string;
    Name: string;
    Code: string;
    ItemNo: number;
    IsEnabled: boolean;
    IsDefault: boolean;
    IsCreditCard: boolean;
    IsPOS: boolean;
    GeneralLedgerAccount: Account;
}

export class SalesOrderPayment
{
    HistoryNo: number;
    PaymentType: PaymentType;
    AmountPaid: number;
    PaymentDate: string;
    ProcessPayment: boolean;
    AuthorisationStatus: PaymentAuthStatuses;
    PaymentGatewayReturnCode: number;
    Processed: boolean;
    CardExpiry: string;
    PaymentID: string;
    PaymentRef: string;
    AuthorisationNumber: string;
    PaymentGatewayReturnMessage: string;
    CardNumber: string;
    CardHolder: string;
    BankName: string;
    BSBN: string;
    BankAcc: string;
    AccountName: string;
}

export class SalesOrderLineDetail
{
    Cost: number;
    DateIn: string;
    ExpiryDate: string;
    SpecialPrice: number;
    Quantity: number;
    LineDetailID: string;
    BinLocation: string;
    SerialNo: string;
    SOHID: string;
    IN_LogicalID: string;
}

export class SalesOrderLine
{
    ItemNo: number;
    CommentLine: boolean;
    QuantityOrdered: number;
    QuantityDemand: number;
    QuantityThisDel: number;
    QuantityBackOrd: number;
    Picked: boolean;
    PriceExGst: number;
    PriceIncGst: number;
    DiscountedPrice: number;
    TaxToCharge: number;
    TaxRate: TaxRate;
    UnitCost: number;
    FixSellPrice: boolean;
    FixPrice: boolean;
    UserDefinedFloat1: number;
    UserDefinedFloat2: number;
    UserDefinedFloat3: number;
    ForwardOrderDate: string;
    ScheduledDate: string;
    LineTotal: number;
    Weight: number;
    Cubic: number;
    QuotedDiscountedPrice: number;
    QuotedDiscountPercentage: number;
    DiscountedPercentage: number;
    DiscountGiven: number;
    QuantityDecimalPlaces: number;
    QuantityOriginalOrdered: number;
    SalesOrderSerialStockSelectionTypes: SalesOrderSerialStockSelectionTypesEnum;
    NonInventory: boolean;
    InvoiceLineID: string;
    InventoryID: string;
    PartNo: string;
    Description: string;
    CommentText: string;
    Aux2: string;
    LineLinkID: string;
    EDIStoreLocationCode: string;
    EDIDCLocationCode: string;
    CostCenter: string;
    Stage: string;
    CustomFieldValues: CustomFieldValue[];
    LineDetails: SalesOrderLineDetail[];
    ShippingLabels: SalesOrderShippingLabel[];
    UnitOfMeasure: InventoryUnitOfMeasure;
    KitLineType: SalesOrderKitLineTypesEnum;
    KitUnits: number;
    KitHeaderLineID: string;
}

export class SalesOrderHistory
{
    InvoiceHistoryID: string;
    HistoryNo: number;
    Status: SalesOrderHistoryStatuses;
    EDIPickStatus: SalesOrderHistoryEDIPickStatuses;
    DBTransID: string;
    Ref: string;
    LastModifiedBy: string;
    HistoryTotal: number;
    AmountPaid: number;
    TotalQuantityDelivered: number;
    RunNo: string;
    Delivered: boolean;
    DeliveredDate: string;
    RecordDate: string;
    DateCreated: string;
    DateLastSaved: string;
    DatePosted: string;
    DateProcessed: string;
    InvoicePrinted: boolean;
    DocketPrinted: boolean;
    PackSlipPrinted: boolean;
    PickSheetPrinted: boolean;
    OtherPrinted: boolean;
    InvoiceEmailed: boolean;
    DocketEmailed: boolean;
    PackSlipEmailed: boolean;
    PickSheetEmailed: boolean;
    OtherEmailed: boolean;
    DeliveryAddressContactName: string;
    DeliveryAddressee: string;
    DeliveryAddressEmailAddress: string;
    DeliveryAddress1: string;
    DeliveryAddress2: string;
    DeliveryAddress3: string;
    DeliveryAddress4: string;
    DeliveryAddressPostcode: string;
    DeliveryAddressCountry: string;
    Notes: string;
    CourierDetails: string;
    FreightForwardAddress1: string;
    FreightForwardAddress2: string;
    FreightForwardAddress3: string;
    FreightForwardAddress4: string;
    FreightForwardAddressCountry: string;
    FreightForwardAddressNotes: string;
    ConsignmentNote: string;
    EDIASNNumber: string;
    DropShipment: boolean;
    CartageCharge1: CartageCharge;
    CartageCharge2: CartageCharge;
    CartageCharge3: CartageCharge;
    Carrier: SalesOrderCarrier;
    CustomFieldValues: CustomFieldValue[];
}

export class SalesOrder
{
    Type: string;
    SystemSettings: SalesOrderSystemSettings;
    LastSavedDateTime: string;
    InitiatedDate: string;
    InvoiceInitDate: string;
    SalesOrderType: SalesOrderTypes;
    OrderType: SalesOrderOrderTypes;
    Status: SalesOrderStatuses;
    EDIStatus: SalesOrderHistoryEDIPickStatuses;
    BillType: SalesOrderBillTypes;
    ExpectedDeliveryDate: string;
    DeliveredDate: string;
    Delivered: boolean;
    EDIPickStatus: SalesOrderHistoryEDIPickStatuses;
    EDIOrderType: SalesOrderEDIOrderTypes;
    EDIDeliverNotBeforeDate: string;
    EDIDeliverNotAfterDate: string;
    CashSales: SalesOrderCashSales;
    DropShipment: boolean;
    Cartage1ExGst: number;
    Cartage1GstRate: number;
    Cartage1Gst: number;
    Cartage2ExGst: number;
    Cartage2GstRate: number;
    Cartage2Gst: number;
    Cartage3ExGst: number;
    Cartage3GstRate: number;
    Cartage3Gst: number;
    RCTIAmount: number;
    RCTIDate: string;
    JobCosting: SalesOrderJobCosting;
    InvoiceID: string;
    InvoiceNo: string;
    LogicalID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseDescription: string;
    CreditNote: boolean;
    StaffID: string;
    StaffUserName: string;
    StaffTitle: string;
    StaffFirstName: string;
    StaffSurname: string;
    BranchID: string;
    BranchDescription: string;
    BranchName: string;
    OrderNo: string;
    SOReference: string;
    SenderEDIAddress: string;
    ReceiverEDIAddress: string;
    EDIVendorNumber: string;
    EDIBuyerNumber: string;
    DebtorID: string;
    DebtorAccountNo: string;
    DebtorName: string;
    DebtorEmailAddress: string;
    DebtorContactName: string;
    EDIASN: string;
    DeliveryAddressee: string;
    DeliveryAddress1: string;
    DeliveryAddress2: string;
    DeliveryAddressSuburb: string;
    DeliveryAddressState: string;
    DeliveryAddressContactName: string;
    DeliveryAddressPostcode: string;
    DeliveryAddressCountry: string;
    DeliveryAddressNotes: string;
    DeliveryAddressCourierDetails: string;
    RCTINo: string;
    CustomFieldValues: CustomFieldValue[];
    Notes: Note[];
    Documents: Document[];
    Payments: SalesOrderPayment[];
    Lines: SalesOrderLine[];
    Histories: SalesOrderHistory[];
    ASNs: SalesOrderASN[];
}

export class SalesQuoteLine
{
    ItemNo: number;
    QuoteLineID: string;
    InventoryID: string;
    PartNo: string;
    Description: string;
    CommentLine: boolean;
    CommentText: string;
    QuantityOrdered: number;
    PriceExGst: number;
    PriceIncGst: number;
    DiscountedPrice: number;
    TaxToCharge: number;
    TaxRate: number;
    UnitCost: number;
    LineLinkID: string;
    FixSellPrice: boolean;
    UserDefinedFloat1: number;
    UserDefinedFloat2: number;
    UserDefinedFloat3: number;
    LineTotal: number;
    Weight: number;
    Cubic: number;
    DiscountedPercentage: number;
    DiscountGiven: number;
    QuantityDecimalPlaces: number;
    QuantityOriginalOrdered: number;
    NonInventory: boolean;
    CustomFieldValues: CustomFieldValue[];
    KitLineType: SalesQuoteKitLineTypesEnum;
    KitUnits: number;
    KitHeaderLineID: string;
}

export class SalesQuoteHistory
{
    QuoteHistoryID: string;
    HistoryNo: number;
    SalesStage: SalesStage;
    CartageCharge1: CartageCharge;
    CartageCharge2: CartageCharge;
    CartageCharge3: CartageCharge;
    OpportunityStatusReason: OpportunityStatusReason;
    Ref: string;
    LastModifiedBy: string;
    HistoryTotal: number;
    RecordDate: string;
    ExpiryDate: string;
    ExpiryDays: number;
    DocketPrinted: boolean;
    DelAddress1: string;
    DelAddress2: string;
    DelAddress3: string;
    DelAddress4: string;
    PostCode: string;
    DeliveryAddressCountry: string;
    Notes: string;
    CourierDetails: string;
    FreightForwardAddress1: string;
    FreightForwardAddress2: string;
    FreightForwardAddress3: string;
    FreightForwardAddress4: string;
    FreightForwardAddressCountry: string;
    FreightForwardNotes: string;
    InvoicePrinted: boolean;
    DelContactName: string;
    ExpectedCloseDate: string;
    OpportunityStatus: StatusTypes;
    OpportunityNote: string;
    InvoiceEmailed: boolean;
    DropShipment: boolean;
    DeliveryAddressee: string;
}

export class SalesQuote
{
    Type: string;
    SystemSettings: SalesQuoteSettings;
    LastSavedDateTime: string;
    QuoteID: string;
    QuoteNo: string;
    LogicalID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseDescription: string;
    StaffID: string;
    StaffUserName: string;
    StaffTitle: string;
    StaffFirstName: string;
    StaffSurname: string;
    BranchID: string;
    BranchName: string;
    BranchDescription: string;
    InitiatedDate: string;
    InvoiceInitDate: string;
    OrderNo: string;
    TaxExemptionNo: string;
    SOReference: string;
    SalesQuoteType: e_SalesQuoteTypes;
    OrderType: e_SalesQuoteOrderTypes;
    Status: e_SalesQuoteStatuses;
    BillType: e_SalesQuoteBillTypes;
    ExpectedDeliveryDate: string;
    DebtorID: string;
    DebtorAccountNo: string;
    DebtorName: string;
    DebtorEmailAddress: string;
    DebtorContactName: string;
    DeliveryAddressee: string;
    DeliveryAddress1: string;
    DeliveryAddress2: string;
    DeliveryAddressSuburb: string;
    DeliveryAddressState: string;
    DeliveryAddressContactName: string;
    DeliveryAddressPostcode: string;
    DeliveryAddressCountry: string;
    DeliveryAddressNotes: string;
    DeliveryAddressCourierDetails: string;
    DropShipment: boolean;
    Cartage1ExGst: number;
    Cartage1GstRate: number;
    Cartage1Gst: number;
    Cartage2ExGst: number;
    Cartage2GstRate: number;
    Cartage2Gst: number;
    Cartage3ExGst: number;
    Cartage3GstRate: number;
    Cartage3Gst: number;
    CustomFieldValues: CustomFieldValue[];
    Notes: Note[];
    Documents: Document[];
    Lines: SalesQuoteLine[];
    Histories: SalesQuoteHistory[];
    CashSales: SalesQuoteCashSales;
    JobCosting: SalesQuoteJobCosting;
}

export class StaffCurrentUserGETResponse
{
    SessionID: string;
    IPAddress: string;
    Username: string;
    StaffID: string;
    LoginDateTime: string;
    DurationDays: number;
    DurationHours: number;
    DurationMinutes: number;
    DurationSeconds: number;
    RequestCount: number;
    ConcurrentRequestCount: number;
    MaxConcurrentRequestCount: number;
}

// @DataContract
export class QueryResponse<T>
{
    // @DataMember(Order=1)
    Offset: number;

    // @DataMember(Order=2)
    Total: number;

    // @DataMember(Order=3)
    Results: T[];

    // @DataMember(Order=4)
    Meta: { [index:string]: string; };

    // @DataMember(Order=5)
    ResponseStatus: ResponseStatus;
}

export class StockTransfer
{
    TransferID: string;
    TransferNo: string;
    Status: Statuses;
    TransferDate: string;
    Reference: string;
    LogicalWarehouseID: string;
    LogicalWarehouseDescription: string;
    PhysicalWarehouseID: string;
    PhysicalWarehouseDescription: string;
    LastSavedByStaffID: string;
    LastSavedByStaffUserName: string;
    LastSavedByStaffTitle: string;
    LastSavedByStaffFirstName: string;
    LastSavedByStaffSurname: string;
    LastSavedDateTime: string;
    CreatedByStaffID: string;
    CreatedByStaffUserName: string;
    CreatedByStaffTitle: string;
    CreatedByStaffFirstName: string;
    CreatedByStaffSurname: string;
    CreatedDateTime: string;
    Lines: StockTransferLine[];
    Notes: Note[];
    Documents: Document[];
    CustomFieldValues: CustomFieldValue[];
    StockTransferReasonRecID: string;
    StockTransferReasonName: string;
    StockTransferReasonIsDefault: boolean;
    StockTransferReasonWriteOffLedgerAccountOverride: boolean;
    StockTransferReasonWriteOffLedgerAccountRecID: string;
    StockTransferReasonWriteOffLedgerAccountNo: string;
    StockTransferReasonWriteOffLedgerAccountDescription: string;
    StockTransferReasonWriteOnLedgerAccountOverride: boolean;
    StockTransferReasonWriteOnLedgerAccountRecID: string;
    StockTransferReasonWriteOnLedgerAccountNo: string;
    StockTransferReasonWriteOnLedgerAccountDescription: string;
}

export class Credit
{
    RecID: string;
    CreditNo: string;
    CreditorRef: string;
    Status: CreditStatuses;
    LastSavedDateTime: string;
    CreatedBy: StaffMember;
    CreditDate: string;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    RowHash: Uint8Array;
    Documents: Document[];
    Notes: Note[];
    CustomFieldValues: CustomFieldValue[];
    Lines: Line[];
    Shippings: ShippingEntity[];
    PurchaseOrders: PurchaseOrder[];
}

export class Shipping
{
    RecID: string;
    ShippingNo: string;
    RANumber: string;
    Reference: string;
    Status: ShippingStatuses;
    ReturnCode: ReturnCode;
    CreatedBy: StaffMember;
    CreditorID: string;
    CreditorAccountNo: string;
    CreditorName: string;
    ContactName: string;
    RowHash: Uint8Array;
    LastSavedDateTime: string;
    CourierDetails: string;
    ShippingDate: string;
    Lines: Line[];
    CustomFieldValues: CustomFieldValue[];
    Documents: Document[];
    Notes: Note[];
    Requests: RequestEntity[];
    Credits: CreditEntity[];
    PurchaseOrders: PurchaseOrder[];
}

export class SystemInformationGETResponse
{
    JiwaVersion: string;
    SQLServerDateTime: string;
}

export class WarehouseTransferOutLine
{
    WarehouseTransferOutLineID: string;
    ItemNo: number;
    InventoryID: string;
    PartNo: string;
    Description: string;
    DecimalPlaces: number;
    QuantityWanted: number;
    QuantityTransferred: number;
    QuantityBackOrdered: number;
    Cost: number;
    Ref: string;
    BackOrderID: string;
    PurchaseOrderID: string;
    PurchaseOrderLineID: string;
    TotalCostTransferred: number;
    TotalCostReceived: number;
    AddedCostLedger1RecID: string;
    AddedCostLedger1AccountNo: string;
    AddedCostLedger1Description: string;
    AddedCostLedger2RecID: string;
    AddedCostLedger2AccountNo: string;
    AddedCostLedger2Description: string;
    AddedCostLedger3RecID: string;
    AddedCostLedger3AccountNo: string;
    AddedCostLedger3Description: string;
    LineDetails: WarehouseTransferOutLineDetail[];
}

export class WarehouseTransferOut
{
    WarehouseTransferOutID: string;
    LastSavedDateTime: string;
    TransferDate: string;
    ActivatedDate: string;
    Status: Statuses;
    CreatedByStaffID: string;
    CreatedByStaffUserName: string;
    CreatedByStaffTitle: string;
    CreatedByStaffFirstName: string;
    CreatedByStaffSurname: string;
    Source: string;
    SourceType: SourceTypes;
    SourceID: string;
    SourceNo: string;
    Notes: string;
    SourceWarehouseID: string;
    SourceWarehouseLogicalDescription: string;
    SourceWarehousePhysicalDescription: string;
    SourceWarehouseMask: string;
    DestinationWarehouseID: string;
    DestinationWarehouseLogicalDescription: string;
    DestinationWarehousePhysicalDescription: string;
    DestinationWarehouseMask: string;
    TransferNo: string;
    UseInTransit: boolean;
    TransitNotes: string;
    InTransitWarehouseID: string;
    InTransitWarehouseLogicalDescription: string;
    InTransitWarehousePhysicalDescription: string;
    InTransitWarehouseMask: string;
    AddedCost1: number;
    AddedCost2: number;
    AddedCost3: number;
    PickedByStaffID: string;
    PickedByStaffUserName: string;
    PickedByStaffTitle: string;
    PickedByStaffFirstName: string;
    PickedByStaffSurname: string;
    AddedCostMethodName: string;
    TransferredCost: number;
    TotalCost: number;
    ReceiveIns: WarehouseTransferOutReceiveIn[];
    Lines: WarehouseTransferOutLine[];
}

export class WarehouseTransferInLine
{
    WarehouseTransferInLineID: string;
    ItemNo: number;
    InventoryID: string;
    PartNo: string;
    Description: string;
    DecimalPlaces: number;
    QuantityWanted: number;
    QuantityTransferred: number;
    QuantityBackOrdered: number;
    QuantityReceived: number;
    Cost: number;
    Ref: string;
    BackOrderID: string;
    PurchaseOrderID: string;
    PurchaseOrderLineID: string;
    TotalCostTransferred: number;
    TotalCostReceived: number;
    AddedCostLedger1RecID: string;
    AddedCostLedger1AccountNo: string;
    AddedCostLedger1Description: string;
    AddedCostLedger2RecID: string;
    AddedCostLedger2AccountNo: string;
    AddedCostLedger2Description: string;
    AddedCostLedger3RecID: string;
    AddedCostLedger3AccountNo: string;
    AddedCostLedger3Description: string;
    LineDetails: WarehouseTransferInLineDetail[];
}

export class WarehouseTransferIn
{
    WarehouseTransferInID: string;
    WarehouseTransferOutID: string;
    LastSavedDateTime: string;
    TransferDate: string;
    ActivatedDate: string;
    Status: Statuses;
    CreatedByStaffID: string;
    CreatedByStaffUserName: string;
    CreatedByStaffTitle: string;
    CreatedByStaffFirstName: string;
    CreatedByStaffSurname: string;
    Source: string;
    SourceType: SourceTypes;
    SourceID: string;
    SourceNo: string;
    Notes: string;
    SourceWarehouseID: string;
    SourceWarehouseLogicalDescription: string;
    SourceWarehousePhysicalDescription: string;
    SourceWarehouseMask: string;
    DestinationWarehouseID: string;
    DestinationWarehouseLogicalDescription: string;
    DestinationWarehousePhysicalDescription: string;
    DestinationWarehouseMask: string;
    TransferNo: string;
    UseInTransit: boolean;
    TransitNotes: string;
    InTransitWarehouseID: string;
    InTransitWarehouseLogicalDescription: string;
    InTransitWarehousePhysicalDescription: string;
    InTransitWarehouseMask: string;
    AddedCost1: number;
    AddedCost2: number;
    AddedCost3: number;
    PickedByStaffID: string;
    PickedByStaffUserName: string;
    PickedByStaffTitle: string;
    PickedByStaffFirstName: string;
    PickedByStaffSurname: string;
    AddedCostMethodName: string;
    TransferredCost: number;
    TotalCost: number;
    ReceiveIns: WarehouseTransferInReceiveIn[];
    Lines: WarehouseTransferInLine[];
}

export class SY_WebhookSubscriber
{
    // @Required()
    RecID: string;

    // @Required()
    Name: string;

    // @Required()
    IsEnabled: boolean;

    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

// @Route("/Queries/SY_WebhookSubscription", "GET")
export class SY_WebhookSubscription
{
    // @Required()
    RecID: string;

    // @References(typeof(SY_WebhookSubscriber))
    // @Required()
    SY_WebhookSubscriber_RecID: string;

    // @Required()
    EventName: string;

    // @Required()
    URL: string;

    // @Required()
    ItemNo: number;

    // @Required()
    LastSavedDateTime: string;

    // @Required()
    RowHash: Uint8Array;
}

export class WebhookSubscriber extends SY_WebhookSubscriber
{
    Subscriptions: SY_WebhookSubscription[];
}

// @DataContract
export class AuthenticateResponse
{
    // @DataMember(Order=1)
    UserId: string;

    // @DataMember(Order=2)
    SessionId: string;

    // @DataMember(Order=3)
    UserName: string;

    // @DataMember(Order=4)
    DisplayName: string;

    // @DataMember(Order=5)
    ReferrerUrl: string;

    // @DataMember(Order=6)
    BearerToken: string;

    // @DataMember(Order=7)
    RefreshToken: string;

    // @DataMember(Order=8)
    ResponseStatus: ResponseStatus;

    // @DataMember(Order=9)
    Meta: { [index:string]: string; };
}

// @Route("/auth/logout", "GET")
// @ApiResponse(Description="logged out OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LogoutGetRequest implements IReturn<LogoutGetResponse>
{
    createResponse() { return new LogoutGetResponse(); }
    getTypeName() { return "LogoutGetRequest"; }
}

// @Route("/login")
export class LoginGetRequest implements IReturn<LoginGetResponse>
{
    redirect: string;
    createResponse() { return new LoginGetResponse(); }
    getTypeName() { return "LoginGetRequest"; }
}

// @Route("/Bills/{BillID}", "GET")
// @ApiResponse(Description="No bill record with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillGETRequest implements IReturn<Bill>
{
    BillID: string;
    createResponse() { return new Bill(); }
    getTypeName() { return "BillGETRequest"; }
}

// @Route("/Bills", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillPOSTRequest extends Bill implements IReturn<Bill>
{
    createResponse() { return new Bill(); }
    getTypeName() { return "BillPOSTRequest"; }
}

// @Route("/Bills/{BillID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No bill record with the BillID provided was found", StatusCode=404)
export class BillPATCHRequest extends Bill implements IReturn<Bill>
{
    BillID: string;
    createResponse() { return new Bill(); }
    getTypeName() { return "BillPATCHRequest"; }
}

// @Route("/Bills/{BillID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No bill record with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillDELETERequest
{
    BillID: string;
}

// @Route("/Bills/{BillID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill record with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    BillID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "BillCustomFieldValuesGETManyRequest"; }
}

// @Route("/Bills/{BillID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="No bill custom field value with the BillID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    BillID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillCustomFieldValueGETRequest"; }
}

// @Route("/Bills/{BillID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No bill custom field value with the BillID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    BillID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillCustomFieldValuePATCHRequest"; }
}

// @Route("/Bills/CustomFields", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "BillCustomFieldsGETManyRequest"; }
}

// @Route("/Bills/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No custom field with the SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "BillCustomFieldGETRequest"; }
}

// @Route("/Bills/DocumentTypes/{DocumentTypeID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No bill document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillDocumentTypeGETRequest implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "BillDocumentTypeGETRequest"; }
}

// @Route("/Bills/DocumentTypes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillDocumentTypesGETManyRequest implements IReturn<Array<DocumentType>>
{
    createResponse() { return new Array<DocumentType>(); }
    getTypeName() { return "BillDocumentTypesGETManyRequest"; }
}

// @Route("/Bills/DocumentTypes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillDocumentTypePOSTRequest extends DocumentType implements IReturn<DocumentType>
{
    createResponse() { return new DocumentType(); }
    getTypeName() { return "BillDocumentTypePOSTRequest"; }
}

// @Route("/Bills/DocumentTypes/{DocumentTypeID}", "PATCH")
// @ApiResponse(Description="No bill document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillDocumentTypePATCHRequest extends DocumentType implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "BillDocumentTypePATCHRequest"; }
}

// @Route("/Bills/DocumentTypes/{DocumentTypeID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No bill document type with the DocumentTypeID provided was found", StatusCode=404)
export class BillDocumentTypeDELETERequest
{
    DocumentTypeID: string;
}

// @Route("/Bills/{BillID}/Documents/{DocumentID}", "GET")
// @ApiResponse(Description="No bill document with the BillID or DocumentID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillDocumentGETRequest implements IReturn<Document>
{
    BillID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "BillDocumentGETRequest"; }
}

// @Route("/Bills/{BillID}/Documents", "GET")
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillDocumentsGETManyRequest implements IReturn<Array<Document>>
{
    BillID: string;
    createResponse() { return new Array<Document>(); }
    getTypeName() { return "BillDocumentsGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Documents", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class BillDocumentPOSTRequest extends Document implements IReturn<Document>
{
    BillID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "BillDocumentPOSTRequest"; }
}

// @Route("/Bills/{BillID}/Documents/{DocumentID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
export class BillDocumentPATCHRequest extends Document implements IReturn<Document>
{
    BillID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "BillDocumentPATCHRequest"; }
}

// @Route("/Bills/{BillID}/Documents/{DocumentID}", "DELETE")
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillDocumentDELETERequest
{
    BillID: string;
    DocumentID: string;
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Inputs/{InputID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill stage input BillID, StageID or InputID provided was found", StatusCode=404)
export class BillInputCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    BillID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "BillInputCustomFieldValuesGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Inputs/{InputID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="No bill stage input custom field Value with the BillID, StageID, InputID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillInputCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    BillID: string;
    StageID: string;
    InputID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillInputCustomFieldValueGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Inputs/{InputID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill stage input custom field Value with the BillID, StageID, InputID or SettingID provided was found", StatusCode=404)
export class BillInputCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    BillID: string;
    StageID: string;
    InputID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillInputCustomFieldValuePATCHRequest"; }
}

// @Route("/Bills/Inputs/CustomFields", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillInputCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "BillInputCustomFieldsGETManyRequest"; }
}

// @Route("/Bills/Inputs/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillInputCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "BillInputCustomFieldGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Inputs/{InputID}", "GET")
// @ApiResponse(Description="No bill stage input with the BillID, StageID, or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillInputGETRequest implements IReturn<BillInput>
{
    BillID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new BillInput(); }
    getTypeName() { return "BillInputGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Inputs", "GET")
// @ApiResponse(Description="No bill stage inputs with the BillID or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillInputsGETManyRequest implements IReturn<Array<BillInput>>
{
    BillID: string;
    StageID: string;
    createResponse() { return new Array<BillInput>(); }
    getTypeName() { return "BillInputsGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Inputs", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No bill stage input with the BillID, StageID or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillInputPOSTRequest extends BillInput implements IReturn<BillInput>
{
    BillID: string;
    StageID: string;
    createResponse() { return new BillInput(); }
    getTypeName() { return "BillInputPOSTRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Inputs/{InputID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill stage input with the BillID, StageID, or InputID provided was found", StatusCode=404)
export class BillInputPATCHRequest extends BillInput implements IReturn<BillInput>
{
    BillID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new BillInput(); }
    getTypeName() { return "BillInputPATCHRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Inputs/{InputID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No bill stage input with the BillID, StageID, or InputID provided was found", StatusCode=404)
export class BillInputDELETERequest
{
    BillID: string;
    StageID: string;
    InputID: string;
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Instructions/{InstructionID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill stage instruction BillID, StageID or InstructionID provided was found", StatusCode=404)
export class BillInstructionCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    BillID: string;
    StageID: string;
    InstructionID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "BillInstructionCustomFieldValuesGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Instructions/{InstructionID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No bill stage instruction custom field Value with the BillID, StageID, InstructionID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillInstructionCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    BillID: string;
    StageID: string;
    InstructionID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillInstructionCustomFieldValueGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Instructions/{InstructionID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill stage instruction custom field Value with the BillID, StageID, InstructionID or SettingID provided was found", StatusCode=404)
export class BillInstructionCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    BillID: string;
    StageID: string;
    InstructionID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillInstructionCustomFieldValuePATCHRequest"; }
}

// @Route("/Bills/Instructions/CustomFields", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillInstructionCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "BillInstructionCustomFieldsGETManyRequest"; }
}

// @Route("/Bills/Instructions/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillInstructionCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "BillInstructionCustomFieldGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Instructions/{InstructionID}", "GET")
// @ApiResponse(Description="No bill stage instruction with the BillID, StageID, or InstructionID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillInstructionGETRequest implements IReturn<BillInstruction>
{
    BillID: string;
    StageID: string;
    InstructionID: string;
    createResponse() { return new BillInstruction(); }
    getTypeName() { return "BillInstructionGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Instructions", "GET")
// @ApiResponse(Description="No bill stage instructions with the BillID or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillInstructionsGETManyRequest implements IReturn<Array<BillInstruction>>
{
    BillID: string;
    StageID: string;
    createResponse() { return new Array<BillInstruction>(); }
    getTypeName() { return "BillInstructionsGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Instructions", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No bill stage instruction with the BillID, StageID or InstructionID provided was found", StatusCode=404)
export class BillInstructionPOSTRequest extends BillInstruction implements IReturn<BillInstruction>
{
    BillID: string;
    StageID: string;
    createResponse() { return new BillInstruction(); }
    getTypeName() { return "BillInstructionPOSTRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Instructions/{InstructionID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill stage instruction with the BillID, StageID, or InstructionID provided was found", StatusCode=404)
export class BillInstructionPATCHRequest extends BillInstruction implements IReturn<BillInstruction>
{
    BillID: string;
    StageID: string;
    InstructionID: string;
    createResponse() { return new BillInstruction(); }
    getTypeName() { return "BillInstructionPATCHRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/Instructions/{InstructionID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill stage instruction with the BillID, StageID, or InstructionID provided was found", StatusCode=404)
export class BillInstructionDELETERequest
{
    BillID: string;
    StageID: string;
    InstructionID: string;
}

// @Route("/Bills/NoteTypes/{NoteTypeID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillNoteTypeGETRequest implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "BillNoteTypeGETRequest"; }
}

// @Route("/Bills/NoteTypes", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillNoteTypesGETManyRequest implements IReturn<Array<NoteType>>
{
    createResponse() { return new Array<NoteType>(); }
    getTypeName() { return "BillNoteTypesGETManyRequest"; }
}

// @Route("/Bills/NoteTypes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillNoteTypePOSTRequest extends NoteType implements IReturn<NoteType>
{
    createResponse() { return new NoteType(); }
    getTypeName() { return "BillNoteTypePOSTRequest"; }
}

// @Route("/Bills/NoteTypes/{NoteTypeID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill note type with the NoteTypeID provided was found", StatusCode=404)
export class BillNoteTypePATCHRequest extends NoteType implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "BillNoteTypePATCHRequest"; }
}

// @Route("/Bills/NoteTypes/{NoteTypeID}", "DELETE")
// @ApiResponse(Description="No bill note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class BillNoteTypeDELETERequest
{
    NoteTypeID: string;
}

// @Route("/Bills/{BillID}/Notes/{NoteID}", "GET")
// @ApiResponse(Description="No bill note with the BillID or NoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillNoteGETRequest implements IReturn<Note>
{
    BillID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "BillNoteGETRequest"; }
}

// @Route("/Bills/{BillID}/Notes", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillNotesGETManyRequest implements IReturn<Array<Note>>
{
    BillID: string;
    createResponse() { return new Array<Note>(); }
    getTypeName() { return "BillNotesGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Notes", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillNotePOSTRequest extends Note implements IReturn<Note>
{
    BillID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "BillNotePOSTRequest"; }
}

// @Route("/Bills/{BillID}/Notes/{NoteID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillNotePATCHRequest extends Note implements IReturn<Note>
{
    BillID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "BillNotePATCHRequest"; }
}

// @Route("/Bills/{BillID}/Notes/{NoteID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillNoteDELETERequest
{
    BillID: string;
    NoteID: string;
}

// @Route("/Bills/{BillID}/Outputs/{OutputID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill output output BillID or OutputID provided was found", StatusCode=404)
export class BillOutputCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    BillID: string;
    OutputID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "BillOutputCustomFieldValuesGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Outputs/{OutputID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No bill output output custom field Value with the BillID, OutputID or SettingID provided was found", StatusCode=404)
export class BillOutputCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    BillID: string;
    OutputID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillOutputCustomFieldValueGETRequest"; }
}

// @Route("/Bills/{BillID}/Outputs/{OutputID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill output custom field value with the BillID, OutputID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillOutputCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    BillID: string;
    OutputID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillOutputCustomFieldValuePATCHRequest"; }
}

// @Route("/Bills/Outputs/CustomFields", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillOutputCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "BillOutputCustomFieldsGETManyRequest"; }
}

// @Route("/Bills/Outputs/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillOutputCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "BillOutputCustomFieldGETRequest"; }
}

// @Route("/Bills/{BillID}/Outputs/{OutputID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill output with the BillID or OutputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillOutputGETRequest implements IReturn<BillOutput>
{
    BillID: string;
    OutputID: string;
    createResponse() { return new BillOutput(); }
    getTypeName() { return "BillOutputGETRequest"; }
}

// @Route("/Bills/{BillID}/Outputs", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No bill record with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillOutputsGETManyRequest implements IReturn<Array<BillOutput>>
{
    BillID: string;
    createResponse() { return new Array<BillOutput>(); }
    getTypeName() { return "BillOutputsGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Outputs", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillOutputPOSTRequest extends BillOutput implements IReturn<BillOutput>
{
    BillID: string;
    createResponse() { return new BillOutput(); }
    getTypeName() { return "BillOutputPOSTRequest"; }
}

// @Route("/Bills/{BillID}/Outputs/{OutputID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill record with the BillID, or OutputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillOutputPATCHRequest extends BillOutput implements IReturn<BillOutput>
{
    BillID: string;
    OutputID: string;
    createResponse() { return new BillOutput(); }
    getTypeName() { return "BillOutputPATCHRequest"; }
}

// @Route("/Bills/{BillID}/Outputs/{OutputID}", "DELETE")
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillOutputDELETERequest
{
    BillID: string;
    OutputID: string;
}

// @Route("/Bills/{BillID}/Stages/{StageID}/CustomFieldValues", "GET")
// @ApiResponse(Description="No bill stage stage BillID or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillStageCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    BillID: string;
    StageID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "BillStageCustomFieldValuesGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill stage stage custom field Value with the BillID, StageID or SettingID provided was found", StatusCode=404)
export class BillStageCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    BillID: string;
    StageID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillStageCustomFieldValueGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="No bill stage custom field value with the BillID, StageID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillStageCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    BillID: string;
    StageID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "BillStageCustomFieldValuePATCHRequest"; }
}

// @Route("/Bills/Stages/CustomFields", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillStageCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "BillStageCustomFieldsGETManyRequest"; }
}

// @Route("/Bills/Stages/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class BillStageCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "BillStageCustomFieldGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}", "GET")
// @ApiResponse(Description="No bill stage with the BillID or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillStageGETRequest implements IReturn<BillStage>
{
    BillID: string;
    StageID: string;
    createResponse() { return new BillStage(); }
    getTypeName() { return "BillStageGETRequest"; }
}

// @Route("/Bills/{BillID}/Stages", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill record with the BillID provided was found", StatusCode=404)
export class BillStagesGETManyRequest implements IReturn<Array<BillStage>>
{
    BillID: string;
    createResponse() { return new Array<BillStage>(); }
    getTypeName() { return "BillStagesGETManyRequest"; }
}

// @Route("/Bills/{BillID}/Stages", "POST")
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BillStagePOSTRequest extends BillStage implements IReturn<BillStage>
{
    BillID: string;
    createResponse() { return new BillStage(); }
    getTypeName() { return "BillStagePOSTRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}", "PATCH")
// @ApiResponse(Description="No bill record with the BillID, or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class BillStagePATCHRequest extends BillStage implements IReturn<BillStage>
{
    BillID: string;
    StageID: string;
    createResponse() { return new BillStage(); }
    getTypeName() { return "BillStagePATCHRequest"; }
}

// @Route("/Bills/{BillID}/Stages/{StageID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No bill with the BillID provided was found", StatusCode=404)
export class BillStageDELETERequest
{
    BillID: string;
    StageID: string;
}

// @Route("/Carriers/{CarrierID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Carrier with the CarrierID provided was found", StatusCode=404)
export class CarrierGETRequest implements IReturn<Carrier>
{
    CarrierID: string;
    createResponse() { return new Carrier(); }
    getTypeName() { return "CarrierGETRequest"; }
}

// @Route("/Carriers", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CarrierPOSTRequest extends Carrier implements IReturn<Carrier>
{
    createResponse() { return new Carrier(); }
    getTypeName() { return "CarrierPOSTRequest"; }
}

// @Route("/Carriers/{CarrierID}", "PATCH")
// @ApiResponse(Description="No carrier with the CarrierID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CarrierPATCHRequest extends Carrier implements IReturn<Carrier>
{
    CarrierID: string;
    createResponse() { return new Carrier(); }
    getTypeName() { return "CarrierPATCHRequest"; }
}

// @Route("/Carriers/{CarrierID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No carrier with the CarrierID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class CarrierDELETERequest
{
    CarrierID: string;
}

// @Route("/Carriers/{CarrierID}/Services/{ServiceID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No service with the CarrierID or ServiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class CarrierServiceGETRequest implements IReturn<CarrierService>
{
    CarrierID: string;
    ServiceID: string;
    createResponse() { return new CarrierService(); }
    getTypeName() { return "CarrierServiceGETRequest"; }
}

// @Route("/Carriers/{CarrierID}/Services", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No service with the CarrierID provided was found", StatusCode=404)
export class CarrierServicesGETManyRequest implements IReturn<Array<CarrierService>>
{
    CarrierID: string;
    createResponse() { return new Array<CarrierService>(); }
    getTypeName() { return "CarrierServicesGETManyRequest"; }
}

// @Route("/Carriers/{CarrierID}/Services", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No service with the CarrierID or ServiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CarrierServicePOSTRequest extends CarrierService implements IReturn<CarrierService>
{
    CarrierID: string;
    createResponse() { return new CarrierService(); }
    getTypeName() { return "CarrierServicePOSTRequest"; }
}

// @Route("/Carriers/{CarrierID}/Services/{ServiceID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No service with the CarrierID or ServiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CarrierServicePATCHRequest extends CarrierService implements IReturn<CarrierService>
{
    CarrierID: string;
    ServiceID: string;
    createResponse() { return new CarrierService(); }
    getTypeName() { return "CarrierServicePATCHRequest"; }
}

// @Route("/Carriers/{CarrierID}/Services/{ServiceID}", "DELETE")
// @ApiResponse(Description="No service with the CarrierID or ServiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CarrierServiceDELETERequest extends CarrierService
{
    CarrierID: string;
    ServiceID: string;
}

// @Route("/Carriers/{CarrierID}/FreightDescriptions/{FreightDescriptionID}", "GET")
// @ApiResponse(Description="No freight description with the CarrierID or FreightDescriptionID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CarrierFreightDescriptionGETRequest implements IReturn<CarrierFreightDescription>
{
    CarrierID: string;
    FreightDescriptionID: string;
    createResponse() { return new CarrierFreightDescription(); }
    getTypeName() { return "CarrierFreightDescriptionGETRequest"; }
}

// @Route("/Carriers/{CarrierID}/FreightDescriptions", "GET")
// @ApiResponse(Description="No freight description with the CarrierID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CarrierFreightDescriptionsGETManyRequest implements IReturn<Array<CarrierFreightDescription>>
{
    CarrierID: string;
    createResponse() { return new Array<CarrierFreightDescription>(); }
    getTypeName() { return "CarrierFreightDescriptionsGETManyRequest"; }
}

// @Route("/Carriers/{CarrierID}/FreightDescriptions", "POST")
// @ApiResponse(Description="No freight description with the CarrierID or FreightDescriptionID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CarrierFreightDescriptionPOSTRequest extends CarrierFreightDescription implements IReturn<CarrierFreightDescription>
{
    CarrierID: string;
    createResponse() { return new CarrierFreightDescription(); }
    getTypeName() { return "CarrierFreightDescriptionPOSTRequest"; }
}

// @Route("/Carriers/{CarrierID}/FreightDescriptions/{FreightDescriptionID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No freight description with the CarrierID or FreightDescriptionID provided was found", StatusCode=404)
export class CarrierFreightDescriptionPATCHRequest extends CarrierFreightDescription implements IReturn<CarrierFreightDescription>
{
    CarrierID: string;
    FreightDescriptionID: string;
    createResponse() { return new CarrierFreightDescription(); }
    getTypeName() { return "CarrierFreightDescriptionPATCHRequest"; }
}

// @Route("/Carriers/{CarrierID}/FreightDescriptions/{FreightDescriptionID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No freight description with the CarrierID or FreightDescriptionID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CarrierFreightDescriptionDELETERequest extends CarrierFreightDescription
{
    CarrierID: string;
    FreightDescriptionID: string;
}

// @Route("/Creditors/{CreditorID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Creditor with the CreditorID provided was found", StatusCode=404)
export class CreditorGETRequest implements IReturn<Creditor>
{
    CreditorID: string;
    createResponse() { return new Creditor(); }
    getTypeName() { return "CreditorGETRequest"; }
}

// @Route("/Creditors", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CreditorPOSTRequest extends Creditor implements IReturn<Creditor>
{
    createResponse() { return new Creditor(); }
    getTypeName() { return "CreditorPOSTRequest"; }
}

// @Route("/Creditors/{CreditorID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No creditor with the CreditorID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CreditorPATCHRequest extends Creditor implements IReturn<Creditor>
{
    CreditorID: string;
    createResponse() { return new Creditor(); }
    getTypeName() { return "CreditorPATCHRequest"; }
}

// @Route("/Creditors/{CreditorID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No creditor with the CreditorID provided was found", StatusCode=404)
export class CreditorDELETERequest
{
    CreditorID: string;
}

// @Route("/Creditors/Classifications/{ClassificationID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Creditor classification with the ClassificationID provided was found", StatusCode=404)
export class CreditorClassificationGETRequest implements IReturn<CreditorClassification>
{
    ClassificationID: string;
    createResponse() { return new CreditorClassification(); }
    getTypeName() { return "CreditorClassificationGETRequest"; }
}

// @Route("/Creditors/Classifications", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class CreditorClassificationPOSTRequest extends CreditorClassification implements IReturn<CreditorClassification>
{
    createResponse() { return new CreditorClassification(); }
    getTypeName() { return "CreditorClassificationPOSTRequest"; }
}

// @Route("/Creditors/Classifications/{ClassificationID}", "PATCH")
// @ApiResponse(Description="No Creditor classification with the ClassificationID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CreditorClassificationPATCHRequest extends CreditorClassification implements IReturn<CreditorClassification>
{
    ClassificationID: string;
    createResponse() { return new CreditorClassification(); }
    getTypeName() { return "CreditorClassificationPATCHRequest"; }
}

// @Route("/Creditors/Classifications/{ClassificationID}", "DELETE")
// @ApiResponse(Description="No Creditor classification with the ClassificationID provided was found", StatusCode=404)
// @ApiResponse(Description="Insufficient permission to update Creditor classifications", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CreditorClassificationDELETERequest
{
    ClassificationID: string;
}

// @Route("/Creditors/{CreditorID}/WarehouseAddress/{WarehouseAddressID}", "GET")
// @ApiResponse(Description="No warehouse address with the CreditorID or WarehouseAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CreditorWarehouseAddressGETRequest implements IReturn<CreditorWarehouseAddress>
{
    CreditorID: string;
    WarehouseAddressID: string;
    createResponse() { return new CreditorWarehouseAddress(); }
    getTypeName() { return "CreditorWarehouseAddressGETRequest"; }
}

// @Route("/Creditors/{CreditorID}/WarehouseAddresses", "GET")
// @ApiResponse(Description="No warehouse address with the CreditorID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CreditorWarehouseAddressesGETManyRequest implements IReturn<Array<CreditorWarehouseAddress>>
{
    CreditorID: string;
    createResponse() { return new Array<CreditorWarehouseAddress>(); }
    getTypeName() { return "CreditorWarehouseAddressesGETManyRequest"; }
}

// @Route("/Creditors/{CreditorID}/WarehouseAddress", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse address with the CreditorID or WarehouseAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CreditorWarehouseAddressPOSTRequest extends CreditorWarehouseAddress implements IReturn<CreditorWarehouseAddress>
{
    CreditorID: string;
    createResponse() { return new CreditorWarehouseAddress(); }
    getTypeName() { return "CreditorWarehouseAddressPOSTRequest"; }
}

// @Route("/Creditors/{CreditorID}/WarehouseAddress/{WarehouseAddressID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No warehouse address with the CreditorID or WarehouseAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class CreditorWarehouseAddressPATCHRequest extends CreditorWarehouseAddress implements IReturn<CreditorWarehouseAddress>
{
    CreditorID: string;
    WarehouseAddressID: string;
    createResponse() { return new CreditorWarehouseAddress(); }
    getTypeName() { return "CreditorWarehouseAddressPATCHRequest"; }
}

// @Route("/Creditors/{CreditorID}/WarehouseAddress/{WarehouseAddressID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse address with the CreditorID or WarehouseAddressID provided was found", StatusCode=404)
export class CreditorWarehouseAddressDELETERequest extends CreditorWarehouseAddress
{
    CreditorID: string;
    WarehouseAddressID: string;
}

// @Route("/Currencies/{CurrencyID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Currency with the CurrencyID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CurrencyGETRequest implements IReturn<Currency>
{
    CurrencyID: string;
    createResponse() { return new Currency(); }
    getTypeName() { return "CurrencyGETRequest"; }
}

// @Route("/Currencies", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CurrencyPOSTRequest extends Currency implements IReturn<Currency>
{
    createResponse() { return new Currency(); }
    getTypeName() { return "CurrencyPOSTRequest"; }
}

// @Route("/Currencies/{CurrencyID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No currency with the CurrencyID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class CurrencyPATCHRequest extends Currency implements IReturn<Currency>
{
    CurrencyID: string;
    createResponse() { return new Currency(); }
    getTypeName() { return "CurrencyPATCHRequest"; }
}

// @Route("/Currencies/{CurrencyID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No currency with the CurrencyID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class CurrencyDELETERequest
{
    CurrencyID: string;
}

// @Route("/Currencies/{CurrencyID}/Rates/{RateID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No rate with the CurrencyID or RateID provided was found", StatusCode=404)
export class CurrencyRateGETRequest implements IReturn<CurrencyRate>
{
    CurrencyID: string;
    RateID: string;
    createResponse() { return new CurrencyRate(); }
    getTypeName() { return "CurrencyRateGETRequest"; }
}

// @Route("/Currencies/{CurrencyID}/Rates", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No description with the CurrencyID or RateID provided was found", StatusCode=404)
export class CurrencyRatePOSTRequest extends CurrencyRate implements IReturn<CurrencyRate>
{
    CurrencyID: string;
    createResponse() { return new CurrencyRate(); }
    getTypeName() { return "CurrencyRatePOSTRequest"; }
}

// @Route("/Currencies/{CurrencyID}/Rates/{RateID}", "PATCH")
// @ApiResponse(Description="No rate with the CurrencyID or RateID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class CurrencyRatePATCHRequest extends CurrencyRate implements IReturn<CurrencyRate>
{
    CurrencyID: string;
    RateID: string;
    createResponse() { return new CurrencyRate(); }
    getTypeName() { return "CurrencyRatePATCHRequest"; }
}

// @Route("/Currencies/{CurrencyID}/Rates/{RateID}", "DELETE")
// @ApiResponse(Description="No rate with the CurrencyID or RateID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CurrencyRateDELETERequest extends CurrencyRate
{
    CurrencyID: string;
    RateID: string;
}

// @Route("/Debtors", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorAPIKeyDebtorGETRequest implements IReturn<Debtor>
{
    createResponse() { return new Debtor(); }
    getTypeName() { return "DebtorAPIKeyDebtorGETRequest"; }
}

// @Route("/Debtors/{DebtorID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
export class DebtorGETRequest implements IReturn<Debtor>
{
    DebtorID: string;
    createResponse() { return new Debtor(); }
    getTypeName() { return "DebtorGETRequest"; }
}

// @Route("/Debtors", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorPOSTRequest extends Debtor implements IReturn<Debtor>
{
    createResponse() { return new Debtor(); }
    getTypeName() { return "DebtorPOSTRequest"; }
}

// @Route("/Debtors/{DebtorID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
export class DebtorPATCHRequest extends Debtor implements IReturn<Debtor>
{
    DebtorID: string;
    createResponse() { return new Debtor(); }
    getTypeName() { return "DebtorPATCHRequest"; }
}

// @Route("/Debtors/{DebtorID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorDELETERequest
{
    DebtorID: string;
}

// @Route("/Debtors/{DebtorID}/Backorders", "GET")
// @ApiResponse(Description="Rread OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorBackordersGETRequest implements IReturn<Array<DebtorBackOrder>>
{
    DebtorID: string;
    createResponse() { return new Array<DebtorBackOrder>(); }
    getTypeName() { return "DebtorBackordersGETRequest"; }
}

// @Route("/Debtors/Categories/{CategoryID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor category with the CategoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class DebtorCategoryGETRequest implements IReturn<DebtorCategory>
{
    CategoryID: string;
    createResponse() { return new DebtorCategory(); }
    getTypeName() { return "DebtorCategoryGETRequest"; }
}

// @Route("/Debtors/Categories", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorCategoryPOSTRequest extends DebtorCategory implements IReturn<DebtorCategory>
{
    createResponse() { return new DebtorCategory(); }
    getTypeName() { return "DebtorCategoryPOSTRequest"; }
}

// @Route("/Debtors/Categories/{CategoryID}", "PATCH")
// @ApiResponse(Description="No debtor category with the CategoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorCategoryPATCHRequest extends DebtorCategory implements IReturn<DebtorCategory>
{
    CategoryID: string;
    createResponse() { return new DebtorCategory(); }
    getTypeName() { return "DebtorCategoryPATCHRequest"; }
}

// @Route("/Debtors/Categories/{CategoryID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No category with the CategoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class DebtorCategoryDELETERequest
{
    CategoryID: string;
}

// @Route("/Debtors/Classifications/{ClassificationID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor classification with the ClassificationID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorClassificationGETRequest implements IReturn<DebtorClassification>
{
    ClassificationID: string;
    createResponse() { return new DebtorClassification(); }
    getTypeName() { return "DebtorClassificationGETRequest"; }
}

// @Route("/Debtors/Classifications", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorClassificationPOSTRequest extends DebtorClassification implements IReturn<DebtorClassification>
{
    createResponse() { return new DebtorClassification(); }
    getTypeName() { return "DebtorClassificationPOSTRequest"; }
}

// @Route("/Debtors/Classifications/{ClassificationID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor classification with the ClassificationID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorClassificationPATCHRequest extends DebtorClassification implements IReturn<DebtorClassification>
{
    ClassificationID: string;
    createResponse() { return new DebtorClassification(); }
    getTypeName() { return "DebtorClassificationPATCHRequest"; }
}

// @Route("/Debtors/Classifications/{ClassificationID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Insufficient permission to update debtor classifications", StatusCode=403)
// @ApiResponse(Description="No debtor classification with the ClassificationID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorClassificationDELETERequest
{
    ClassificationID: string;
}

// @Route("/Debtors/{DebtorID}/ContactNames/{ContactNameID}", "GET")
// @ApiResponse(Description="No debtor contact name with the DebtorID or ContactNameID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorContactNameGETRequest implements IReturn<DebtorContactName>
{
    DebtorID: string;
    ContactNameID: string;
    createResponse() { return new DebtorContactName(); }
    getTypeName() { return "DebtorContactNameGETRequest"; }
}

// @Route("/Debtors/{DebtorID}/ContactNames", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor contact name with the DebtorID or ContactNameID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorContactNamesGETManyRequest implements IReturn<Array<DebtorContactName>>
{
    DebtorID: string;
    createResponse() { return new Array<DebtorContactName>(); }
    getTypeName() { return "DebtorContactNamesGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/ContactNames", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor contact name with the DebtorID or ContactNameID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class DebtorContactNamePOSTRequest extends DebtorContactName implements IReturn<DebtorContactName>
{
    DebtorID: string;
    createResponse() { return new DebtorContactName(); }
    getTypeName() { return "DebtorContactNamePOSTRequest"; }
}

// @Route("/Debtors/{DebtorID}/ContactNames/{ContactNameID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor contact name with the DebtorID or ContactNameID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class DebtorContactNamePATCHRequest extends DebtorContactName implements IReturn<DebtorContactName>
{
    DebtorID: string;
    ContactNameID: string;
    createResponse() { return new DebtorContactName(); }
    getTypeName() { return "DebtorContactNamePATCHRequest"; }
}

// @Route("/Debtors/{DebtorID}/ContactNames/{ContactNameID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor contact name with the DebtorID or ContactNameID provided was found", StatusCode=404)
export class DebtorContactNameDELETERequest extends DebtorContactName
{
    DebtorID: string;
    ContactNameID: string;
}

// @Route("/Debtors/{DebtorID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor custom field value with the DebtorID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class DebtorCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    DebtorID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "DebtorCustomFieldValueGETRequest"; }
}

// @Route("/Debtors/{DebtorID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="No debtor custom field value with the DebtorID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    DebtorID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "DebtorCustomFieldValuePATCHRequest"; }
}

// @Route("/Debtors/CustomFields", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "DebtorCustomFieldsGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    DebtorID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "DebtorCustomFieldValuesGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/DebtorPartNumbers/{PartNumberID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor part number with the DebtorID or PartNumberID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorPartNumberGETRequest implements IReturn<DebtorPartNumber>
{
    DebtorID: string;
    PartNumberID: string;
    createResponse() { return new DebtorPartNumber(); }
    getTypeName() { return "DebtorPartNumberGETRequest"; }
}

// @Route("/Debtors/{DebtorID}/DebtorPartNumbers", "GET")
// @ApiResponse(Description="No debtor part number with the DebtorID or PartNumberID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorPartNumbersGETManyRequest implements IReturn<Array<DebtorPartNumber>>
{
    DebtorID: string;
    createResponse() { return new Array<DebtorPartNumber>(); }
    getTypeName() { return "DebtorPartNumbersGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/DebtorPartNumbers", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor part number with the DebtorID or PartNumberID provided was found", StatusCode=404)
export class DebtorPartNumberPOSTRequest extends DebtorPartNumber implements IReturn<DebtorPartNumber>
{
    DebtorID: string;
    createResponse() { return new DebtorPartNumber(); }
    getTypeName() { return "DebtorPartNumberPOSTRequest"; }
}

// @Route("/Debtors/{DebtorID}/DebtorPartNumbers/{PartNumberID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No debtor part number with the DebtorID or PartNumberID provided was found", StatusCode=404)
export class DebtorPartNumberPATCHRequest extends DebtorPartNumber implements IReturn<DebtorPartNumber>
{
    DebtorID: string;
    PartNumberID: string;
    createResponse() { return new DebtorPartNumber(); }
    getTypeName() { return "DebtorPartNumberPATCHRequest"; }
}

// @Route("/Debtors/{DebtorID}/DebtorPartNumbers/{PartNumberID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor part number with the DebtorID or PartNumberID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorPartNumberDELETERequest extends DebtorPartNumber
{
    DebtorID: string;
    PartNumberID: string;
}

// @Route("/Debtors/{DebtorID}/DeliveryAddresses/{DeliveryAddressID}", "GET")
// @ApiResponse(Description="No debtor delivery address with the DebtorID or DeliveryAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class DebtorDeliveryAddressGETRequest implements IReturn<DebtorDeliveryAddress>
{
    DebtorID: string;
    DeliveryAddressID: string;
    createResponse() { return new DebtorDeliveryAddress(); }
    getTypeName() { return "DebtorDeliveryAddressGETRequest"; }
}

// @Route("/Debtors/{DebtorID}/DeliveryAddresses", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor delivery address with the DebtorID or DeliveryAddressID provided was found", StatusCode=404)
export class DebtorDeliveryAddressesGETManyRequest implements IReturn<Array<DebtorDeliveryAddress>>
{
    DebtorID: string;
    createResponse() { return new Array<DebtorDeliveryAddress>(); }
    getTypeName() { return "DebtorDeliveryAddressesGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/DeliveryAddresses", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No debtor delivery address with the DebtorID or DeliveryAddressID provided was found", StatusCode=404)
export class DebtorDeliveryAddressPOSTRequest extends DebtorDeliveryAddress implements IReturn<DebtorDeliveryAddress>
{
    DebtorID: string;
    createResponse() { return new DebtorDeliveryAddress(); }
    getTypeName() { return "DebtorDeliveryAddressPOSTRequest"; }
}

// @Route("/Debtors/{DebtorID}/DeliveryAddresses/{DeliveryAddressID}", "PATCH")
// @ApiResponse(Description="No debtor delivery address with the DebtorID or DeliveryAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Insufficient permission to update debtor delivery addresses", StatusCode=403)
export class DebtorDeliveryAddressPATCHRequest extends DebtorDeliveryAddress implements IReturn<DebtorDeliveryAddress>
{
    DebtorID: string;
    DeliveryAddressID: string;
    createResponse() { return new DebtorDeliveryAddress(); }
    getTypeName() { return "DebtorDeliveryAddressPATCHRequest"; }
}

// @Route("/Debtors/{DebtorID}/DeliveryAddresses/{DeliveryAddressID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor delivery address with the DebtorID or DeliveryAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Insufficient permission to update debtor delivery addresses", StatusCode=403)
export class DebtorDeliveryAddressDELETERequest extends DebtorDeliveryAddress
{
    DebtorID: string;
    DeliveryAddressID: string;
}

// @Route("/Debtors/DocumentTypes/{DocumentTypeID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No debtor document type with the DocumentTypeID provided was found", StatusCode=404)
export class DebtorDocumentTypeGETRequest implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "DebtorDocumentTypeGETRequest"; }
}

// @Route("/Debtors/DocumentTypes", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class DebtorDocumentTypesGETManyRequest implements IReturn<Array<DocumentType>>
{
    createResponse() { return new Array<DocumentType>(); }
    getTypeName() { return "DebtorDocumentTypesGETManyRequest"; }
}

// @Route("/Debtors/DocumentTypes", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorDocumentTypePOSTRequest extends DocumentType implements IReturn<DocumentType>
{
    createResponse() { return new DocumentType(); }
    getTypeName() { return "DebtorDocumentTypePOSTRequest"; }
}

// @Route("/Debtors/DocumentTypes/{DocumentTypeID}", "PATCH")
// @ApiResponse(Description="No debtor document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorDocumentTypePATCHRequest extends DocumentType implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "DebtorDocumentTypePATCHRequest"; }
}

// @Route("/Debtors/DocumentTypes/{DocumentTypeID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorDocumentTypeDELETERequest
{
    DocumentTypeID: string;
}

// @Route("/Debtors/{DebtorID}/Documents/{DocumentID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor Document with the DebtorID or DocumentID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorDocumentGETRequest implements IReturn<Document>
{
    DebtorID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "DebtorDocumentGETRequest"; }
}

// @Route("/Debtors/{DebtorID}/Documents", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorDocumentsGETManyRequest implements IReturn<Array<Document>>
{
    DebtorID: string;
    createResponse() { return new Array<Document>(); }
    getTypeName() { return "DebtorDocumentsGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/Documents", "POST")
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class DebtorDocumentPOSTRequest extends Document implements IReturn<Document>
{
    DebtorID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "DebtorDocumentPOSTRequest"; }
}

// @Route("/Debtors/{DebtorID}/Documents/{DocumentID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class DebtorDocumentPATCHRequest extends Document implements IReturn<Document>
{
    DebtorID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "DebtorDocumentPATCHRequest"; }
}

// @Route("/Debtors/{DebtorID}/Documents/{DocumentID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
export class DebtorDocumentDELETERequest
{
    DebtorID: string;
    DocumentID: string;
}

// @Route("/Debtors/{DebtorID}/FreightForwarderAddresses/{FreightForwarderAddressID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor freight forwarder address with the DebtorID or FreightForwarderAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorFreightForwarderAddressGETRequest implements IReturn<DebtorFreightForwarderAddress>
{
    DebtorID: string;
    FreightForwarderAddressID: string;
    createResponse() { return new DebtorFreightForwarderAddress(); }
    getTypeName() { return "DebtorFreightForwarderAddressGETRequest"; }
}

// @Route("/Debtors/{DebtorID}/FreightForwarderAddresses", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No debtor freight forwarder address with the DebtorID or FreightForwarderAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorFreightForwarderAddressesGETManyRequest implements IReturn<Array<DebtorFreightForwarderAddress>>
{
    DebtorID: string;
    createResponse() { return new Array<DebtorFreightForwarderAddress>(); }
    getTypeName() { return "DebtorFreightForwarderAddressesGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/FreightForwarderAddresses", "POST")
// @ApiResponse(Description="No debtor freight forwarder address with the DebtorID or FreightForwarderAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorFreightForwarderAddressPOSTRequest extends DebtorFreightForwarderAddress implements IReturn<DebtorFreightForwarderAddress>
{
    DebtorID: string;
    createResponse() { return new DebtorFreightForwarderAddress(); }
    getTypeName() { return "DebtorFreightForwarderAddressPOSTRequest"; }
}

// @Route("/Debtors/{DebtorID}/FreightForwarderAddresses/{FreightForwarderAddressID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor freight forwarder address with the DebtorID or FreightForwarderAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorFreightForwarderAddressPATCHRequest extends DebtorFreightForwarderAddress implements IReturn<DebtorFreightForwarderAddress>
{
    DebtorID: string;
    FreightForwarderAddressID: string;
    createResponse() { return new DebtorFreightForwarderAddress(); }
    getTypeName() { return "DebtorFreightForwarderAddressPATCHRequest"; }
}

// @Route("/Debtors/{DebtorID}/FreightForwarderAddresses/{FreightForwarderAddressID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No debtor freight forwarder address with the DebtorID or FreightForwarderAddressID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorFreightForwarderAddressDELETERequest extends DebtorFreightForwarderAddress
{
    DebtorID: string;
    FreightForwarderAddressID: string;
}

// @Route("/Debtors/{DebtorID}/GroupMemberships/{GroupMembershipID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor group membership with the DebtorID or GroupMembershipID provided was found", StatusCode=404)
export class DebtorGroupMembershipGETRequest implements IReturn<DebtorGroupMembership>
{
    DebtorID: string;
    GroupMembershipID: string;
    createResponse() { return new DebtorGroupMembership(); }
    getTypeName() { return "DebtorGroupMembershipGETRequest"; }
}

// @Route("/Debtors/{DebtorID}/GroupMemberships", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor group membership with the DebtorID or GroupMembershipID provided was found", StatusCode=404)
export class DebtorGroupMembershipsGETManyRequest implements IReturn<Array<DebtorGroupMembership>>
{
    DebtorID: string;
    createResponse() { return new Array<DebtorGroupMembership>(); }
    getTypeName() { return "DebtorGroupMembershipsGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/GroupMemberships", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor group membership with the DebtorID or GroupMembershipID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class DebtorGroupMembershipPOSTRequest extends DebtorGroupMembership implements IReturn<DebtorGroupMembership>
{
    DebtorID: string;
    createResponse() { return new DebtorGroupMembership(); }
    getTypeName() { return "DebtorGroupMembershipPOSTRequest"; }
}

// @Route("/Debtors/{DebtorID}/GroupMemberships/{GroupMembershipID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No debtor group membership with the DebtorID or GroupMembershipID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorGroupMembershipPATCHRequest extends DebtorGroupMembership implements IReturn<DebtorGroupMembership>
{
    DebtorID: string;
    GroupMembershipID: string;
    createResponse() { return new DebtorGroupMembership(); }
    getTypeName() { return "DebtorGroupMembershipPATCHRequest"; }
}

// @Route("/Debtors/{DebtorID}/GroupMemberships/{GroupMembershipID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor group membership with the DebtorID or GroupMembershipID provided was found", StatusCode=404)
export class DebtorGroupMembershipDELETERequest extends DebtorGroupMembership
{
    DebtorID: string;
    GroupMembershipID: string;
}

// @Route("/Debtors/NoteTypes/{NoteTypeID}", "GET")
// @ApiResponse(Description="No debtor note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorNoteTypeGETRequest implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "DebtorNoteTypeGETRequest"; }
}

// @Route("/Debtors/NoteTypes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class DebtorNoteTypesGETManyRequest implements IReturn<Array<NoteType>>
{
    createResponse() { return new Array<NoteType>(); }
    getTypeName() { return "DebtorNoteTypesGETManyRequest"; }
}

// @Route("/Debtors/NoteTypes", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class DebtorNoteTypePOSTRequest extends NoteType implements IReturn<NoteType>
{
    createResponse() { return new NoteType(); }
    getTypeName() { return "DebtorNoteTypePOSTRequest"; }
}

// @Route("/Debtors/NoteTypes/{NoteTypeID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class DebtorNoteTypePATCHRequest extends NoteType implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "DebtorNoteTypePATCHRequest"; }
}

// @Route("/Debtors/NoteTypes/{NoteTypeID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class DebtorNoteTypeDELETERequest
{
    NoteTypeID: string;
}

// @Route("/Debtors/{DebtorID}/Notes/{NoteID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor Note with the DebtorID or NoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorNoteGETRequest implements IReturn<Note>
{
    DebtorID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "DebtorNoteGETRequest"; }
}

// @Route("/Debtors/{DebtorID}/Notes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
export class DebtorNotesGETManyRequest implements IReturn<Array<Note>>
{
    DebtorID: string;
    createResponse() { return new Array<Note>(); }
    getTypeName() { return "DebtorNotesGETManyRequest"; }
}

// @Route("/Debtors/{DebtorID}/Notes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorNotePOSTRequest extends Note implements IReturn<Note>
{
    DebtorID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "DebtorNotePOSTRequest"; }
}

// @Route("/Debtors/{DebtorID}/Notes/{NoteID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
export class DebtorNotePATCHRequest extends Note implements IReturn<Note>
{
    DebtorID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "DebtorNotePATCHRequest"; }
}

// @Route("/Debtors/{DebtorID}/Notes/{NoteID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor with the DebtorID provided was found", StatusCode=404)
export class DebtorNoteDELETERequest
{
    DebtorID: string;
    NoteID: string;
}

// @Route("/Debtors/PricingGroups/{PricingGroupID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No debtor pricing group with the PricingGroupID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class DebtorPricingGroupGETRequest implements IReturn<DebtorPricingGroup>
{
    PricingGroupID: string;
    createResponse() { return new DebtorPricingGroup(); }
    getTypeName() { return "DebtorPricingGroupGETRequest"; }
}

// @Route("/Debtors/PricingGroups", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class DebtorPricingGroupPOSTRequest extends DebtorPricingGroup implements IReturn<DebtorPricingGroup>
{
    createResponse() { return new DebtorPricingGroup(); }
    getTypeName() { return "DebtorPricingGroupPOSTRequest"; }
}

// @Route("/Debtors/PricingGroups/{PricingGroupID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor pricing group with the PricingGroupID provided was found", StatusCode=404)
export class DebtorPricingGroupPATCHRequest extends DebtorPricingGroup implements IReturn<DebtorPricingGroup>
{
    PricingGroupID: string;
    createResponse() { return new DebtorPricingGroup(); }
    getTypeName() { return "DebtorPricingGroupPATCHRequest"; }
}

// @Route("/Debtors/PricingGroups/{PricingGroupID}", "DELETE")
// @ApiResponse(Description="No debtor pricing group with the PricingGroupID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DebtorPricingGroupDELETERequest
{
    PricingGroupID: string;
}

// @Route("/GoodsReceivedNotes/{GRNID}", "GET")
// @ApiResponse(Description="No goods received note with the GRNID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class GoodsReceivedNoteGETRequest implements IReturn<GoodsReceivedNote>
{
    GRNID: string;
    createResponse() { return new GoodsReceivedNote(); }
    getTypeName() { return "GoodsReceivedNoteGETRequest"; }
}

// @Route("/GoodsReceivedNotes", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class GoodsReceivedNotePOSTRequest extends GoodsReceivedNote implements IReturn<GoodsReceivedNote>
{
    CreditorID: string;
    createResponse() { return new GoodsReceivedNote(); }
    getTypeName() { return "GoodsReceivedNotePOSTRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No goods received note with the GRNID provided was found", StatusCode=404)
export class GoodsReceivedNotePATCHRequest extends GoodsReceivedNote implements IReturn<GoodsReceivedNote>
{
    GRNID: string;
    createResponse() { return new GoodsReceivedNote(); }
    getTypeName() { return "GoodsReceivedNotePATCHRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No goods received note with the GRNID provided was found", StatusCode=404)
export class GoodsReceivedNoteDELETERequest
{
    GRNID: string;
}

// @Route("/GoodsReceivedNotes/FromPurchaseOrders/{OrderNos}", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No Purchase Order(s) with the PO No. provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class GoodsReceivedNoteCREATEFromPORequest implements IReturn<GoodsReceivedNote>
{
    OrderNos: string[];
    createResponse() { return new GoodsReceivedNote(); }
    getTypeName() { return "GoodsReceivedNoteCREATEFromPORequest"; }
}

// @Route("/GoodsReceivedNotes/FromPurchaseOrderLines", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No Purchase Order Line(s) with the OrderLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class GoodsReceivedNoteCREATEFromPOLinesRequest implements IReturn<GoodsReceivedNote>
{
    ReceivedPOLineQuantities: ReceivedPOLineQuantity[];
    ReceivedDate: string;
    createResponse() { return new GoodsReceivedNote(); }
    getTypeName() { return "GoodsReceivedNoteCREATEFromPOLinesRequest"; }
}

// @Route("/GoodsReceivedNotes/Activate/{GRNID}", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No GRN with the GRNID provided was found", StatusCode=404)
// @ApiResponse(Description="Activated OK", StatusCode=204)
export class GoodsReceivedNoteACTIVATERequest implements IReturn<GoodsReceivedNote>
{
    GRNID: string;
    createResponse() { return new GoodsReceivedNote(); }
    getTypeName() { return "GoodsReceivedNoteACTIVATERequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/PurchaseOrders/{OrderID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No purchase order with the GRNID or OrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GoodsReceivedNotePurchaseOrderGETRequest implements IReturn<GoodsReceivedNotePurchaseOrderReceived>
{
    GRNID: string;
    OrderID: string;
    createResponse() { return new GoodsReceivedNotePurchaseOrderReceived(); }
    getTypeName() { return "GoodsReceivedNotePurchaseOrderGETRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/PurchaseOrders", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No purchase order with the GRNID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GoodsReceivedNotePurchaseOrdersGETManyRequest implements IReturn<Array<GoodsReceivedNotePurchaseOrderReceived>>
{
    GRNID: string;
    createResponse() { return new Array<GoodsReceivedNotePurchaseOrderReceived>(); }
    getTypeName() { return "GoodsReceivedNotePurchaseOrdersGETManyRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/PurchaseOrders", "POST")
// @ApiResponse(Description="No purchase order with the GRNID or OrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GoodsReceivedNotePurchaseOrderPOSTRequest extends GoodsReceivedNotePurchaseOrderReceived implements IReturn<GoodsReceivedNotePurchaseOrderReceived>
{
    GRNID: string;
    OrderID: string;
    createResponse() { return new GoodsReceivedNotePurchaseOrderReceived(); }
    getTypeName() { return "GoodsReceivedNotePurchaseOrderPOSTRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/PurchaseOrders/{OrderID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No purchase order with the GRNID or OrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GoodsReceivedNotePurchaseOrderDELETERequest extends GoodsReceivedNotePurchaseOrderReceived
{
    GRNID: string;
    OrderID: string;
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No line with the GRNID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class GoodsReceivedNoteLineGETRequest implements IReturn<GoodsReceivedNoteLine>
{
    GRNID: string;
    LineID: string;
    createResponse() { return new GoodsReceivedNoteLine(); }
    getTypeName() { return "GoodsReceivedNoteLineGETRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No line with the GRNID provided was found", StatusCode=404)
export class GoodsReceivedNoteLinesGETManyRequest implements IReturn<Array<GoodsReceivedNoteLine>>
{
    GRNID: string;
    createResponse() { return new Array<GoodsReceivedNoteLine>(); }
    getTypeName() { return "GoodsReceivedNoteLinesGETManyRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines", "POST")
// @ApiResponse(Description="No line with the GRNID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GoodsReceivedNoteLinePOSTRequest extends GoodsReceivedNoteLine implements IReturn<GoodsReceivedNoteLine>
{
    GRNID: string;
    createResponse() { return new GoodsReceivedNoteLine(); }
    getTypeName() { return "GoodsReceivedNoteLinePOSTRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No line with the GRNID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class GoodsReceivedNoteLinePATCHRequest extends GoodsReceivedNoteLine implements IReturn<GoodsReceivedNoteLine>
{
    GRNID: string;
    LineID: string;
    createResponse() { return new GoodsReceivedNoteLine(); }
    getTypeName() { return "GoodsReceivedNoteLinePATCHRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the GRNID or LineID provided was found", StatusCode=404)
export class GoodsReceivedNoteLineDELETERequest extends GoodsReceivedNoteLine
{
    GRNID: string;
    LineID: string;
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}/LineDetails", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No goods received note with the GRNID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class GoodsReceivedNoteLineDetailsGETManyRequest implements IReturn<Array<GoodsReceivedNoteLineDetail>>
{
    GRNID: string;
    LineID: string;
    createResponse() { return new Array<GoodsReceivedNoteLineDetail>(); }
    getTypeName() { return "GoodsReceivedNoteLineDetailsGETManyRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}/LineDetails/{LineDetailID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No goods received note with the GRNID or LineID or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GoodsReceivedNoteLineDetailGETRequest implements IReturn<GoodsReceivedNoteLineDetail>
{
    GRNID: string;
    LineID: string;
    LineDetailID: string;
    createResponse() { return new GoodsReceivedNoteLineDetail(); }
    getTypeName() { return "GoodsReceivedNoteLineDetailGETRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}/LineDetails", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No goods received note with the GRNID or  LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class GoodsReceivedNoteLineDetailPOSTRequest extends GoodsReceivedNoteLineDetail implements IReturn<GoodsReceivedNoteLineDetail>
{
    GRNID: string;
    LineID: string;
    createResponse() { return new GoodsReceivedNoteLineDetail(); }
    getTypeName() { return "GoodsReceivedNoteLineDetailPOSTRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}/LineDetails", "PUT")
export class GoodsReceivedNoteLineDetailPUTRequest extends Array<GoodsReceivedNoteLineDetail> implements IReturn<Array<GoodsReceivedNoteLineDetail>>
{
    createResponse() { return new Array<GoodsReceivedNoteLineDetail>(); }
    getTypeName() { return "GoodsReceivedNoteLineDetailPUTRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}/LineDetails/{LineDetailID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No goods received note with the GRNID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class GoodsReceivedNoteLineDetailPATCHRequest extends GoodsReceivedNoteLineDetail implements IReturn<GoodsReceivedNoteLineDetail>
{
    GRNID: string;
    LineID: string;
    LineDetailID: string;
    createResponse() { return new GoodsReceivedNoteLineDetail(); }
    getTypeName() { return "GoodsReceivedNoteLineDetailPATCHRequest"; }
}

// @Route("/GoodsReceivedNotes/{GRNID}/Lines/{LineID}/LineDetails/{LineDetailID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No goods received note with the GRNID or  LineID or LineDetailID provided was found", StatusCode=404)
export class GoodsReceivedNoteLineDetailDELETERequest
{
    GRNID: string;
    LineID: string;
    LineDetailID: string;
}

// @Route("/Inventory/{InventoryID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
export class InventoryGETRequest implements IReturn<InventoryItem>
{
    InventoryID: string;
    createResponse() { return new InventoryItem(); }
    getTypeName() { return "InventoryGETRequest"; }
}

// @Route("/Inventory", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class InventoryPOSTRequest extends InventoryItem implements IReturn<InventoryItem>
{
    createResponse() { return new InventoryItem(); }
    getTypeName() { return "InventoryPOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryPATCHRequest extends InventoryItem implements IReturn<InventoryItem>
{
    InventoryID: string;
    createResponse() { return new InventoryItem(); }
    getTypeName() { return "InventoryPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}", "DELETE")
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryDELETERequest
{
    InventoryID: string;
}

// @Route("/Inventory/{InventoryID}/AlternateChildren/{AlternateChildID}", "GET")
// @ApiResponse(Description="No inventory alternate child with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAlternateChildGETRequest implements IReturn<InventoryAlternateChild>
{
    InventoryID: string;
    AlternateChildID: string;
    createResponse() { return new InventoryAlternateChild(); }
    getTypeName() { return "InventoryAlternateChildGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/AlternateChildren", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No inventory alternate child with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAlternateChildrenGETManyRequest implements IReturn<Array<InventoryAlternateChild>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryAlternateChild>(); }
    getTypeName() { return "InventoryAlternateChildrenGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/AlternateChildren", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory alternate child with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class InventoryAlternateChildPOSTRequest extends InventoryAlternateChild implements IReturn<InventoryAlternateChild>
{
    InventoryID: string;
    createResponse() { return new InventoryAlternateChild(); }
    getTypeName() { return "InventoryAlternateChildPOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/AlternateChildren/{AlternateChildID}", "PATCH")
// @ApiResponse(Description="No inventory alternate child with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAlternateChildPATCHRequest extends InventoryAlternateChild implements IReturn<InventoryAlternateChild>
{
    InventoryID: string;
    AlternateChildID: string;
    createResponse() { return new InventoryAlternateChild(); }
    getTypeName() { return "InventoryAlternateChildPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/AlternateChildren/{AlternateChildID}", "DELETE")
// @ApiResponse(Description="No inventory alternate child with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class InventoryAlternateChildDELETERequest extends InventoryAlternateChild
{
    InventoryID: string;
    AlternateChildID: string;
}

// @Route("/Inventory/{InventoryID}/AlternateParents/{LinkedInventoryID}", "GET")
// @ApiResponse(Description="No inventory alternate parent with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryAlternateParentGETRequest implements IReturn<InventoryAlternateParent>
{
    InventoryID: string;
    LinkedInventoryID: string;
    createResponse() { return new InventoryAlternateParent(); }
    getTypeName() { return "InventoryAlternateParentGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/AlternateParents", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No inventory alternate parent with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAlternateParentsGETManyRequest implements IReturn<Array<InventoryAlternateParent>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryAlternateParent>(); }
    getTypeName() { return "InventoryAlternateParentsGETManyRequest"; }
}

// @Route("/Inventory/AttributeGroupTemplates/{AttributeGroupTemplateID}/Attributes/{TemplateAttributeID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory attribute group template attribute with the AttributeGroupTemplateAttributeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryAttributeGroupTemplateAttributeGETRequest implements IReturn<InventoryAttributeGroupTemplateAttribute>
{
    AttributeGroupTemplateID: string;
    TemplateAttributeID: string;
    createResponse() { return new InventoryAttributeGroupTemplateAttribute(); }
    getTypeName() { return "InventoryAttributeGroupTemplateAttributeGETRequest"; }
}

// @Route("/Inventory/AttributeGroupTemplates/{AttributeGroupTemplateID}/Attributes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory attribute group template with the AttributeTemplateID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class InventoryAttributeGroupTemplateAttributesGETManyRequest implements IReturn<Array<InventoryAttributeGroupTemplateAttribute>>
{
    AttributeGroupTemplateID: string;
    createResponse() { return new Array<InventoryAttributeGroupTemplateAttribute>(); }
    getTypeName() { return "InventoryAttributeGroupTemplateAttributesGETManyRequest"; }
}

// @Route("/Inventory/AttributeGroupTemplates/{AttributeGroupTemplateID}/Attribute", "POST")
// @ApiResponse(Description="No inventory attribute group template with the AttributeTemplateID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeGroupTemplateAttributePOSTRequest extends InventoryAttributeGroupTemplateAttribute implements IReturn<InventoryAttributeGroupTemplateAttribute>
{
    AttributeGroupTemplateID: string;
    createResponse() { return new InventoryAttributeGroupTemplateAttribute(); }
    getTypeName() { return "InventoryAttributeGroupTemplateAttributePOSTRequest"; }
}

// @Route("/Inventory/AttributeGroupTemplates/{AttributeGroupTemplateID}/Attributes/{TemplateAttributeID}", "PATCH")
// @ApiResponse(Description="No inventory attribute group template attribute with the AttributeTemplateID or AttributeGroupTemplateAttributeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class InventoryAttributeGroupTemplateAttributePATCHRequest extends InventoryAttributeGroupTemplateAttribute implements IReturn<InventoryAttributeGroupTemplateAttribute>
{
    TemplateAttributeID: string;
    AttributeGroupTemplateID: string;
    createResponse() { return new InventoryAttributeGroupTemplateAttribute(); }
    getTypeName() { return "InventoryAttributeGroupTemplateAttributePATCHRequest"; }
}

// @Route("/Inventory/AttributeGroupTemplates/{AttributeGroupTemplateID}/Attributes/{TemplateAttributeID}", "DELETE")
// @ApiResponse(Description="No inventory attribute group template attribute with the AttributeGroupTemplateAttributeID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeGroupTemplateAttributeDELETERequest extends InventoryAttributeGroupTemplateAttribute
{
    TemplateAttributeID: string;
}

// @Route("/Inventory/AttributeGroupTemplates/{AttributeGroupTemplateID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory attribute group template with the AttributeGroupTemplateID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryAttributeGroupTemplateGETRequest implements IReturn<InventoryAttributeGroupTemplate>
{
    AttributeGroupTemplateID: string;
    createResponse() { return new InventoryAttributeGroupTemplate(); }
    getTypeName() { return "InventoryAttributeGroupTemplateGETRequest"; }
}

// @Route("/Inventory/AttributeGroupTemplates", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeGroupTemplatePOSTRequest extends InventoryAttributeGroupTemplate implements IReturn<InventoryAttributeGroupTemplate>
{
    createResponse() { return new InventoryAttributeGroupTemplate(); }
    getTypeName() { return "InventoryAttributeGroupTemplatePOSTRequest"; }
}

// @Route("/Inventory/AttributeGroupTemplates/{AttributeGroupTemplateID}", "PATCH")
// @ApiResponse(Description="No inventory attribute group template with the AttributeGroupTemplateID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeGroupTemplatePATCHRequest extends InventoryAttributeGroupTemplate implements IReturn<InventoryAttributeGroupTemplate>
{
    AttributeGroupTemplateID: string;
    createResponse() { return new InventoryAttributeGroupTemplate(); }
    getTypeName() { return "InventoryAttributeGroupTemplatePATCHRequest"; }
}

// @Route("/Inventory/AttributeGroupTemplates/{AttributeGroupTemplateID}", "DELETE")
// @ApiResponse(Description="No classification with the AttributeGroupTemplateID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeGroupTemplateDELETERequest
{
    AttributeGroupTemplateID: string;
}

// @Route("/Inventory/{InventoryID}/AttributeGroups/{AttributeGroupID}", "GET")
// @ApiResponse(Description="No inventory attribute group with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeGroupGETRequest implements IReturn<InventoryAttributeGroup>
{
    InventoryID: string;
    AttributeGroupID: string;
    createResponse() { return new InventoryAttributeGroup(); }
    getTypeName() { return "InventoryAttributeGroupGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/AttributeGroups", "GET")
// @ApiResponse(Description="No inventory attribute group with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeGroupsGETManyRequest implements IReturn<Array<InventoryAttributeGroup>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryAttributeGroup>(); }
    getTypeName() { return "InventoryAttributeGroupsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/AttributeGroups", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory attribute group with the InventoryID or RecID provided was found", StatusCode=404)
export class InventoryAttributeGroupPOSTRequest extends InventoryAttributeGroup implements IReturn<InventoryAttributeGroup>
{
    InventoryID: string;
    createResponse() { return new InventoryAttributeGroup(); }
    getTypeName() { return "InventoryAttributeGroupPOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/AttributeGroups/{AttributeGroupID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory attribute group with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryAttributeGroupPATCHRequest extends InventoryAttributeGroup implements IReturn<InventoryAttributeGroup>
{
    InventoryID: string;
    AttributeGroupID: string;
    createResponse() { return new InventoryAttributeGroup(); }
    getTypeName() { return "InventoryAttributeGroupPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/AttributeGroups/{AttributeGroupID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory attribute group with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryAttributeGroupDELETERequest extends InventoryAttributeGroup
{
    InventoryID: string;
    AttributeGroupID: string;
}

// @Route("/Inventory/{InventoryID}/AttributeGroups/{AttributeGroupID}/AttributeValues/{AttributeID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory attribute value with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeValueGETRequest implements IReturn<InventoryAttributeGroupAttribute>
{
    InventoryID: string;
    AttributeGroupID: string;
    AttributeID: string;
    createResponse() { return new InventoryAttributeGroupAttribute(); }
    getTypeName() { return "InventoryAttributeValueGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/AttributeGroups/{AttributeGroupID}/AttributeValues/{AttributeID}", "PATCH")
// @ApiResponse(Description="No inventory attribute value with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryAttributeValuePATCHRequest extends InventoryAttributeGroupAttribute implements IReturn<InventoryAttributeGroupAttribute>
{
    InventoryID: string;
    AttributeGroupID: string;
    AttributeID: string;
    createResponse() { return new InventoryAttributeGroupAttribute(); }
    getTypeName() { return "InventoryAttributeValuePATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/Budgets/{LogicalWarehouseID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No budget with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
export class InventoryBudgetGETRequest implements IReturn<InventoryBudget>
{
    MonthIndex: number;
    InventoryID: string;
    LogicalWarehouseID: string;
    createResponse() { return new InventoryBudget(); }
    getTypeName() { return "InventoryBudgetGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/Budgets", "GET")
// @ApiResponse(Description="No budgets with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryBudgetsGETManyRequest implements IReturn<Array<InventoryBudget>>
{
    InventoryID: string;
    LogicalWarehouseID: string;
    createResponse() { return new Array<InventoryBudget>(); }
    getTypeName() { return "InventoryBudgetsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/Budgets/{LogicalWarehouseID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No budget with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryBudgetPATCHRequest extends InventoryBudget implements IReturn<InventoryBudget>
{
    MonthIndex: number;
    InventoryID: string;
    LogicalWarehouseID: string;
    createResponse() { return new InventoryBudget(); }
    getTypeName() { return "InventoryBudgetPATCHRequest"; }
}

// @Route("/Inventory/Categories/{CategoryID}", "GET")
// @ApiResponse(Description="No inventory category with the CategoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class InventoryCategoryGETRequest implements IReturn<InventoryCategory>
{
    CategoryID: string;
    createResponse() { return new InventoryCategory(); }
    getTypeName() { return "InventoryCategoryGETRequest"; }
}

// @Route("/Inventory/Categories", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class InventoryCategoryPOSTRequest extends InventoryCategory implements IReturn<InventoryCategory>
{
    createResponse() { return new InventoryCategory(); }
    getTypeName() { return "InventoryCategoryPOSTRequest"; }
}

// @Route("/Inventory/Categories/{CategoryID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory category with the CategoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryCategoryPATCHRequest extends InventoryCategory implements IReturn<InventoryCategory>
{
    CategoryID: string;
    createResponse() { return new InventoryCategory(); }
    getTypeName() { return "InventoryCategoryPATCHRequest"; }
}

// @Route("/Inventory/Categories/{CategoryID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No category with the CategoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class InventoryCategoryDELETERequest
{
    CategoryID: string;
}

// @Route("/Inventory/Classifications/{ClassificationID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory classification with the ClassificationID provided was found", StatusCode=404)
export class InventoryClassificationGETRequest implements IReturn<InventoryClassification>
{
    ClassificationID: string;
    createResponse() { return new InventoryClassification(); }
    getTypeName() { return "InventoryClassificationGETRequest"; }
}

// @Route("/Inventory/Classifications", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryClassificationPOSTRequest extends InventoryClassification implements IReturn<InventoryClassification>
{
    createResponse() { return new InventoryClassification(); }
    getTypeName() { return "InventoryClassificationPOSTRequest"; }
}

// @Route("/Inventory/Classifications/{ClassificationID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No inventory classification with the ClassificationID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryClassificationPATCHRequest extends InventoryClassification implements IReturn<InventoryClassification>
{
    ClassificationID: string;
    createResponse() { return new InventoryClassification(); }
    getTypeName() { return "InventoryClassificationPATCHRequest"; }
}

// @Route("/Inventory/Classifications/{ClassificationID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No classification with the ClassificationID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryClassificationDELETERequest
{
    ClassificationID: string;
}

// @Route("/Inventory/{InventoryID}/Components/{ComponentID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No component with the InventoryID or RecID provided was found", StatusCode=404)
export class InventoryComponentGETRequest implements IReturn<InventoryComponent>
{
    InventoryID: string;
    ComponentID: string;
    createResponse() { return new InventoryComponent(); }
    getTypeName() { return "InventoryComponentGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/Components", "GET")
// @ApiResponse(Description="No component with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryComponentsGETManyRequest implements IReturn<Array<InventoryComponent>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryComponent>(); }
    getTypeName() { return "InventoryComponentsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/Components", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No component with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class InventoryComponentPOSTRequest extends InventoryComponent implements IReturn<InventoryComponent>
{
    InventoryID: string;
    createResponse() { return new InventoryComponent(); }
    getTypeName() { return "InventoryComponentPOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/Components/{ComponentID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No component with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryComponentPATCHRequest extends InventoryComponent implements IReturn<InventoryComponent>
{
    InventoryID: string;
    ComponentID: string;
    createResponse() { return new InventoryComponent(); }
    getTypeName() { return "InventoryComponentPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/Components/{ComponentID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No component with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryComponentDELETERequest extends InventoryComponent
{
    InventoryID: string;
    ComponentID: string;
}

// @Route("/Inventory/{InventoryID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory custom field value with the InventoryID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    InventoryID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "InventoryCustomFieldValueGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory custom field value with the InventoryID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class InventoryCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    InventoryID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "InventoryCustomFieldValuePATCHRequest"; }
}

// @Route("/Inventory/CustomFields", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "InventoryCustomFieldsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/CustomFieldValues", "GET")
// @ApiResponse(Description="No inventory item with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    InventoryID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "InventoryCustomFieldValuesGETManyRequest"; }
}

// @Route("/Inventory/DocumentTypes/{DocumentTypeID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDocumentTypeGETRequest implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "InventoryDocumentTypeGETRequest"; }
}

// @Route("/Inventory/DocumentTypes", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDocumentTypesGETManyRequest implements IReturn<Array<DocumentType>>
{
    createResponse() { return new Array<DocumentType>(); }
    getTypeName() { return "InventoryDocumentTypesGETManyRequest"; }
}

// @Route("/Inventory/DocumentTypes", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDocumentTypePOSTRequest extends DocumentType implements IReturn<DocumentType>
{
    createResponse() { return new DocumentType(); }
    getTypeName() { return "InventoryDocumentTypePOSTRequest"; }
}

// @Route("/Inventory/DocumentTypes/{DocumentTypeID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No inventory document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryDocumentTypePATCHRequest extends DocumentType implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "InventoryDocumentTypePATCHRequest"; }
}

// @Route("/Inventory/DocumentTypes/{DocumentTypeID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDocumentTypeDELETERequest
{
    DocumentTypeID: string;
}

// @Route("/Inventory/{InventoryID}/Documents/{DocumentID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No inventory Document with the InventoryID or DocumentID provided was found", StatusCode=404)
export class InventoryDocumentGETRequest implements IReturn<Document>
{
    InventoryID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "InventoryDocumentGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/Documents", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read Ok", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDocumentsGETManyRequest implements IReturn<Array<Document>>
{
    InventoryID: string;
    createResponse() { return new Array<Document>(); }
    getTypeName() { return "InventoryDocumentsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/Documents", "POST")
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryDocumentPOSTRequest extends Document implements IReturn<Document>
{
    InventoryID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "InventoryDocumentPOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/Documents/{DocumentID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
export class InventoryDocumentPATCHRequest extends Document implements IReturn<Document>
{
    InventoryID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "InventoryDocumentPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/Documents/{DocumentID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
export class InventoryDocumentDELETERequest
{
    InventoryID: string;
    DocumentID: string;
}

// @Route("/Inventory/{InventoryID}/Ledgers/{Name}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory ledger with the InventoryID or Name provided was found", StatusCode=404)
export class InventoryLedgerGETRequest implements IReturn<InventoryLedger>
{
    InventoryID: string;
    Name: string;
    createResponse() { return new InventoryLedger(); }
    getTypeName() { return "InventoryLedgerGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/Ledgers", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory ledger with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryLedgersGETManyRequest implements IReturn<Array<InventoryLedger>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryLedger>(); }
    getTypeName() { return "InventoryLedgersGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/Ledgers/{Name}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory ledger with the InventoryID or Name provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryLedgerPATCHRequest extends InventoryLedger implements IReturn<InventoryLedger>
{
    InventoryID: string;
    Name: string;
    createResponse() { return new InventoryLedger(); }
    getTypeName() { return "InventoryLedgerPATCHRequest"; }
}

// @Route("/Inventory/NoteTypes/{NoteTypeID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class InventoryNoteTypeGETRequest implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "InventoryNoteTypeGETRequest"; }
}

// @Route("/Inventory/NoteTypes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class InventoryNoteTypesGETManyRequest implements IReturn<Array<NoteType>>
{
    createResponse() { return new Array<NoteType>(); }
    getTypeName() { return "InventoryNoteTypesGETManyRequest"; }
}

// @Route("/Inventory/NoteTypes", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryNoteTypePOSTRequest extends NoteType implements IReturn<NoteType>
{
    createResponse() { return new NoteType(); }
    getTypeName() { return "InventoryNoteTypePOSTRequest"; }
}

// @Route("/Inventory/NoteTypes/{NoteTypeID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class InventoryNoteTypePATCHRequest extends NoteType implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "InventoryNoteTypePATCHRequest"; }
}

// @Route("/Inventory/NoteTypes/{NoteTypeID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No inventory note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryNoteTypeDELETERequest
{
    NoteTypeID: string;
}

// @Route("/Inventory/{InventoryID}/Notes/{NoteID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory Note with the InventoryID or NoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryNoteGETRequest implements IReturn<Note>
{
    InventoryID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "InventoryNoteGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/Notes", "GET")
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryNotesGETManyRequest implements IReturn<Array<Note>>
{
    InventoryID: string;
    createResponse() { return new Array<Note>(); }
    getTypeName() { return "InventoryNotesGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/Notes", "POST")
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryNotePOSTRequest extends Note implements IReturn<Note>
{
    InventoryID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "InventoryNotePOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/Notes/{NoteID}", "PATCH")
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class InventoryNotePATCHRequest extends Note implements IReturn<Note>
{
    InventoryID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "InventoryNotePATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/Notes/{NoteID}", "DELETE")
// @ApiResponse(Description="No inventory with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryNoteDELETERequest
{
    InventoryID: string;
    NoteID: string;
}

// @Route("/Inventory/{InventoryID}/OrderLevels/{LogicalWarehouseID}/Periods/{PeriodNo}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No order level with the OrderLevelID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryOrderLevelGETRequest implements IReturn<InventoryOrderLevel>
{
    LogicalWarehouseID: string;
    InventoryID: string;
    PeriodNo: number;
    createResponse() { return new InventoryOrderLevel(); }
    getTypeName() { return "InventoryOrderLevelGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/OrderLevels", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No order levels with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryOrderLevelsGETManyRequest implements IReturn<Array<InventoryOrderLevel>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryOrderLevel>(); }
    getTypeName() { return "InventoryOrderLevelsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/OrderLevels/{LogicalWarehouseID}/Periods/{PeriodNo}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No order level with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
export class InventoryOrderLevelPATCHRequest extends InventoryOrderLevel implements IReturn<InventoryOrderLevel>
{
    LogicalWarehouseID: string;
    InventoryID: string;
    PeriodNo: number;
    createResponse() { return new InventoryOrderLevel(); }
    getTypeName() { return "InventoryOrderLevelPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/OtherDescriptions/{OtherDescriptionID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory other description with the InventoryID or OtherDescriptionID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryOtherDescriptionGETRequest implements IReturn<InventoryOtherDescription>
{
    InventoryID: string;
    OtherDescriptionID: string;
    createResponse() { return new InventoryOtherDescription(); }
    getTypeName() { return "InventoryOtherDescriptionGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/OtherDescriptions", "GET")
// @ApiResponse(Description="No inventory other descriptions with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryOtherDescriptionsGETManyRequest implements IReturn<Array<InventoryOtherDescription>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryOtherDescription>(); }
    getTypeName() { return "InventoryOtherDescriptionsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/OtherDescriptions", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory other description with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class InventoryOtherDescriptionPOSTRequest extends InventoryOtherDescription implements IReturn<InventoryOtherDescription>
{
    InventoryID: string;
    createResponse() { return new InventoryOtherDescription(); }
    getTypeName() { return "InventoryOtherDescriptionPOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/OtherDescriptions/{OtherDescriptionID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No inventory other description with the InventoryID or OtherDescriptionID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryOtherDescriptionPATCHRequest extends InventoryOtherDescription implements IReturn<InventoryOtherDescription>
{
    InventoryID: string;
    OtherDescriptionID: string;
    createResponse() { return new InventoryOtherDescription(); }
    getTypeName() { return "InventoryOtherDescriptionPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/OtherDescriptions/{OtherDescriptionID}", "DELETE")
// @ApiResponse(Description="No inventory other description with the InventoryID or OtherDescriptionID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryOtherDescriptionDELETERequest extends InventoryOtherDescription
{
    InventoryID: string;
    OtherDescriptionID: string;
}

// @Route("/Inventory/{InventoryID}/Pricing/{DebtorID}/{IN_LogicalID}/{Date}/{Quantity}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryPriceGETRequest implements IReturn<InventoryPriceGETResponse>
{
    InventoryID: string;
    DebtorID: string;
    IN_LogicalID: string;
    Date: string;
    Quantity: number;
    createResponse() { return new InventoryPriceGETResponse(); }
    getTypeName() { return "InventoryPriceGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorSpecificPrices/{DebtorSpecificPriceID}", "GET")
// @ApiResponse(Description="No debtor specific price with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryDebtorSpecificPriceGETRequest implements IReturn<InventoryDebtorPrice>
{
    InventoryID: string;
    DebtorSpecificPriceID: string;
    createResponse() { return new InventoryDebtorPrice(); }
    getTypeName() { return "InventoryDebtorSpecificPriceGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorSpecificPrices", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor specific prices with the InventoryID provided was found", StatusCode=404)
export class InventoryDebtorSpecificPricesGETManyRequest implements IReturn<Array<InventoryDebtorPrice>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryDebtorPrice>(); }
    getTypeName() { return "InventoryDebtorSpecificPricesGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorSpecificPrices", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory item with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDebtorSpecificPricePOSTRequest extends InventoryDebtorPrice implements IReturn<InventoryDebtorPrice>
{
    InventoryID: string;
    DebtorID: string;
    createResponse() { return new InventoryDebtorPrice(); }
    getTypeName() { return "InventoryDebtorSpecificPricePOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorSpecificPrices/{DebtorSpecificPriceID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor specific price with the InventoryID or DebtorSpecificPriceID provided was found", StatusCode=404)
export class InventoryDebtorSpecificPricePATCHRequest extends InventoryDebtorPrice implements IReturn<InventoryDebtorPrice>
{
    InventoryID: string;
    DebtorSpecificPriceID: string;
    createResponse() { return new InventoryDebtorPrice(); }
    getTypeName() { return "InventoryDebtorSpecificPricePATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorSpecificPrices/{DebtorSpecificPriceID}", "DELETE")
// @ApiResponse(Description="No debtor specific price with the InventoryID or InventoryID DebtorSpecificPriceID was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryDebtorSpecificPriceDELETERequest extends InventoryDebtorPrice
{
    InventoryID: string;
    DebtorSpecificPriceID: string;
}

// @Route("/Inventory/{InventoryID}/DebtorClassificationPrices/{DebtorClassificationPriceID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor classification price with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDebtorClassificationPriceGETRequest implements IReturn<InventoryDebtorClassificationPrice>
{
    InventoryID: string;
    DebtorClassificationPriceID: string;
    createResponse() { return new InventoryDebtorClassificationPrice(); }
    getTypeName() { return "InventoryDebtorClassificationPriceGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorClassificationPrices", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor classification prices with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class InventoryDebtorClassificationPricesGETManyRequest implements IReturn<Array<InventoryDebtorClassificationPrice>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryDebtorClassificationPrice>(); }
    getTypeName() { return "InventoryDebtorClassificationPricesGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorClassificationPrices", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory item with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class InventoryDebtorClassificationPricePOSTRequest extends InventoryDebtorClassificationPrice implements IReturn<InventoryDebtorClassificationPrice>
{
    InventoryID: string;
    DebtorClassificationPriceID: string;
    createResponse() { return new InventoryDebtorClassificationPrice(); }
    getTypeName() { return "InventoryDebtorClassificationPricePOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorClassificationPrices/{DebtorClassificationPriceID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No debtor classification price with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryDebtorClassificationPricePATCHRequest extends InventoryDebtorClassificationPrice implements IReturn<InventoryDebtorClassificationPrice>
{
    InventoryID: string;
    DebtorClassificationPriceID: string;
    createResponse() { return new InventoryDebtorClassificationPrice(); }
    getTypeName() { return "InventoryDebtorClassificationPricePATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorClassificationPrices/{DebtorClassificationPriceID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No DebtorClassificationPrice with the DebtorClassificationPriceID or InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDebtorClassificationPriceDELETERequest extends InventoryDebtorClassificationPrice
{
    InventoryID: string;
    DebtorClassificationPriceID: string;
}

// @Route("/Inventory/{InventoryID}/DebtorPriceGroupPrices/{DebtorPriceGroupInventorySpecificID}", "GET")
// @ApiResponse(Description="No debtor price group price with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryDebtorPriceGroupPriceGETRequest implements IReturn<InventoryDebtorPriceGroupInventorySpecific>
{
    InventoryID: string;
    DebtorPriceGroupInventorySpecificID: string;
    createResponse() { return new InventoryDebtorPriceGroupInventorySpecific(); }
    getTypeName() { return "InventoryDebtorPriceGroupPriceGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorPriceGroupPrices", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No debtor price group prices with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class InventoryDebtorPriceGroupPricesGETManyRequest implements IReturn<Array<InventoryDebtorPriceGroupInventorySpecific>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryDebtorPriceGroupInventorySpecific>(); }
    getTypeName() { return "InventoryDebtorPriceGroupPricesGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorPriceGroupPrices", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory item with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryDebtorPriceGroupPricePOSTRequest extends InventoryDebtorPriceGroupInventorySpecific implements IReturn<InventoryDebtorPriceGroupInventorySpecific>
{
    InventoryID: string;
    DebtorPriceGroupInventorySpecificID: string;
    createResponse() { return new InventoryDebtorPriceGroupInventorySpecific(); }
    getTypeName() { return "InventoryDebtorPriceGroupPricePOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorPriceGroupPrices/{DebtorPriceGroupInventorySpecificID}", "PATCH")
// @ApiResponse(Description="No debtor price group price with the InventoryID or DebtorPriceGroupInventorySpecificID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryDebtorPriceGroupPricePATCHRequest extends InventoryDebtorPriceGroupInventorySpecific implements IReturn<InventoryDebtorPriceGroupInventorySpecific>
{
    InventoryID: string;
    DebtorPriceGroupInventorySpecificID: string;
    createResponse() { return new InventoryDebtorPriceGroupInventorySpecific(); }
    getTypeName() { return "InventoryDebtorPriceGroupPricePATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/DebtorPriceGroupPrices/{DebtorPriceGroupInventorySpecificID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No debtor price group price with the InventoryID or DebtorPriceGroupInventorySpecificID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class InventoryDebtorPriceGroupPriceDELETERequest extends InventoryDebtorPriceGroupInventorySpecific
{
    InventoryID: string;
    DebtorPriceGroupInventorySpecificID: string;
}

// @Route("/Inventory/{InventoryID}/SellingPrices", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No selling price with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventorySellingPriceGETRequest implements IReturn<InventorySellingPrices>
{
    InventoryID: string;
    createResponse() { return new InventorySellingPrices(); }
    getTypeName() { return "InventorySellingPriceGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/SellingPrices", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No selling price with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
export class InventorySellingPricePATCHRequest extends InventorySellingPrices implements IReturn<InventorySellingPrices>
{
    InventoryID: string;
    createResponse() { return new InventorySellingPrices(); }
    getTypeName() { return "InventorySellingPricePATCHRequest"; }
}

// @Route("/Inventory/PricingGroups/{PricingGroupID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory pricing group with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class InventoryPricingGroupGETRequest implements IReturn<InventoryPricingGroup>
{
    PricingGroupID: string;
    createResponse() { return new InventoryPricingGroup(); }
    getTypeName() { return "InventoryPricingGroupGETRequest"; }
}

// @Route("/Inventory/PricingGroups", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryPricingGroupsGETManyRequest implements IReturn<Array<InventoryPricingGroup>>
{
    createResponse() { return new Array<InventoryPricingGroup>(); }
    getTypeName() { return "InventoryPricingGroupsGETManyRequest"; }
}

// @Route("/Inventory/PricingGroups", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class InventoryPricingGroupPOSTRequest extends InventoryPricingGroup implements IReturn<InventoryPricingGroup>
{
    createResponse() { return new InventoryPricingGroup(); }
    getTypeName() { return "InventoryPricingGroupPOSTRequest"; }
}

// @Route("/Inventory/PricingGroups/{PricingGroupID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory pricing group with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class InventoryPricingGroupPATCHRequest extends InventoryPricingGroup implements IReturn<InventoryPricingGroup>
{
    PricingGroupID: string;
    createResponse() { return new InventoryPricingGroup(); }
    getTypeName() { return "InventoryPricingGroupPATCHRequest"; }
}

// @Route("/Inventory/PricingGroups/{PricingGroupID}", "DELETE")
// @ApiResponse(Description="No inventory pricing group with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryPricingGroupDELETERequest
{
    PricingGroupID: string;
}

// @Route("/Inventory/{InventoryID}/ProductAvailabilities/{LogicalWarehouseID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No product availability with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryProductAvailabilityGETRequest implements IReturn<InventoryProductAvailability>
{
    InventoryID: string;
    LogicalWarehouseID: string;
    createResponse() { return new InventoryProductAvailability(); }
    getTypeName() { return "InventoryProductAvailabilityGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/ProductAvailabilities", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No product availabilities with the InventoryID provided was found", StatusCode=404)
export class InventoryProductAvailabilitiesGETManyRequest implements IReturn<Array<InventoryProductAvailability>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryProductAvailability>(); }
    getTypeName() { return "InventoryProductAvailabilitiesGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/ProductAvailabilities/{LogicalWarehouseID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No product availability with the InventoryID or LogicalWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryProductAvailabilityPATCHRequest extends InventoryProductAvailability implements IReturn<InventoryProductAvailability>
{
    InventoryID: string;
    LogicalWarehouseID: string;
    createResponse() { return new InventoryProductAvailability(); }
    getTypeName() { return "InventoryProductAvailabilityPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No inventory region with the InventoryID or RegionName provided was found", StatusCode=404)
export class InventoryRegionGETRequest implements IReturn<InventoryRegion>
{
    InventoryID: string;
    RegionName: string;
    createResponse() { return new InventoryRegion(); }
    getTypeName() { return "InventoryRegionGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions", "GET")
// @ApiResponse(Description="No inventory region with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryRegionsGETManyRequest implements IReturn<Array<InventoryRegion>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryRegion>(); }
    getTypeName() { return "InventoryRegionsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory region with the InventoryID or RegionName provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryRegionPATCHRequest extends InventoryRegion implements IReturn<InventoryRegion>
{
    InventoryID: string;
    RegionName: string;
    createResponse() { return new InventoryRegion(); }
    getTypeName() { return "InventoryRegionPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers/{SupplierID}", "GET")
// @ApiResponse(Description="No inventory supplier with the InventoryID, RegionName or SupplierID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventorySupplierGETRequest implements IReturn<InventorySupplier>
{
    InventoryID: string;
    RegionName: string;
    SupplierID: string;
    createResponse() { return new InventorySupplier(); }
    getTypeName() { return "InventorySupplierGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No inventory suppliers with the InventoryID or RegionName provided was found", StatusCode=404)
export class InventorySuppliersGETManyRequest implements IReturn<Array<InventorySupplier>>
{
    InventoryID: string;
    RegionName: string;
    createResponse() { return new Array<InventorySupplier>(); }
    getTypeName() { return "InventorySuppliersGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory supplier with the InventoryID or RegionName provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventorySupplierPOSTRequest extends InventorySupplier implements IReturn<InventorySupplier>
{
    InventoryID: string;
    RegionName: string;
    createResponse() { return new InventorySupplier(); }
    getTypeName() { return "InventorySupplierPOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers/{SupplierID}", "PATCH")
// @ApiResponse(Description="No inventory supplier with the InventoryID, RegionName or SupplierID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventorySupplierPATCHRequest extends InventorySupplier implements IReturn<InventorySupplier>
{
    InventoryID: string;
    RegionName: string;
    SupplierID: string;
    createResponse() { return new InventorySupplier(); }
    getTypeName() { return "InventorySupplierPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers/{SupplierID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory supplier with the InventoryID, RegionName or SupplierID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventorySupplierDELETERequest extends InventorySupplier
{
    InventoryID: string;
    RegionName: string;
    SupplierID: string;
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers/{SupplierID}/SupplierWarehouses/{SupplierWarehouseID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No supplier warehouse with the InventoryID, SupplierID, or SupplierWarehouseID provided was found", StatusCode=404)
export class InventorySupplierWarehouseGETRequest implements IReturn<InventorySupplierWarehouse>
{
    InventoryID: string;
    RegionName: string;
    SupplierID: string;
    SupplierWarehouseID: string;
    createResponse() { return new InventorySupplierWarehouse(); }
    getTypeName() { return "InventorySupplierWarehouseGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers/{SupplierID}/SupplierWarehouses", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No supplier warehouse with the InventoryID or SupplierID provided was found", StatusCode=404)
export class InventorySupplierWarehousesGETManyRequest implements IReturn<Array<InventorySupplierWarehouse>>
{
    InventoryID: string;
    RegionName: string;
    SupplierID: string;
    createResponse() { return new Array<InventorySupplierWarehouse>(); }
    getTypeName() { return "InventorySupplierWarehousesGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers/{SupplierID}/SupplierWarehouses", "POST")
// @ApiResponse(Description="No description with the InventoryID, SupplierID or SupplierWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventorySupplierWarehousePOSTRequest extends InventorySupplierWarehouse implements IReturn<InventorySupplierWarehouse>
{
    InventoryID: string;
    RegionName: string;
    SupplierID: string;
    createResponse() { return new InventorySupplierWarehouse(); }
    getTypeName() { return "InventorySupplierWarehousePOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers/{SupplierID}/SupplierWarehouses/{SupplierWarehouseID}", "PATCH")
// @ApiResponse(Description="No supplier warehouse with the InventoryID, SupplierID or SupplierWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventorySupplierWarehousePATCHRequest extends InventorySupplierWarehouse implements IReturn<InventorySupplierWarehouse>
{
    InventoryID: string;
    RegionName: string;
    SupplierID: string;
    SupplierWarehouseID: string;
    createResponse() { return new InventorySupplierWarehouse(); }
    getTypeName() { return "InventorySupplierWarehousePATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/Regions/{RegionName}/Suppliers/{SupplierID}/SupplierWarehouses/{SupplierWarehouseID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No supplier warehouse with the InventoryID, SupplierID or SupplierWarehouseID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventorySupplierWarehouseDELETERequest extends InventorySupplierWarehouse
{
    InventoryID: string;
    RegionName: string;
    SupplierID: string;
    SupplierWarehouseID: string;
}

// @Route("/Inventory/{InventoryID}/UnitOfMeasures/{UnitOfMeasureID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory unit of measure with the InventoryID or UnitOfMeasureID provided was found", StatusCode=404)
export class InventoryUnitOfMeasureGETRequest implements IReturn<InventoryUnitOfMeasure>
{
    InventoryID: string;
    UnitOfMeasureID: string;
    createResponse() { return new InventoryUnitOfMeasure(); }
    getTypeName() { return "InventoryUnitOfMeasureGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/UnitOfMeasures", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No inventory unit of measure with the InventoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryUnitOfMeasuresGETManyRequest implements IReturn<Array<InventoryUnitOfMeasure>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryUnitOfMeasure>(); }
    getTypeName() { return "InventoryUnitOfMeasuresGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/UnitOfMeasures", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory unit of measure with the InventoryID or UnitOfMeasureID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class InventoryUnitOfMeasurePOSTRequest extends InventoryUnitOfMeasure implements IReturn<InventoryUnitOfMeasure>
{
    InventoryID: string;
    createResponse() { return new InventoryUnitOfMeasure(); }
    getTypeName() { return "InventoryUnitOfMeasurePOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/UnitOfMeasures/{UnitOfMeasureID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory unit of measure with the InventoryID or UnitOfMeasureID provided was found", StatusCode=404)
export class InventoryUnitOfMeasurePATCHRequest extends InventoryUnitOfMeasure implements IReturn<InventoryUnitOfMeasure>
{
    InventoryID: string;
    UnitOfMeasureID: string;
    createResponse() { return new InventoryUnitOfMeasure(); }
    getTypeName() { return "InventoryUnitOfMeasurePATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/UnitOfMeasures/{UnitOfMeasureID}", "DELETE")
// @ApiResponse(Description="No inventory unit of measure with the InventoryID or UnitOfMeasureID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryUnitOfMeasureDELETERequest extends InventoryUnitOfMeasure
{
    InventoryID: string;
    UnitOfMeasureID: string;
}

// @Route("/Inventory/{InventoryID}/UpSells/{UpSellID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory up sell with the InventoryID or RecID provided was found", StatusCode=404)
export class InventoryUpSellGETRequest implements IReturn<InventoryUpSell>
{
    InventoryID: string;
    UpSellID: string;
    createResponse() { return new InventoryUpSell(); }
    getTypeName() { return "InventoryUpSellGETRequest"; }
}

// @Route("/Inventory/{InventoryID}/UpSells", "GET")
// @ApiResponse(Description="No inventory up sell with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryUpSellsGETManyRequest implements IReturn<Array<InventoryUpSell>>
{
    InventoryID: string;
    createResponse() { return new Array<InventoryUpSell>(); }
    getTypeName() { return "InventoryUpSellsGETManyRequest"; }
}

// @Route("/Inventory/{InventoryID}/UpSells", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No inventory up sell with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class InventoryUpSellPOSTRequest extends InventoryUpSell implements IReturn<InventoryUpSell>
{
    InventoryID: string;
    createResponse() { return new InventoryUpSell(); }
    getTypeName() { return "InventoryUpSellPOSTRequest"; }
}

// @Route("/Inventory/{InventoryID}/UpSells/{UpSellID}", "PATCH")
// @ApiResponse(Description="No inventory up sell with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class InventoryUpSellPATCHRequest extends InventoryUpSell implements IReturn<InventoryUpSell>
{
    InventoryID: string;
    UpSellID: string;
    createResponse() { return new InventoryUpSell(); }
    getTypeName() { return "InventoryUpSellPATCHRequest"; }
}

// @Route("/Inventory/{InventoryID}/UpSells/{UpSellID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No inventory up sell with the InventoryID or RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class InventoryUpSellDELETERequest extends InventoryUpSell
{
    InventoryID: string;
    UpSellID: string;
}

// @Route("/JournalSets/{JournalSetID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No journal set with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetGETRequest implements IReturn<JournalSet>
{
    JournalSetID: string;
    createResponse() { return new JournalSet(); }
    getTypeName() { return "JournalSetGETRequest"; }
}

// @Route("/JournalSets/", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JournalSetPOSTRequest extends JournalSet implements IReturn<JournalSet>
{
    createResponse() { return new JournalSet(); }
    getTypeName() { return "JournalSetPOSTRequest"; }
}

// @Route("/JournalSets/{JournalSetID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No journal set with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetPATCHRequest extends JournalSet implements IReturn<JournalSet>
{
    JournalSetID: string;
    createResponse() { return new JournalSet(); }
    getTypeName() { return "JournalSetPATCHRequest"; }
}

// @Route("/JournalSets/{JournalSetID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No journal set with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetDELETERequest
{
    JournalSetID: string;
}

// @Route("/JournalSets/DocumentTypes/{DocumentTypeID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No journal set document type with the DocumentTypeID provided was found", StatusCode=404)
export class JournalSetDocumentTypeGETRequest implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "JournalSetDocumentTypeGETRequest"; }
}

// @Route("/JournalSets/DocumentTypes", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetDocumentTypesGETManyRequest implements IReturn<Array<DocumentType>>
{
    createResponse() { return new Array<DocumentType>(); }
    getTypeName() { return "JournalSetDocumentTypesGETManyRequest"; }
}

// @Route("/JournalSets/DocumentTypes", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class JournalSetDocumentTypePOSTRequest extends DocumentType implements IReturn<DocumentType>
{
    createResponse() { return new DocumentType(); }
    getTypeName() { return "JournalSetDocumentTypePOSTRequest"; }
}

// @Route("/JournalSets/DocumentTypes/{DocumentTypeID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No journal set document type with the DocumentTypeID provided was found", StatusCode=404)
export class JournalSetDocumentTypePATCHRequest extends DocumentType implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "JournalSetDocumentTypePATCHRequest"; }
}

// @Route("/JournalSets/DocumentTypes/{DocumentTypeID}", "DELETE")
// @ApiResponse(Description="No journal set document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class JournalSetDocumentTypeDELETERequest
{
    DocumentTypeID: string;
}

// @Route("/JournalSets/{JournalSetID}/Documents/{DocumentID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No journal set document with the JournalSetID or DocumentID provided was found", StatusCode=404)
export class JournalSetDocumentGETRequest implements IReturn<Document>
{
    JournalSetID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "JournalSetDocumentGETRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Documents", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No journal set with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class JournalSetDocumentsGETManyRequest implements IReturn<Array<Document>>
{
    JournalSetID: string;
    createResponse() { return new Array<Document>(); }
    getTypeName() { return "JournalSetDocumentsGETManyRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Documents", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No journal set with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JournalSetDocumentPOSTRequest extends Document implements IReturn<Document>
{
    JournalSetID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "JournalSetDocumentPOSTRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Documents/{DocumentID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No journal set with the JournalSetID provided was found", StatusCode=404)
export class JournalSetDocumentPATCHRequest extends Document implements IReturn<Document>
{
    JournalSetID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "JournalSetDocumentPATCHRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Documents/{DocumentID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No journal set with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetDocumentDELETERequest
{
    JournalSetID: string;
    DocumentID: string;
}

// @Route("/JournalSets/{JournalSetID}/Lines/{JournalSetLineID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the JournalSetID or JournalSetLineID provided was found", StatusCode=404)
export class JournalSetLineGETRequest implements IReturn<JournalSetLine>
{
    JournalSetID: string;
    JournalSetLineID: string;
    createResponse() { return new JournalSetLine(); }
    getTypeName() { return "JournalSetLineGETRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Lines", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetLinesGETManyRequest implements IReturn<Array<JournalSetLine>>
{
    JournalSetID: string;
    createResponse() { return new Array<JournalSetLine>(); }
    getTypeName() { return "JournalSetLinesGETManyRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Lines", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the JournalSetID or JournalSetLineID provided was found", StatusCode=404)
export class JournalSetLinePOSTRequest extends JournalSetLine implements IReturn<JournalSetLine>
{
    JournalSetID: string;
    createResponse() { return new JournalSetLine(); }
    getTypeName() { return "JournalSetLinePOSTRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Lines/{JournalSetLineID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the JournalSetID or JournalSetLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class JournalSetLinePATCHRequest extends JournalSetLine implements IReturn<JournalSetLine>
{
    JournalSetID: string;
    JournalSetLineID: string;
    createResponse() { return new JournalSetLine(); }
    getTypeName() { return "JournalSetLinePATCHRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Lines/{JournalSetLineID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No line with the JournalSetID or JournalSetLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetLineDELETERequest extends JournalSetLine
{
    JournalSetID: string;
    JournalSetLineID: string;
}

// @Route("/JournalSets/NoteTypes/{NoteTypeID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No journal set note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetNoteTypeGETRequest implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "JournalSetNoteTypeGETRequest"; }
}

// @Route("/JournalSets/NoteTypes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class JournalSetNoteTypesGETManyRequest implements IReturn<Array<NoteType>>
{
    createResponse() { return new Array<NoteType>(); }
    getTypeName() { return "JournalSetNoteTypesGETManyRequest"; }
}

// @Route("/JournalSets/NoteTypes", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetNoteTypePOSTRequest extends NoteType implements IReturn<NoteType>
{
    createResponse() { return new NoteType(); }
    getTypeName() { return "JournalSetNoteTypePOSTRequest"; }
}

// @Route("/JournalSets/NoteTypes/{NoteTypeID}", "PATCH")
// @ApiResponse(Description="No journal set note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetNoteTypePATCHRequest extends NoteType implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "JournalSetNoteTypePATCHRequest"; }
}

// @Route("/JournalSets/NoteTypes/{NoteTypeID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No journal set note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class JournalSetNoteTypeDELETERequest
{
    NoteTypeID: string;
}

// @Route("/JournalSets/{JournalSetID}/Notes/{NoteID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order Note with the JournalSetID or NoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetNoteGETRequest implements IReturn<Note>
{
    JournalSetID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "JournalSetNoteGETRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Notes", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No Sales Order with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JournalSetNotesGETManyRequest implements IReturn<Array<Note>>
{
    JournalSetID: string;
    createResponse() { return new Array<Note>(); }
    getTypeName() { return "JournalSetNotesGETManyRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Notes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class JournalSetNotePOSTRequest extends Note implements IReturn<Note>
{
    JournalSetID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "JournalSetNotePOSTRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Notes/{NoteID}", "PATCH")
// @ApiResponse(Description="No Sales Order with the JournalSetID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JournalSetNotePATCHRequest extends Note implements IReturn<Note>
{
    JournalSetID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "JournalSetNotePATCHRequest"; }
}

// @Route("/JournalSets/{JournalSetID}/Notes/{NoteID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No Sales Order with the JournalSetID provided was found", StatusCode=404)
export class JournalSetNoteDELETERequest
{
    JournalSetID: string;
    NoteID: string;
}

// @Route("/KeepAlive", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class KeepAliveGETRequest
{
}

// @Route("/BookIns/{BookInID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No book in with the book in no. provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LandedCostBookInGETRequest implements IReturn<BookIn>
{
    BookInID: string;
    createResponse() { return new BookIn(); }
    getTypeName() { return "LandedCostBookInGETRequest"; }
}

// @Route("/BookIns/{BookInID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No book in with the book in no. provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class LandedCostBookInPATCHRequest extends BookIn implements IReturn<BookIn>
{
    BookInID: string;
    createResponse() { return new BookIn(); }
    getTypeName() { return "LandedCostBookInPATCHRequest"; }
}

// @Route("/BookIns/FromShipmentID/{ShipmentID}", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No shipment with the shipment no. provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class LandedCostBookInCREATEFromShipmentIDRequest implements IReturn<BookIn>
{
    ShipmentID: string;
    createResponse() { return new BookIn(); }
    getTypeName() { return "LandedCostBookInCREATEFromShipmentIDRequest"; }
}

// @Route("/BookIns/FromShipmentNo/{ShipmentNo}", "POST")
// @ApiResponse(Description="No shipment with the shipment no. provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class LandedCostBookInCREATEFromShipmentNoRequest implements IReturn<BookIn>
{
    ShipmentNo: string;
    createResponse() { return new BookIn(); }
    getTypeName() { return "LandedCostBookInCREATEFromShipmentNoRequest"; }
}

// @Route("/BookIns/Activate/{BookInID}", "POST")
// @ApiResponse(Description="No book in with the book in no. provided was found", StatusCode=404)
// @ApiResponse(Description="Activated OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LandedCostBookInACTIVATERequest implements IReturn<BookIn>
{
    BookInID: string;
    createResponse() { return new BookIn(); }
    getTypeName() { return "LandedCostBookInACTIVATERequest"; }
}

// @Route("/BookIns/{BookInID}/Lines/{LineID}", "GET")
// @ApiResponse(Description="No line with the BookInID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LandedCostBookInLineGETRequest implements IReturn<BookInLine>
{
    BookInID: string;
    LineID: string;
    createResponse() { return new BookInLine(); }
    getTypeName() { return "LandedCostBookInLineGETRequest"; }
}

// @Route("/BookIns/{BookInID}/Lines", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the BookInID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LandedCostBookInLinesGETManyRequest implements IReturn<Array<BookInLine>>
{
    BookInID: string;
    createResponse() { return new Array<BookInLine>(); }
    getTypeName() { return "LandedCostBookInLinesGETManyRequest"; }
}

// @Route("/BookIns/{BookInID}/Lines/{LineID}", "PATCH")
// @ApiResponse(Description="No line with the BookInID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LandedCostBookInLinePATCHRequest extends BookInLine implements IReturn<BookInLine>
{
    BookInID: string;
    LineID: string;
    createResponse() { return new BookInLine(); }
    getTypeName() { return "LandedCostBookInLinePATCHRequest"; }
}

// @Route("/BookIns/{BookInID}/Lines/{LineID}", "DELETE")
// @ApiResponse(Description="No line with the BookInID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LandedCostBookInLineDELETERequest extends BookInLine
{
    BookInID: string;
    LineID: string;
}

// @Route("/Shipments/{ShipmentID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No shipment with the ShipmentID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class LandedCostShipmentGETRequest implements IReturn<Shipment>
{
    ShipmentID: string;
    createResponse() { return new Shipment(); }
    getTypeName() { return "LandedCostShipmentGETRequest"; }
}

// @Route("/Shipments", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class LandedCostShipmentPOSTRequest extends Shipment implements IReturn<Shipment>
{
    createResponse() { return new Shipment(); }
    getTypeName() { return "LandedCostShipmentPOSTRequest"; }
}

// @Route("/Shipments/{ShipmentID}", "PATCH")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No shipment with the ShipmentID provided was found", StatusCode=404)
export class LandedCostShipmentPATCHRequest extends Shipment implements IReturn<Shipment>
{
    ShipmentID: string;
    createResponse() { return new Shipment(); }
    getTypeName() { return "LandedCostShipmentPATCHRequest"; }
}

// @Route("/Shipments/{ShipmentID}", "DELETE")
// @ApiResponse(Description="No shipment with the ShipmentID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LandedCostShipmentDELETERequest
{
    ShipmentID: string;
}

// @Route("/Shipments/FromPurchaseOrders/{OrderNos}", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No purchase order(s) with the order nos. provided were found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class LandedCostShipmentCREATEFromPORequest implements IReturn<Shipment>
{
    OrderNos: string[];
    createResponse() { return new Shipment(); }
    getTypeName() { return "LandedCostShipmentCREATEFromPORequest"; }
}

// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Purchase Order Line(s) with the OrderLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LandedCostShipmentCREATEFromPOLinesRequest implements IReturn<Shipment>
{
    ReceivedPOLineQuantities: ReceivedPOLineQuantity[];
    createResponse() { return new Shipment(); }
    getTypeName() { return "LandedCostShipmentCREATEFromPOLinesRequest"; }
}

// @Route("/Shipments/Activate/{ShipmentID}", "POST")
// @ApiResponse(Description="Activated OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No shipment with the ShipmentID provided was found", StatusCode=404)
export class LandedCostShipmentACTIVATERequest implements IReturn<Shipment>
{
    ShipmentID: string;
    createResponse() { return new Shipment(); }
    getTypeName() { return "LandedCostShipmentACTIVATERequest"; }
}

// @Route("/Shipments/{ShipmentID}/PurchaseOrders/{OrderID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No purchase order with the ShipmentID or OrderID provided was found", StatusCode=404)
export class LandedCostShipmentPurchaseOrderGETRequest implements IReturn<ShipmentPurchaseOrderReceived>
{
    ShipmentID: string;
    OrderID: string;
    createResponse() { return new ShipmentPurchaseOrderReceived(); }
    getTypeName() { return "LandedCostShipmentPurchaseOrderGETRequest"; }
}

// @Route("/Shipments/{ShipmentID}/PurchaseOrders", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No purchase order with the ShipmentID provided was found", StatusCode=404)
export class LandedCostShipmentPurchaseOrdersGETManyRequest implements IReturn<Array<ShipmentPurchaseOrderReceived>>
{
    ShipmentID: string;
    createResponse() { return new Array<ShipmentPurchaseOrderReceived>(); }
    getTypeName() { return "LandedCostShipmentPurchaseOrdersGETManyRequest"; }
}

// @Route("/Shipments/{ShipmentID}/PurchaseOrders", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No purchase order with the ShipmentID or OrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LandedCostShipmentPurchaseOrderPOSTRequest extends ShipmentPurchaseOrderReceived implements IReturn<ShipmentPurchaseOrderReceived>
{
    ShipmentID: string;
    OrderID: string;
    createResponse() { return new ShipmentPurchaseOrderReceived(); }
    getTypeName() { return "LandedCostShipmentPurchaseOrderPOSTRequest"; }
}

// @Route("/Shipments/{ShipmentID}/PurchaseOrders/{OrderID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No purchase order with the ShipmentID or OrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LandedCostShipmentPurchaseOrderDELETERequest extends ShipmentPurchaseOrderReceived
{
    ShipmentID: string;
    OrderID: string;
}

// @Route("/Shipments/{ShipmentID}/Lines/{LineID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No line with the ShipmentID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LandedCostShipmentLineGETRequest implements IReturn<ShipmentLine>
{
    ShipmentID: string;
    LineID: string;
    createResponse() { return new ShipmentLine(); }
    getTypeName() { return "LandedCostShipmentLineGETRequest"; }
}

// @Route("/Shipments/{ShipmentID}/Lines", "GET")
// @ApiResponse(Description="No line with the ShipmentID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LandedCostShipmentLinesGETManyRequest implements IReturn<Array<ShipmentLine>>
{
    ShipmentID: string;
    createResponse() { return new Array<ShipmentLine>(); }
    getTypeName() { return "LandedCostShipmentLinesGETManyRequest"; }
}

// @Route("/Shipments/{ShipmentID}/Lines/{LineID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the ShipmentID or LineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LandedCostShipmentLinePATCHRequest extends ShipmentLine implements IReturn<ShipmentLine>
{
    ShipmentID: string;
    LineID: string;
    createResponse() { return new ShipmentLine(); }
    getTypeName() { return "LandedCostShipmentLinePATCHRequest"; }
}

// @Route("/Languages/{LanguageID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No language with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class LanguageGETRequest implements IReturn<Language>
{
    LanguageID: string;
    createResponse() { return new Language(); }
    getTypeName() { return "LanguageGETRequest"; }
}

// @Route("/Languages", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LanguagesGETManyRequest implements IReturn<Array<Language>>
{
    createResponse() { return new Array<Language>(); }
    getTypeName() { return "LanguagesGETManyRequest"; }
}

// @Route("/Languages", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LanguagePOSTRequest extends Language implements IReturn<Language>
{
    createResponse() { return new Language(); }
    getTypeName() { return "LanguagePOSTRequest"; }
}

// @Route("/Languages/{LanguageID}", "PATCH")
// @ApiResponse(Description="No language with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LanguagePATCHRequest extends Language implements IReturn<Language>
{
    LanguageID: string;
    createResponse() { return new Language(); }
    getTypeName() { return "LanguagePATCHRequest"; }
}

// @Route("/Languages/{LanguageID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No language with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LanguageDELETERequest
{
    LanguageID: string;
}

// @Route("/LogicalWarehouses/Current", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class LogicalWarehousesCurrentGETRequest implements IReturn<IN_Logical>
{
    createResponse() { return new IN_Logical(); }
    getTypeName() { return "LogicalWarehousesCurrentGETRequest"; }
}

// @Route("/LogicalWarehouses/Current", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Warehouse changed OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class LogicalWarehousesCurrentPATCHRequest implements IReturn<IN_Logical>
{
    IN_LogicalID: string;
    createResponse() { return new IN_Logical(); }
    getTypeName() { return "LogicalWarehousesCurrentPATCHRequest"; }
}

// @Route("/PurchaseOrders/{PurchaseOrderID}", "GET")
// @ApiResponse(Description="No purchase order with the PurchaseOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class PurchaseOrderGETRequest implements IReturn<PurchaseOrder>
{
    PurchaseOrderID: string;
    createResponse() { return new PurchaseOrder(); }
    getTypeName() { return "PurchaseOrderGETRequest"; }
}

// @Route("/PurchaseOrders/", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class PurchaseOrderPOSTRequest extends PurchaseOrder implements IReturn<PurchaseOrder>
{
    CreditorRecID: string;
    createResponse() { return new PurchaseOrder(); }
    getTypeName() { return "PurchaseOrderPOSTRequest"; }
}

// @Route("/PurchaseOrders/{PurchaseOrderID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No purchase order with the PurchaseOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class PurchaseOrderPATCHRequest extends PurchaseOrder implements IReturn<PurchaseOrder>
{
    PurchaseOrderID: string;
    createResponse() { return new PurchaseOrder(); }
    getTypeName() { return "PurchaseOrderPATCHRequest"; }
}

// @Route("/PurchaseOrders/{PurchaseOrderID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No purchase order with the PurchaseOrderID provided was found", StatusCode=404)
export class PurchaseOrderDELETERequest
{
    PurchaseOrderID: string;
}

// @Route("/PurchaseOrders/FromPurchaseOrderLines", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No purchase order line(s) with the OrderLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class PurchaseOrderReceiveStockCREATEFromPOLinesRequest implements IReturn<Array<ReceivalDocument>>
{
    ReceivedPOLineQuantities: ReceivedPOLineQuantity[];
    ReceivedDate: string;
    createResponse() { return new Array<ReceivalDocument>(); }
    getTypeName() { return "PurchaseOrderReceiveStockCREATEFromPOLinesRequest"; }
}

// @Route("/PurchaseOrders/Activate/{PurchaseOrderID}", "POST")
// @ApiResponse(Description="Activated OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No purchase order with the PurchaseOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class PurchaseOrderACTIVATERequest implements IReturn<PurchaseOrder>
{
    PurchaseOrderID: string;
    createResponse() { return new PurchaseOrder(); }
    getTypeName() { return "PurchaseOrderACTIVATERequest"; }
}

// @Route("/PurchaseOrders/{PurchaseOrderID}/Lines/{PurchaseOrderLineID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No line with the PurchaseOrderID or PurchaseOrderLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PurchaseOrderLineGETRequest implements IReturn<PurchaseOrderLine>
{
    PurchaseOrderID: string;
    PurchaseOrderLineID: string;
    createResponse() { return new PurchaseOrderLine(); }
    getTypeName() { return "PurchaseOrderLineGETRequest"; }
}

// @Route("/PurchaseOrders/{PurchaseOrderID}/Lines", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the PurchaseOrderID provided was found", StatusCode=404)
export class PurchaseOrderLinesGETManyRequest implements IReturn<Array<PurchaseOrderLine>>
{
    PurchaseOrderID: string;
    createResponse() { return new Array<PurchaseOrderLine>(); }
    getTypeName() { return "PurchaseOrderLinesGETManyRequest"; }
}

// @Route("/PurchaseOrders/{PurchaseOrderID}/Lines", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No line with the PurchaseOrderID or PurchaseOrderLineID provided was found", StatusCode=404)
export class PurchaseOrderLinePOSTRequest extends PurchaseOrderLine implements IReturn<PurchaseOrderLine>
{
    PurchaseOrderID: string;
    createResponse() { return new PurchaseOrderLine(); }
    getTypeName() { return "PurchaseOrderLinePOSTRequest"; }
}

// @Route("/PurchaseOrders/{PurchaseOrderID}/Lines/{PurchaseOrderLineID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the PurchaseOrderID or PurchaseOrderLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class PurchaseOrderLinePATCHRequest extends PurchaseOrderLine implements IReturn<PurchaseOrderLine>
{
    PurchaseOrderID: string;
    PurchaseOrderLineID: string;
    createResponse() { return new PurchaseOrderLine(); }
    getTypeName() { return "PurchaseOrderLinePATCHRequest"; }
}

// @Route("/PurchaseOrders/{PurchaseOrderID}/Lines/{PurchaseOrderLineID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No line with the PurchaseOrderID or PurchaseOrderLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PurchaseOrderLineDELETERequest extends PurchaseOrderLine
{
    PurchaseOrderID: string;
    PurchaseOrderLineID: string;
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No purchase invoice with the PurchaseInvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class PurchaseInvoiceGETRequest implements IReturn<PurchaseInvoice>
{
    PurchaseInvoiceID: string;
    createResponse() { return new PurchaseInvoice(); }
    getTypeName() { return "PurchaseInvoiceGETRequest"; }
}

// @Route("/PurchaseInvoices", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PurchaseInvoicePOSTRequest extends PurchaseInvoice implements IReturn<PurchaseInvoice>
{
    CreditorID: string;
    createResponse() { return new PurchaseInvoice(); }
    getTypeName() { return "PurchaseInvoicePOSTRequest"; }
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No purchase invoice with the PurchaseInvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class PurchaseInvoicePATCHRequest extends PurchaseInvoice implements IReturn<PurchaseInvoice>
{
    PurchaseInvoiceID: string;
    createResponse() { return new PurchaseInvoice(); }
    getTypeName() { return "PurchaseInvoicePATCHRequest"; }
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}", "DELETE")
// @ApiResponse(Description="No purchase invoice with the PurchaseInvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PurchaseInvoiceDELETERequest
{
    PurchaseInvoiceID: string;
}

// @Route("/PurchaseInvoices/FromGoodsReceivedNotes/{GRNNos}", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Goods Received Note(s) with the GRN No(s). provided was/were found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class PurchaseInvoiceCREATEFromGRNRequest implements IReturn<PurchaseInvoice>
{
    GRNNos: string[];
    createResponse() { return new PurchaseInvoice(); }
    getTypeName() { return "PurchaseInvoiceCREATEFromGRNRequest"; }
}

// @Route("/PurchaseInvoices/Activate/{PurchaseInvoiceID}", "POST")
// @ApiResponse(Description="Activated OK", StatusCode=204)
// @ApiResponse(Description="No purchase invoice with the PurchaseInvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class PurchaseInvoiceACTIVATERequest implements IReturn<PurchaseInvoice>
{
    PurchaseInvoiceID: string;
    createResponse() { return new PurchaseInvoice(); }
    getTypeName() { return "PurchaseInvoiceACTIVATERequest"; }
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}/GoodsReceivedNotes/{GRNID}", "GET")
// @ApiResponse(Description="No goods received note with the PurchaseInvoiceID or OrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PurchaseInvoiceGoodsReceivedNoteGETRequest implements IReturn<PurchaseInvoiceGoodsReceivedNoteInvoiced>
{
    PurchaseInvoiceID: string;
    GRNID: string;
    createResponse() { return new PurchaseInvoiceGoodsReceivedNoteInvoiced(); }
    getTypeName() { return "PurchaseInvoiceGoodsReceivedNoteGETRequest"; }
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}/GoodsReceivedNotes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No goods received note with the PurchaseInvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PurchaseInvoiceGoodsReceivedNotesGETManyRequest implements IReturn<Array<PurchaseInvoiceGoodsReceivedNoteInvoiced>>
{
    PurchaseInvoiceID: string;
    createResponse() { return new Array<PurchaseInvoiceGoodsReceivedNoteInvoiced>(); }
    getTypeName() { return "PurchaseInvoiceGoodsReceivedNotesGETManyRequest"; }
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}/GoodsReceivedNotes", "POST")
// @ApiResponse(Description="No goods received note with the PurchaseInvoiceID or GRNID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PurchaseInvoiceGoodsReceivedNotePOSTRequest extends PurchaseInvoiceGoodsReceivedNoteInvoiced implements IReturn<PurchaseInvoiceGoodsReceivedNoteInvoiced>
{
    PurchaseInvoiceID: string;
    GRNID: string;
    createResponse() { return new PurchaseInvoiceGoodsReceivedNoteInvoiced(); }
    getTypeName() { return "PurchaseInvoiceGoodsReceivedNotePOSTRequest"; }
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}/GoodsReceivedNotes/{GRNID}", "DELETE")
// @ApiResponse(Description="No goods received note with the PurchaseInvoiceID or GRNID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PurchaseInvoiceGoodsReceivedNoteDELETERequest extends PurchaseInvoiceGoodsReceivedNoteInvoiced
{
    PurchaseInvoiceID: string;
    GRNID: string;
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}/Lines/{PurchaseInvoiceLineID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the PurchaseInvoiceID or PurchaseInvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class PurchaseInvoiceLineGETRequest implements IReturn<PurchaseInvoiceLine>
{
    PurchaseInvoiceID: string;
    PurchaseInvoiceLineID: string;
    createResponse() { return new PurchaseInvoiceLine(); }
    getTypeName() { return "PurchaseInvoiceLineGETRequest"; }
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}/PurchaseInvoiceLineID", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No line with the PurchaseInvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class PurchaseInvoiceLinesGETManyRequest implements IReturn<Array<PurchaseInvoiceLine>>
{
    PurchaseInvoiceID: string;
    createResponse() { return new Array<PurchaseInvoiceLine>(); }
    getTypeName() { return "PurchaseInvoiceLinesGETManyRequest"; }
}

// @Route("/PurchaseInvoices/{PurchaseInvoiceID}/Lines/{PurchaseInvoiceLineID}", "PATCH")
// @ApiResponse(Description="No line with the PurchaseInvoiceID or PurchaseInvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class PurchaseInvoiceLinePATCHRequest extends PurchaseInvoiceLine implements IReturn<PurchaseInvoiceLine>
{
    PurchaseInvoiceID: string;
    PurchaseInvoiceLineID: string;
    createResponse() { return new PurchaseInvoiceLine(); }
    getTypeName() { return "PurchaseInvoiceLinePATCHRequest"; }
}

// @Route("/Regions/{RegionID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No region with the RegionID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class RegionGETRequest implements IReturn<Region>
{
    RegionID: string;
    createResponse() { return new Region(); }
    getTypeName() { return "RegionGETRequest"; }
}

// @Route("/Regions", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class RegionPOSTRequest extends Region implements IReturn<Region>
{
    createResponse() { return new Region(); }
    getTypeName() { return "RegionPOSTRequest"; }
}

// @Route("/Regions/{RegionID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No region with the RegionID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class RegionPATCHRequest extends Region implements IReturn<Region>
{
    RegionID: string;
    createResponse() { return new Region(); }
    getTypeName() { return "RegionPATCHRequest"; }
}

// @Route("/Regions/{RegionID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No region with the RegionID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class RegionDELETERequest
{
    RegionID: string;
}

// @Route("/Reports/{ReportID}/PDF/Download", "GET")
// @ApiResponse(Description="OK", StatusCode=200)
// @ApiResponse(Description="No report with the ReportID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class ReportsPDFGETRequest implements IReturn<IHttpResult>
{
    ReportID: string;
    ReportParameters: ReportParameter[];
    AsAttachment: boolean;
    createResponse() { return new IHttpResult(); }
    getTypeName() { return "ReportsPDFGETRequest"; }
}

// @Route("/RestPaths", "GET")
// @ApiResponse(Description="Read", StatusCode=200)
export class RestPathsGETManyRequest implements IReturn<Array<RestPath>>
{
    createResponse() { return new Array<RestPath>(); }
    getTypeName() { return "RestPathsGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}", "GET")
// @ApiResponse(Description="No Sales Order with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderGETRequest implements IReturn<SalesOrder>
{
    InvoiceID: string;
    createResponse() { return new SalesOrder(); }
    getTypeName() { return "SalesOrderGETRequest"; }
}

// @Route("/SalesOrders", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class SalesOrderPOSTRequest extends SalesOrder implements IReturn<SalesOrder>
{
    createResponse() { return new SalesOrder(); }
    getTypeName() { return "SalesOrderPOSTRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}", "PATCH")
// @ApiResponse(Description="No Sales Order with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderPATCHRequest extends SalesOrder implements IReturn<SalesOrder>
{
    InvoiceID: string;
    createResponse() { return new SalesOrder(); }
    getTypeName() { return "SalesOrderPATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Process", "GET")
// @ApiResponse(Description="No Sales Order with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Processed OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderPROCESSRequest implements IReturn<SalesOrder>
{
    InvoiceID: string;
    createResponse() { return new SalesOrder(); }
    getTypeName() { return "SalesOrderPROCESSRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    InvoiceID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "SalesOrderCustomFieldValuesGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="No Sales Order Custom Field Value with the InvoiceID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    InvoiceID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesOrderCustomFieldValueGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order Custom Field Value with the InvoiceID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    InvoiceID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesOrderCustomFieldValuePATCHRequest"; }
}

// @Route("/SalesOrders/CustomFields", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "SalesOrderCustomFieldsGETManyRequest"; }
}

// @Route("/SalesOrders/DocumentTypes/{DocumentTypeID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class SalesOrderDocumentTypeGETRequest implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "SalesOrderDocumentTypeGETRequest"; }
}

// @Route("/SalesOrders/DocumentTypes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderDocumentTypesGETManyRequest implements IReturn<Array<DocumentType>>
{
    createResponse() { return new Array<DocumentType>(); }
    getTypeName() { return "SalesOrderDocumentTypesGETManyRequest"; }
}

// @Route("/SalesOrders/DocumentTypes", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderDocumentTypePOSTRequest extends DocumentType implements IReturn<DocumentType>
{
    createResponse() { return new DocumentType(); }
    getTypeName() { return "SalesOrderDocumentTypePOSTRequest"; }
}

// @Route("/SalesOrders/DocumentTypes/{DocumentTypeID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No SalesOrder document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class SalesOrderDocumentTypePATCHRequest extends DocumentType implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "SalesOrderDocumentTypePATCHRequest"; }
}

// @Route("/SalesOrders/DocumentTypes/{DocumentTypeID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder document type with the DocumentTypeID provided was found", StatusCode=404)
export class SalesOrderDocumentTypeDELETERequest
{
    DocumentTypeID: string;
}

// @Route("/SalesOrders/{InvoiceID}/Documents/{DocumentID}", "GET")
// @ApiResponse(Description="No SalesOrder Document with the InvoiceID or DocumentID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderDocumentGETRequest implements IReturn<Document>
{
    InvoiceID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "SalesOrderDocumentGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Documents", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder with the InvoiceID provided was found", StatusCode=404)
export class SalesOrderDocumentsGETManyRequest implements IReturn<Array<Document>>
{
    InvoiceID: string;
    createResponse() { return new Array<Document>(); }
    getTypeName() { return "SalesOrderDocumentsGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Documents", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderDocumentPOSTRequest extends Document implements IReturn<Document>
{
    InvoiceID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "SalesOrderDocumentPOSTRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Documents/{DocumentID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder with the InvoiceID provided was found", StatusCode=404)
export class SalesOrderDocumentPATCHRequest extends Document implements IReturn<Document>
{
    InvoiceID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "SalesOrderDocumentPATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Documents/{DocumentID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderDocumentDELETERequest
{
    InvoiceID: string;
    DocumentID: string;
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder History with the InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderHistorysGETRequest implements IReturn<SalesOrderHistory>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new SalesOrderHistory(); }
    getTypeName() { return "SalesOrderHistorysGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No SalesOrder with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistorysGETManyRequest implements IReturn<Array<SalesOrderHistory>>
{
    InvoiceID: string;
    createResponse() { return new Array<SalesOrderHistory>(); }
    getTypeName() { return "SalesOrderHistorysGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No SalesOrder with the InvoiceID, Or InvoiceHistoryID provided was found", StatusCode=404)
export class SalesOrderHistorysPATCHRequest extends SalesOrderHistory implements IReturn<SalesOrderHistory>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new SalesOrderHistory(); }
    getTypeName() { return "SalesOrderHistorysPATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/ConsignmentNotes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No SalesOrder History with the InvoiceID or HistoryID provided was found", StatusCode=404)
export class SalesOrderHistoryConsignmentNotesGETManyRequest implements IReturn<Array<SalesOrderConsignmentNote>>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new Array<SalesOrderConsignmentNote>(); }
    getTypeName() { return "SalesOrderHistoryConsignmentNotesGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/ConsignmentNotes/{ConsignmentNoteID}", "GET")
// @ApiResponse(Description="No SalesOrder consignment note with ConsignmentNoteID, InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryConsignmentNotesGETRequest implements IReturn<SalesOrderConsignmentNote>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    ConsignmentNoteID: string;
    createResponse() { return new SalesOrderConsignmentNote(); }
    getTypeName() { return "SalesOrderHistoryConsignmentNotesGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/ConsignmentNotes", "POST")
// @ApiResponse(Description="No SalesOrder History with the InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryConsignmentNotesPOSTRequest extends SalesOrderConsignmentNote implements IReturn<SalesOrderConsignmentNote>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new SalesOrderConsignmentNote(); }
    getTypeName() { return "SalesOrderHistoryConsignmentNotesPOSTRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/ConsignmentNotes/{ConsignmentNoteID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No SalesOrder consignment note with ConsignmentNoteID, InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class SalesOrderHistoryConsignmentNotesPATCHRequest extends SalesOrderConsignmentNote implements IReturn<SalesOrderConsignmentNote>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    ConsignmentNoteID: string;
    createResponse() { return new SalesOrderConsignmentNote(); }
    getTypeName() { return "SalesOrderHistoryConsignmentNotesPATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/ConsignmentNotes/{ConsignmentNoteID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No SalesOrder consignment note with ConsignmentNoteID, InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryConsignmentNotesDELETERequest
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    ConsignmentNoteID: string;
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/FreightItems", "GET")
// @ApiResponse(Description="No SalesOrder History with the InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryFreightItemsGETManyRequest implements IReturn<Array<SalesOrderFreightItem>>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new Array<SalesOrderFreightItem>(); }
    getTypeName() { return "SalesOrderHistoryFreightItemsGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/FreightItems/{FreightItemID}", "GET")
// @ApiResponse(Description="No SalesOrder Freight Item with FreightItemID, InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryFreightItemsGETRequest implements IReturn<SalesOrderFreightItem>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    FreightItemID: string;
    createResponse() { return new SalesOrderFreightItem(); }
    getTypeName() { return "SalesOrderHistoryFreightItemsGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/FreightItems", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder History with the InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderHistoryFreightItemsPOSTRequest extends SalesOrderFreightItem implements IReturn<SalesOrderFreightItem>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new SalesOrderFreightItem(); }
    getTypeName() { return "SalesOrderHistoryFreightItemsPOSTRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/FreightItems/{FreightItemID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No SalesOrder Freight Item with FreightItemID, InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class SalesOrderHistoryFreightItemsPATCHRequest extends SalesOrderFreightItem implements IReturn<SalesOrderFreightItem>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    FreightItemID: string;
    createResponse() { return new SalesOrderFreightItem(); }
    getTypeName() { return "SalesOrderHistoryFreightItemsPATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Carrier/FreightItems/{FreightItemID}", "DELETE")
// @ApiResponse(Description="No SalesOrder Freight Item with FreightItemID, InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryFreightItemsDELETERequest
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    FreightItemID: string;
}

// @Route("/SalesOrders/Historys/CustomFields", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "SalesOrderHistoryCustomFieldsGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesOrder History with the InvoiceID or HistoryID provided was found", StatusCode=404)
export class SalesOrderHistoryCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "SalesOrderHistoryCustomFieldValuesGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="No SalesOrder History with the InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryCustomFieldValuesGETRequest implements IReturn<CustomFieldValue>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesOrderHistoryCustomFieldValuesGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="No SalesOrder History with the InvoiceID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderHistoryCustomFieldValuesPATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesOrderHistoryCustomFieldValuesPATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order Line InvoiceID, InvoiceHistoryID or InvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderLineCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "SalesOrderLineCustomFieldValuesGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No Sales Order Line Custom Field Value with the InvoiceID, InvoiceHistoryID, InvoiceLineID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class SalesOrderLineCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesOrderLineCustomFieldValueGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order Line Custom Field Value with the InvoiceID, InvoiceHistoryID, InvoiceLineID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class SalesOrderLineCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesOrderLineCustomFieldValuePATCHRequest"; }
}

// @Route("/SalesOrders/Lines/CustomFields", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderLineCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "SalesOrderLineCustomFieldsGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order Line with the InvoiceID or InvoiceLineID provided was found", StatusCode=404)
export class SalesOrderLineGETRequest implements IReturn<SalesOrderLine>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    createResponse() { return new SalesOrderLine(); }
    getTypeName() { return "SalesOrderLineGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order Line with the InvoiceID or InvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderLinesGETManyRequest implements IReturn<Array<SalesOrderLine>>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new Array<SalesOrderLine>(); }
    getTypeName() { return "SalesOrderLinesGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines", "POST")
// @ApiResponse(Description="No Sales Order Line with the InvoiceID or InvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderLinePOSTRequest extends SalesOrderLine implements IReturn<SalesOrderLine>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new SalesOrderLine(); }
    getTypeName() { return "SalesOrderLinePOSTRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}", "PATCH")
// @ApiResponse(Description="No Sales Order Line with the InvoiceID or InvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class SalesOrderLinePATCHRequest extends SalesOrderLine implements IReturn<SalesOrderLine>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    createResponse() { return new SalesOrderLine(); }
    getTypeName() { return "SalesOrderLinePATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}", "DELETE")
// @ApiResponse(Description="No Sales Order Line with the InvoiceID or InvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderLineDELETERequest
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}/LineDetails", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the InvoiceID or InvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderLineDetailsGETManyRequest implements IReturn<Array<SalesOrderLineDetail>>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    createResponse() { return new Array<SalesOrderLineDetail>(); }
    getTypeName() { return "SalesOrderLineDetailsGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}/LineDetails/{DetailsLineID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the InvoiceID or InvoiceLineID or DetailsLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderLineDetailGETRequest implements IReturn<SalesOrderLineDetail>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    DetailsLineID: string;
    createResponse() { return new SalesOrderLineDetail(); }
    getTypeName() { return "SalesOrderLineDetailGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}/LineDetails", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the InvoiceID or  InvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class SalesOrderLineDetailPOSTRequest extends SalesOrderLineDetail implements IReturn<SalesOrderLineDetail>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    createResponse() { return new SalesOrderLineDetail(); }
    getTypeName() { return "SalesOrderLineDetailPOSTRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}/LineDetails/{DetailsLineID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the InvoiceID or  InvoiceLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderLineDetailPATCHRequest extends SalesOrderLineDetail implements IReturn<SalesOrderLineDetail>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    DetailsLineID: string;
    createResponse() { return new SalesOrderLineDetail(); }
    getTypeName() { return "SalesOrderLineDetailPATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Lines/{InvoiceLineID}/LineDetails/{DetailsLineID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the InvoiceID or  InvoiceLineID or DetailsLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class SalesOrderLineDetailDELETERequest
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    InvoiceLineID: string;
    DetailsLineID: string;
}

// @Route("/SalesOrders/NoteTypes/{NoteTypeID}", "GET")
// @ApiResponse(Description="No Sales Order Note Type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderNoteTypeGETRequest implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "SalesOrderNoteTypeGETRequest"; }
}

// @Route("/SalesOrders/NoteTypes", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderNoteTypesGETManyRequest implements IReturn<Array<NoteType>>
{
    createResponse() { return new Array<NoteType>(); }
    getTypeName() { return "SalesOrderNoteTypesGETManyRequest"; }
}

// @Route("/SalesOrders/NoteTypes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderNoteTypePOSTRequest extends NoteType implements IReturn<NoteType>
{
    createResponse() { return new NoteType(); }
    getTypeName() { return "SalesOrderNoteTypePOSTRequest"; }
}

// @Route("/SalesOrders/NoteTypes/{NoteTypeID}", "PATCH")
// @ApiResponse(Description="No Sales Order Note Type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderNoteTypePATCHRequest extends NoteType implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "SalesOrderNoteTypePATCHRequest"; }
}

// @Route("/SalesOrders/NoteTypes/{NoteTypeID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order Note Type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class SalesOrderNoteTypeDELETERequest
{
    NoteTypeID: string;
}

// @Route("/SalesOrders/{InvoiceID}/Notes/{NoteID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order Note with the InvoiceID or NoteID provided was found", StatusCode=404)
export class SalesOrderNoteGETRequest implements IReturn<Note>
{
    InvoiceID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "SalesOrderNoteGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Notes", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderNotesGETManyRequest implements IReturn<Array<Note>>
{
    InvoiceID: string;
    createResponse() { return new Array<Note>(); }
    getTypeName() { return "SalesOrderNotesGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Notes", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No Sales Order with the InvoiceID provided was found", StatusCode=404)
export class SalesOrderNotePOSTRequest extends Note implements IReturn<Note>
{
    InvoiceID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "SalesOrderNotePOSTRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Notes/{NoteID}", "PATCH")
// @ApiResponse(Description="No Sales Order with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderNotePATCHRequest extends Note implements IReturn<Note>
{
    InvoiceID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "SalesOrderNotePATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Notes/{NoteID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Order with the InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderNoteDELETERequest
{
    InvoiceID: string;
    NoteID: string;
}

// @Route("/SalesOrders/PaymentTypes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderPaymentTypesGETManyRequest implements IReturn<Array<PaymentType>>
{
    createResponse() { return new Array<PaymentType>(); }
    getTypeName() { return "SalesOrderPaymentTypesGETManyRequest"; }
}

// @Route("/SalesOrders/PaymentTypes/{PaymentTypeID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No payment type with PaymentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class SalesOrderPaymentTypesGETRequest implements IReturn<PaymentType>
{
    PaymentTypeID: string;
    createResponse() { return new PaymentType(); }
    getTypeName() { return "SalesOrderPaymentTypesGETRequest"; }
}

// @Route("/SalesOrders/PaymentTypes", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderPaymentTypesPOSTRequest extends PaymentType implements IReturn<PaymentType>
{
    createResponse() { return new PaymentType(); }
    getTypeName() { return "SalesOrderPaymentTypesPOSTRequest"; }
}

// @Route("/SalesOrders/PaymentTypes/{PaymentTypeID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No payment type with PaymentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderPaymentTypesPATCHRequest extends PaymentType implements IReturn<PaymentType>
{
    PaymentTypeID: string;
    createResponse() { return new PaymentType(); }
    getTypeName() { return "SalesOrderPaymentTypesPATCHRequest"; }
}

// @Route("/SalesOrders/PaymentTypes/{PaymentTypeID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=200)
// @ApiResponse(Description="No payment type with PaymentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderPaymentTypesDELETERequest
{
    PaymentTypeID: string;
}

// @Route("/SalesOrders/{InvoiceID}/Payments", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderPaymentsGETManyRequest implements IReturn<Array<SalesOrderPayment>>
{
    InvoiceID: string;
    createResponse() { return new Array<SalesOrderPayment>(); }
    getTypeName() { return "SalesOrderPaymentsGETManyRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Payments/{PaymentID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No payment with PaymentID or InvoiceID provided was found", StatusCode=404)
export class SalesOrderPaymentsGETRequest implements IReturn<SalesOrderPayment>
{
    InvoiceID: string;
    PaymentID: string;
    createResponse() { return new SalesOrderPayment(); }
    getTypeName() { return "SalesOrderPaymentsGETRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Historys/{InvoiceHistoryID}/Payments", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderPaymentsPOSTRequest extends SalesOrderPayment implements IReturn<SalesOrderPayment>
{
    InvoiceID: string;
    InvoiceHistoryID: string;
    createResponse() { return new SalesOrderPayment(); }
    getTypeName() { return "SalesOrderPaymentsPOSTRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Payments/{PaymentID}", "PATCH")
// @ApiResponse(Description="No payment with PaymentID or InvoiceID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesOrderPaymentsPATCHRequest extends SalesOrderPayment implements IReturn<SalesOrderPayment>
{
    InvoiceID: string;
    PaymentID: string;
    createResponse() { return new SalesOrderPayment(); }
    getTypeName() { return "SalesOrderPaymentsPATCHRequest"; }
}

// @Route("/SalesOrders/{InvoiceID}/Payments/{PaymentID}", "DELETE")
// @ApiResponse(Description="No payment with PaymentID or InvoiceID  provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesOrderPaymentsDELETERequest
{
    InvoiceID: string;
    PaymentID: string;
}

// @Route("/SalesQuotes/{QuoteID}", "GET")
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteGETRequest implements IReturn<SalesQuote>
{
    QuoteID: string;
    createResponse() { return new SalesQuote(); }
    getTypeName() { return "SalesQuoteGETRequest"; }
}

// @Route("/SalesQuotes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuotePOSTRequest extends SalesQuote implements IReturn<SalesQuote>
{
    createResponse() { return new SalesQuote(); }
    getTypeName() { return "SalesQuotePOSTRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}", "PATCH")
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuotePATCHRequest extends SalesQuote implements IReturn<SalesQuote>
{
    QuoteID: string;
    createResponse() { return new SalesQuote(); }
    getTypeName() { return "SalesQuotePATCHRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/MakeOrder", "POST")
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteMAKEORDERRequest implements IReturn<SalesQuote>
{
    QuoteID: string;
    createResponse() { return new SalesQuote(); }
    getTypeName() { return "SalesQuoteMAKEORDERRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/MakeOrderB2B", "POST")
// @ApiResponse(Description="Created OK", StatusCode=200)
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteMAKEORDERB2BRequest implements IReturn<SalesQuote>
{
    QuoteID: string;
    createResponse() { return new SalesQuote(); }
    getTypeName() { return "SalesQuoteMAKEORDERB2BRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    QuoteID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "SalesQuoteCustomFieldValuesGETManyRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="No Sales Quote Custom Field Value with the QuoteID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    QuoteID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesQuoteCustomFieldValueGETRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote Custom Field Value with the QuoteID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class SalesQuoteCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    QuoteID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesQuoteCustomFieldValuePATCHRequest"; }
}

// @Route("/SalesQuotes/CustomFields", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "SalesQuoteCustomFieldsGETManyRequest"; }
}

// @Route("/SalesQuotes/DocumentTypes/{DocumentTypeID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No SalesQuote document type with the DocumentTypeID provided was found", StatusCode=404)
export class SalesQuoteDocumentTypeGETRequest implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "SalesQuoteDocumentTypeGETRequest"; }
}

// @Route("/SalesQuotes/DocumentTypes", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteDocumentTypesGETManyRequest implements IReturn<Array<DocumentType>>
{
    createResponse() { return new Array<DocumentType>(); }
    getTypeName() { return "SalesQuoteDocumentTypesGETManyRequest"; }
}

// @Route("/SalesQuotes/DocumentTypes", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class SalesQuoteDocumentTypePOSTRequest extends DocumentType implements IReturn<DocumentType>
{
    createResponse() { return new DocumentType(); }
    getTypeName() { return "SalesQuoteDocumentTypePOSTRequest"; }
}

// @Route("/SalesQuotes/DocumentTypes/{DocumentTypeID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No SalesQuote document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class SalesQuoteDocumentTypePATCHRequest extends DocumentType implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "SalesQuoteDocumentTypePATCHRequest"; }
}

// @Route("/SalesQuotes/DocumentTypes/{DocumentTypeID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No SalesQuote document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteDocumentTypeDELETERequest
{
    DocumentTypeID: string;
}

// @Route("/SalesQuotes/{QuoteID}/Documents/{DocumentID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No SalesQuote Document with the QuoteID or DocumentID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteDocumentGETRequest implements IReturn<Document>
{
    QuoteID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "SalesQuoteDocumentGETRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Documents", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesQuote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteDocumentsGETManyRequest implements IReturn<Array<Document>>
{
    QuoteID: string;
    createResponse() { return new Array<Document>(); }
    getTypeName() { return "SalesQuoteDocumentsGETManyRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Documents", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesQuote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class SalesQuoteDocumentPOSTRequest extends Document implements IReturn<Document>
{
    QuoteID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "SalesQuoteDocumentPOSTRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Documents/{DocumentID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesQuote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteDocumentPATCHRequest extends Document implements IReturn<Document>
{
    QuoteID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "SalesQuoteDocumentPATCHRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Documents/{DocumentID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesQuote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class SalesQuoteDocumentDELETERequest
{
    QuoteID: string;
    DocumentID: string;
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesQuote History with the QuoteID or HistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteHistorysGETRequest implements IReturn<SalesQuoteHistory>
{
    QuoteID: string;
    QuoteHistoryID: string;
    createResponse() { return new SalesQuoteHistory(); }
    getTypeName() { return "SalesQuoteHistorysGETRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys", "GET")
// @ApiResponse(Description="No SalesQuote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class SalesQuoteHistorysGETManyRequest implements IReturn<Array<SalesQuoteHistory>>
{
    QuoteID: string;
    createResponse() { return new Array<SalesQuoteHistory>(); }
    getTypeName() { return "SalesQuoteHistorysGETManyRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No SalesQuote with the QuoteID, Or QuoteHistoryID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteHistorysPATCHRequest extends SalesQuoteHistory implements IReturn<SalesQuoteHistory>
{
    QuoteID: string;
    QuoteHistoryID: string;
    createResponse() { return new SalesQuoteHistory(); }
    getTypeName() { return "SalesQuoteHistorysPATCHRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}/Lines/{QuoteLineID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote Line QuoteID, QuoteHistoryID or QuoteLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteLineCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    QuoteID: string;
    QuoteHistoryID: string;
    QuoteLineID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "SalesQuoteLineCustomFieldValuesGETManyRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}/Lines/{QuoteLineID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="No Sales Quote Line Custom Field Value with the QuoteID, QuoteHistoryID, QuoteLineID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteLineCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    QuoteID: string;
    QuoteHistoryID: string;
    QuoteLineID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesQuoteLineCustomFieldValueGETRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}/Lines/{QuoteLineID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote Line Custom Field Value with the QuoteID, QuoteHistoryID, QuoteLineID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteLineCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    QuoteID: string;
    QuoteHistoryID: string;
    QuoteLineID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "SalesQuoteLineCustomFieldValuePATCHRequest"; }
}

// @Route("/SalesQuotes/Lines/CustomFields", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteLineCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "SalesQuoteLineCustomFieldsGETManyRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}/Lines/{QuoteLineID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote Line with the QuoteID or QuoteLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteLineGETRequest implements IReturn<SalesQuoteLine>
{
    QuoteID: string;
    QuoteHistoryID: string;
    QuoteLineID: string;
    createResponse() { return new SalesQuoteLine(); }
    getTypeName() { return "SalesQuoteLineGETRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}/Lines", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote Line with the QuoteID or QuoteLineID provided was found", StatusCode=404)
export class SalesQuoteLinesGETManyRequest implements IReturn<Array<SalesQuoteLine>>
{
    QuoteID: string;
    QuoteHistoryID: string;
    createResponse() { return new Array<SalesQuoteLine>(); }
    getTypeName() { return "SalesQuoteLinesGETManyRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}/Lines", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No Sales Quote Line with the QuoteID or QuoteLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteLinePOSTRequest extends SalesQuoteLine implements IReturn<SalesQuoteLine>
{
    QuoteID: string;
    QuoteHistoryID: string;
    createResponse() { return new SalesQuoteLine(); }
    getTypeName() { return "SalesQuoteLinePOSTRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}/Lines/{QuoteLineID}", "PATCH")
// @ApiResponse(Description="No Sales Quote Line with the QuoteID or QuoteLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteLinePATCHRequest extends SalesQuoteLine implements IReturn<SalesQuoteLine>
{
    QuoteID: string;
    QuoteHistoryID: string;
    QuoteLineID: string;
    createResponse() { return new SalesQuoteLine(); }
    getTypeName() { return "SalesQuoteLinePATCHRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Historys/{QuoteHistoryID}/Lines/{QuoteLineID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote Line with the QuoteID or QuoteLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SalesQuoteLineDELETERequest
{
    QuoteID: string;
    QuoteHistoryID: string;
    QuoteLineID: string;
}

// @Route("/SalesQuotes/NoteTypes/{NoteTypeID}", "GET")
// @ApiResponse(Description="No Sales Quote Note Type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteNoteTypeGETRequest implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "SalesQuoteNoteTypeGETRequest"; }
}

// @Route("/SalesQuotes/NoteTypes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class SalesQuoteNoteTypesGETManyRequest implements IReturn<Array<NoteType>>
{
    createResponse() { return new Array<NoteType>(); }
    getTypeName() { return "SalesQuoteNoteTypesGETManyRequest"; }
}

// @Route("/SalesQuotes/NoteTypes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteNoteTypePOSTRequest extends NoteType implements IReturn<NoteType>
{
    createResponse() { return new NoteType(); }
    getTypeName() { return "SalesQuoteNoteTypePOSTRequest"; }
}

// @Route("/SalesQuotes/NoteTypes/{NoteTypeID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No Sales Quote Note Type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteNoteTypePATCHRequest extends NoteType implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "SalesQuoteNoteTypePATCHRequest"; }
}

// @Route("/SalesQuotes/NoteTypes/{NoteTypeID}", "DELETE")
// @ApiResponse(Description="No Sales Quote Note Type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class SalesQuoteNoteTypeDELETERequest
{
    NoteTypeID: string;
}

// @Route("/SalesQuotes/{QuoteID}/Notes/{NoteID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote Note with the QuoteID or NoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class SalesQuoteNoteGETRequest implements IReturn<Note>
{
    QuoteID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "SalesQuoteNoteGETRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Notes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
export class SalesQuoteNotesGETManyRequest implements IReturn<Array<Note>>
{
    QuoteID: string;
    createResponse() { return new Array<Note>(); }
    getTypeName() { return "SalesQuoteNotesGETManyRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Notes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteNotePOSTRequest extends Note implements IReturn<Note>
{
    QuoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "SalesQuoteNotePOSTRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Notes/{NoteID}", "PATCH")
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteNotePATCHRequest extends Note implements IReturn<Note>
{
    QuoteID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "SalesQuoteNotePATCHRequest"; }
}

// @Route("/SalesQuotes/{QuoteID}/Notes/{NoteID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No Sales Quote with the QuoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SalesQuoteNoteDELETERequest
{
    QuoteID: string;
    NoteID: string;
}

// @Route("/Services/Stop", "GET")
// @ApiResponse(Description="Stop request sent OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class StopRequest
{
}

// @Route("/Services/Restart", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Restart request sent OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class RestartRequest
{
}

// @ApiResponse(Description="Read OK", StatusCode=200)
export class AuthUserSessionsGETRequest implements IReturn<Array<JiwaAuthUserSessionResponse>>
{
    createResponse() { return new Array<JiwaAuthUserSessionResponse>(); }
    getTypeName() { return "AuthUserSessionsGETRequest"; }
}

// @Route("/Staff/Current", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class StaffCurrentUserGETRequest implements IReturn<StaffCurrentUserGETResponse>
{
    createResponse() { return new StaffCurrentUserGETResponse(); }
    getTypeName() { return "StaffCurrentUserGETRequest"; }
}

// @Route("/Staff/Current/List", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class StaffCurrentUserListGETRequest implements IReturn<Array<StaffCurrentUserGETResponse>>
{
    createResponse() { return new Array<StaffCurrentUserGETResponse>(); }
    getTypeName() { return "StaffCurrentUserListGETRequest"; }
}

// @Route("/Queries/StartupLog", "GET")
export class StartupLogEntryQuery extends QueryData<StartupLogEntry> implements IReturn<QueryResponse<StartupLogEntry>>
{
    createResponse() { return new QueryResponse<StartupLogEntry>(); }
    getTypeName() { return "StartupLogEntryQuery"; }
}

// @Route("/Queries/PluginExceptions", "GET")
export class PluginExceptionQuery extends QueryData<PluginException> implements IReturn<QueryResponse<PluginException>>
{
    createResponse() { return new QueryResponse<PluginException>(); }
    getTypeName() { return "PluginExceptionQuery"; }
}

// @Route("/StockTransfers/{TransferID}", "GET")
// @ApiResponse(Description="No Stock Transfer with the TransferID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class StockTransferGETRequest implements IReturn<StockTransfer>
{
    TransferID: string;
    createResponse() { return new StockTransfer(); }
    getTypeName() { return "StockTransferGETRequest"; }
}

// @Route("/StockTransfers/", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class StockTransferPOSTRequest extends StockTransfer implements IReturn<StockTransfer>
{
    createResponse() { return new StockTransfer(); }
    getTypeName() { return "StockTransferPOSTRequest"; }
}

// @Route("/StockTransfers/{TransferID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Stock Transfer with the Transfer No. provided was found", StatusCode=404)
export class StockTransferDELETERequest
{
    TransferID: string;
}

// @Route("/SupplierReturns/Credit/{CreditID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No Supplier Return Credit with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SupplierReturnCreditGETRequest implements IReturn<Credit>
{
    CreditID: string;
    createResponse() { return new Credit(); }
    getTypeName() { return "SupplierReturnCreditGETRequest"; }
}

// @Route("/SupplierReturns/Credit/FromShipments", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class SupplierReturnCreditCreateFromShipmentsRequest implements IReturn<Credit>
{
    ShipmentIDs: string[];
    ShipmentNos: string[];
    createResponse() { return new Credit(); }
    getTypeName() { return "SupplierReturnCreditCreateFromShipmentsRequest"; }
}

// @Route("/SupplierReturns/Credit/Activate/{CreditID}", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No supplier return credit with the CreditID provided was found", StatusCode=404)
// @ApiResponse(Description="Activated OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class SupplierReturnCreditACTIVATERequest implements IReturn<Credit>
{
    CreditID: string;
    createResponse() { return new Credit(); }
    getTypeName() { return "SupplierReturnCreditACTIVATERequest"; }
}

// @Route("/SupplierReturns/Shipping/{ShippingID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No Supplier Return Credit with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class SupplierReturnShippingGETRequest implements IReturn<Shipping>
{
    ShippingID: string;
    createResponse() { return new Shipping(); }
    getTypeName() { return "SupplierReturnShippingGETRequest"; }
}

// @Route("/SystemInfo/", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class SystemInformationGETRequest implements IReturn<SystemInformationGETResponse>
{
    createResponse() { return new SystemInformationGETResponse(); }
    getTypeName() { return "SystemInformationGETRequest"; }
}

// @Route("/TaxRates/{TaxID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No tax rate with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class TaxRateGETRequest implements IReturn<TaxRate>
{
    TaxID: string;
    createResponse() { return new TaxRate(); }
    getTypeName() { return "TaxRateGETRequest"; }
}

// @Route("/TaxRates", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class TaxRatePOSTRequest extends TaxRate implements IReturn<TaxRate>
{
    createResponse() { return new TaxRate(); }
    getTypeName() { return "TaxRatePOSTRequest"; }
}

// @Route("/TaxRates/{TaxID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No tax rate with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class TaxRatePATCHRequest extends TaxRate implements IReturn<TaxRate>
{
    TaxID: string;
    createResponse() { return new TaxRate(); }
    getTypeName() { return "TaxRatePATCHRequest"; }
}

// @Route("/TaxRates/{TaxID}", "DELETE")
// @ApiResponse(Description="No tax rate with the RecID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TaxRateDELETERequest
{
    TaxID: string;
}

// @Route("/UserSettings", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class UserSettingPOSTRequest extends UserSetting
{
}

// @Route("/UserSettings", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class UserSettingsGETManyRequest extends QueryDb<SY_UserProfile> implements IReturn<QueryResponse<SY_UserProfile>>
{
    createResponse() { return new QueryResponse<SY_UserProfile>(); }
    getTypeName() { return "UserSettingsGETManyRequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse transfer out with the WarehouseTransferOutID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WarehouseTransferOutGETRequest implements IReturn<WarehouseTransferOut>
{
    WarehouseTransferOutID: string;
    createResponse() { return new WarehouseTransferOut(); }
    getTypeName() { return "WarehouseTransferOutGETRequest"; }
}

// @Route("/WarehouseTransfersOut", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WarehouseTransferOutPOSTRequest extends WarehouseTransferOut implements IReturn<WarehouseTransferOut>
{
    DestinationWarehouseID: string;
    createResponse() { return new WarehouseTransferOut(); }
    getTypeName() { return "WarehouseTransferOutPOSTRequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse transfer out with the WarehouseTransferOutID provided was found", StatusCode=404)
export class WarehouseTransferOutPATCHRequest extends WarehouseTransferOut implements IReturn<WarehouseTransferOut>
{
    WarehouseTransferOutID: string;
    createResponse() { return new WarehouseTransferOut(); }
    getTypeName() { return "WarehouseTransferOutPATCHRequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No warehouse transfer out with the WarehouseTransferOutID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WarehouseTransferOutCANCELRequest
{
    WarehouseTransferOutID: string;
}

// @Route("/WarehouseTransfersOut/Activate/{WarehouseTransferOutID}", "POST")
// @ApiResponse(Description="Activated OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse transfer out with the WarehouseTransferOutID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WarehouseTransferOutACTIVATERequest implements IReturn<WarehouseTransferOut>
{
    WarehouseTransferOutID: string;
    createResponse() { return new WarehouseTransferOut(); }
    getTypeName() { return "WarehouseTransferOutACTIVATERequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}/ReceiveIns", "GET")
// @ApiResponse(Description="No purchase order with the WarehouseTransferOutID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WarehouseTransferOutReceiveInsGETManyRequest implements IReturn<Array<WarehouseTransferOutReceiveIn>>
{
    WarehouseTransferOutID: string;
    createResponse() { return new Array<WarehouseTransferOutReceiveIn>(); }
    getTypeName() { return "WarehouseTransferOutReceiveInsGETManyRequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}/Lines/{WarehouseTransferOutLineID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No warehouse transfer out line with the WarehouseTransferOutID or WarehouseTransferOutLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WarehouseTransferOutLineGETRequest implements IReturn<WarehouseTransferOutLine>
{
    WarehouseTransferOutID: string;
    WarehouseTransferOutLineID: string;
    createResponse() { return new WarehouseTransferOutLine(); }
    getTypeName() { return "WarehouseTransferOutLineGETRequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}/Lines", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse transfer out line with the WarehouseTransferOutID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WarehouseTransferOutLinesGETManyRequest implements IReturn<Array<WarehouseTransferOutLine>>
{
    WarehouseTransferOutID: string;
    createResponse() { return new Array<WarehouseTransferOutLine>(); }
    getTypeName() { return "WarehouseTransferOutLinesGETManyRequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}/Lines", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse transfer out line with the WarehouseTransferOutID or WarehouseTransferOutLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class WarehouseTransferOutLinePOSTRequest extends WarehouseTransferOutLine implements IReturn<WarehouseTransferOutLine>
{
    WarehouseTransferOutID: string;
    createResponse() { return new WarehouseTransferOutLine(); }
    getTypeName() { return "WarehouseTransferOutLinePOSTRequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}/Lines/{WarehouseTransferOutLineID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No warehouse transfer out line with the WarehouseTransferOutID or WarehouseTransferOutLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WarehouseTransferOutLinePATCHRequest extends WarehouseTransferOutLine implements IReturn<WarehouseTransferOutLine>
{
    WarehouseTransferOutID: string;
    WarehouseTransferOutLineID: string;
    createResponse() { return new WarehouseTransferOutLine(); }
    getTypeName() { return "WarehouseTransferOutLinePATCHRequest"; }
}

// @Route("/WarehouseTransfersOut/{WarehouseTransferOutID}/Lines/{WarehouseTransferOutLineID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse transfer out line with the WarehouseTransferOutID or WarehouseTransferOutLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WarehouseTransferOutLineDELETERequest extends WarehouseTransferOutLine
{
    WarehouseTransferOutID: string;
    WarehouseTransferOutLineID: string;
}

// @Route("/WarehouseTransfersIn/{WarehouseTransferInID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No warehouse transfer in with the WarehouseTransferInID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WarehouseTransferInGETRequest implements IReturn<WarehouseTransferIn>
{
    WarehouseTransferInID: string;
    createResponse() { return new WarehouseTransferIn(); }
    getTypeName() { return "WarehouseTransferInGETRequest"; }
}

// @Route("/WarehouseTransfersIn", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class WarehouseTransferInPOSTRequest extends WarehouseTransferIn implements IReturn<WarehouseTransferIn>
{
    WarehouseTransferOutID: string;
    createResponse() { return new WarehouseTransferIn(); }
    getTypeName() { return "WarehouseTransferInPOSTRequest"; }
}

// @Route("/WarehouseTransfersIn/{WarehouseTransferInID}", "PATCH")
// @ApiResponse(Description="No warehouse transfer in with the WarehouseTransferInID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WarehouseTransferInPATCHRequest extends WarehouseTransferIn implements IReturn<WarehouseTransferIn>
{
    WarehouseTransferInID: string;
    createResponse() { return new WarehouseTransferIn(); }
    getTypeName() { return "WarehouseTransferInPATCHRequest"; }
}

// @Route("/WarehouseTransfersIn/Activate/{WarehouseTransferInID}", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse transfer in with the WarehouseTransferInID provided was found", StatusCode=404)
// @ApiResponse(Description="Activated OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WarehouseTransferInACTIVATERequest implements IReturn<WarehouseTransferIn>
{
    WarehouseTransferInID: string;
    createResponse() { return new WarehouseTransferIn(); }
    getTypeName() { return "WarehouseTransferInACTIVATERequest"; }
}

// @Route("/WarehouseTransfersIn/{WarehouseTransferInID}/ReceiveIns", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No purchase order with the WarehouseTransferInID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WarehouseTransferInReceiveInsGETManyRequest implements IReturn<Array<WarehouseTransferInReceiveIn>>
{
    WarehouseTransferInID: string;
    createResponse() { return new Array<WarehouseTransferInReceiveIn>(); }
    getTypeName() { return "WarehouseTransferInReceiveInsGETManyRequest"; }
}

// @Route("/WarehouseTransfersIn/{WarehouseTransferInID}/Lines/{WarehouseTransferInLineID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No warehouse transfer in line with the WarehouseTransferInID or WarehouseTransferInLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WarehouseTransferInLineGETRequest implements IReturn<WarehouseTransferInLine>
{
    WarehouseTransferInID: string;
    WarehouseTransferInLineID: string;
    createResponse() { return new WarehouseTransferInLine(); }
    getTypeName() { return "WarehouseTransferInLineGETRequest"; }
}

// @Route("/WarehouseTransfersIn/{WarehouseTransferInID}/Lines", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No warehouse transfer in line with the WarehouseTransferInID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WarehouseTransferInLinesGETManyRequest implements IReturn<Array<WarehouseTransferInLine>>
{
    WarehouseTransferInID: string;
    createResponse() { return new Array<WarehouseTransferInLine>(); }
    getTypeName() { return "WarehouseTransferInLinesGETManyRequest"; }
}

// @Route("/WarehouseTransfersIn/{WarehouseTransferInID}/Lines/{WarehouseTransferInLineID}", "PATCH")
// @ApiResponse(Description="No warehouse transfer in line with the WarehouseTransferInID or WarehouseTransferInLineID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WarehouseTransferInLinePATCHRequest extends WarehouseTransferInLine implements IReturn<WarehouseTransferInLine>
{
    WarehouseTransferInID: string;
    WarehouseTransferInLineID: string;
    createResponse() { return new WarehouseTransferInLine(); }
    getTypeName() { return "WarehouseTransferInLinePATCHRequest"; }
}

// @Route("/Webhooks/Subscribers/", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WebhooksSubscribersGETManyRequest extends QueryDb<SY_WebhookSubscriber> implements IReturn<QueryResponse<SY_WebhookSubscriber>>
{
    createResponse() { return new QueryResponse<SY_WebhookSubscriber>(); }
    getTypeName() { return "WebhooksSubscribersGETManyRequest"; }
}

// @Route("/Webhooks/Subscribers/{SubscriberID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WebhooksSubscribersGETRequest implements IReturn<WebhookSubscriber>
{
    SubscriberID: string;
    createResponse() { return new WebhookSubscriber(); }
    getTypeName() { return "WebhooksSubscribersGETRequest"; }
}

// @Route("/Webhooks/Subscribers/", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WebhooksSubscribersPOSTRequest implements IReturn<SY_WebhookSubscriber>
{
    Name: string;
    IsEnabled: boolean;
    createResponse() { return new SY_WebhookSubscriber(); }
    getTypeName() { return "WebhooksSubscribersPOSTRequest"; }
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/", "PATCH")
// @ApiResponse(Description="No Subscriber with the SubscriberID was found.", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class WebhooksSubscribersPATCHRequest implements IReturn<SY_WebhookSubscriber>
{
    SubscriberID: string;
    Name: string;
    IsEnabled: boolean;
    ItemNo: number;
    createResponse() { return new SY_WebhookSubscriber(); }
    getTypeName() { return "WebhooksSubscribersPATCHRequest"; }
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No Subscriber with the SubscriberID was found.", StatusCode=404)
export class WebhooksSubscribersDELETERequest
{
    SubscriberID: string;
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/Subscriptions/", "GET")
// @ApiResponse(Description="No Subscriber with the SubscriberID was found.", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WebhooksSubscriptionsGETRequest implements IReturn<Array<SY_WebhookSubscription>>
{
    SubscriberID: string;
    createResponse() { return new Array<SY_WebhookSubscription>(); }
    getTypeName() { return "WebhooksSubscriptionsGETRequest"; }
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/Subscriptions/", "POST")
// @ApiResponse(Description="No Subscriber with the SubscriberID was found.", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class WebhooksSubscriptionsPOSTRequest implements IReturn<SY_WebhookSubscription>
{
    SubscriberID: string;
    URL: string;
    EventName: string;
    Headers: WebhooksSubscriptionHeader[];
    createResponse() { return new SY_WebhookSubscription(); }
    getTypeName() { return "WebhooksSubscriptionsPOSTRequest"; }
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/Subscriptions/", "PATCH")
// @ApiResponse(Description="No Subscriber with the SubscriberID was found.", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class WebhooksSubscriptionsPATCHRequest implements IReturn<SY_WebhookSubscription>
{
    SubscriberID: string;
    SubscriptionID: string;
    URL: string;
    EventName: string;
    Headers: WebhooksSubscriptionHeader[];
    createResponse() { return new SY_WebhookSubscription(); }
    getTypeName() { return "WebhooksSubscriptionsPATCHRequest"; }
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/Subscriptions/{SubscriptionID}/", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No Subscriber with the SubscriberID or Webhook with the SubscriptionID provided was found", StatusCode=404)
export class WebhooksSubscriptionsDELETERequest
{
    SubscriberID: string;
    SubscriptionID: string;
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/Messages", "GET")
export class WebhooksMessagesGETRequest extends QueryDb<v_SY_WebhookSubscriber_Messages> implements IReturn<QueryResponse<v_SY_WebhookSubscriber_Messages>>
{
    SubscriberID: string;
    createResponse() { return new QueryResponse<v_SY_WebhookSubscriber_Messages>(); }
    getTypeName() { return "WebhooksMessagesGETRequest"; }
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/Subscriptions/{SubscriptionID}/Messages/{MessageID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No Subscriber with the SubscriberID, Subscription with the SubscriptionID, Or Message with the MessageID provided was found.", StatusCode=404)
export class WebhooksMessagesDELETERequest
{
    SubscriberID: string;
    SubscriptionID: string;
    MessageID: string;
}

// @Route("/Webhooks/Subscribers/{SubscriberID}/Messages/Responses", "GET")
export class WebhooksMessageResponsesGETRequest extends QueryDb<v_SY_WebhookSubscriber_MessageResponses> implements IReturn<QueryResponse<v_SY_WebhookSubscriber_MessageResponses>>
{
    SubscriberID: string;
    createResponse() { return new QueryResponse<v_SY_WebhookSubscriber_MessageResponses>(); }
    getTypeName() { return "WebhooksMessageResponsesGETRequest"; }
}

// @Route("/Webhooks/Events/", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WebhooksEventsGETRequest implements IReturn<Array<WebHookEvent>>
{
    createResponse() { return new Array<WebHookEvent>(); }
    getTypeName() { return "WebhooksEventsGETRequest"; }
}

// @Route("/Webhooks/Events/", "POST")
// @Route("/Webhooks/Events/", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WebhooksEventsPOSTRequest
{
    EventName: string;
    Body: string;
}

// @Route("/Webhooks/Test/", "POST")
// @Route("/Webhooks/Test/", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
export class WebhooksTestPOSTRequest
{
    Body: string;
}

// @Route("/WorkOrders/{WorkOrderID}", "GET")
// @ApiResponse(Description="No work order record with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderGETRequest implements IReturn<WorkOrder>
{
    WorkOrderID: string;
    createResponse() { return new WorkOrder(); }
    getTypeName() { return "WorkOrderGETRequest"; }
}

// @Route("/WorkOrders", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderPOSTRequest extends WorkOrder implements IReturn<WorkOrder>
{
    createResponse() { return new WorkOrder(); }
    getTypeName() { return "WorkOrderPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order record with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderPATCHRequest extends WorkOrder implements IReturn<WorkOrder>
{
    WorkOrderID: string;
    createResponse() { return new WorkOrder(); }
    getTypeName() { return "WorkOrderPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order record with the WorkOrderID provided was found", StatusCode=404)
export class WorkOrderDELETERequest
{
    WorkOrderID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Allocations/{AllocationID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order allocation with the WorkOrderID or AllocationID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderAllocationGETRequest implements IReturn<Allocation>
{
    WorkOrderID: string;
    AllocationID: string;
    createResponse() { return new Allocation(); }
    getTypeName() { return "WorkOrderAllocationGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Allocations", "GET")
// @ApiResponse(Description="No work order allocations with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderAllocationsGETManyRequest implements IReturn<Array<Allocation>>
{
    WorkOrderID: string;
    createResponse() { return new Array<Allocation>(); }
    getTypeName() { return "WorkOrderAllocationsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Allocations", "POST")
// @ApiResponse(Description="No work order allocation with the WorkOrderID or AllocationID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderAllocationPOSTRequest extends Allocation implements IReturn<Allocation>
{
    WorkOrderID: string;
    createResponse() { return new Allocation(); }
    getTypeName() { return "WorkOrderAllocationPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Allocations/{AllocationID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order allocation with the WorkOrderID or AllocationID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
export class WorkOrderAllocationDELETERequest
{
    WorkOrderID: string;
    AllocationID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/CustomFieldValues", "GET")
// @ApiResponse(Description="No work order record with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    WorkOrderID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "WorkOrderCustomFieldValuesGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order custom field value with the WorkOrderID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderCustomFieldValueGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="No work order custom field value with the WorkOrderID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderCustomFieldValuePATCHRequest"; }
}

// @Route("/WorkOrders/CustomFields", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "WorkOrderCustomFieldsGETManyRequest"; }
}

// @Route("/WorkOrders/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No custom field with the SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "WorkOrderCustomFieldGETRequest"; }
}

// @Route("/WorkOrders/DocumentTypes/{DocumentTypeID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderDocumentTypeGETRequest implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "WorkOrderDocumentTypeGETRequest"; }
}

// @Route("/WorkOrders/DocumentTypes", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderDocumentTypesGETManyRequest implements IReturn<Array<DocumentType>>
{
    createResponse() { return new Array<DocumentType>(); }
    getTypeName() { return "WorkOrderDocumentTypesGETManyRequest"; }
}

// @Route("/WorkOrders/DocumentTypes", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderDocumentTypePOSTRequest extends DocumentType implements IReturn<DocumentType>
{
    createResponse() { return new DocumentType(); }
    getTypeName() { return "WorkOrderDocumentTypePOSTRequest"; }
}

// @Route("/WorkOrders/DocumentTypes/{DocumentTypeID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderDocumentTypePATCHRequest extends DocumentType implements IReturn<DocumentType>
{
    DocumentTypeID: string;
    createResponse() { return new DocumentType(); }
    getTypeName() { return "WorkOrderDocumentTypePATCHRequest"; }
}

// @Route("/WorkOrders/DocumentTypes/{DocumentTypeID}", "DELETE")
// @ApiResponse(Description="No work order document type with the DocumentTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderDocumentTypeDELETERequest
{
    DocumentTypeID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Documents/{DocumentID}", "GET")
// @ApiResponse(Description="No work order document with the WorkOrderID or DocumentID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderDocumentGETRequest implements IReturn<Document>
{
    WorkOrderID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "WorkOrderDocumentGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Documents", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderDocumentsGETManyRequest implements IReturn<Array<Document>>
{
    WorkOrderID: string;
    createResponse() { return new Array<Document>(); }
    getTypeName() { return "WorkOrderDocumentsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Documents", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderDocumentPOSTRequest extends Document implements IReturn<Document>
{
    WorkOrderID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "WorkOrderDocumentPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Documents/{DocumentID}", "PATCH")
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderDocumentPATCHRequest extends Document implements IReturn<Document>
{
    WorkOrderID: string;
    DocumentID: string;
    createResponse() { return new Document(); }
    getTypeName() { return "WorkOrderDocumentPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Documents/{DocumentID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderDocumentDELETERequest
{
    WorkOrderID: string;
    DocumentID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order stage input WorkOrderID, StageID or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderInputCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "WorkOrderInputCustomFieldValuesGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order stage input custom field Value with the WorkOrderID, StageID, InputID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderInputCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderInputCustomFieldValueGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="No work order stage input custom field Value with the WorkOrderID, StageID, InputID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class WorkOrderInputCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderInputCustomFieldValuePATCHRequest"; }
}

// @Route("/WorkOrders/Inputs/CustomFields", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInputCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "WorkOrderInputCustomFieldsGETManyRequest"; }
}

// @Route("/WorkOrders/Inputs/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderInputCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "WorkOrderInputCustomFieldGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/LineDetails", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage input with the WorkOrderID, StageID, or InputID provided was found", StatusCode=404)
export class WorkOrderInputLineDetailsGETManyRequest implements IReturn<Array<InventorySOHLineDetail>>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new Array<InventorySOHLineDetail>(); }
    getTypeName() { return "WorkOrderInputLineDetailsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/LineDetails/{LineDetailID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order stage input line detail with the WorkOrderID, StageID, InputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInputLineDetailGETRequest implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    LineDetailID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderInputLineDetailGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/LineDetails", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No work order stage input with the WorkOrderID, StageID, or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInputLineDetailPOSTRequest extends InventorySOHLineDetail implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderInputLineDetailPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/LineDetails", "PUT")
export class WorkOrderInputLineDetailPUTRequest extends Array<InventorySOHLineDetail> implements IReturn<Array<InventorySOHLineDetail>>
{
    createResponse() { return new Array<InventorySOHLineDetail>(); }
    getTypeName() { return "WorkOrderInputLineDetailPUTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/LineDetails/{LineDetailID}", "PATCH")
// @ApiResponse(Description="No work order stage input line detail with the WorkOrderID, StageID, InputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInputLineDetailPATCHRequest extends InventorySOHLineDetail implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    LineDetailID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderInputLineDetailPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/LineDetails/{LineDetailID}", "DELETE")
// @ApiResponse(Description="No work order stage input line detail with the WorkOrderID, StageID, InputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInputLineDetailDELETERequest
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    LineDetailID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/WastageLineDetails", "GET")
// @ApiResponse(Description="No work order stage input with the WorkOrderID, StageID, or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInputWastageLineDetailsGETManyRequest implements IReturn<Array<InventorySOHLineDetail>>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new Array<InventorySOHLineDetail>(); }
    getTypeName() { return "WorkOrderInputWastageLineDetailsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/WastageLineDetails/{LineDetailID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage input wastage line detail with the WorkOrderID, StageID, InputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderInputWastageLineDetailGETRequest implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    LineDetailID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderInputWastageLineDetailGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/WastageLineDetails", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage input with the WorkOrderID, StageID, or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInputWastageLineDetailPOSTRequest extends InventorySOHLineDetail implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderInputWastageLineDetailPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/WastageLineDetails", "PUT")
export class WorkOrderInputWastageLineDetailPUTRequest extends Array<InventorySOHLineDetail> implements IReturn<Array<InventorySOHLineDetail>>
{
    createResponse() { return new Array<InventorySOHLineDetail>(); }
    getTypeName() { return "WorkOrderInputWastageLineDetailPUTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/WastageLineDetails/{LineDetailID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage input wastage line detail with the WorkOrderID, StageID, InputID, or LineDetailID provided was found", StatusCode=404)
export class WorkOrderInputWastageLineDetailPATCHRequest extends InventorySOHLineDetail implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    LineDetailID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderInputWastageLineDetailPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}/WastageLineDetails/{LineDetailID}", "DELETE")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage input wastage line detail with the WorkOrderID, StageID, InputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInputWastageLineDetailDELETERequest
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    LineDetailID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage input with the WorkOrderID, StageID, or InputID provided was found", StatusCode=404)
export class WorkOrderInputGETRequest implements IReturn<WorkOrderInput>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new WorkOrderInput(); }
    getTypeName() { return "WorkOrderInputGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No work order stage inputs with the WorkOrderID or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInputsGETManyRequest implements IReturn<Array<WorkOrderInput>>
{
    WorkOrderID: string;
    StageID: string;
    createResponse() { return new Array<WorkOrderInput>(); }
    getTypeName() { return "WorkOrderInputsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage input with the WorkOrderID, StageID or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInputPOSTRequest extends WorkOrderInput implements IReturn<WorkOrderInput>
{
    WorkOrderID: string;
    StageID: string;
    createResponse() { return new WorkOrderInput(); }
    getTypeName() { return "WorkOrderInputPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}", "PATCH")
// @ApiResponse(Description="No work order stage input with the WorkOrderID, StageID, or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInputPATCHRequest extends WorkOrderInput implements IReturn<WorkOrderInput>
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
    createResponse() { return new WorkOrderInput(); }
    getTypeName() { return "WorkOrderInputPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Inputs/{InputID}", "DELETE")
// @ApiResponse(Description="No work order stage input with the WorkOrderID, StageID, or InputID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInputDELETERequest
{
    WorkOrderID: string;
    StageID: string;
    InputID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Instructions/{InstructionID}/CustomFieldValues", "GET")
// @ApiResponse(Description="No work order stage instruction WorkOrderID, StageID or InstructionID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInstructionCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    WorkOrderID: string;
    StageID: string;
    InstructionID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "WorkOrderInstructionCustomFieldValuesGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Instructions/{InstructionID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order stage instruction custom field Value with the WorkOrderID, StageID, InstructionID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderInstructionCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    StageID: string;
    InstructionID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderInstructionCustomFieldValueGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Instructions/{InstructionID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="No work order stage instruction custom field Value with the WorkOrderID, StageID, InstructionID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInstructionCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    StageID: string;
    InstructionID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderInstructionCustomFieldValuePATCHRequest"; }
}

// @Route("/WorkOrders/Instructions/CustomFields", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInstructionCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "WorkOrderInstructionCustomFieldsGETManyRequest"; }
}

// @Route("/WorkOrders/Instructions/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInstructionCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "WorkOrderInstructionCustomFieldGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Instructions/{InstructionID}", "GET")
// @ApiResponse(Description="No work order stage instruction with the WorkOrderID, StageID, or InstructionID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInstructionGETRequest implements IReturn<WorkOrderInstruction>
{
    WorkOrderID: string;
    StageID: string;
    InstructionID: string;
    createResponse() { return new WorkOrderInstruction(); }
    getTypeName() { return "WorkOrderInstructionGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Instructions", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage instructions with the WorkOrderID or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderInstructionsGETManyRequest implements IReturn<Array<WorkOrderInstruction>>
{
    WorkOrderID: string;
    StageID: string;
    createResponse() { return new Array<WorkOrderInstruction>(); }
    getTypeName() { return "WorkOrderInstructionsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Instructions", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage instruction with the WorkOrderID, StageID or InstructionID provided was found", StatusCode=404)
export class WorkOrderInstructionPOSTRequest extends WorkOrderInstruction implements IReturn<WorkOrderInstruction>
{
    WorkOrderID: string;
    StageID: string;
    createResponse() { return new WorkOrderInstruction(); }
    getTypeName() { return "WorkOrderInstructionPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Instructions/{InstructionID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage instruction with the WorkOrderID, StageID, or InstructionID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class WorkOrderInstructionPATCHRequest extends WorkOrderInstruction implements IReturn<WorkOrderInstruction>
{
    WorkOrderID: string;
    StageID: string;
    InstructionID: string;
    createResponse() { return new WorkOrderInstruction(); }
    getTypeName() { return "WorkOrderInstructionPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/Instructions/{InstructionID}", "DELETE")
// @ApiResponse(Description="No work order stage instruction with the WorkOrderID, StageID, or InstructionID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderInstructionDELETERequest
{
    WorkOrderID: string;
    StageID: string;
    InstructionID: string;
}

// @Route("/WorkOrders/NoteTypes/{NoteTypeID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderNoteTypeGETRequest implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "WorkOrderNoteTypeGETRequest"; }
}

// @Route("/WorkOrders/NoteTypes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderNoteTypesGETManyRequest implements IReturn<Array<NoteType>>
{
    createResponse() { return new Array<NoteType>(); }
    getTypeName() { return "WorkOrderNoteTypesGETManyRequest"; }
}

// @Route("/WorkOrders/NoteTypes", "POST")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderNoteTypePOSTRequest extends NoteType implements IReturn<NoteType>
{
    createResponse() { return new NoteType(); }
    getTypeName() { return "WorkOrderNoteTypePOSTRequest"; }
}

// @Route("/WorkOrders/NoteTypes/{NoteTypeID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order note type with the NoteTypeID provided was found", StatusCode=404)
export class WorkOrderNoteTypePATCHRequest extends NoteType implements IReturn<NoteType>
{
    NoteTypeID: string;
    createResponse() { return new NoteType(); }
    getTypeName() { return "WorkOrderNoteTypePATCHRequest"; }
}

// @Route("/WorkOrders/NoteTypes/{NoteTypeID}", "DELETE")
// @ApiResponse(Description="No work order note type with the NoteTypeID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderNoteTypeDELETERequest
{
    NoteTypeID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Notes/{NoteID}", "GET")
// @ApiResponse(Description="No work order note with the WorkOrderID or NoteID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderNoteGETRequest implements IReturn<Note>
{
    WorkOrderID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "WorkOrderNoteGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Notes", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderNotesGETManyRequest implements IReturn<Array<Note>>
{
    WorkOrderID: string;
    createResponse() { return new Array<Note>(); }
    getTypeName() { return "WorkOrderNotesGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Notes", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
export class WorkOrderNotePOSTRequest extends Note implements IReturn<Note>
{
    WorkOrderID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "WorkOrderNotePOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Notes/{NoteID}", "PATCH")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderNotePATCHRequest extends Note implements IReturn<Note>
{
    WorkOrderID: string;
    NoteID: string;
    createResponse() { return new Note(); }
    getTypeName() { return "WorkOrderNotePATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Notes/{NoteID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderNoteDELETERequest
{
    WorkOrderID: string;
    NoteID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/CustomFieldValues", "GET")
// @ApiResponse(Description="No work order output output WorkOrderID or OutputID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    WorkOrderID: string;
    OutputID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "WorkOrderOutputCustomFieldValuesGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="No work order output output custom field Value with the WorkOrderID, OutputID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    OutputID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderOutputCustomFieldValueGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order output custom field value with the WorkOrderID, OutputID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class WorkOrderOutputCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    OutputID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderOutputCustomFieldValuePATCHRequest"; }
}

// @Route("/WorkOrders/Outputs/CustomFields", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "WorkOrderOutputCustomFieldsGETManyRequest"; }
}

// @Route("/WorkOrders/Outputs/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderOutputCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "WorkOrderOutputCustomFieldGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/LineDetails", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="No work order output with the WorkOrderID or OutputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputLineDetailsGETManyRequest implements IReturn<Array<InventorySOHLineDetail>>
{
    WorkOrderID: string;
    OutputID: string;
    createResponse() { return new Array<InventorySOHLineDetail>(); }
    getTypeName() { return "WorkOrderOutputLineDetailsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/LineDetails/{LineDetailID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order output line detail with the WorkOrderID, OutputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderOutputLineDetailGETRequest implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    OutputID: string;
    LineDetailID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderOutputLineDetailGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/LineDetails", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="No work order output with the WorkOrderID or OutputID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputLineDetailPOSTRequest extends InventorySOHLineDetail implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    OutputID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderOutputLineDetailPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/LineDetails", "PUT")
export class WorkOrderOutputLineDetailPUTRequest extends Array<InventorySOHLineDetail> implements IReturn<Array<InventorySOHLineDetail>>
{
    createResponse() { return new Array<InventorySOHLineDetail>(); }
    getTypeName() { return "WorkOrderOutputLineDetailPUTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/LineDetails/{LineDetailID}", "PATCH")
// @ApiResponse(Description="No work order output line detail with the WorkOrderID, OutputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderOutputLineDetailPATCHRequest extends InventorySOHLineDetail implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    OutputID: string;
    LineDetailID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderOutputLineDetailPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/LineDetails/{LineDetailID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="No work order output line detail with the WorkOrderID, OutputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputLineDetailDELETERequest
{
    WorkOrderID: string;
    OutputID: string;
    LineDetailID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/WastageLineDetails", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order output with the WorkOrderID or OutputID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderOutputWastageLineDetailsGETManyRequest implements IReturn<Array<InventorySOHLineDetail>>
{
    WorkOrderID: string;
    OutputID: string;
    createResponse() { return new Array<InventorySOHLineDetail>(); }
    getTypeName() { return "WorkOrderOutputWastageLineDetailsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/WastageLineDetails/{LineDetailID}", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order output wastage line detail with the WorkOrderID, OutputID, or LineDetailID provided was found", StatusCode=404)
export class WorkOrderOutputWastageLineDetailGETRequest implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    OutputID: string;
    LineDetailID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderOutputWastageLineDetailGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/WastageLineDetails", "POST")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order output with the WorkOrderID or OutputID provided was found", StatusCode=404)
export class WorkOrderOutputWastageLineDetailPOSTRequest extends InventorySOHLineDetail implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    OutputID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderOutputWastageLineDetailPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/WastageLineDetails", "PUT")
export class WorkOrderOutputWastageLineDetailPUTRequest extends Array<InventorySOHLineDetail> implements IReturn<Array<InventorySOHLineDetail>>
{
    createResponse() { return new Array<InventorySOHLineDetail>(); }
    getTypeName() { return "WorkOrderOutputWastageLineDetailPUTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/WastageLineDetails/{LineDetailID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order output wastage line detail with the WorkOrderID, OutputID, or LineDetailID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderOutputWastageLineDetailPATCHRequest extends InventorySOHLineDetail implements IReturn<InventorySOHLineDetail>
{
    WorkOrderID: string;
    OutputID: string;
    LineDetailID: string;
    createResponse() { return new InventorySOHLineDetail(); }
    getTypeName() { return "WorkOrderOutputWastageLineDetailPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}/WastageLineDetails/{LineDetailID}", "DELETE")
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order output wastage line detail with the WorkOrderID, OutputID, or LineDetailID provided was found", StatusCode=404)
export class WorkOrderOutputWastageLineDetailDELETERequest
{
    WorkOrderID: string;
    OutputID: string;
    LineDetailID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}", "GET")
// @ApiResponse(Description="No work order output with the WorkOrderID or OutputID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputGETRequest implements IReturn<WorkOrderOutput>
{
    WorkOrderID: string;
    OutputID: string;
    createResponse() { return new WorkOrderOutput(); }
    getTypeName() { return "WorkOrderOutputGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order record with the WorkOrderID provided was found", StatusCode=404)
export class WorkOrderOutputsGETManyRequest implements IReturn<Array<WorkOrderOutput>>
{
    WorkOrderID: string;
    createResponse() { return new Array<WorkOrderOutput>(); }
    getTypeName() { return "WorkOrderOutputsGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs", "POST")
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputPOSTRequest extends WorkOrderOutput implements IReturn<WorkOrderOutput>
{
    WorkOrderID: string;
    createResponse() { return new WorkOrderOutput(); }
    getTypeName() { return "WorkOrderOutputPOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}", "PATCH")
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order record with the WorkOrderID, or OutputID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
export class WorkOrderOutputPATCHRequest extends WorkOrderOutput implements IReturn<WorkOrderOutput>
{
    WorkOrderID: string;
    OutputID: string;
    createResponse() { return new WorkOrderOutput(); }
    getTypeName() { return "WorkOrderOutputPATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Outputs/{OutputID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderOutputDELETERequest
{
    WorkOrderID: string;
    OutputID: string;
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/CustomFieldValues", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage stage WorkOrderID or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderStageCustomFieldValuesGETManyRequest implements IReturn<Array<CustomFieldValue>>
{
    WorkOrderID: string;
    StageID: string;
    createResponse() { return new Array<CustomFieldValue>(); }
    getTypeName() { return "WorkOrderStageCustomFieldValuesGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/CustomFieldValues/{SettingID}", "GET")
// @ApiResponse(Description="No work order stage stage custom field Value with the WorkOrderID, StageID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderStageCustomFieldValueGETRequest implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    StageID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderStageCustomFieldValueGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}/CustomFieldValues/{SettingID}", "PATCH")
// @ApiResponse(Description="No work order stage custom field value with the WorkOrderID, StageID or SettingID provided was found", StatusCode=404)
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderStageCustomFieldValuePATCHRequest extends CustomFieldValue implements IReturn<CustomFieldValue>
{
    WorkOrderID: string;
    StageID: string;
    SettingID: string;
    createResponse() { return new CustomFieldValue(); }
    getTypeName() { return "WorkOrderStageCustomFieldValuePATCHRequest"; }
}

// @Route("/WorkOrders/Stages/CustomFields", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderStageCustomFieldsGETManyRequest implements IReturn<Array<CustomField>>
{
    createResponse() { return new Array<CustomField>(); }
    getTypeName() { return "WorkOrderStageCustomFieldsGETManyRequest"; }
}

// @Route("/WorkOrders/Stages/CustomFields/{SettingID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderStageCustomFieldGETRequest implements IReturn<CustomField>
{
    SettingID: string;
    createResponse() { return new CustomField(); }
    getTypeName() { return "WorkOrderStageCustomFieldGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}", "GET")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order stage with the WorkOrderID or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Read OK", StatusCode=200)
export class WorkOrderStageGETRequest implements IReturn<WorkOrderStage>
{
    WorkOrderID: string;
    StageID: string;
    createResponse() { return new WorkOrderStage(); }
    getTypeName() { return "WorkOrderStageGETRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order record with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderStagesGETManyRequest implements IReturn<Array<WorkOrderStage>>
{
    WorkOrderID: string;
    createResponse() { return new Array<WorkOrderStage>(); }
    getTypeName() { return "WorkOrderStagesGETManyRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages", "POST")
// @ApiResponse(Description="Created OK", StatusCode=201)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
export class WorkOrderStagePOSTRequest extends WorkOrderStage implements IReturn<WorkOrderStage>
{
    WorkOrderID: string;
    createResponse() { return new WorkOrderStage(); }
    getTypeName() { return "WorkOrderStagePOSTRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}", "PATCH")
// @ApiResponse(Description="Updated OK", StatusCode=200)
// @ApiResponse(Description="Not authorised", StatusCode=403)
// @ApiResponse(Description="No work order record with the WorkOrderID, or StageID provided was found", StatusCode=404)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
export class WorkOrderStagePATCHRequest extends WorkOrderStage implements IReturn<WorkOrderStage>
{
    WorkOrderID: string;
    StageID: string;
    createResponse() { return new WorkOrderStage(); }
    getTypeName() { return "WorkOrderStagePATCHRequest"; }
}

// @Route("/WorkOrders/{WorkOrderID}/Stages/{StageID}", "DELETE")
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="No work order with the WorkOrderID provided was found", StatusCode=404)
// @ApiResponse(Description="Deleted OK", StatusCode=204)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WorkOrderStageDELETERequest
{
    WorkOrderID: string;
    StageID: string;
}

// @Route("/auth", "GET")
// @DataContract
export class Authenticate implements IReturn<AuthenticateResponse>, IPost
{
    // @DataMember(Order=1)
    provider: string;

    // @DataMember(Order=2)
    State: string;

    // @DataMember(Order=3)
    oauth_token: string;

    // @DataMember(Order=4)
    oauth_verifier: string;

    // @DataMember(Order=5)
    UserName: string;

    // @DataMember(Order=6)
    Password: string;

    // @DataMember(Order=7)
    RememberMe: boolean;

    // @DataMember(Order=8)
    Continue: string;

    // @DataMember(Order=9)
    nonce: string;

    // @DataMember(Order=10)
    uri: string;

    // @DataMember(Order=11)
    response: string;

    // @DataMember(Order=12)
    qop: string;

    // @DataMember(Order=13)
    nc: string;

    // @DataMember(Order=14)
    cnonce: string;

    // @DataMember(Order=15)
    UseTokenCookie: boolean;

    // @DataMember(Order=16)
    AccessToken: string;

    // @DataMember(Order=17)
    AccessTokenSecret: string;

    // @DataMember(Order=18)
    Meta: { [index:string]: string; };
    createResponse() { return new AuthenticateResponse(); }
    getTypeName() { return "Authenticate"; }
}

// @Route("/Queries/InventoryItemList", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_Inventory_Item_ListQuery extends QueryDb<v_Jiwa_Inventory_Item_List> implements IReturn<QueryResponse<v_Jiwa_Inventory_Item_List>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Picture: Uint8Array;
    InventoryClassificationID: string;
    InventoryClassificationIDStartsWith: string;
    InventoryClassificationIDEndsWith: string;
    InventoryClassificationIDContains: string;
    InventoryClassificationIDLike: string;
    InventoryClassificationIDBetween: string[];
    InventoryClassificationIDIn: string[];
    ClassificationDescription: string;
    ClassificationDescriptionStartsWith: string;
    ClassificationDescriptionEndsWith: string;
    ClassificationDescriptionContains: string;
    ClassificationDescriptionLike: string;
    ClassificationDescriptionBetween: string[];
    ClassificationDescriptionIn: string[];
    Category1ID: string;
    Category1IDStartsWith: string;
    Category1IDEndsWith: string;
    Category1IDContains: string;
    Category1IDLike: string;
    Category1IDBetween: string[];
    Category1IDIn: string[];
    Category1Description: string;
    Category1DescriptionStartsWith: string;
    Category1DescriptionEndsWith: string;
    Category1DescriptionContains: string;
    Category1DescriptionLike: string;
    Category1DescriptionBetween: string[];
    Category1DescriptionIn: string[];
    Category2ID: string;
    Category2IDStartsWith: string;
    Category2IDEndsWith: string;
    Category2IDContains: string;
    Category2IDLike: string;
    Category2IDBetween: string[];
    Category2IDIn: string[];
    Category2Description: string;
    Category2DescriptionStartsWith: string;
    Category2DescriptionEndsWith: string;
    Category2DescriptionContains: string;
    Category2DescriptionLike: string;
    Category2DescriptionBetween: string[];
    Category2DescriptionIn: string[];
    Category3ID: string;
    Category3IDStartsWith: string;
    Category3IDEndsWith: string;
    Category3IDContains: string;
    Category3IDLike: string;
    Category3IDBetween: string[];
    Category3IDIn: string[];
    Category3Description: string;
    Category3DescriptionStartsWith: string;
    Category3DescriptionEndsWith: string;
    Category3DescriptionContains: string;
    Category3DescriptionLike: string;
    Category3DescriptionBetween: string[];
    Category3DescriptionIn: string[];
    Category4ID: string;
    Category4IDStartsWith: string;
    Category4IDEndsWith: string;
    Category4IDContains: string;
    Category4IDLike: string;
    Category4IDBetween: string[];
    Category4IDIn: string[];
    Category4Description: string;
    Category4DescriptionStartsWith: string;
    Category4DescriptionEndsWith: string;
    Category4DescriptionContains: string;
    Category4DescriptionLike: string;
    Category4DescriptionBetween: string[];
    Category4DescriptionIn: string[];
    Category5ID: string;
    Category5IDStartsWith: string;
    Category5IDEndsWith: string;
    Category5IDContains: string;
    Category5IDLike: string;
    Category5IDBetween: string[];
    Category5IDIn: string[];
    Category5Description: string;
    Category5DescriptionStartsWith: string;
    Category5DescriptionEndsWith: string;
    Category5DescriptionContains: string;
    Category5DescriptionLike: string;
    Category5DescriptionBetween: string[];
    Category5DescriptionIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    LogicalWarehouseDescription: string;
    LogicalWarehouseDescriptionStartsWith: string;
    LogicalWarehouseDescriptionEndsWith: string;
    LogicalWarehouseDescriptionContains: string;
    LogicalWarehouseDescriptionLike: string;
    LogicalWarehouseDescriptionBetween: string[];
    LogicalWarehouseDescriptionIn: string[];
    IN_PhysicalID: string;
    IN_PhysicalIDStartsWith: string;
    IN_PhysicalIDEndsWith: string;
    IN_PhysicalIDContains: string;
    IN_PhysicalIDLike: string;
    IN_PhysicalIDBetween: string[];
    IN_PhysicalIDIn: string[];
    PhysicalWarehouseDescription: string;
    PhysicalWarehouseDescriptionStartsWith: string;
    PhysicalWarehouseDescriptionEndsWith: string;
    PhysicalWarehouseDescriptionContains: string;
    PhysicalWarehouseDescriptionLike: string;
    PhysicalWarehouseDescriptionBetween: string[];
    PhysicalWarehouseDescriptionIn: string[];
    AvailableStock: number;
    AvailableStockGreaterThanOrEqualTo: number;
    AvailableStockGreaterThan: number;
    AvailableStockLessThan: number;
    AvailableStockLessThanOrEqualTo: number;
    AvailableStockNotEqualTo: number;
    AvailableStockBetween: number[];
    AvailableStockIn: number[];
    SellPrice: number;
    SellPriceGreaterThanOrEqualTo: number;
    SellPriceGreaterThan: number;
    SellPriceLessThan: number;
    SellPriceLessThanOrEqualTo: number;
    SellPriceNotEqualTo: number;
    SellPriceBetween: number[];
    SellPriceIn: number[];
    RRPPrice: number;
    RRPPriceGreaterThanOrEqualTo: number;
    RRPPriceGreaterThan: number;
    RRPPriceLessThan: number;
    RRPPriceLessThanOrEqualTo: number;
    RRPPriceNotEqualTo: number;
    RRPPriceBetween: number[];
    RRPPriceIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<v_Jiwa_Inventory_Item_List>(); }
    getTypeName() { return "v_Jiwa_Inventory_Item_ListQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JIWA_JobCosting_EstimateAndActualLinesQuery extends QueryDb<v_JIWA_JobCosting_EstimateAndActualLines> implements IReturn<QueryResponse<v_JIWA_JobCosting_EstimateAndActualLines>>
{
    JB_Estimates_RecID: string;
    JB_Estimates_RecIDStartsWith: string;
    JB_Estimates_RecIDEndsWith: string;
    JB_Estimates_RecIDContains: string;
    JB_Estimates_RecIDLike: string;
    JB_Estimates_RecIDBetween: string[];
    JB_Estimates_RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    ComponentID: string;
    ComponentIDStartsWith: string;
    ComponentIDEndsWith: string;
    ComponentIDContains: string;
    ComponentIDLike: string;
    ComponentIDBetween: string[];
    ComponentIDIn: string[];
    ComponentNo: string;
    ComponentNoStartsWith: string;
    ComponentNoEndsWith: string;
    ComponentNoContains: string;
    ComponentNoLike: string;
    ComponentNoBetween: string[];
    ComponentNoIn: string[];
    ComponentDescription: string;
    ComponentDescriptionStartsWith: string;
    ComponentDescriptionEndsWith: string;
    ComponentDescriptionContains: string;
    ComponentDescriptionLike: string;
    ComponentDescriptionBetween: string[];
    ComponentDescriptionIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    ComponentType: number;
    ComponentTypeGreaterThanOrEqualTo: number;
    ComponentTypeGreaterThan: number;
    ComponentTypeLessThan: number;
    ComponentTypeLessThanOrEqualTo: number;
    ComponentTypeNotEqualTo: number;
    ComponentTypeBetween: number[];
    ComponentTypeIn: number[];
    IsEstimate: number;
    IsEstimateGreaterThanOrEqualTo: number;
    IsEstimateGreaterThan: number;
    IsEstimateLessThan: number;
    IsEstimateLessThanOrEqualTo: number;
    IsEstimateNotEqualTo: number;
    IsEstimateBetween: number[];
    IsEstimateIn: number[];
    createResponse() { return new QueryResponse<v_JIWA_JobCosting_EstimateAndActualLines>(); }
    getTypeName() { return "v_JIWA_JobCosting_EstimateAndActualLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_JobCosting_EstimateLinesQuery extends QueryDb<v_Jiwa_JobCosting_EstimateLines> implements IReturn<QueryResponse<v_Jiwa_JobCosting_EstimateLines>>
{
    JB_Estimates_RecID: string;
    JB_Estimates_RecIDStartsWith: string;
    JB_Estimates_RecIDEndsWith: string;
    JB_Estimates_RecIDContains: string;
    JB_Estimates_RecIDLike: string;
    JB_Estimates_RecIDBetween: string[];
    JB_Estimates_RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    ComponentID: string;
    ComponentIDStartsWith: string;
    ComponentIDEndsWith: string;
    ComponentIDContains: string;
    ComponentIDLike: string;
    ComponentIDBetween: string[];
    ComponentIDIn: string[];
    ComponentNo: string;
    ComponentNoStartsWith: string;
    ComponentNoEndsWith: string;
    ComponentNoContains: string;
    ComponentNoLike: string;
    ComponentNoBetween: string[];
    ComponentNoIn: string[];
    ComponentDescription: string;
    ComponentDescriptionStartsWith: string;
    ComponentDescriptionEndsWith: string;
    ComponentDescriptionContains: string;
    ComponentDescriptionLike: string;
    ComponentDescriptionBetween: string[];
    ComponentDescriptionIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    ComponentType: number;
    ComponentTypeGreaterThanOrEqualTo: number;
    ComponentTypeGreaterThan: number;
    ComponentTypeLessThan: number;
    ComponentTypeLessThanOrEqualTo: number;
    ComponentTypeNotEqualTo: number;
    ComponentTypeBetween: number[];
    ComponentTypeIn: number[];
    createResponse() { return new QueryResponse<v_Jiwa_JobCosting_EstimateLines>(); }
    getTypeName() { return "v_Jiwa_JobCosting_EstimateLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JIWA_JobCosting_EstimatesAndActualsQuery extends QueryDb<v_JIWA_JobCosting_EstimatesAndActuals> implements IReturn<QueryResponse<v_JIWA_JobCosting_EstimatesAndActuals>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    EstimateNo: string;
    EstimateNoStartsWith: string;
    EstimateNoEndsWith: string;
    EstimateNoContains: string;
    EstimateNoLike: string;
    EstimateNoBetween: string[];
    EstimateNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    JB_Main_RecID: string;
    JB_Main_RecIDStartsWith: string;
    JB_Main_RecIDEndsWith: string;
    JB_Main_RecIDContains: string;
    JB_Main_RecIDLike: string;
    JB_Main_RecIDBetween: string[];
    JB_Main_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    IN_Logical_RecID: string;
    IN_Logical_RecIDStartsWith: string;
    IN_Logical_RecIDEndsWith: string;
    IN_Logical_RecIDContains: string;
    IN_Logical_RecIDLike: string;
    IN_Logical_RecIDBetween: string[];
    IN_Logical_RecIDIn: string[];
    IsDefault: number;
    IsDefaultGreaterThanOrEqualTo: number;
    IsDefaultGreaterThan: number;
    IsDefaultLessThan: number;
    IsDefaultLessThanOrEqualTo: number;
    IsDefaultNotEqualTo: number;
    IsDefaultBetween: number[];
    IsDefaultIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    IsEstimate: number;
    IsEstimateGreaterThanOrEqualTo: number;
    IsEstimateGreaterThan: number;
    IsEstimateLessThan: number;
    IsEstimateLessThanOrEqualTo: number;
    IsEstimateNotEqualTo: number;
    IsEstimateBetween: number[];
    IsEstimateIn: number[];
    createResponse() { return new QueryResponse<v_JIWA_JobCosting_EstimatesAndActuals>(); }
    getTypeName() { return "v_JIWA_JobCosting_EstimatesAndActualsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_LicencesQuery extends QueryDb<v_Jiwa_Licences> implements IReturn<QueryResponse<v_Jiwa_Licences>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ResourceID: string;
    ResourceIDStartsWith: string;
    ResourceIDEndsWith: string;
    ResourceIDContains: string;
    ResourceIDLike: string;
    ResourceIDBetween: string[];
    ResourceIDIn: string[];
    ResourceName: string;
    ResourceNameStartsWith: string;
    ResourceNameEndsWith: string;
    ResourceNameContains: string;
    ResourceNameLike: string;
    ResourceNameBetween: string[];
    ResourceNameIn: string[];
    IssueDate: string;
    IssueDateGreaterThanOrEqualTo: string;
    IssueDateGreaterThan: string;
    IssueDateLessThan: string;
    IssueDateLessThanOrEqualTo: string;
    IssueDateNotEqualTo: string;
    IssueDateBetween: string[];
    IssueDateIn: string[];
    Scope: string;
    ScopeStartsWith: string;
    ScopeEndsWith: string;
    ScopeContains: string;
    ScopeLike: string;
    ScopeBetween: string[];
    ScopeIn: string[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    CommenceDate: string;
    CommenceDateGreaterThanOrEqualTo: string;
    CommenceDateGreaterThan: string;
    CommenceDateLessThan: string;
    CommenceDateLessThanOrEqualTo: string;
    CommenceDateNotEqualTo: string;
    CommenceDateBetween: string[];
    CommenceDateIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    CALs: number;
    CALsGreaterThanOrEqualTo: number;
    CALsGreaterThan: number;
    CALsLessThan: number;
    CALsLessThanOrEqualTo: number;
    CALsNotEqualTo: number;
    CALsBetween: number[];
    CALsIn: number[];
    Used: number;
    UsedGreaterThanOrEqualTo: number;
    UsedGreaterThan: number;
    UsedLessThan: number;
    UsedLessThanOrEqualTo: number;
    UsedNotEqualTo: number;
    UsedBetween: number[];
    UsedIn: number[];
    Unused: number;
    UnusedGreaterThanOrEqualTo: number;
    UnusedGreaterThan: number;
    UnusedLessThan: number;
    UnusedLessThanOrEqualTo: number;
    UnusedNotEqualTo: number;
    UnusedBetween: number[];
    UnusedIn: number[];
    Version: string;
    VersionStartsWith: string;
    VersionEndsWith: string;
    VersionContains: string;
    VersionLike: string;
    VersionBetween: string[];
    VersionIn: string[];
    Signature: string;
    SignatureStartsWith: string;
    SignatureEndsWith: string;
    SignatureContains: string;
    SignatureLike: string;
    SignatureBetween: string[];
    SignatureIn: string[];
    createResponse() { return new QueryResponse<v_Jiwa_Licences>(); }
    getTypeName() { return "v_Jiwa_LicencesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JIWA_PurchaseOrders_DeliveryNotesQuery extends QueryDb<v_JIWA_PurchaseOrders_DeliveryNotes> implements IReturn<QueryResponse<v_JIWA_PurchaseOrders_DeliveryNotes>>
{
    PurchaseOrderID: string;
    PurchaseOrderIDStartsWith: string;
    PurchaseOrderIDEndsWith: string;
    PurchaseOrderIDContains: string;
    PurchaseOrderIDLike: string;
    PurchaseOrderIDBetween: string[];
    PurchaseOrderIDIn: string[];
    DeliveryNote: string;
    DeliveryNoteStartsWith: string;
    DeliveryNoteEndsWith: string;
    DeliveryNoteContains: string;
    DeliveryNoteLike: string;
    DeliveryNoteBetween: string[];
    DeliveryNoteIn: string[];
    createResponse() { return new QueryResponse<v_JIWA_PurchaseOrders_DeliveryNotes>(); }
    getTypeName() { return "v_JIWA_PurchaseOrders_DeliveryNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JIWA_PurchaseOrders_UOMQuery extends QueryDb<v_JIWA_PurchaseOrders_UOM> implements IReturn<QueryResponse<v_JIWA_PurchaseOrders_UOM>>
{
    OrderLineID: string;
    OrderLineIDStartsWith: string;
    OrderLineIDEndsWith: string;
    OrderLineIDContains: string;
    OrderLineIDLike: string;
    OrderLineIDBetween: string[];
    OrderLineIDIn: string[];
    QtyUom: number;
    QtyUomGreaterThanOrEqualTo: number;
    QtyUomGreaterThan: number;
    QtyUomLessThan: number;
    QtyUomLessThanOrEqualTo: number;
    QtyUomNotEqualTo: number;
    QtyUomBetween: number[];
    QtyUomIn: number[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    createResponse() { return new QueryResponse<v_JIWA_PurchaseOrders_UOM>(); }
    getTypeName() { return "v_JIWA_PurchaseOrders_UOMQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JIWA_QO_LinesKitHeaderTaxQuery extends QueryDb<v_JIWA_QO_LinesKitHeaderTax> implements IReturn<QueryResponse<v_JIWA_QO_LinesKitHeaderTax>>
{
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    KitHeaderTax: number;
    KitHeaderTaxGreaterThanOrEqualTo: number;
    KitHeaderTaxGreaterThan: number;
    KitHeaderTaxLessThan: number;
    KitHeaderTaxLessThanOrEqualTo: number;
    KitHeaderTaxNotEqualTo: number;
    KitHeaderTaxBetween: number[];
    KitHeaderTaxIn: number[];
    KitHeaderTotalIncTax: number;
    KitHeaderTotalIncTaxGreaterThanOrEqualTo: number;
    KitHeaderTotalIncTaxGreaterThan: number;
    KitHeaderTotalIncTaxLessThan: number;
    KitHeaderTotalIncTaxLessThanOrEqualTo: number;
    KitHeaderTotalIncTaxNotEqualTo: number;
    KitHeaderTotalIncTaxBetween: number[];
    KitHeaderTotalIncTaxIn: number[];
    createResponse() { return new QueryResponse<v_JIWA_QO_LinesKitHeaderTax>(); }
    getTypeName() { return "v_JIWA_QO_LinesKitHeaderTaxQuery"; }
}

// @Route("/Queries/SalesOrderList", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_SalesOrder_ListQuery extends QueryDb<v_Jiwa_SalesOrder_List> implements IReturn<QueryResponse<v_Jiwa_SalesOrder_List>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    SOReference: string;
    SOReferenceStartsWith: string;
    SOReferenceEndsWith: string;
    SOReferenceContains: string;
    SOReferenceLike: string;
    SOReferenceBetween: string[];
    SOReferenceIn: string[];
    InvoiceInitDate: string;
    InvoiceInitDateGreaterThanOrEqualTo: string;
    InvoiceInitDateGreaterThan: string;
    InvoiceInitDateLessThan: string;
    InvoiceInitDateLessThanOrEqualTo: string;
    InvoiceInitDateNotEqualTo: string;
    InvoiceInitDateBetween: string[];
    InvoiceInitDateIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    CreditNote: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    InvoiceTotal: number;
    InvoiceTotalGreaterThanOrEqualTo: number;
    InvoiceTotalGreaterThan: number;
    InvoiceTotalLessThan: number;
    InvoiceTotalLessThanOrEqualTo: number;
    InvoiceTotalNotEqualTo: number;
    InvoiceTotalBetween: number[];
    InvoiceTotalIn: number[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    DebtorName: string;
    DebtorNameStartsWith: string;
    DebtorNameEndsWith: string;
    DebtorNameContains: string;
    DebtorNameLike: string;
    DebtorNameBetween: string[];
    DebtorNameIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    LogicalWarehouseDescription: string;
    LogicalWarehouseDescriptionStartsWith: string;
    LogicalWarehouseDescriptionEndsWith: string;
    LogicalWarehouseDescriptionContains: string;
    LogicalWarehouseDescriptionLike: string;
    LogicalWarehouseDescriptionBetween: string[];
    LogicalWarehouseDescriptionIn: string[];
    IN_PhysicalID: string;
    IN_PhysicalIDStartsWith: string;
    IN_PhysicalIDEndsWith: string;
    IN_PhysicalIDContains: string;
    IN_PhysicalIDLike: string;
    IN_PhysicalIDBetween: string[];
    IN_PhysicalIDIn: string[];
    PhysicalWarehouseDescription: string;
    PhysicalWarehouseDescriptionStartsWith: string;
    PhysicalWarehouseDescriptionEndsWith: string;
    PhysicalWarehouseDescriptionContains: string;
    PhysicalWarehouseDescriptionLike: string;
    PhysicalWarehouseDescriptionBetween: string[];
    PhysicalWarehouseDescriptionIn: string[];
    BranchID: string;
    BranchIDStartsWith: string;
    BranchIDEndsWith: string;
    BranchIDContains: string;
    BranchIDLike: string;
    BranchIDBetween: string[];
    BranchIDIn: string[];
    BranchDescription: string;
    BranchDescriptionStartsWith: string;
    BranchDescriptionEndsWith: string;
    BranchDescriptionContains: string;
    BranchDescriptionLike: string;
    BranchDescriptionBetween: string[];
    BranchDescriptionIn: string[];
    CashSaleAddress1: string;
    CashSaleAddress1StartsWith: string;
    CashSaleAddress1EndsWith: string;
    CashSaleAddress1Contains: string;
    CashSaleAddress1Like: string;
    CashSaleAddress1Between: string[];
    CashSaleAddress1In: string[];
    CashSaleAddress2: string;
    CashSaleAddress2StartsWith: string;
    CashSaleAddress2EndsWith: string;
    CashSaleAddress2Contains: string;
    CashSaleAddress2Like: string;
    CashSaleAddress2Between: string[];
    CashSaleAddress2In: string[];
    CashSaleAddress3: string;
    CashSaleAddress3StartsWith: string;
    CashSaleAddress3EndsWith: string;
    CashSaleAddress3Contains: string;
    CashSaleAddress3Like: string;
    CashSaleAddress3Between: string[];
    CashSaleAddress3In: string[];
    CashSaleAddress4: string;
    CashSaleAddress4StartsWith: string;
    CashSaleAddress4EndsWith: string;
    CashSaleAddress4Contains: string;
    CashSaleAddress4Like: string;
    CashSaleAddress4Between: string[];
    CashSaleAddress4In: string[];
    CashSalePostcode: string;
    CashSalePostcodeStartsWith: string;
    CashSalePostcodeEndsWith: string;
    CashSalePostcodeContains: string;
    CashSalePostcodeLike: string;
    CashSalePostcodeBetween: string[];
    CashSalePostcodeIn: string[];
    CashSaleCompany: string;
    CashSaleCompanyStartsWith: string;
    CashSaleCompanyEndsWith: string;
    CashSaleCompanyContains: string;
    CashSaleCompanyLike: string;
    CashSaleCompanyBetween: string[];
    CashSaleCompanyIn: string[];
    CashSaleName: string;
    CashSaleNameStartsWith: string;
    CashSaleNameEndsWith: string;
    CashSaleNameContains: string;
    CashSaleNameLike: string;
    CashSaleNameBetween: string[];
    CashSaleNameIn: string[];
    CashSalePhone: string;
    CashSalePhoneStartsWith: string;
    CashSalePhoneEndsWith: string;
    CashSalePhoneContains: string;
    CashSalePhoneLike: string;
    CashSalePhoneBetween: string[];
    CashSalePhoneIn: string[];
    DeliveryAddressContactName: string;
    DeliveryAddressContactNameStartsWith: string;
    DeliveryAddressContactNameEndsWith: string;
    DeliveryAddressContactNameContains: string;
    DeliveryAddressContactNameLike: string;
    DeliveryAddressContactNameBetween: string[];
    DeliveryAddressContactNameIn: string[];
    DeliveryAddressee: string;
    DeliveryAddresseeStartsWith: string;
    DeliveryAddresseeEndsWith: string;
    DeliveryAddresseeContains: string;
    DeliveryAddresseeLike: string;
    DeliveryAddresseeBetween: string[];
    DeliveryAddresseeIn: string[];
    DeliveryAddress1: string;
    DeliveryAddress1StartsWith: string;
    DeliveryAddress1EndsWith: string;
    DeliveryAddress1Contains: string;
    DeliveryAddress1Like: string;
    DeliveryAddress1Between: string[];
    DeliveryAddress1In: string[];
    DeliveryAddress2: string;
    DeliveryAddress2StartsWith: string;
    DeliveryAddress2EndsWith: string;
    DeliveryAddress2Contains: string;
    DeliveryAddress2Like: string;
    DeliveryAddress2Between: string[];
    DeliveryAddress2In: string[];
    DeliveryAddress3: string;
    DeliveryAddress3StartsWith: string;
    DeliveryAddress3EndsWith: string;
    DeliveryAddress3Contains: string;
    DeliveryAddress3Like: string;
    DeliveryAddress3Between: string[];
    DeliveryAddress3In: string[];
    DeliveryAddress4: string;
    DeliveryAddress4StartsWith: string;
    DeliveryAddress4EndsWith: string;
    DeliveryAddress4Contains: string;
    DeliveryAddress4Like: string;
    DeliveryAddress4Between: string[];
    DeliveryAddress4In: string[];
    DeliveryAddressPostcode: string;
    DeliveryAddressPostcodeStartsWith: string;
    DeliveryAddressPostcodeEndsWith: string;
    DeliveryAddressPostcodeContains: string;
    DeliveryAddressPostcodeLike: string;
    DeliveryAddressPostcodeBetween: string[];
    DeliveryAddressPostcodeIn: string[];
    DeliveryAddressCountry: string;
    DeliveryAddressCountryStartsWith: string;
    DeliveryAddressCountryEndsWith: string;
    DeliveryAddressCountryContains: string;
    DeliveryAddressCountryLike: string;
    DeliveryAddressCountryBetween: string[];
    DeliveryAddressCountryIn: string[];
    Delivered: boolean;
    DeliveredDate: string;
    DeliveredDateGreaterThanOrEqualTo: string;
    DeliveredDateGreaterThan: string;
    DeliveredDateLessThan: string;
    DeliveredDateLessThanOrEqualTo: string;
    DeliveredDateNotEqualTo: string;
    DeliveredDateBetween: string[];
    DeliveredDateIn: string[];
    ConsignmentNote: string;
    ConsignmentNoteStartsWith: string;
    ConsignmentNoteEndsWith: string;
    ConsignmentNoteContains: string;
    ConsignmentNoteLike: string;
    ConsignmentNoteBetween: string[];
    ConsignmentNoteIn: string[];
    CartageCharge1: number;
    CartageCharge1GreaterThanOrEqualTo: number;
    CartageCharge1GreaterThan: number;
    CartageCharge1LessThan: number;
    CartageCharge1LessThanOrEqualTo: number;
    CartageCharge1NotEqualTo: number;
    CartageCharge1Between: number[];
    CartageCharge1In: number[];
    Cartage1TaxAmount: number;
    Cartage1TaxAmountGreaterThanOrEqualTo: number;
    Cartage1TaxAmountGreaterThan: number;
    Cartage1TaxAmountLessThan: number;
    Cartage1TaxAmountLessThanOrEqualTo: number;
    Cartage1TaxAmountNotEqualTo: number;
    Cartage1TaxAmountBetween: number[];
    Cartage1TaxAmountIn: number[];
    CartageCharge2: number;
    CartageCharge2GreaterThanOrEqualTo: number;
    CartageCharge2GreaterThan: number;
    CartageCharge2LessThan: number;
    CartageCharge2LessThanOrEqualTo: number;
    CartageCharge2NotEqualTo: number;
    CartageCharge2Between: number[];
    CartageCharge2In: number[];
    Cartage2TaxAmount: number;
    Cartage2TaxAmountGreaterThanOrEqualTo: number;
    Cartage2TaxAmountGreaterThan: number;
    Cartage2TaxAmountLessThan: number;
    Cartage2TaxAmountLessThanOrEqualTo: number;
    Cartage2TaxAmountNotEqualTo: number;
    Cartage2TaxAmountBetween: number[];
    Cartage2TaxAmountIn: number[];
    CartageCharge3: number;
    CartageCharge3GreaterThanOrEqualTo: number;
    CartageCharge3GreaterThan: number;
    CartageCharge3LessThan: number;
    CartageCharge3LessThanOrEqualTo: number;
    CartageCharge3NotEqualTo: number;
    CartageCharge3Between: number[];
    CartageCharge3In: number[];
    Cartage3TaxAmount: number;
    Cartage3TaxAmountGreaterThanOrEqualTo: number;
    Cartage3TaxAmountGreaterThan: number;
    Cartage3TaxAmountLessThan: number;
    Cartage3TaxAmountLessThanOrEqualTo: number;
    Cartage3TaxAmountNotEqualTo: number;
    Cartage3TaxAmountBetween: number[];
    Cartage3TaxAmountIn: number[];
    CourierDetails: string;
    CourierDetailsStartsWith: string;
    CourierDetailsEndsWith: string;
    CourierDetailsContains: string;
    CourierDetailsLike: string;
    CourierDetailsBetween: string[];
    CourierDetailsIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    StaffTitle: string;
    StaffTitleStartsWith: string;
    StaffTitleEndsWith: string;
    StaffTitleContains: string;
    StaffTitleLike: string;
    StaffTitleBetween: string[];
    StaffTitleIn: string[];
    StaffFirstName: string;
    StaffFirstNameStartsWith: string;
    StaffFirstNameEndsWith: string;
    StaffFirstNameContains: string;
    StaffFirstNameLike: string;
    StaffFirstNameBetween: string[];
    StaffFirstNameIn: string[];
    StaffSurname: string;
    StaffSurnameStartsWith: string;
    StaffSurnameEndsWith: string;
    StaffSurnameContains: string;
    StaffSurnameLike: string;
    StaffSurnameBetween: string[];
    StaffSurnameIn: string[];
    StaffUsername: string;
    StaffUsernameStartsWith: string;
    StaffUsernameEndsWith: string;
    StaffUsernameContains: string;
    StaffUsernameLike: string;
    StaffUsernameBetween: string[];
    StaffUsernameIn: string[];
    createResponse() { return new QueryResponse<v_Jiwa_SalesOrder_List>(); }
    getTypeName() { return "v_Jiwa_SalesOrder_ListQuery"; }
}

// @Route("/Queries/SalesQuoteList", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_SalesQuote_ListQuery extends QueryDb<v_Jiwa_SalesQuote_List> implements IReturn<QueryResponse<v_Jiwa_SalesQuote_List>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    QOReference: string;
    QOReferenceStartsWith: string;
    QOReferenceEndsWith: string;
    QOReferenceContains: string;
    QOReferenceLike: string;
    QOReferenceBetween: string[];
    QOReferenceIn: string[];
    InvoiceInitDate: string;
    InvoiceInitDateGreaterThanOrEqualTo: string;
    InvoiceInitDateGreaterThan: string;
    InvoiceInitDateLessThan: string;
    InvoiceInitDateLessThanOrEqualTo: string;
    InvoiceInitDateNotEqualTo: string;
    InvoiceInitDateBetween: string[];
    InvoiceInitDateIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    InvoiceTotal: number;
    InvoiceTotalGreaterThanOrEqualTo: number;
    InvoiceTotalGreaterThan: number;
    InvoiceTotalLessThan: number;
    InvoiceTotalLessThanOrEqualTo: number;
    InvoiceTotalNotEqualTo: number;
    InvoiceTotalBetween: number[];
    InvoiceTotalIn: number[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    DebtorName: string;
    DebtorNameStartsWith: string;
    DebtorNameEndsWith: string;
    DebtorNameContains: string;
    DebtorNameLike: string;
    DebtorNameBetween: string[];
    DebtorNameIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    LogicalWarehouseDescription: string;
    LogicalWarehouseDescriptionStartsWith: string;
    LogicalWarehouseDescriptionEndsWith: string;
    LogicalWarehouseDescriptionContains: string;
    LogicalWarehouseDescriptionLike: string;
    LogicalWarehouseDescriptionBetween: string[];
    LogicalWarehouseDescriptionIn: string[];
    IN_PhysicalID: string;
    IN_PhysicalIDStartsWith: string;
    IN_PhysicalIDEndsWith: string;
    IN_PhysicalIDContains: string;
    IN_PhysicalIDLike: string;
    IN_PhysicalIDBetween: string[];
    IN_PhysicalIDIn: string[];
    PhysicalWarehouseDescription: string;
    PhysicalWarehouseDescriptionStartsWith: string;
    PhysicalWarehouseDescriptionEndsWith: string;
    PhysicalWarehouseDescriptionContains: string;
    PhysicalWarehouseDescriptionLike: string;
    PhysicalWarehouseDescriptionBetween: string[];
    PhysicalWarehouseDescriptionIn: string[];
    BranchID: string;
    BranchIDStartsWith: string;
    BranchIDEndsWith: string;
    BranchIDContains: string;
    BranchIDLike: string;
    BranchIDBetween: string[];
    BranchIDIn: string[];
    BranchDescription: string;
    BranchDescriptionStartsWith: string;
    BranchDescriptionEndsWith: string;
    BranchDescriptionContains: string;
    BranchDescriptionLike: string;
    BranchDescriptionBetween: string[];
    BranchDescriptionIn: string[];
    CashSaleAddress1: string;
    CashSaleAddress1StartsWith: string;
    CashSaleAddress1EndsWith: string;
    CashSaleAddress1Contains: string;
    CashSaleAddress1Like: string;
    CashSaleAddress1Between: string[];
    CashSaleAddress1In: string[];
    CashSaleAddress2: string;
    CashSaleAddress2StartsWith: string;
    CashSaleAddress2EndsWith: string;
    CashSaleAddress2Contains: string;
    CashSaleAddress2Like: string;
    CashSaleAddress2Between: string[];
    CashSaleAddress2In: string[];
    CashSaleAddress3: string;
    CashSaleAddress3StartsWith: string;
    CashSaleAddress3EndsWith: string;
    CashSaleAddress3Contains: string;
    CashSaleAddress3Like: string;
    CashSaleAddress3Between: string[];
    CashSaleAddress3In: string[];
    CashSaleAddress4: string;
    CashSaleAddress4StartsWith: string;
    CashSaleAddress4EndsWith: string;
    CashSaleAddress4Contains: string;
    CashSaleAddress4Like: string;
    CashSaleAddress4Between: string[];
    CashSaleAddress4In: string[];
    CashSalePostcode: string;
    CashSalePostcodeStartsWith: string;
    CashSalePostcodeEndsWith: string;
    CashSalePostcodeContains: string;
    CashSalePostcodeLike: string;
    CashSalePostcodeBetween: string[];
    CashSalePostcodeIn: string[];
    CashSaleCompany: string;
    CashSaleCompanyStartsWith: string;
    CashSaleCompanyEndsWith: string;
    CashSaleCompanyContains: string;
    CashSaleCompanyLike: string;
    CashSaleCompanyBetween: string[];
    CashSaleCompanyIn: string[];
    CashSaleName: string;
    CashSaleNameStartsWith: string;
    CashSaleNameEndsWith: string;
    CashSaleNameContains: string;
    CashSaleNameLike: string;
    CashSaleNameBetween: string[];
    CashSaleNameIn: string[];
    CashSalePhone: string;
    CashSalePhoneStartsWith: string;
    CashSalePhoneEndsWith: string;
    CashSalePhoneContains: string;
    CashSalePhoneLike: string;
    CashSalePhoneBetween: string[];
    CashSalePhoneIn: string[];
    DeliveryAddressContactName: string;
    DeliveryAddressContactNameStartsWith: string;
    DeliveryAddressContactNameEndsWith: string;
    DeliveryAddressContactNameContains: string;
    DeliveryAddressContactNameLike: string;
    DeliveryAddressContactNameBetween: string[];
    DeliveryAddressContactNameIn: string[];
    DeliveryAddressee: string;
    DeliveryAddresseeStartsWith: string;
    DeliveryAddresseeEndsWith: string;
    DeliveryAddresseeContains: string;
    DeliveryAddresseeLike: string;
    DeliveryAddresseeBetween: string[];
    DeliveryAddresseeIn: string[];
    DeliveryAddress1: string;
    DeliveryAddress1StartsWith: string;
    DeliveryAddress1EndsWith: string;
    DeliveryAddress1Contains: string;
    DeliveryAddress1Like: string;
    DeliveryAddress1Between: string[];
    DeliveryAddress1In: string[];
    DeliveryAddress2: string;
    DeliveryAddress2StartsWith: string;
    DeliveryAddress2EndsWith: string;
    DeliveryAddress2Contains: string;
    DeliveryAddress2Like: string;
    DeliveryAddress2Between: string[];
    DeliveryAddress2In: string[];
    DeliveryAddress3: string;
    DeliveryAddress3StartsWith: string;
    DeliveryAddress3EndsWith: string;
    DeliveryAddress3Contains: string;
    DeliveryAddress3Like: string;
    DeliveryAddress3Between: string[];
    DeliveryAddress3In: string[];
    DeliveryAddress4: string;
    DeliveryAddress4StartsWith: string;
    DeliveryAddress4EndsWith: string;
    DeliveryAddress4Contains: string;
    DeliveryAddress4Like: string;
    DeliveryAddress4Between: string[];
    DeliveryAddress4In: string[];
    DeliveryAddressPostcode: string;
    DeliveryAddressPostcodeStartsWith: string;
    DeliveryAddressPostcodeEndsWith: string;
    DeliveryAddressPostcodeContains: string;
    DeliveryAddressPostcodeLike: string;
    DeliveryAddressPostcodeBetween: string[];
    DeliveryAddressPostcodeIn: string[];
    DeliveryAddressCountry: string;
    DeliveryAddressCountryStartsWith: string;
    DeliveryAddressCountryEndsWith: string;
    DeliveryAddressCountryContains: string;
    DeliveryAddressCountryLike: string;
    DeliveryAddressCountryBetween: string[];
    DeliveryAddressCountryIn: string[];
    CartageCharge1: number;
    CartageCharge1GreaterThanOrEqualTo: number;
    CartageCharge1GreaterThan: number;
    CartageCharge1LessThan: number;
    CartageCharge1LessThanOrEqualTo: number;
    CartageCharge1NotEqualTo: number;
    CartageCharge1Between: number[];
    CartageCharge1In: number[];
    Cartage1TaxAmount: number;
    Cartage1TaxAmountGreaterThanOrEqualTo: number;
    Cartage1TaxAmountGreaterThan: number;
    Cartage1TaxAmountLessThan: number;
    Cartage1TaxAmountLessThanOrEqualTo: number;
    Cartage1TaxAmountNotEqualTo: number;
    Cartage1TaxAmountBetween: number[];
    Cartage1TaxAmountIn: number[];
    CartageCharge2: number;
    CartageCharge2GreaterThanOrEqualTo: number;
    CartageCharge2GreaterThan: number;
    CartageCharge2LessThan: number;
    CartageCharge2LessThanOrEqualTo: number;
    CartageCharge2NotEqualTo: number;
    CartageCharge2Between: number[];
    CartageCharge2In: number[];
    Cartage2TaxAmount: number;
    Cartage2TaxAmountGreaterThanOrEqualTo: number;
    Cartage2TaxAmountGreaterThan: number;
    Cartage2TaxAmountLessThan: number;
    Cartage2TaxAmountLessThanOrEqualTo: number;
    Cartage2TaxAmountNotEqualTo: number;
    Cartage2TaxAmountBetween: number[];
    Cartage2TaxAmountIn: number[];
    CartageCharge3: number;
    CartageCharge3GreaterThanOrEqualTo: number;
    CartageCharge3GreaterThan: number;
    CartageCharge3LessThan: number;
    CartageCharge3LessThanOrEqualTo: number;
    CartageCharge3NotEqualTo: number;
    CartageCharge3Between: number[];
    CartageCharge3In: number[];
    Cartage3TaxAmount: number;
    Cartage3TaxAmountGreaterThanOrEqualTo: number;
    Cartage3TaxAmountGreaterThan: number;
    Cartage3TaxAmountLessThan: number;
    Cartage3TaxAmountLessThanOrEqualTo: number;
    Cartage3TaxAmountNotEqualTo: number;
    Cartage3TaxAmountBetween: number[];
    Cartage3TaxAmountIn: number[];
    CourierDetails: string;
    CourierDetailsStartsWith: string;
    CourierDetailsEndsWith: string;
    CourierDetailsContains: string;
    CourierDetailsLike: string;
    CourierDetailsBetween: string[];
    CourierDetailsIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    StaffTitle: string;
    StaffTitleStartsWith: string;
    StaffTitleEndsWith: string;
    StaffTitleContains: string;
    StaffTitleLike: string;
    StaffTitleBetween: string[];
    StaffTitleIn: string[];
    StaffFirstName: string;
    StaffFirstNameStartsWith: string;
    StaffFirstNameEndsWith: string;
    StaffFirstNameContains: string;
    StaffFirstNameLike: string;
    StaffFirstNameBetween: string[];
    StaffFirstNameIn: string[];
    StaffSurname: string;
    StaffSurnameStartsWith: string;
    StaffSurnameEndsWith: string;
    StaffSurnameContains: string;
    StaffSurnameLike: string;
    StaffSurnameBetween: string[];
    StaffSurnameIn: string[];
    StaffUsername: string;
    StaffUsernameStartsWith: string;
    StaffUsernameEndsWith: string;
    StaffUsernameContains: string;
    StaffUsernameLike: string;
    StaffUsernameBetween: string[];
    StaffUsernameIn: string[];
    createResponse() { return new QueryResponse<v_Jiwa_SalesQuote_List>(); }
    getTypeName() { return "v_Jiwa_SalesQuote_ListQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JIWA_SO_LinesKitHeaderTaxQuery extends QueryDb<v_JIWA_SO_LinesKitHeaderTax> implements IReturn<QueryResponse<v_JIWA_SO_LinesKitHeaderTax>>
{
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    KitHeaderTax: number;
    KitHeaderTaxGreaterThanOrEqualTo: number;
    KitHeaderTaxGreaterThan: number;
    KitHeaderTaxLessThan: number;
    KitHeaderTaxLessThanOrEqualTo: number;
    KitHeaderTaxNotEqualTo: number;
    KitHeaderTaxBetween: number[];
    KitHeaderTaxIn: number[];
    KitHeaderTotalIncTax: number;
    KitHeaderTotalIncTaxGreaterThanOrEqualTo: number;
    KitHeaderTotalIncTaxGreaterThan: number;
    KitHeaderTotalIncTaxLessThan: number;
    KitHeaderTotalIncTaxLessThanOrEqualTo: number;
    KitHeaderTotalIncTaxNotEqualTo: number;
    KitHeaderTotalIncTaxBetween: number[];
    KitHeaderTotalIncTaxIn: number[];
    createResponse() { return new QueryResponse<v_JIWA_SO_LinesKitHeaderTax>(); }
    getTypeName() { return "v_JIWA_SO_LinesKitHeaderTaxQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JobPrioritiesQuery extends QueryDb<v_JobPriorities> implements IReturn<QueryResponse<v_JobPriorities>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    HighestTaskPriorityRecID: string;
    HighestTaskPriorityRecIDStartsWith: string;
    HighestTaskPriorityRecIDEndsWith: string;
    HighestTaskPriorityRecIDContains: string;
    HighestTaskPriorityRecIDLike: string;
    HighestTaskPriorityRecIDBetween: string[];
    HighestTaskPriorityRecIDIn: string[];
    createResponse() { return new QueryResponse<v_JobPriorities>(); }
    getTypeName() { return "v_JobPrioritiesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JobStatusesQuery extends QueryDb<v_JobStatuses> implements IReturn<QueryResponse<v_JobStatuses>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Jobs_RecID: string;
    SM_Jobs_RecIDStartsWith: string;
    SM_Jobs_RecIDEndsWith: string;
    SM_Jobs_RecIDContains: string;
    SM_Jobs_RecIDLike: string;
    SM_Jobs_RecIDBetween: string[];
    SM_Jobs_RecIDIn: string[];
    createResponse() { return new QueryResponse<v_JobStatuses>(); }
    getTypeName() { return "v_JobStatusesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JobStatusesMinDisplayOrderQuery extends QueryDb<v_JobStatusesMinDisplayOrder> implements IReturn<QueryResponse<v_JobStatusesMinDisplayOrder>>
{
    SM_Jobs_RecID: string;
    SM_Jobs_RecIDStartsWith: string;
    SM_Jobs_RecIDEndsWith: string;
    SM_Jobs_RecIDContains: string;
    SM_Jobs_RecIDLike: string;
    SM_Jobs_RecIDBetween: string[];
    SM_Jobs_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<v_JobStatusesMinDisplayOrder>(); }
    getTypeName() { return "v_JobStatusesMinDisplayOrderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JobsWithActiveTaskQuery extends QueryDb<v_JobsWithActiveTask> implements IReturn<QueryResponse<v_JobsWithActiveTask>>
{
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    DB_Main_RecID: string;
    DB_Main_RecIDStartsWith: string;
    DB_Main_RecIDEndsWith: string;
    DB_Main_RecIDContains: string;
    DB_Main_RecIDLike: string;
    DB_Main_RecIDBetween: string[];
    DB_Main_RecIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    JobDescription: string;
    JobDescriptionStartsWith: string;
    JobDescriptionEndsWith: string;
    JobDescriptionContains: string;
    JobDescriptionLike: string;
    JobDescriptionBetween: string[];
    JobDescriptionIn: string[];
    CoordinatorName: string;
    CoordinatorNameStartsWith: string;
    CoordinatorNameEndsWith: string;
    CoordinatorNameContains: string;
    CoordinatorNameLike: string;
    CoordinatorNameBetween: string[];
    CoordinatorNameIn: string[];
    JobDateLogged: string;
    JobDateLoggedGreaterThanOrEqualTo: string;
    JobDateLoggedGreaterThan: string;
    JobDateLoggedLessThan: string;
    JobDateLoggedLessThanOrEqualTo: string;
    JobDateLoggedNotEqualTo: string;
    JobDateLoggedBetween: string[];
    JobDateLoggedIn: string[];
    createResponse() { return new QueryResponse<v_JobsWithActiveTask>(); }
    getTypeName() { return "v_JobsWithActiveTaskQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_PrepaidLabourPacksHoursInvoicedQuery extends QueryDb<v_PrepaidLabourPacksHoursInvoiced> implements IReturn<QueryResponse<v_PrepaidLabourPacksHoursInvoiced>>
{
    SM_PrepaidLabourPacks_RecID: string;
    SM_PrepaidLabourPacks_RecIDStartsWith: string;
    SM_PrepaidLabourPacks_RecIDEndsWith: string;
    SM_PrepaidLabourPacks_RecIDContains: string;
    SM_PrepaidLabourPacks_RecIDLike: string;
    SM_PrepaidLabourPacks_RecIDBetween: string[];
    SM_PrepaidLabourPacks_RecIDIn: string[];
    HoursInvoiced: number;
    HoursInvoicedGreaterThanOrEqualTo: number;
    HoursInvoicedGreaterThan: number;
    HoursInvoicedLessThan: number;
    HoursInvoicedLessThanOrEqualTo: number;
    HoursInvoicedNotEqualTo: number;
    HoursInvoicedBetween: number[];
    HoursInvoicedIn: number[];
    createResponse() { return new QueryResponse<v_PrepaidLabourPacksHoursInvoiced>(); }
    getTypeName() { return "v_PrepaidLabourPacksHoursInvoicedQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_PrepaidLabourPacksHoursUsedQuery extends QueryDb<v_PrepaidLabourPacksHoursUsed> implements IReturn<QueryResponse<v_PrepaidLabourPacksHoursUsed>>
{
    SM_PrepaidLabourPacks_RecID: string;
    SM_PrepaidLabourPacks_RecIDStartsWith: string;
    SM_PrepaidLabourPacks_RecIDEndsWith: string;
    SM_PrepaidLabourPacks_RecIDContains: string;
    SM_PrepaidLabourPacks_RecIDLike: string;
    SM_PrepaidLabourPacks_RecIDBetween: string[];
    SM_PrepaidLabourPacks_RecIDIn: string[];
    HoursUsed: number;
    HoursUsedGreaterThanOrEqualTo: number;
    HoursUsedGreaterThan: number;
    HoursUsedLessThan: number;
    HoursUsedLessThanOrEqualTo: number;
    HoursUsedNotEqualTo: number;
    HoursUsedBetween: number[];
    HoursUsedIn: number[];
    createResponse() { return new QueryResponse<v_PrepaidLabourPacksHoursUsed>(); }
    getTypeName() { return "v_PrepaidLabourPacksHoursUsedQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SalesInformationQuery extends QueryDb<v_SalesInformation> implements IReturn<QueryResponse<v_SalesInformation>>
{
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    IN_PhysicalID: string;
    IN_PhysicalIDStartsWith: string;
    IN_PhysicalIDEndsWith: string;
    IN_PhysicalIDContains: string;
    IN_PhysicalIDLike: string;
    IN_PhysicalIDBetween: string[];
    IN_PhysicalIDIn: string[];
    BranchID: string;
    BranchIDStartsWith: string;
    BranchIDEndsWith: string;
    BranchIDContains: string;
    BranchIDLike: string;
    BranchIDBetween: string[];
    BranchIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    PartDescription: string;
    PartDescriptionStartsWith: string;
    PartDescriptionEndsWith: string;
    PartDescriptionContains: string;
    PartDescriptionLike: string;
    PartDescriptionBetween: string[];
    PartDescriptionIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    LineTotalIncGST: number;
    LineTotalIncGSTGreaterThanOrEqualTo: number;
    LineTotalIncGSTGreaterThan: number;
    LineTotalIncGSTLessThan: number;
    LineTotalIncGSTLessThanOrEqualTo: number;
    LineTotalIncGSTNotEqualTo: number;
    LineTotalIncGSTBetween: number[];
    LineTotalIncGSTIn: number[];
    LineTaxTotal: number;
    LineTaxTotalGreaterThanOrEqualTo: number;
    LineTaxTotalGreaterThan: number;
    LineTaxTotalLessThan: number;
    LineTaxTotalLessThanOrEqualTo: number;
    LineTaxTotalNotEqualTo: number;
    LineTaxTotalBetween: number[];
    LineTaxTotalIn: number[];
    LineTotalExGST: number;
    LineTotalExGSTGreaterThanOrEqualTo: number;
    LineTotalExGSTGreaterThan: number;
    LineTotalExGSTLessThan: number;
    LineTotalExGSTLessThanOrEqualTo: number;
    LineTotalExGSTNotEqualTo: number;
    LineTotalExGSTBetween: number[];
    LineTotalExGSTIn: number[];
    LineCost: number;
    LineCostGreaterThanOrEqualTo: number;
    LineCostGreaterThan: number;
    LineCostLessThan: number;
    LineCostLessThanOrEqualTo: number;
    LineCostNotEqualTo: number;
    LineCostBetween: number[];
    LineCostIn: number[];
    LineProfit: number;
    LineProfitGreaterThanOrEqualTo: number;
    LineProfitGreaterThan: number;
    LineProfitLessThan: number;
    LineProfitLessThanOrEqualTo: number;
    LineProfitNotEqualTo: number;
    LineProfitBetween: number[];
    LineProfitIn: number[];
    ClassificationDescription: string;
    ClassificationDescriptionStartsWith: string;
    ClassificationDescriptionEndsWith: string;
    ClassificationDescriptionContains: string;
    ClassificationDescriptionLike: string;
    ClassificationDescriptionBetween: string[];
    ClassificationDescriptionIn: string[];
    Category1DescriptionAtTimeOfSale: string;
    Category1DescriptionAtTimeOfSaleStartsWith: string;
    Category1DescriptionAtTimeOfSaleEndsWith: string;
    Category1DescriptionAtTimeOfSaleContains: string;
    Category1DescriptionAtTimeOfSaleLike: string;
    Category1DescriptionAtTimeOfSaleBetween: string[];
    Category1DescriptionAtTimeOfSaleIn: string[];
    Category2DescriptionAtTimeOfSale: string;
    Category2DescriptionAtTimeOfSaleStartsWith: string;
    Category2DescriptionAtTimeOfSaleEndsWith: string;
    Category2DescriptionAtTimeOfSaleContains: string;
    Category2DescriptionAtTimeOfSaleLike: string;
    Category2DescriptionAtTimeOfSaleBetween: string[];
    Category2DescriptionAtTimeOfSaleIn: string[];
    Category3DescriptionAtTimeOfSale: string;
    Category3DescriptionAtTimeOfSaleStartsWith: string;
    Category3DescriptionAtTimeOfSaleEndsWith: string;
    Category3DescriptionAtTimeOfSaleContains: string;
    Category3DescriptionAtTimeOfSaleLike: string;
    Category3DescriptionAtTimeOfSaleBetween: string[];
    Category3DescriptionAtTimeOfSaleIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorClassificationID: string;
    DebtorClassificationIDStartsWith: string;
    DebtorClassificationIDEndsWith: string;
    DebtorClassificationIDContains: string;
    DebtorClassificationIDLike: string;
    DebtorClassificationIDBetween: string[];
    DebtorClassificationIDIn: string[];
    ProcessDate: string;
    ProcessDateGreaterThanOrEqualTo: string;
    ProcessDateGreaterThan: string;
    ProcessDateLessThan: string;
    ProcessDateLessThanOrEqualTo: string;
    ProcessDateNotEqualTo: string;
    ProcessDateBetween: string[];
    ProcessDateIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    createResponse() { return new QueryResponse<v_SalesInformation>(); }
    getTypeName() { return "v_SalesInformationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SerialNumbersSoldQuery extends QueryDb<v_SerialNumbersSold> implements IReturn<QueryResponse<v_SerialNumbersSold>>
{
    inventoryid: string;
    inventoryidStartsWith: string;
    inventoryidEndsWith: string;
    inventoryidContains: string;
    inventoryidLike: string;
    inventoryidBetween: string[];
    inventoryidIn: string[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    createResponse() { return new QueryResponse<v_SerialNumbersSold>(); }
    getTypeName() { return "v_SerialNumbersSoldQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_SHBookinShipmentsQuery extends QueryDb<V_SHBookinShipments> implements IReturn<QueryResponse<V_SHBookinShipments>>
{
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    createResponse() { return new QueryResponse<V_SHBookinShipments>(); }
    getTypeName() { return "V_SHBookinShipmentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_ShipmentQuery extends QueryDb<V_Shipment> implements IReturn<QueryResponse<V_Shipment>>
{
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    LineID: string;
    LineIDStartsWith: string;
    LineIDEndsWith: string;
    LineIDContains: string;
    LineIDLike: string;
    LineIDBetween: string[];
    LineIDIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    SuppPartNo: string;
    SuppPartNoStartsWith: string;
    SuppPartNoEndsWith: string;
    SuppPartNoContains: string;
    SuppPartNoLike: string;
    SuppPartNoBetween: string[];
    SuppPartNoIn: string[];
    QtyOrdered: number;
    QtyOrderedGreaterThanOrEqualTo: number;
    QtyOrderedGreaterThan: number;
    QtyOrderedLessThan: number;
    QtyOrderedLessThanOrEqualTo: number;
    QtyOrderedNotEqualTo: number;
    QtyOrderedBetween: number[];
    QtyOrderedIn: number[];
    QtyThisShip: number;
    QtyThisShipGreaterThanOrEqualTo: number;
    QtyThisShipGreaterThan: number;
    QtyThisShipLessThan: number;
    QtyThisShipLessThanOrEqualTo: number;
    QtyThisShipNotEqualTo: number;
    QtyThisShipBetween: number[];
    QtyThisShipIn: number[];
    LineCost: number;
    LineCostGreaterThanOrEqualTo: number;
    LineCostGreaterThan: number;
    LineCostLessThan: number;
    LineCostLessThanOrEqualTo: number;
    LineCostNotEqualTo: number;
    LineCostBetween: number[];
    LineCostIn: number[];
    LandedCost: number;
    LandedCostGreaterThanOrEqualTo: number;
    LandedCostGreaterThan: number;
    LandedCostLessThan: number;
    LandedCostLessThanOrEqualTo: number;
    LandedCostNotEqualTo: number;
    LandedCostBetween: number[];
    LandedCostIn: number[];
    LandedTotal: number;
    LandedTotalGreaterThanOrEqualTo: number;
    LandedTotalGreaterThan: number;
    LandedTotalLessThan: number;
    LandedTotalLessThanOrEqualTo: number;
    LandedTotalNotEqualTo: number;
    LandedTotalBetween: number[];
    LandedTotalIn: number[];
    CostType: string;
    CostTypeStartsWith: string;
    CostTypeEndsWith: string;
    CostTypeContains: string;
    CostTypeLike: string;
    CostTypeBetween: string[];
    CostTypeIn: string[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    FXrate: number;
    FXrateGreaterThanOrEqualTo: number;
    FXrateGreaterThan: number;
    FXrateLessThan: number;
    FXrateLessThanOrEqualTo: number;
    FXrateNotEqualTo: number;
    FXrateBetween: number[];
    FXrateIn: number[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    HomeAmount: number;
    HomeAmountGreaterThanOrEqualTo: number;
    HomeAmountGreaterThan: number;
    HomeAmountLessThan: number;
    HomeAmountLessThanOrEqualTo: number;
    HomeAmountNotEqualTo: number;
    HomeAmountBetween: number[];
    HomeAmountIn: number[];
    GSTDesc: string;
    GSTDescStartsWith: string;
    GSTDescEndsWith: string;
    GSTDescContains: string;
    GSTDescLike: string;
    GSTDescBetween: string[];
    GSTDescIn: string[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    GSTRate: number;
    GSTRateGreaterThanOrEqualTo: number;
    GSTRateGreaterThan: number;
    GSTRateLessThan: number;
    GSTRateLessThanOrEqualTo: number;
    GSTRateNotEqualTo: number;
    GSTRateBetween: number[];
    GSTRateIn: number[];
    TotalAmount: number;
    TotalAmountGreaterThanOrEqualTo: number;
    TotalAmountGreaterThan: number;
    TotalAmountLessThan: number;
    TotalAmountLessThanOrEqualTo: number;
    TotalAmountNotEqualTo: number;
    TotalAmountBetween: number[];
    TotalAmountIn: number[];
    ApportionedOnPO: string;
    ApportionedOnPOStartsWith: string;
    ApportionedOnPOEndsWith: string;
    ApportionedOnPOContains: string;
    ApportionedOnPOLike: string;
    ApportionedOnPOBetween: string[];
    ApportionedOnPOIn: string[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    Date: string;
    DateGreaterThanOrEqualTo: string;
    DateGreaterThan: string;
    DateLessThan: string;
    DateLessThanOrEqualTo: string;
    DateNotEqualTo: string;
    DateBetween: string[];
    DateIn: string[];
    SectionDesc: string;
    SectionDescStartsWith: string;
    SectionDescEndsWith: string;
    SectionDescContains: string;
    SectionDescLike: string;
    SectionDescBetween: string[];
    SectionDescIn: string[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    UnitCostExGST: number;
    UnitCostExGSTGreaterThanOrEqualTo: number;
    UnitCostExGSTGreaterThan: number;
    UnitCostExGSTLessThan: number;
    UnitCostExGSTLessThanOrEqualTo: number;
    UnitCostExGSTNotEqualTo: number;
    UnitCostExGSTBetween: number[];
    UnitCostExGSTIn: number[];
    Duty: number;
    DutyGreaterThanOrEqualTo: number;
    DutyGreaterThan: number;
    DutyLessThan: number;
    DutyLessThanOrEqualTo: number;
    DutyNotEqualTo: number;
    DutyBetween: number[];
    DutyIn: number[];
    Expenses: number;
    ExpensesGreaterThanOrEqualTo: number;
    ExpensesGreaterThan: number;
    ExpensesLessThan: number;
    ExpensesLessThanOrEqualTo: number;
    ExpensesNotEqualTo: number;
    ExpensesBetween: number[];
    ExpensesIn: number[];
    FXShipUnitCostExGST: number;
    FXShipUnitCostExGSTGreaterThanOrEqualTo: number;
    FXShipUnitCostExGSTGreaterThan: number;
    FXShipUnitCostExGSTLessThan: number;
    FXShipUnitCostExGSTLessThanOrEqualTo: number;
    FXShipUnitCostExGSTNotEqualTo: number;
    FXShipUnitCostExGSTBetween: number[];
    FXShipUnitCostExGSTIn: number[];
    createResponse() { return new QueryResponse<V_Shipment>(); }
    getTypeName() { return "V_ShipmentQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_Shipment_BOQuery extends QueryDb<V_Shipment_BO> implements IReturn<QueryResponse<V_Shipment_BO>>
{
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    RecordDate: string;
    RecordDateGreaterThanOrEqualTo: string;
    RecordDateGreaterThan: string;
    RecordDateLessThan: string;
    RecordDateLessThanOrEqualTo: string;
    RecordDateNotEqualTo: string;
    RecordDateBetween: string[];
    RecordDateIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    HistoryNo: number;
    HistoryNoGreaterThanOrEqualTo: number;
    HistoryNoGreaterThan: number;
    HistoryNoLessThan: number;
    HistoryNoLessThanOrEqualTo: number;
    HistoryNoNotEqualTo: number;
    HistoryNoBetween: number[];
    HistoryNoIn: number[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    QuantityOrdered: number;
    QuantityOrderedGreaterThanOrEqualTo: number;
    QuantityOrderedGreaterThan: number;
    QuantityOrderedLessThan: number;
    QuantityOrderedLessThanOrEqualTo: number;
    QuantityOrderedNotEqualTo: number;
    QuantityOrderedBetween: number[];
    QuantityOrderedIn: number[];
    QuantityThisDel: number;
    QuantityThisDelGreaterThanOrEqualTo: number;
    QuantityThisDelGreaterThan: number;
    QuantityThisDelLessThan: number;
    QuantityThisDelLessThanOrEqualTo: number;
    QuantityThisDelNotEqualTo: number;
    QuantityThisDelBetween: number[];
    QuantityThisDelIn: number[];
    QuantityBackord: number;
    QuantityBackordGreaterThanOrEqualTo: number;
    QuantityBackordGreaterThan: number;
    QuantityBackordLessThan: number;
    QuantityBackordLessThanOrEqualTo: number;
    QuantityBackordNotEqualTo: number;
    QuantityBackordBetween: number[];
    QuantityBackordIn: number[];
    QuantityPrevDel: number;
    QuantityPrevDelGreaterThanOrEqualTo: number;
    QuantityPrevDelGreaterThan: number;
    QuantityPrevDelLessThan: number;
    QuantityPrevDelLessThanOrEqualTo: number;
    QuantityPrevDelNotEqualTo: number;
    QuantityPrevDelBetween: number[];
    QuantityPrevDelIn: number[];
    ItemPrice: number;
    ItemPriceGreaterThanOrEqualTo: number;
    ItemPriceGreaterThan: number;
    ItemPriceLessThan: number;
    ItemPriceLessThanOrEqualTo: number;
    ItemPriceNotEqualTo: number;
    ItemPriceBetween: number[];
    ItemPriceIn: number[];
    TaxToCharge: number;
    TaxToChargeGreaterThanOrEqualTo: number;
    TaxToChargeGreaterThan: number;
    TaxToChargeLessThan: number;
    TaxToChargeLessThanOrEqualTo: number;
    TaxToChargeNotEqualTo: number;
    TaxToChargeBetween: number[];
    TaxToChargeIn: number[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    RptType: string;
    RptTypeStartsWith: string;
    RptTypeEndsWith: string;
    RptTypeContains: string;
    RptTypeLike: string;
    RptTypeBetween: string[];
    RptTypeIn: string[];
    createResponse() { return new QueryResponse<V_Shipment_BO>(); }
    getTypeName() { return "V_Shipment_BOQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_ShipmentReconciliationQuery extends QueryDb<V_ShipmentReconciliation> implements IReturn<QueryResponse<V_ShipmentReconciliation>>
{
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    ShipmentNo: string;
    ShipmentNoStartsWith: string;
    ShipmentNoEndsWith: string;
    ShipmentNoContains: string;
    ShipmentNoLike: string;
    ShipmentNoBetween: string[];
    ShipmentNoIn: string[];
    ImportCostClearingAccountID: string;
    ImportCostClearingAccountIDStartsWith: string;
    ImportCostClearingAccountIDEndsWith: string;
    ImportCostClearingAccountIDContains: string;
    ImportCostClearingAccountIDLike: string;
    ImportCostClearingAccountIDBetween: string[];
    ImportCostClearingAccountIDIn: string[];
    createResponse() { return new QueryResponse<V_ShipmentReconciliation>(); }
    getTypeName() { return "V_ShipmentReconciliationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_StaffQuery extends QueryDb<v_Staff> implements IReturn<QueryResponse<v_Staff>>
{
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    FullName: string;
    FullNameStartsWith: string;
    FullNameEndsWith: string;
    FullNameContains: string;
    FullNameLike: string;
    FullNameBetween: string[];
    FullNameIn: string[];
    createResponse() { return new QueryResponse<v_Staff>(); }
    getTypeName() { return "v_StaffQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_STK_LineDetailsQuery extends QueryDb<V_STK_LineDetails> implements IReturn<QueryResponse<V_STK_LineDetails>>
{
    StockTakeDetailsID: string;
    StockTakeDetailsIDStartsWith: string;
    StockTakeDetailsIDEndsWith: string;
    StockTakeDetailsIDContains: string;
    StockTakeDetailsIDLike: string;
    StockTakeDetailsIDBetween: string[];
    StockTakeDetailsIDIn: string[];
    StockTakeLineID: string;
    StockTakeLineIDStartsWith: string;
    StockTakeLineIDEndsWith: string;
    StockTakeLineIDContains: string;
    StockTakeLineIDLike: string;
    StockTakeLineIDBetween: string[];
    StockTakeLineIDIn: string[];
    SerialNumber: string;
    SerialNumberStartsWith: string;
    SerialNumberEndsWith: string;
    SerialNumberContains: string;
    SerialNumberLike: string;
    SerialNumberBetween: string[];
    SerialNumberIn: string[];
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    QtyFound: number;
    QtyFoundGreaterThanOrEqualTo: number;
    QtyFoundGreaterThan: number;
    QtyFoundLessThan: number;
    QtyFoundLessThanOrEqualTo: number;
    QtyFoundNotEqualTo: number;
    QtyFoundBetween: number[];
    QtyFoundIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    Inc_Dec: number;
    Inc_DecGreaterThanOrEqualTo: number;
    Inc_DecGreaterThan: number;
    Inc_DecLessThan: number;
    Inc_DecLessThanOrEqualTo: number;
    Inc_DecNotEqualTo: number;
    Inc_DecBetween: number[];
    Inc_DecIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    createResponse() { return new QueryResponse<V_STK_LineDetails>(); }
    getTypeName() { return "V_STK_LineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SupportPackHoursRemainingQuery extends QueryDb<v_SupportPackHoursRemaining> implements IReturn<QueryResponse<v_SupportPackHoursRemaining>>
{
    DB_Main_RecID: string;
    DB_Main_RecIDStartsWith: string;
    DB_Main_RecIDEndsWith: string;
    DB_Main_RecIDContains: string;
    DB_Main_RecIDLike: string;
    DB_Main_RecIDBetween: string[];
    DB_Main_RecIDIn: string[];
    HoursRemining: number;
    HoursReminingGreaterThanOrEqualTo: number;
    HoursReminingGreaterThan: number;
    HoursReminingLessThan: number;
    HoursReminingLessThanOrEqualTo: number;
    HoursReminingNotEqualTo: number;
    HoursReminingBetween: number[];
    HoursReminingIn: number[];
    createResponse() { return new QueryResponse<v_SupportPackHoursRemaining>(); }
    getTypeName() { return "v_SupportPackHoursRemainingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SupportPackNormalHoursRemainingByDebtorQuery extends QueryDb<v_SupportPackNormalHoursRemainingByDebtor> implements IReturn<QueryResponse<v_SupportPackNormalHoursRemainingByDebtor>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    NormalHoursRemaining: number;
    NormalHoursRemainingGreaterThanOrEqualTo: number;
    NormalHoursRemainingGreaterThan: number;
    NormalHoursRemainingLessThan: number;
    NormalHoursRemainingLessThanOrEqualTo: number;
    NormalHoursRemainingNotEqualTo: number;
    NormalHoursRemainingBetween: number[];
    NormalHoursRemainingIn: number[];
    createResponse() { return new QueryResponse<v_SupportPackNormalHoursRemainingByDebtor>(); }
    getTypeName() { return "v_SupportPackNormalHoursRemainingByDebtorQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SupportPackNormalHoursTotalByDebtorQuery extends QueryDb<v_SupportPackNormalHoursTotalByDebtor> implements IReturn<QueryResponse<v_SupportPackNormalHoursTotalByDebtor>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    NormalHoursTotal: number;
    NormalHoursTotalGreaterThanOrEqualTo: number;
    NormalHoursTotalGreaterThan: number;
    NormalHoursTotalLessThan: number;
    NormalHoursTotalLessThanOrEqualTo: number;
    NormalHoursTotalNotEqualTo: number;
    NormalHoursTotalBetween: number[];
    NormalHoursTotalIn: number[];
    createResponse() { return new QueryResponse<v_SupportPackNormalHoursTotalByDebtor>(); }
    getTypeName() { return "v_SupportPackNormalHoursTotalByDebtorQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SupportPackSpecialHoursRemainingByDebtorQuery extends QueryDb<v_SupportPackSpecialHoursRemainingByDebtor> implements IReturn<QueryResponse<v_SupportPackSpecialHoursRemainingByDebtor>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    SpecialHoursRemaining: number;
    SpecialHoursRemainingGreaterThanOrEqualTo: number;
    SpecialHoursRemainingGreaterThan: number;
    SpecialHoursRemainingLessThan: number;
    SpecialHoursRemainingLessThanOrEqualTo: number;
    SpecialHoursRemainingNotEqualTo: number;
    SpecialHoursRemainingBetween: number[];
    SpecialHoursRemainingIn: number[];
    createResponse() { return new QueryResponse<v_SupportPackSpecialHoursRemainingByDebtor>(); }
    getTypeName() { return "v_SupportPackSpecialHoursRemainingByDebtorQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SupportPackSpecialHoursTotalByDebtorQuery extends QueryDb<v_SupportPackSpecialHoursTotalByDebtor> implements IReturn<QueryResponse<v_SupportPackSpecialHoursTotalByDebtor>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    SpecialHoursTotal: number;
    SpecialHoursTotalGreaterThanOrEqualTo: number;
    SpecialHoursTotalGreaterThan: number;
    SpecialHoursTotalLessThan: number;
    SpecialHoursTotalLessThanOrEqualTo: number;
    SpecialHoursTotalNotEqualTo: number;
    SpecialHoursTotalBetween: number[];
    SpecialHoursTotalIn: number[];
    createResponse() { return new QueryResponse<v_SupportPackSpecialHoursTotalByDebtor>(); }
    getTypeName() { return "v_SupportPackSpecialHoursTotalByDebtorQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SY_WebhookSubscriber_MessageResponsesQuery extends QueryDb<v_SY_WebhookSubscriber_MessageResponses> implements IReturn<QueryResponse<v_SY_WebhookSubscriber_MessageResponses>>
{
    SubscriberID: string;
    SubscriberIDIn: string[];
    SubscriptionID: string;
    SubscriptionIDIn: string[];
    MessageID: string;
    MessageIDIn: string[];
    MessageResponseID: string;
    MessageResponseIDIn: string[];
    EventName: string;
    EventNameStartsWith: string;
    EventNameEndsWith: string;
    EventNameContains: string;
    EventNameLike: string;
    EventNameBetween: string[];
    EventNameIn: string[];
    URL: string;
    URLStartsWith: string;
    URLEndsWith: string;
    URLContains: string;
    URLLike: string;
    URLBetween: string[];
    URLIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    MessageItemNo: number;
    MessageItemNoGreaterThanOrEqualTo: number;
    MessageItemNoGreaterThan: number;
    MessageItemNoLessThan: number;
    MessageItemNoLessThanOrEqualTo: number;
    MessageItemNoNotEqualTo: number;
    MessageItemNoBetween: number[];
    MessageItemNoIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    Retries: number;
    RetriesGreaterThanOrEqualTo: number;
    RetriesGreaterThan: number;
    RetriesLessThan: number;
    RetriesLessThanOrEqualTo: number;
    RetriesNotEqualTo: number;
    RetriesBetween: number[];
    RetriesIn: number[];
    AddedDateTime: string;
    AddedDateTimeGreaterThanOrEqualTo: string;
    AddedDateTimeGreaterThan: string;
    AddedDateTimeLessThan: string;
    AddedDateTimeLessThanOrEqualTo: string;
    AddedDateTimeNotEqualTo: string;
    AddedDateTimeBetween: string[];
    AddedDateTimeIn: string[];
    MessageLastSavedDateTime: string;
    MessageLastSavedDateTimeGreaterThanOrEqualTo: string;
    MessageLastSavedDateTimeGreaterThan: string;
    MessageLastSavedDateTimeLessThan: string;
    MessageLastSavedDateTimeLessThanOrEqualTo: string;
    MessageLastSavedDateTimeNotEqualTo: string;
    MessageLastSavedDateTimeBetween: string[];
    MessageLastSavedDateTimeIn: string[];
    HTTPCode: number;
    HTTPCodeGreaterThanOrEqualTo: number;
    HTTPCodeGreaterThan: number;
    HTTPCodeLessThan: number;
    HTTPCodeLessThanOrEqualTo: number;
    HTTPCodeNotEqualTo: number;
    HTTPCodeBetween: number[];
    HTTPCodeIn: number[];
    Message: string;
    MessageStartsWith: string;
    MessageEndsWith: string;
    MessageContains: string;
    MessageLike: string;
    MessageBetween: string[];
    MessageIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<v_SY_WebhookSubscriber_MessageResponses>(); }
    getTypeName() { return "v_SY_WebhookSubscriber_MessageResponsesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_SY_WebhookSubscriber_MessagesQuery extends QueryDb<v_SY_WebhookSubscriber_Messages> implements IReturn<QueryResponse<v_SY_WebhookSubscriber_Messages>>
{
    SubscriberID: string;
    SubscriberIDIn: string[];
    SubscriptionID: string;
    SubscriptionIDIn: string[];
    MessageID: string;
    MessageIDIn: string[];
    EventName: string;
    EventNameStartsWith: string;
    EventNameEndsWith: string;
    EventNameContains: string;
    EventNameLike: string;
    EventNameBetween: string[];
    EventNameIn: string[];
    URL: string;
    URLStartsWith: string;
    URLEndsWith: string;
    URLContains: string;
    URLLike: string;
    URLBetween: string[];
    URLIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    Retries: number;
    RetriesGreaterThanOrEqualTo: number;
    RetriesGreaterThan: number;
    RetriesLessThan: number;
    RetriesLessThanOrEqualTo: number;
    RetriesNotEqualTo: number;
    RetriesBetween: number[];
    RetriesIn: number[];
    AddedDateTime: string;
    AddedDateTimeGreaterThanOrEqualTo: string;
    AddedDateTimeGreaterThan: string;
    AddedDateTimeLessThan: string;
    AddedDateTimeLessThanOrEqualTo: string;
    AddedDateTimeNotEqualTo: string;
    AddedDateTimeBetween: string[];
    AddedDateTimeIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastMessageResponseHTTPCode: number;
    LastMessageResponseHTTPCodeGreaterThanOrEqualTo: number;
    LastMessageResponseHTTPCodeGreaterThan: number;
    LastMessageResponseHTTPCodeLessThan: number;
    LastMessageResponseHTTPCodeLessThanOrEqualTo: number;
    LastMessageResponseHTTPCodeNotEqualTo: number;
    LastMessageResponseHTTPCodeBetween: number[];
    LastMessageResponseHTTPCodeIn: number[];
    LastMessageResponseMessage: string;
    LastMessageResponseMessageStartsWith: string;
    LastMessageResponseMessageEndsWith: string;
    LastMessageResponseMessageContains: string;
    LastMessageResponseMessageLike: string;
    LastMessageResponseMessageBetween: string[];
    LastMessageResponseMessageIn: string[];
    createResponse() { return new QueryResponse<v_SY_WebhookSubscriber_Messages>(); }
    getTypeName() { return "v_SY_WebhookSubscriber_MessagesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_TaskPrioritiesQuery extends QueryDb<v_TaskPriorities> implements IReturn<QueryResponse<v_TaskPriorities>>
{
    SM_Jobs_RecID: string;
    SM_Jobs_RecIDStartsWith: string;
    SM_Jobs_RecIDEndsWith: string;
    SM_Jobs_RecIDContains: string;
    SM_Jobs_RecIDLike: string;
    SM_Jobs_RecIDBetween: string[];
    SM_Jobs_RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    SM_Priorities_RecID: string;
    SM_Priorities_RecIDStartsWith: string;
    SM_Priorities_RecIDEndsWith: string;
    SM_Priorities_RecIDContains: string;
    SM_Priorities_RecIDLike: string;
    SM_Priorities_RecIDBetween: string[];
    SM_Priorities_RecIDIn: string[];
    ResponseTime: number;
    ResponseTimeGreaterThanOrEqualTo: number;
    ResponseTimeGreaterThan: number;
    ResponseTimeLessThan: number;
    ResponseTimeLessThanOrEqualTo: number;
    ResponseTimeNotEqualTo: number;
    ResponseTimeBetween: number[];
    ResponseTimeIn: number[];
    createResponse() { return new QueryResponse<v_TaskPriorities>(); }
    getTypeName() { return "v_TaskPrioritiesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_TaskStatusesQuery extends QueryDb<v_TaskStatuses> implements IReturn<QueryResponse<v_TaskStatuses>>
{
    SM_Jobs_RecID: string;
    SM_Jobs_RecIDStartsWith: string;
    SM_Jobs_RecIDEndsWith: string;
    SM_Jobs_RecIDContains: string;
    SM_Jobs_RecIDLike: string;
    SM_Jobs_RecIDBetween: string[];
    SM_Jobs_RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    SM_Statuses_RecID: string;
    SM_Statuses_RecIDStartsWith: string;
    SM_Statuses_RecIDEndsWith: string;
    SM_Statuses_RecIDContains: string;
    SM_Statuses_RecIDLike: string;
    SM_Statuses_RecIDBetween: string[];
    SM_Statuses_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<v_TaskStatuses>(); }
    getTypeName() { return "v_TaskStatusesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class VLogicalWHQuery extends QueryDb<VLogicalWH> implements IReturn<QueryResponse<VLogicalWH>>
{
    LogicalWH: string;
    LogicalWHStartsWith: string;
    LogicalWHEndsWith: string;
    LogicalWHContains: string;
    LogicalWHLike: string;
    LogicalWHBetween: string[];
    LogicalWHIn: string[];
    createResponse() { return new QueryResponse<VLogicalWH>(); }
    getTypeName() { return "VLogicalWHQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class VPhysicalWHQuery extends QueryDb<VPhysicalWH> implements IReturn<QueryResponse<VPhysicalWH>>
{
    PhysicalWH: string;
    PhysicalWHStartsWith: string;
    PhysicalWHEndsWith: string;
    PhysicalWHContains: string;
    PhysicalWHLike: string;
    PhysicalWHBetween: string[];
    PhysicalWHIn: string[];
    createResponse() { return new QueryResponse<VPhysicalWH>(); }
    getTypeName() { return "VPhysicalWHQuery"; }
}

// @Route("/Queries/WH_Transfer", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WH_TransferQuery extends QueryDb<WH_Transfer> implements IReturn<QueryResponse<WH_Transfer>>
{
    WH_TransferID: string;
    WH_TransferIDStartsWith: string;
    WH_TransferIDEndsWith: string;
    WH_TransferIDContains: string;
    WH_TransferIDLike: string;
    WH_TransferIDBetween: string[];
    WH_TransferIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    TransferDate: string;
    TransferDateGreaterThanOrEqualTo: string;
    TransferDateGreaterThan: string;
    TransferDateLessThan: string;
    TransferDateLessThanOrEqualTo: string;
    TransferDateNotEqualTo: string;
    TransferDateBetween: string[];
    TransferDateIn: string[];
    ActivateDate: string;
    ActivateDateGreaterThanOrEqualTo: string;
    ActivateDateGreaterThan: string;
    ActivateDateLessThan: string;
    ActivateDateLessThanOrEqualTo: string;
    ActivateDateNotEqualTo: string;
    ActivateDateBetween: string[];
    ActivateDateIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    TransferBy: string;
    TransferByStartsWith: string;
    TransferByEndsWith: string;
    TransferByContains: string;
    TransferByLike: string;
    TransferByBetween: string[];
    TransferByIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    SourceType: number;
    SourceTypeGreaterThanOrEqualTo: number;
    SourceTypeGreaterThan: number;
    SourceTypeLessThan: number;
    SourceTypeLessThanOrEqualTo: number;
    SourceTypeNotEqualTo: number;
    SourceTypeBetween: number[];
    SourceTypeIn: number[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    SrcIN_LogicalID: string;
    SrcIN_LogicalIDStartsWith: string;
    SrcIN_LogicalIDEndsWith: string;
    SrcIN_LogicalIDContains: string;
    SrcIN_LogicalIDLike: string;
    SrcIN_LogicalIDBetween: string[];
    SrcIN_LogicalIDIn: string[];
    DstIN_LogicalID: string;
    DstIN_LogicalIDStartsWith: string;
    DstIN_LogicalIDEndsWith: string;
    DstIN_LogicalIDContains: string;
    DstIN_LogicalIDLike: string;
    DstIN_LogicalIDBetween: string[];
    DstIN_LogicalIDIn: string[];
    TransferNo: string;
    TransferNoStartsWith: string;
    TransferNoEndsWith: string;
    TransferNoContains: string;
    TransferNoLike: string;
    TransferNoBetween: string[];
    TransferNoIn: string[];
    InTransit: boolean;
    TransitNotes: string;
    TransitNotesStartsWith: string;
    TransitNotesEndsWith: string;
    TransitNotesContains: string;
    TransitNotesLike: string;
    TransitNotesBetween: string[];
    TransitNotesIn: string[];
    IN_TransitID: string;
    IN_TransitIDStartsWith: string;
    IN_TransitIDEndsWith: string;
    IN_TransitIDContains: string;
    IN_TransitIDLike: string;
    IN_TransitIDBetween: string[];
    IN_TransitIDIn: string[];
    AddedCost1: number;
    AddedCost1GreaterThanOrEqualTo: number;
    AddedCost1GreaterThan: number;
    AddedCost1LessThan: number;
    AddedCost1LessThanOrEqualTo: number;
    AddedCost1NotEqualTo: number;
    AddedCost1Between: number[];
    AddedCost1In: number[];
    AddedCost2: number;
    AddedCost2GreaterThanOrEqualTo: number;
    AddedCost2GreaterThan: number;
    AddedCost2LessThan: number;
    AddedCost2LessThanOrEqualTo: number;
    AddedCost2NotEqualTo: number;
    AddedCost2Between: number[];
    AddedCost2In: number[];
    AddedCost3: number;
    AddedCost3GreaterThanOrEqualTo: number;
    AddedCost3GreaterThan: number;
    AddedCost3LessThan: number;
    AddedCost3LessThanOrEqualTo: number;
    AddedCost3NotEqualTo: number;
    AddedCost3Between: number[];
    AddedCost3In: number[];
    PickedBy: string;
    PickedByStartsWith: string;
    PickedByEndsWith: string;
    PickedByContains: string;
    PickedByLike: string;
    PickedByBetween: string[];
    PickedByIn: string[];
    ReceivedBy: string;
    ReceivedByStartsWith: string;
    ReceivedByEndsWith: string;
    ReceivedByContains: string;
    ReceivedByLike: string;
    ReceivedByBetween: string[];
    ReceivedByIn: string[];
    Type: number;
    TypeGreaterThanOrEqualTo: number;
    TypeGreaterThan: number;
    TypeLessThan: number;
    TypeLessThanOrEqualTo: number;
    TypeNotEqualTo: number;
    TypeBetween: number[];
    TypeIn: number[];
    AddCostMethod: string;
    AddCostMethodStartsWith: string;
    AddCostMethodEndsWith: string;
    AddCostMethodContains: string;
    AddCostMethodLike: string;
    AddCostMethodBetween: string[];
    AddCostMethodIn: string[];
    createResponse() { return new QueryResponse<WH_Transfer>(); }
    getTypeName() { return "WH_TransferQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WH_TransferLineDetailsQuery extends QueryDb<WH_TransferLineDetails> implements IReturn<QueryResponse<WH_TransferLineDetails>>
{
    WH_TransferLineDetailsID: string;
    WH_TransferLineDetailsIDStartsWith: string;
    WH_TransferLineDetailsIDEndsWith: string;
    WH_TransferLineDetailsIDContains: string;
    WH_TransferLineDetailsIDLike: string;
    WH_TransferLineDetailsIDBetween: string[];
    WH_TransferLineDetailsIDIn: string[];
    WH_TransferLineID: string;
    WH_TransferLineIDStartsWith: string;
    WH_TransferLineIDEndsWith: string;
    WH_TransferLineIDContains: string;
    WH_TransferLineIDLike: string;
    WH_TransferLineIDBetween: string[];
    WH_TransferLineIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    IN_SOHID: string;
    IN_SOHIDStartsWith: string;
    IN_SOHIDEndsWith: string;
    IN_SOHIDContains: string;
    IN_SOHIDLike: string;
    IN_SOHIDBetween: string[];
    IN_SOHIDIn: string[];
    Source_IN_SOHID: string;
    Source_IN_SOHIDStartsWith: string;
    Source_IN_SOHIDEndsWith: string;
    Source_IN_SOHIDContains: string;
    Source_IN_SOHIDLike: string;
    Source_IN_SOHIDBetween: string[];
    Source_IN_SOHIDIn: string[];
    InTransit_IN_SOHID: string;
    InTransit_IN_SOHIDStartsWith: string;
    InTransit_IN_SOHIDEndsWith: string;
    InTransit_IN_SOHIDContains: string;
    InTransit_IN_SOHIDLike: string;
    InTransit_IN_SOHIDBetween: string[];
    InTransit_IN_SOHIDIn: string[];
    CostReceived: number;
    CostReceivedGreaterThanOrEqualTo: number;
    CostReceivedGreaterThan: number;
    CostReceivedLessThan: number;
    CostReceivedLessThanOrEqualTo: number;
    CostReceivedNotEqualTo: number;
    CostReceivedBetween: number[];
    CostReceivedIn: number[];
    QuantityReceived: number;
    QuantityReceivedGreaterThanOrEqualTo: number;
    QuantityReceivedGreaterThan: number;
    QuantityReceivedLessThan: number;
    QuantityReceivedLessThanOrEqualTo: number;
    QuantityReceivedNotEqualTo: number;
    QuantityReceivedBetween: number[];
    QuantityReceivedIn: number[];
    SerialNoInwards: string;
    SerialNoInwardsStartsWith: string;
    SerialNoInwardsEndsWith: string;
    SerialNoInwardsContains: string;
    SerialNoInwardsLike: string;
    SerialNoInwardsBetween: string[];
    SerialNoInwardsIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    BinLocationInwards: string;
    BinLocationInwardsStartsWith: string;
    BinLocationInwardsEndsWith: string;
    BinLocationInwardsContains: string;
    BinLocationInwardsLike: string;
    BinLocationInwardsBetween: string[];
    BinLocationInwardsIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    ExpiryDateInwards: string;
    ExpiryDateInwardsGreaterThanOrEqualTo: string;
    ExpiryDateInwardsGreaterThan: string;
    ExpiryDateInwardsLessThan: string;
    ExpiryDateInwardsLessThanOrEqualTo: string;
    ExpiryDateInwardsNotEqualTo: string;
    ExpiryDateInwardsBetween: string[];
    ExpiryDateInwardsIn: string[];
    DateIn: string;
    DateInGreaterThanOrEqualTo: string;
    DateInGreaterThan: string;
    DateInLessThan: string;
    DateInLessThanOrEqualTo: string;
    DateInNotEqualTo: string;
    DateInBetween: string[];
    DateInIn: string[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    AddedCost: number;
    AddedCostGreaterThanOrEqualTo: number;
    AddedCostGreaterThan: number;
    AddedCostLessThan: number;
    AddedCostLessThanOrEqualTo: number;
    AddedCostNotEqualTo: number;
    AddedCostBetween: number[];
    AddedCostIn: number[];
    createResponse() { return new QueryResponse<WH_TransferLineDetails>(); }
    getTypeName() { return "WH_TransferLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class WH_TransferLinesQuery extends QueryDb<WH_TransferLines> implements IReturn<QueryResponse<WH_TransferLines>>
{
    WH_TransferLineID: string;
    WH_TransferLineIDStartsWith: string;
    WH_TransferLineIDEndsWith: string;
    WH_TransferLineIDContains: string;
    WH_TransferLineIDLike: string;
    WH_TransferLineIDBetween: string[];
    WH_TransferLineIDIn: string[];
    WH_TransferID: string;
    WH_TransferIDStartsWith: string;
    WH_TransferIDEndsWith: string;
    WH_TransferIDContains: string;
    WH_TransferIDLike: string;
    WH_TransferIDBetween: string[];
    WH_TransferIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    QtyWanted: number;
    QtyWantedGreaterThanOrEqualTo: number;
    QtyWantedGreaterThan: number;
    QtyWantedLessThan: number;
    QtyWantedLessThanOrEqualTo: number;
    QtyWantedNotEqualTo: number;
    QtyWantedBetween: number[];
    QtyWantedIn: number[];
    QtyTrans: number;
    QtyTransGreaterThanOrEqualTo: number;
    QtyTransGreaterThan: number;
    QtyTransLessThan: number;
    QtyTransLessThanOrEqualTo: number;
    QtyTransNotEqualTo: number;
    QtyTransBetween: number[];
    QtyTransIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    BackOrderID: string;
    BackOrderIDStartsWith: string;
    BackOrderIDEndsWith: string;
    BackOrderIDContains: string;
    BackOrderIDLike: string;
    BackOrderIDBetween: string[];
    BackOrderIDIn: string[];
    PurchaseOrderID: string;
    PurchaseOrderIDStartsWith: string;
    PurchaseOrderIDEndsWith: string;
    PurchaseOrderIDContains: string;
    PurchaseOrderIDLike: string;
    PurchaseOrderIDBetween: string[];
    PurchaseOrderIDIn: string[];
    PurchaseOrderLineID: string;
    PurchaseOrderLineIDStartsWith: string;
    PurchaseOrderLineIDEndsWith: string;
    PurchaseOrderLineIDContains: string;
    PurchaseOrderLineIDLike: string;
    PurchaseOrderLineIDBetween: string[];
    PurchaseOrderLineIDIn: string[];
    DestinationBinLoc: string;
    DestinationBinLocStartsWith: string;
    DestinationBinLocEndsWith: string;
    DestinationBinLocContains: string;
    DestinationBinLocLike: string;
    DestinationBinLocBetween: string[];
    DestinationBinLocIn: string[];
    QtyReceived: number;
    QtyReceivedGreaterThanOrEqualTo: number;
    QtyReceivedGreaterThan: number;
    QtyReceivedLessThan: number;
    QtyReceivedLessThanOrEqualTo: number;
    QtyReceivedNotEqualTo: number;
    QtyReceivedBetween: number[];
    QtyReceivedIn: number[];
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    AddCostLedgerID1: string;
    AddCostLedgerID1StartsWith: string;
    AddCostLedgerID1EndsWith: string;
    AddCostLedgerID1Contains: string;
    AddCostLedgerID1Like: string;
    AddCostLedgerID1Between: string[];
    AddCostLedgerID1In: string[];
    AddCostLedgerID2: string;
    AddCostLedgerID2StartsWith: string;
    AddCostLedgerID2EndsWith: string;
    AddCostLedgerID2Contains: string;
    AddCostLedgerID2Like: string;
    AddCostLedgerID2Between: string[];
    AddCostLedgerID2In: string[];
    AddCostLedgerID3: string;
    AddCostLedgerID3StartsWith: string;
    AddCostLedgerID3EndsWith: string;
    AddCostLedgerID3Contains: string;
    AddCostLedgerID3Like: string;
    AddCostLedgerID3Between: string[];
    AddCostLedgerID3In: string[];
    Weight: number;
    WeightGreaterThanOrEqualTo: number;
    WeightGreaterThan: number;
    WeightLessThan: number;
    WeightLessThanOrEqualTo: number;
    WeightNotEqualTo: number;
    WeightBetween: number[];
    WeightIn: number[];
    Cubic: number;
    CubicGreaterThanOrEqualTo: number;
    CubicGreaterThan: number;
    CubicLessThan: number;
    CubicLessThanOrEqualTo: number;
    CubicNotEqualTo: number;
    CubicBetween: number[];
    CubicIn: number[];
    QtyBackOrdered: number;
    QtyBackOrderedGreaterThanOrEqualTo: number;
    QtyBackOrderedGreaterThan: number;
    QtyBackOrderedLessThan: number;
    QtyBackOrderedLessThanOrEqualTo: number;
    QtyBackOrderedNotEqualTo: number;
    QtyBackOrderedBetween: number[];
    QtyBackOrderedIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<WH_TransferLines>(); }
    getTypeName() { return "WH_TransferLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_Plugin_ImageQuery extends QueryDb<SY_Plugin_Image> implements IReturn<QueryResponse<SY_Plugin_Image>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    Picture: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_Plugin_Image>(); }
    getTypeName() { return "SY_Plugin_ImageQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_Plugin_NotesQuery extends QueryDb<SY_Plugin_Notes> implements IReturn<QueryResponse<SY_Plugin_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SY_Plugin_Notes>(); }
    getTypeName() { return "SY_Plugin_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginBusinessLogicQuery extends QueryDb<SY_PluginBusinessLogic> implements IReturn<QueryResponse<SY_PluginBusinessLogic>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    SY_BusinessLogic_RecID: string;
    SY_BusinessLogic_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_PluginBusinessLogic>(); }
    getTypeName() { return "SY_PluginBusinessLogicQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginCustomSettingModulesQuery extends QueryDb<SY_PluginCustomSettingModules> implements IReturn<QueryResponse<SY_PluginCustomSettingModules>>
{
    RecID: string;
    RecIDIn: string[];
    ModuleName: string;
    ModuleNameStartsWith: string;
    ModuleNameEndsWith: string;
    ModuleNameContains: string;
    ModuleNameLike: string;
    ModuleNameBetween: string[];
    ModuleNameIn: string[];
    TableName: string;
    TableNameStartsWith: string;
    TableNameEndsWith: string;
    TableNameContains: string;
    TableNameLike: string;
    TableNameBetween: string[];
    TableNameIn: string[];
    IDColumnName: string;
    IDColumnNameStartsWith: string;
    IDColumnNameEndsWith: string;
    IDColumnNameContains: string;
    IDColumnNameLike: string;
    IDColumnNameBetween: string[];
    IDColumnNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    ValuesTableName: string;
    ValuesTableNameStartsWith: string;
    ValuesTableNameEndsWith: string;
    ValuesTableNameContains: string;
    ValuesTableNameLike: string;
    ValuesTableNameBetween: string[];
    ValuesTableNameIn: string[];
    ValuesIDColumnName: string;
    ValuesIDColumnNameStartsWith: string;
    ValuesIDColumnNameEndsWith: string;
    ValuesIDColumnNameContains: string;
    ValuesIDColumnNameLike: string;
    ValuesIDColumnNameBetween: string[];
    ValuesIDColumnNameIn: string[];
    ValuesSettingIDColumnName: string;
    ValuesSettingIDColumnNameStartsWith: string;
    ValuesSettingIDColumnNameEndsWith: string;
    ValuesSettingIDColumnNameContains: string;
    ValuesSettingIDColumnNameLike: string;
    ValuesSettingIDColumnNameBetween: string[];
    ValuesSettingIDColumnNameIn: string[];
    ValuesFKIDColumnName: string;
    ValuesFKIDColumnNameStartsWith: string;
    ValuesFKIDColumnNameEndsWith: string;
    ValuesFKIDColumnNameContains: string;
    ValuesFKIDColumnNameLike: string;
    ValuesFKIDColumnNameBetween: string[];
    ValuesFKIDColumnNameIn: string[];
    createResponse() { return new QueryResponse<SY_PluginCustomSettingModules>(); }
    getTypeName() { return "SY_PluginCustomSettingModulesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginDocumentsQuery extends QueryDb<SY_PluginDocuments> implements IReturn<QueryResponse<SY_PluginDocuments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SY_PluginDocuments>(); }
    getTypeName() { return "SY_PluginDocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginEmbeddedReferenceQuery extends QueryDb<SY_PluginEmbeddedReference> implements IReturn<QueryResponse<SY_PluginEmbeddedReference>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    AssemblyName: string;
    AssemblyNameStartsWith: string;
    AssemblyNameEndsWith: string;
    AssemblyNameContains: string;
    AssemblyNameLike: string;
    AssemblyNameBetween: string[];
    AssemblyNameIn: string[];
    FileBinary: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_PluginEmbeddedReference>(); }
    getTypeName() { return "SY_PluginEmbeddedReferenceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginFormQuery extends QueryDb<SY_PluginForm> implements IReturn<QueryResponse<SY_PluginForm>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_PluginForm>(); }
    getTypeName() { return "SY_PluginFormQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginPluginReferenceQuery extends QueryDb<SY_PluginPluginReference> implements IReturn<QueryResponse<SY_PluginPluginReference>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    Referenced_SY_Plugin_RecID: string;
    Referenced_SY_Plugin_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_PluginPluginReference>(); }
    getTypeName() { return "SY_PluginPluginReferenceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginReferenceQuery extends QueryDb<SY_PluginReference> implements IReturn<QueryResponse<SY_PluginReference>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    AssemblyFullName: string;
    AssemblyFullNameStartsWith: string;
    AssemblyFullNameEndsWith: string;
    AssemblyFullNameContains: string;
    AssemblyFullNameLike: string;
    AssemblyFullNameBetween: string[];
    AssemblyFullNameIn: string[];
    AssemblyName: string;
    AssemblyNameStartsWith: string;
    AssemblyNameEndsWith: string;
    AssemblyNameContains: string;
    AssemblyNameLike: string;
    AssemblyNameBetween: string[];
    AssemblyNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_PluginReference>(); }
    getTypeName() { return "SY_PluginReferenceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginScheduleQuery extends QueryDb<SY_PluginSchedule> implements IReturn<QueryResponse<SY_PluginSchedule>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    IsEnabled: boolean;
    ScheduleType: number;
    ScheduleTypeGreaterThanOrEqualTo: number;
    ScheduleTypeGreaterThan: number;
    ScheduleTypeLessThan: number;
    ScheduleTypeLessThanOrEqualTo: number;
    ScheduleTypeNotEqualTo: number;
    ScheduleTypeBetween: Uint8Array;
    ScheduleTypeIn: Uint8Array;
    OccurrenceType: number;
    OccurrenceTypeGreaterThanOrEqualTo: number;
    OccurrenceTypeGreaterThan: number;
    OccurrenceTypeLessThan: number;
    OccurrenceTypeLessThanOrEqualTo: number;
    OccurrenceTypeNotEqualTo: number;
    OccurrenceTypeBetween: Uint8Array;
    OccurrenceTypeIn: Uint8Array;
    OccurrenceFrequencyInterval: number;
    OccurrenceFrequencyIntervalGreaterThanOrEqualTo: number;
    OccurrenceFrequencyIntervalGreaterThan: number;
    OccurrenceFrequencyIntervalLessThan: number;
    OccurrenceFrequencyIntervalLessThanOrEqualTo: number;
    OccurrenceFrequencyIntervalNotEqualTo: number;
    OccurrenceFrequencyIntervalBetween: number[];
    OccurrenceFrequencyIntervalIn: number[];
    DailyFrequencyType: number;
    DailyFrequencyTypeGreaterThanOrEqualTo: number;
    DailyFrequencyTypeGreaterThan: number;
    DailyFrequencyTypeLessThan: number;
    DailyFrequencyTypeLessThanOrEqualTo: number;
    DailyFrequencyTypeNotEqualTo: number;
    DailyFrequencyTypeBetween: Uint8Array;
    DailyFrequencyTypeIn: Uint8Array;
    DailyOccursOnceTime: number;
    DailyOccursOnceTimeGreaterThanOrEqualTo: number;
    DailyOccursOnceTimeGreaterThan: number;
    DailyOccursOnceTimeLessThan: number;
    DailyOccursOnceTimeLessThanOrEqualTo: number;
    DailyOccursOnceTimeNotEqualTo: number;
    DailyOccursOnceTimeBetween: number[];
    DailyOccursOnceTimeIn: number[];
    DailyRepeatsInterval: number;
    DailyRepeatsIntervalGreaterThanOrEqualTo: number;
    DailyRepeatsIntervalGreaterThan: number;
    DailyRepeatsIntervalLessThan: number;
    DailyRepeatsIntervalLessThanOrEqualTo: number;
    DailyRepeatsIntervalNotEqualTo: number;
    DailyRepeatsIntervalBetween: number[];
    DailyRepeatsIntervalIn: number[];
    DailyRepeatsStartTime: number;
    DailyRepeatsStartTimeGreaterThanOrEqualTo: number;
    DailyRepeatsStartTimeGreaterThan: number;
    DailyRepeatsStartTimeLessThan: number;
    DailyRepeatsStartTimeLessThanOrEqualTo: number;
    DailyRepeatsStartTimeNotEqualTo: number;
    DailyRepeatsStartTimeBetween: number[];
    DailyRepeatsStartTimeIn: number[];
    DailyRepeatsEndTime: number;
    DailyRepeatsEndTimeGreaterThanOrEqualTo: number;
    DailyRepeatsEndTimeGreaterThan: number;
    DailyRepeatsEndTimeLessThan: number;
    DailyRepeatsEndTimeLessThanOrEqualTo: number;
    DailyRepeatsEndTimeNotEqualTo: number;
    DailyRepeatsEndTimeBetween: number[];
    DailyRepeatsEndTimeIn: number[];
    WeeklyRepeatsInterval: number;
    WeeklyRepeatsIntervalGreaterThanOrEqualTo: number;
    WeeklyRepeatsIntervalGreaterThan: number;
    WeeklyRepeatsIntervalLessThan: number;
    WeeklyRepeatsIntervalLessThanOrEqualTo: number;
    WeeklyRepeatsIntervalNotEqualTo: number;
    WeeklyRepeatsIntervalBetween: number[];
    WeeklyRepeatsIntervalIn: number[];
    WeeklyDaysOfWeek: number;
    WeeklyDaysOfWeekGreaterThanOrEqualTo: number;
    WeeklyDaysOfWeekGreaterThan: number;
    WeeklyDaysOfWeekLessThan: number;
    WeeklyDaysOfWeekLessThanOrEqualTo: number;
    WeeklyDaysOfWeekNotEqualTo: number;
    WeeklyDaysOfWeekBetween: Uint8Array;
    WeeklyDaysOfWeekIn: Uint8Array;
    MonthlyFrequencyType: number;
    MonthlyFrequencyTypeGreaterThanOrEqualTo: number;
    MonthlyFrequencyTypeGreaterThan: number;
    MonthlyFrequencyTypeLessThan: number;
    MonthlyFrequencyTypeLessThanOrEqualTo: number;
    MonthlyFrequencyTypeNotEqualTo: number;
    MonthlyFrequencyTypeBetween: Uint8Array;
    MonthlyFrequencyTypeIn: Uint8Array;
    MonthlyDayOfMonth: number;
    MonthlyDayOfMonthGreaterThanOrEqualTo: number;
    MonthlyDayOfMonthGreaterThan: number;
    MonthlyDayOfMonthLessThan: number;
    MonthlyDayOfMonthLessThanOrEqualTo: number;
    MonthlyDayOfMonthNotEqualTo: number;
    MonthlyDayOfMonthBetween: Uint8Array;
    MonthlyDayOfMonthIn: Uint8Array;
    MonthlyRepeatInterval: number;
    MonthlyRepeatIntervalGreaterThanOrEqualTo: number;
    MonthlyRepeatIntervalGreaterThan: number;
    MonthlyRepeatIntervalLessThan: number;
    MonthlyRepeatIntervalLessThanOrEqualTo: number;
    MonthlyRepeatIntervalNotEqualTo: number;
    MonthlyRepeatIntervalBetween: number[];
    MonthlyRepeatIntervalIn: number[];
    MonthlyFrequencyAdjective: number;
    MonthlyFrequencyAdjectiveGreaterThanOrEqualTo: number;
    MonthlyFrequencyAdjectiveGreaterThan: number;
    MonthlyFrequencyAdjectiveLessThan: number;
    MonthlyFrequencyAdjectiveLessThanOrEqualTo: number;
    MonthlyFrequencyAdjectiveNotEqualTo: number;
    MonthlyFrequencyAdjectiveBetween: Uint8Array;
    MonthlyFrequencyAdjectiveIn: Uint8Array;
    MonthlyFrequencyDayOfWeek: number;
    MonthlyFrequencyDayOfWeekGreaterThanOrEqualTo: number;
    MonthlyFrequencyDayOfWeekGreaterThan: number;
    MonthlyFrequencyDayOfWeekLessThan: number;
    MonthlyFrequencyDayOfWeekLessThanOrEqualTo: number;
    MonthlyFrequencyDayOfWeekNotEqualTo: number;
    MonthlyFrequencyDayOfWeekBetween: Uint8Array;
    MonthlyFrequencyDayOfWeekIn: Uint8Array;
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    HasEndDate: boolean;
    EndDate: string;
    EndDateGreaterThanOrEqualTo: string;
    EndDateGreaterThan: string;
    EndDateLessThan: string;
    EndDateLessThanOrEqualTo: string;
    EndDateNotEqualTo: string;
    EndDateBetween: string[];
    EndDateIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastRunDate: string;
    LastRunDateGreaterThanOrEqualTo: string;
    LastRunDateGreaterThan: string;
    LastRunDateLessThan: string;
    LastRunDateLessThanOrEqualTo: string;
    LastRunDateNotEqualTo: string;
    LastRunDateBetween: string[];
    LastRunDateIn: string[];
    NextRunDate: string;
    NextRunDateGreaterThanOrEqualTo: string;
    NextRunDateGreaterThan: string;
    NextRunDateLessThan: string;
    NextRunDateLessThanOrEqualTo: string;
    NextRunDateNotEqualTo: string;
    NextRunDateBetween: string[];
    NextRunDateIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_PluginSchedule>(); }
    getTypeName() { return "SY_PluginScheduleQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginSnippetQuery extends QueryDb<SY_PluginSnippet> implements IReturn<QueryResponse<SY_PluginSnippet>>
{
    RecID: string;
    RecIDIn: string[];
    Title: string;
    TitleStartsWith: string;
    TitleEndsWith: string;
    TitleContains: string;
    TitleLike: string;
    TitleBetween: string[];
    TitleIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Shortcut: string;
    ShortcutStartsWith: string;
    ShortcutEndsWith: string;
    ShortcutContains: string;
    ShortcutLike: string;
    ShortcutBetween: string[];
    ShortcutIn: string[];
    Author: string;
    AuthorStartsWith: string;
    AuthorEndsWith: string;
    AuthorContains: string;
    AuthorLike: string;
    AuthorBetween: string[];
    AuthorIn: string[];
    IsEnabled: boolean;
    Code: string;
    CodeStartsWith: string;
    CodeEndsWith: string;
    CodeContains: string;
    CodeLike: string;
    CodeBetween: string[];
    CodeIn: string[];
    Language: number;
    LanguageGreaterThanOrEqualTo: number;
    LanguageGreaterThan: number;
    LanguageLessThan: number;
    LanguageLessThanOrEqualTo: number;
    LanguageNotEqualTo: number;
    LanguageBetween: Uint8Array;
    LanguageIn: Uint8Array;
    FolderPath: string;
    FolderPathStartsWith: string;
    FolderPathEndsWith: string;
    FolderPathContains: string;
    FolderPathLike: string;
    FolderPathBetween: string[];
    FolderPathIn: string[];
    SnippetTypes: string;
    SnippetTypesStartsWith: string;
    SnippetTypesEndsWith: string;
    SnippetTypesContains: string;
    SnippetTypesLike: string;
    SnippetTypesBetween: string[];
    SnippetTypesIn: string[];
    RowHash: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SY_PluginSnippet>(); }
    getTypeName() { return "SY_PluginSnippetQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginSnippetDeclarationQuery extends QueryDb<SY_PluginSnippetDeclaration> implements IReturn<QueryResponse<SY_PluginSnippetDeclaration>>
{
    RecID: string;
    RecIDIn: string[];
    SY_PluginSnippet_RecID: string;
    SY_PluginSnippet_RecIDIn: string[];
    ID: string;
    IDStartsWith: string;
    IDEndsWith: string;
    IDContains: string;
    IDLike: string;
    IDBetween: string[];
    IDIn: string[];
    Type: string;
    TypeStartsWith: string;
    TypeEndsWith: string;
    TypeContains: string;
    TypeLike: string;
    TypeBetween: string[];
    TypeIn: string[];
    Tooltip: string;
    TooltipStartsWith: string;
    TooltipEndsWith: string;
    TooltipContains: string;
    TooltipLike: string;
    TooltipBetween: string[];
    TooltipIn: string[];
    Default: string;
    DefaultStartsWith: string;
    DefaultEndsWith: string;
    DefaultContains: string;
    DefaultLike: string;
    DefaultBetween: string[];
    DefaultIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_PluginSnippetDeclaration>(); }
    getTypeName() { return "SY_PluginSnippetDeclarationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginSystemSettingsQuery extends QueryDb<SY_PluginSystemSettings> implements IReturn<QueryResponse<SY_PluginSystemSettings>>
{
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    SY_Sysvalues_RecID: string;
    SY_Sysvalues_RecIDStartsWith: string;
    SY_Sysvalues_RecIDEndsWith: string;
    SY_Sysvalues_RecIDContains: string;
    SY_Sysvalues_RecIDLike: string;
    SY_Sysvalues_RecIDBetween: string[];
    SY_Sysvalues_RecIDIn: string[];
    createResponse() { return new QueryResponse<SY_PluginSystemSettings>(); }
    getTypeName() { return "SY_PluginSystemSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PrintGroupQuery extends QueryDb<SY_PrintGroup> implements IReturn<QueryResponse<SY_PrintGroup>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RowHash: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<SY_PrintGroup>(); }
    getTypeName() { return "SY_PrintGroupQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PrintGroupLogicalPrinterQuery extends QueryDb<SY_PrintGroupLogicalPrinter> implements IReturn<QueryResponse<SY_PrintGroupLogicalPrinter>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RowHash: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    SY_PrintGroup_RecID: string;
    SY_PrintGroup_RecIDStartsWith: string;
    SY_PrintGroup_RecIDEndsWith: string;
    SY_PrintGroup_RecIDContains: string;
    SY_PrintGroup_RecIDLike: string;
    SY_PrintGroup_RecIDBetween: string[];
    SY_PrintGroup_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    PhysicalPrinterName: string;
    PhysicalPrinterNameStartsWith: string;
    PhysicalPrinterNameEndsWith: string;
    PhysicalPrinterNameContains: string;
    PhysicalPrinterNameLike: string;
    PhysicalPrinterNameBetween: string[];
    PhysicalPrinterNameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<SY_PrintGroupLogicalPrinter>(); }
    getTypeName() { return "SY_PrintGroupLogicalPrinterQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_RecentlyViewedQuery extends QueryDb<SY_RecentlyViewed> implements IReturn<QueryResponse<SY_RecentlyViewed>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    Document_RecID: string;
    Document_RecIDStartsWith: string;
    Document_RecIDEndsWith: string;
    Document_RecIDContains: string;
    Document_RecIDLike: string;
    Document_RecIDBetween: string[];
    Document_RecIDIn: string[];
    Document_DisplayText: string;
    Document_DisplayTextStartsWith: string;
    Document_DisplayTextEndsWith: string;
    Document_DisplayTextContains: string;
    Document_DisplayTextLike: string;
    Document_DisplayTextBetween: string[];
    Document_DisplayTextIn: string[];
    IsPinned: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SY_RecentlyViewed>(); }
    getTypeName() { return "SY_RecentlyViewedQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_RemittanceAdviceEmailTemplatesQuery extends QueryDb<SY_RemittanceAdviceEmailTemplates> implements IReturn<QueryResponse<SY_RemittanceAdviceEmailTemplates>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Header: string;
    HeaderStartsWith: string;
    HeaderEndsWith: string;
    HeaderContains: string;
    HeaderLike: string;
    HeaderBetween: string[];
    HeaderIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    Footer: string;
    FooterStartsWith: string;
    FooterEndsWith: string;
    FooterContains: string;
    FooterLike: string;
    FooterBetween: string[];
    FooterIn: string[];
    ToField: string;
    ToFieldStartsWith: string;
    ToFieldEndsWith: string;
    ToFieldContains: string;
    ToFieldLike: string;
    ToFieldBetween: string[];
    ToFieldIn: string[];
    FromField: string;
    FromFieldStartsWith: string;
    FromFieldEndsWith: string;
    FromFieldContains: string;
    FromFieldLike: string;
    FromFieldBetween: string[];
    FromFieldIn: string[];
    CCField: string;
    CCFieldStartsWith: string;
    CCFieldEndsWith: string;
    CCFieldContains: string;
    CCFieldLike: string;
    CCFieldBetween: string[];
    CCFieldIn: string[];
    BCCField: string;
    BCCFieldStartsWith: string;
    BCCFieldEndsWith: string;
    BCCFieldContains: string;
    BCCFieldLike: string;
    BCCFieldBetween: string[];
    BCCFieldIn: string[];
    Subject: string;
    SubjectStartsWith: string;
    SubjectEndsWith: string;
    SubjectContains: string;
    SubjectLike: string;
    SubjectBetween: string[];
    SubjectIn: string[];
    RequestReadReceipt: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_RemittanceAdviceEmailTemplates>(); }
    getTypeName() { return "SY_RemittanceAdviceEmailTemplatesQuery"; }
}

// @Route("/Queries/SY_Report", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_ReportQuery extends QueryDb<SY_Report> implements IReturn<QueryResponse<SY_Report>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    FileName: string;
    FileNameStartsWith: string;
    FileNameEndsWith: string;
    FileNameContains: string;
    FileNameLike: string;
    FileNameBetween: string[];
    FileNameIn: string[];
    Title: string;
    TitleStartsWith: string;
    TitleEndsWith: string;
    TitleContains: string;
    TitleLike: string;
    TitleBetween: string[];
    TitleIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Author: string;
    AuthorStartsWith: string;
    AuthorEndsWith: string;
    AuthorContains: string;
    AuthorLike: string;
    AuthorBetween: string[];
    AuthorIn: string[];
    SY_ReportSection_RecID: string;
    SY_ReportSection_RecIDStartsWith: string;
    SY_ReportSection_RecIDEndsWith: string;
    SY_ReportSection_RecIDContains: string;
    SY_ReportSection_RecIDLike: string;
    SY_ReportSection_RecIDBetween: string[];
    SY_ReportSection_RecIDIn: string[];
    ReportType: number;
    ReportTypeGreaterThanOrEqualTo: number;
    ReportTypeGreaterThan: number;
    ReportTypeLessThan: number;
    ReportTypeLessThanOrEqualTo: number;
    ReportTypeNotEqualTo: number;
    ReportTypeBetween: Uint8Array;
    ReportTypeIn: Uint8Array;
    IsEnabled: boolean;
    FileBinary: Uint8Array;
    FileHash: string;
    FileHashStartsWith: string;
    FileHashEndsWith: string;
    FileHashContains: string;
    FileHashLike: string;
    FileHashBetween: string[];
    FileHashIn: string[];
    Comment: string;
    CommentStartsWith: string;
    CommentEndsWith: string;
    CommentContains: string;
    CommentLike: string;
    CommentBetween: string[];
    CommentIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    IsReadOnly: boolean;
    createResponse() { return new QueryResponse<SY_Report>(); }
    getTypeName() { return "SY_ReportQuery"; }
}

// @Route("/Queries/SY_ReportSection", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_ReportSectionQuery extends QueryDb<SY_ReportSection> implements IReturn<QueryResponse<SY_ReportSection>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsDefault: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_ReportSection>(); }
    getTypeName() { return "SY_ReportSectionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_SavedReportRangesQuery extends QueryDb<SY_SavedReportRanges> implements IReturn<QueryResponse<SY_SavedReportRanges>>
{
    SavedReportRangeID: string;
    SavedReportRangeIDStartsWith: string;
    SavedReportRangeIDEndsWith: string;
    SavedReportRangeIDContains: string;
    SavedReportRangeIDLike: string;
    SavedReportRangeIDBetween: string[];
    SavedReportRangeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    IDKey: string;
    IDKeyStartsWith: string;
    IDKeyEndsWith: string;
    IDKeyContains: string;
    IDKeyLike: string;
    IDKeyBetween: string[];
    IDKeyIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    createResponse() { return new QueryResponse<SY_SavedReportRanges>(); }
    getTypeName() { return "SY_SavedReportRangesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_SearchItemQuery extends QueryDb<SY_SearchItem> implements IReturn<QueryResponse<SY_SearchItem>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    StoredProcedureName: string;
    StoredProcedureNameStartsWith: string;
    StoredProcedureNameEndsWith: string;
    StoredProcedureNameContains: string;
    StoredProcedureNameLike: string;
    StoredProcedureNameBetween: string[];
    StoredProcedureNameIn: string[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_SearchItem>(); }
    getTypeName() { return "SY_SearchItemQuery"; }
}

// @Route("/Queries/SY_SysValues", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_SysValuesQuery extends QueryDb<SY_SysValues> implements IReturn<QueryResponse<SY_SysValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Section: string;
    SectionStartsWith: string;
    SectionEndsWith: string;
    SectionContains: string;
    SectionLike: string;
    SectionBetween: string[];
    SectionIn: string[];
    IDKey: string;
    IDKeyStartsWith: string;
    IDKeyEndsWith: string;
    IDKeyContains: string;
    IDKeyLike: string;
    IDKeyBetween: string[];
    IDKeyIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    SectionCaption: string;
    SectionCaptionStartsWith: string;
    SectionCaptionEndsWith: string;
    SectionCaptionContains: string;
    SectionCaptionLike: string;
    SectionCaptionBetween: string[];
    SectionCaptionIn: string[];
    ReadOnly: boolean;
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    createResponse() { return new QueryResponse<SY_SysValues>(); }
    getTypeName() { return "SY_SysValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_SysValuesLogQuery extends QueryDb<SY_SysValuesLog> implements IReturn<QueryResponse<SY_SysValuesLog>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchID: string;
    BatchIDStartsWith: string;
    BatchIDEndsWith: string;
    BatchIDContains: string;
    BatchIDLike: string;
    BatchIDBetween: string[];
    BatchIDIn: string[];
    DatabaseVersion: string;
    DatabaseVersionStartsWith: string;
    DatabaseVersionEndsWith: string;
    DatabaseVersionContains: string;
    DatabaseVersionLike: string;
    DatabaseVersionBetween: string[];
    DatabaseVersionIn: string[];
    Section: string;
    SectionStartsWith: string;
    SectionEndsWith: string;
    SectionContains: string;
    SectionLike: string;
    SectionBetween: string[];
    SectionIn: string[];
    SectionCaption: string;
    SectionCaptionStartsWith: string;
    SectionCaptionEndsWith: string;
    SectionCaptionContains: string;
    SectionCaptionLike: string;
    SectionCaptionBetween: string[];
    SectionCaptionIn: string[];
    IDKey: string;
    IDKeyStartsWith: string;
    IDKeyEndsWith: string;
    IDKeyContains: string;
    IDKeyLike: string;
    IDKeyBetween: string[];
    IDKeyIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    NewContents: string;
    NewContentsStartsWith: string;
    NewContentsEndsWith: string;
    NewContentsContains: string;
    NewContentsLike: string;
    NewContentsBetween: string[];
    NewContentsIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    LastModifiedByStaffID: string;
    LastModifiedByStaffIDStartsWith: string;
    LastModifiedByStaffIDEndsWith: string;
    LastModifiedByStaffIDContains: string;
    LastModifiedByStaffIDLike: string;
    LastModifiedByStaffIDBetween: string[];
    LastModifiedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SY_SysValuesLog>(); }
    getTypeName() { return "SY_SysValuesLogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_TabControlSettingsQuery extends QueryDb<SY_TabControlSettings> implements IReturn<QueryResponse<SY_TabControlSettings>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    Context: string;
    ContextStartsWith: string;
    ContextEndsWith: string;
    ContextContains: string;
    ContextLike: string;
    ContextBetween: string[];
    ContextIn: string[];
    FullName: string;
    FullNameStartsWith: string;
    FullNameEndsWith: string;
    FullNameContains: string;
    FullNameLike: string;
    FullNameBetween: string[];
    FullNameIn: string[];
    UseCustomTabs: boolean;
    TabOrderXML: string;
    TabOrderXMLStartsWith: string;
    TabOrderXMLEndsWith: string;
    TabOrderXMLContains: string;
    TabOrderXMLLike: string;
    TabOrderXMLBetween: string[];
    TabOrderXMLIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_TabControlSettings>(); }
    getTypeName() { return "SY_TabControlSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_TabSettingsQuery extends QueryDb<SY_TabSettings> implements IReturn<QueryResponse<SY_TabSettings>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_TabControlSettings_RecID: string;
    SY_TabControlSettings_RecIDStartsWith: string;
    SY_TabControlSettings_RecIDEndsWith: string;
    SY_TabControlSettings_RecIDContains: string;
    SY_TabControlSettings_RecIDLike: string;
    SY_TabControlSettings_RecIDBetween: string[];
    SY_TabControlSettings_RecIDIn: string[];
    TabKey: string;
    TabKeyStartsWith: string;
    TabKeyEndsWith: string;
    TabKeyContains: string;
    TabKeyLike: string;
    TabKeyBetween: string[];
    TabKeyIn: string[];
    Text: string;
    TextStartsWith: string;
    TextEndsWith: string;
    TextContains: string;
    TextLike: string;
    TextBetween: string[];
    TextIn: string[];
    Visible: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_TabSettings>(); }
    getTypeName() { return "SY_TabSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_UpgradeLogQuery extends QueryDb<SY_UpgradeLog> implements IReturn<QueryResponse<SY_UpgradeLog>>
{
    PK: number;
    PKGreaterThanOrEqualTo: number;
    PKGreaterThan: number;
    PKLessThan: number;
    PKLessThanOrEqualTo: number;
    PKNotEqualTo: number;
    PKBetween: number[];
    PKIn: number[];
    DatabaseMajor: number;
    DatabaseMajorGreaterThanOrEqualTo: number;
    DatabaseMajorGreaterThan: number;
    DatabaseMajorLessThan: number;
    DatabaseMajorLessThanOrEqualTo: number;
    DatabaseMajorNotEqualTo: number;
    DatabaseMajorBetween: number[];
    DatabaseMajorIn: number[];
    DatabaseMinor: number;
    DatabaseMinorGreaterThanOrEqualTo: number;
    DatabaseMinorGreaterThan: number;
    DatabaseMinorLessThan: number;
    DatabaseMinorLessThanOrEqualTo: number;
    DatabaseMinorNotEqualTo: number;
    DatabaseMinorBetween: number[];
    DatabaseMinorIn: number[];
    DatabaseRelease: number;
    DatabaseReleaseGreaterThanOrEqualTo: number;
    DatabaseReleaseGreaterThan: number;
    DatabaseReleaseLessThan: number;
    DatabaseReleaseLessThanOrEqualTo: number;
    DatabaseReleaseNotEqualTo: number;
    DatabaseReleaseBetween: number[];
    DatabaseReleaseIn: number[];
    createResponse() { return new QueryResponse<SY_UpgradeLog>(); }
    getTypeName() { return "SY_UpgradeLogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_UpgradeScriptsQuery extends QueryDb<SY_UpgradeScripts> implements IReturn<QueryResponse<SY_UpgradeScripts>>
{
    RecId: string;
    RecIdStartsWith: string;
    RecIdEndsWith: string;
    RecIdContains: string;
    RecIdLike: string;
    RecIdBetween: string[];
    RecIdIn: string[];
    PK: number;
    PKGreaterThanOrEqualTo: number;
    PKGreaterThan: number;
    PKLessThan: number;
    PKLessThanOrEqualTo: number;
    PKNotEqualTo: number;
    PKBetween: number[];
    PKIn: number[];
    DatabaseMajor: number;
    DatabaseMajorGreaterThanOrEqualTo: number;
    DatabaseMajorGreaterThan: number;
    DatabaseMajorLessThan: number;
    DatabaseMajorLessThanOrEqualTo: number;
    DatabaseMajorNotEqualTo: number;
    DatabaseMajorBetween: Uint8Array;
    DatabaseMajorIn: Uint8Array;
    DatabaseMinor: number;
    DatabaseMinorGreaterThanOrEqualTo: number;
    DatabaseMinorGreaterThan: number;
    DatabaseMinorLessThan: number;
    DatabaseMinorLessThanOrEqualTo: number;
    DatabaseMinorNotEqualTo: number;
    DatabaseMinorBetween: Uint8Array;
    DatabaseMinorIn: Uint8Array;
    DatabaseRelease: number;
    DatabaseReleaseGreaterThanOrEqualTo: number;
    DatabaseReleaseGreaterThan: number;
    DatabaseReleaseLessThan: number;
    DatabaseReleaseLessThanOrEqualTo: number;
    DatabaseReleaseNotEqualTo: number;
    DatabaseReleaseBetween: Uint8Array;
    DatabaseReleaseIn: Uint8Array;
    ScriptOrder: number;
    ScriptOrderGreaterThanOrEqualTo: number;
    ScriptOrderGreaterThan: number;
    ScriptOrderLessThan: number;
    ScriptOrderLessThanOrEqualTo: number;
    ScriptOrderNotEqualTo: number;
    ScriptOrderBetween: number[];
    ScriptOrderIn: number[];
    Script: string;
    ScriptStartsWith: string;
    ScriptEndsWith: string;
    ScriptContains: string;
    ScriptLike: string;
    ScriptBetween: string[];
    ScriptIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    Message: string;
    MessageStartsWith: string;
    MessageEndsWith: string;
    MessageContains: string;
    MessageLike: string;
    MessageBetween: string[];
    MessageIn: string[];
    ScriptType: number;
    ScriptTypeGreaterThanOrEqualTo: number;
    ScriptTypeGreaterThan: number;
    ScriptTypeLessThan: number;
    ScriptTypeLessThanOrEqualTo: number;
    ScriptTypeNotEqualTo: number;
    ScriptTypeBetween: Uint8Array;
    ScriptTypeIn: Uint8Array;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_UpgradeScripts>(); }
    getTypeName() { return "SY_UpgradeScriptsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_UserGroupAbstractPermissionsQuery extends QueryDb<SY_UserGroupAbstractPermissions> implements IReturn<QueryResponse<SY_UserGroupAbstractPermissions>>
{
    RecID: string;
    RecIDIn: string[];
    SY_UserGroups_RecID: string;
    SY_UserGroups_RecIDIn: string[];
    SY_FormsAbstractPermissions_RecID: string;
    SY_FormsAbstractPermissions_RecIDIn: string[];
    AccessLevel: number;
    AccessLevelGreaterThanOrEqualTo: number;
    AccessLevelGreaterThan: number;
    AccessLevelLessThan: number;
    AccessLevelLessThanOrEqualTo: number;
    AccessLevelNotEqualTo: number;
    AccessLevelBetween: Uint8Array;
    AccessLevelIn: Uint8Array;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_UserGroupAbstractPermissions>(); }
    getTypeName() { return "SY_UserGroupAbstractPermissionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_UserGroupMembershipsQuery extends QueryDb<SY_UserGroupMemberships> implements IReturn<QueryResponse<SY_UserGroupMemberships>>
{
    RecID: string;
    RecIDIn: string[];
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    RowHash: Uint8Array;
    SY_UserGroups_RecID: string;
    SY_UserGroups_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SY_UserGroupMemberships>(); }
    getTypeName() { return "SY_UserGroupMembershipsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_UserGroupPermissionsQuery extends QueryDb<SY_UserGroupPermissions> implements IReturn<QueryResponse<SY_UserGroupPermissions>>
{
    RecID: string;
    RecIDIn: string[];
    SY_UserGroups_RecID: string;
    SY_UserGroups_RecIDIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    ControlType: string;
    ControlTypeStartsWith: string;
    ControlTypeEndsWith: string;
    ControlTypeContains: string;
    ControlTypeLike: string;
    ControlTypeBetween: string[];
    ControlTypeIn: string[];
    ControlName: string;
    ControlNameStartsWith: string;
    ControlNameEndsWith: string;
    ControlNameContains: string;
    ControlNameLike: string;
    ControlNameBetween: string[];
    ControlNameIn: string[];
    ReadAccessLevel: number;
    ReadAccessLevelGreaterThanOrEqualTo: number;
    ReadAccessLevelGreaterThan: number;
    ReadAccessLevelLessThan: number;
    ReadAccessLevelLessThanOrEqualTo: number;
    ReadAccessLevelNotEqualTo: number;
    ReadAccessLevelBetween: Uint8Array;
    ReadAccessLevelIn: Uint8Array;
    WriteAccessLevel: number;
    WriteAccessLevelGreaterThanOrEqualTo: number;
    WriteAccessLevelGreaterThan: number;
    WriteAccessLevelLessThan: number;
    WriteAccessLevelLessThanOrEqualTo: number;
    WriteAccessLevelNotEqualTo: number;
    WriteAccessLevelBetween: Uint8Array;
    WriteAccessLevelIn: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_UserGroupPermissions>(); }
    getTypeName() { return "SY_UserGroupPermissionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_UserGroupRESTAPIPermissionsQuery extends QueryDb<SY_UserGroupRESTAPIPermissions> implements IReturn<QueryResponse<SY_UserGroupRESTAPIPermissions>>
{
    RecID: string;
    RecIDIn: string[];
    SY_UserGroups_RecID: string;
    SY_UserGroups_RecIDIn: string[];
    RESTPath: string;
    RESTPathStartsWith: string;
    RESTPathEndsWith: string;
    RESTPathContains: string;
    RESTPathLike: string;
    RESTPathBetween: string[];
    RESTPathIn: string[];
    Verb: string;
    VerbStartsWith: string;
    VerbEndsWith: string;
    VerbContains: string;
    VerbLike: string;
    VerbBetween: string[];
    VerbIn: string[];
    Summary: string;
    SummaryStartsWith: string;
    SummaryEndsWith: string;
    SummaryContains: string;
    SummaryLike: string;
    SummaryBetween: string[];
    SummaryIn: string[];
    AccessLevel: number;
    AccessLevelGreaterThanOrEqualTo: number;
    AccessLevelGreaterThan: number;
    AccessLevelLessThan: number;
    AccessLevelLessThanOrEqualTo: number;
    AccessLevelNotEqualTo: number;
    AccessLevelBetween: Uint8Array;
    AccessLevelIn: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_UserGroupRESTAPIPermissions>(); }
    getTypeName() { return "SY_UserGroupRESTAPIPermissionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_UserGroupsQuery extends QueryDb<SY_UserGroups> implements IReturn<QueryResponse<SY_UserGroups>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    RowHash: Uint8Array;
    IsDefault: boolean;
    IsEnabled: boolean;
    IsReadOnly: boolean;
    DefaultReadAccessLevel: number;
    DefaultReadAccessLevelGreaterThanOrEqualTo: number;
    DefaultReadAccessLevelGreaterThan: number;
    DefaultReadAccessLevelLessThan: number;
    DefaultReadAccessLevelLessThanOrEqualTo: number;
    DefaultReadAccessLevelNotEqualTo: number;
    DefaultReadAccessLevelBetween: Uint8Array;
    DefaultReadAccessLevelIn: Uint8Array;
    DefaultWriteAccessLevel: number;
    DefaultWriteAccessLevelGreaterThanOrEqualTo: number;
    DefaultWriteAccessLevelGreaterThan: number;
    DefaultWriteAccessLevelLessThan: number;
    DefaultWriteAccessLevelLessThanOrEqualTo: number;
    DefaultWriteAccessLevelNotEqualTo: number;
    DefaultWriteAccessLevelBetween: Uint8Array;
    DefaultWriteAccessLevelIn: Uint8Array;
    DefaultAbstractAccessLevel: number;
    DefaultAbstractAccessLevelGreaterThanOrEqualTo: number;
    DefaultAbstractAccessLevelGreaterThan: number;
    DefaultAbstractAccessLevelLessThan: number;
    DefaultAbstractAccessLevelLessThanOrEqualTo: number;
    DefaultAbstractAccessLevelNotEqualTo: number;
    DefaultAbstractAccessLevelBetween: Uint8Array;
    DefaultAbstractAccessLevelIn: Uint8Array;
    SY_Menu_RecID: string;
    SY_Menu_RecIDStartsWith: string;
    SY_Menu_RecIDEndsWith: string;
    SY_Menu_RecIDContains: string;
    SY_Menu_RecIDLike: string;
    SY_Menu_RecIDBetween: string[];
    SY_Menu_RecIDIn: string[];
    DefaultRESTAPIAccessLevel: number;
    DefaultRESTAPIAccessLevelGreaterThanOrEqualTo: number;
    DefaultRESTAPIAccessLevelGreaterThan: number;
    DefaultRESTAPIAccessLevelLessThan: number;
    DefaultRESTAPIAccessLevelLessThanOrEqualTo: number;
    DefaultRESTAPIAccessLevelNotEqualTo: number;
    DefaultRESTAPIAccessLevelBetween: Uint8Array;
    DefaultRESTAPIAccessLevelIn: Uint8Array;
    createResponse() { return new QueryResponse<SY_UserGroups>(); }
    getTypeName() { return "SY_UserGroupsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_UserProfileQuery extends QueryDb<SY_UserProfile> implements IReturn<QueryResponse<SY_UserProfile>>
{
    ProfileID: string;
    ProfileIDStartsWith: string;
    ProfileIDEndsWith: string;
    ProfileIDContains: string;
    ProfileIDLike: string;
    ProfileIDBetween: string[];
    ProfileIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    UserID: string;
    UserIDStartsWith: string;
    UserIDEndsWith: string;
    UserIDContains: string;
    UserIDLike: string;
    UserIDBetween: string[];
    UserIDIn: string[];
    Section: string;
    SectionStartsWith: string;
    SectionEndsWith: string;
    SectionContains: string;
    SectionLike: string;
    SectionBetween: string[];
    SectionIn: string[];
    IDKey: string;
    IDKeyStartsWith: string;
    IDKeyEndsWith: string;
    IDKeyContains: string;
    IDKeyLike: string;
    IDKeyBetween: string[];
    IDKeyIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    createResponse() { return new QueryResponse<SY_UserProfile>(); }
    getTypeName() { return "SY_UserProfileQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_WebhookMessageQuery extends QueryDb<SY_WebhookMessage> implements IReturn<QueryResponse<SY_WebhookMessage>>
{
    RecID: string;
    RecIDIn: string[];
    SY_WebhookSubscription_RecID: string;
    SY_WebhookSubscription_RecIDIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AddedDateTime: string;
    AddedDateTimeGreaterThanOrEqualTo: string;
    AddedDateTimeGreaterThan: string;
    AddedDateTimeLessThan: string;
    AddedDateTimeLessThanOrEqualTo: string;
    AddedDateTimeNotEqualTo: string;
    AddedDateTimeBetween: string[];
    AddedDateTimeIn: string[];
    Retries: number;
    RetriesGreaterThanOrEqualTo: number;
    RetriesGreaterThan: number;
    RetriesLessThan: number;
    RetriesLessThanOrEqualTo: number;
    RetriesNotEqualTo: number;
    RetriesBetween: number[];
    RetriesIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_WebhookMessage>(); }
    getTypeName() { return "SY_WebhookMessageQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_WebhookMessageResponseQuery extends QueryDb<SY_WebhookMessageResponse> implements IReturn<QueryResponse<SY_WebhookMessageResponse>>
{
    RecID: string;
    RecIDIn: string[];
    SY_WebhookMessage_RecID: string;
    SY_WebhookMessage_RecIDIn: string[];
    HTTPCode: number;
    HTTPCodeGreaterThanOrEqualTo: number;
    HTTPCodeGreaterThan: number;
    HTTPCodeLessThan: number;
    HTTPCodeLessThanOrEqualTo: number;
    HTTPCodeNotEqualTo: number;
    HTTPCodeBetween: number[];
    HTTPCodeIn: number[];
    Message: string;
    MessageStartsWith: string;
    MessageEndsWith: string;
    MessageContains: string;
    MessageLike: string;
    MessageBetween: string[];
    MessageIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SY_WebhookMessageResponse>(); }
    getTypeName() { return "SY_WebhookMessageResponseQuery"; }
}

// @Route("/Queries/SY_WebhookSubscriber", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_WebhookSubscriberQuery extends QueryDb<SY_WebhookSubscriber> implements IReturn<QueryResponse<SY_WebhookSubscriber>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_WebhookSubscriber>(); }
    getTypeName() { return "SY_WebhookSubscriberQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_WebhookSubscriptionQuery extends QueryDb<SY_WebhookSubscription> implements IReturn<QueryResponse<SY_WebhookSubscription>>
{
    RecID: string;
    RecIDIn: string[];
    SY_WebhookSubscriber_RecID: string;
    SY_WebhookSubscriber_RecIDIn: string[];
    EventName: string;
    EventNameStartsWith: string;
    EventNameEndsWith: string;
    EventNameContains: string;
    EventNameLike: string;
    EventNameBetween: string[];
    EventNameIn: string[];
    URL: string;
    URLStartsWith: string;
    URLEndsWith: string;
    URLContains: string;
    URLLike: string;
    URLBetween: string[];
    URLIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_WebhookSubscription>(); }
    getTypeName() { return "SY_WebhookSubscriptionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_WebhookSubscriptionRequestHeaderQuery extends QueryDb<SY_WebhookSubscriptionRequestHeader> implements IReturn<QueryResponse<SY_WebhookSubscriptionRequestHeader>>
{
    RecID: string;
    RecIDIn: string[];
    SY_WebhookSubscription_RecID: string;
    SY_WebhookSubscription_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Value: string;
    ValueStartsWith: string;
    ValueEndsWith: string;
    ValueContains: string;
    ValueLike: string;
    ValueBetween: string[];
    ValueIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_WebhookSubscriptionRequestHeader>(); }
    getTypeName() { return "SY_WebhookSubscriptionRequestHeaderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SYS_ProcessesQuery extends QueryDb<SYS_Processes> implements IReturn<QueryResponse<SYS_Processes>>
{
    ID: string;
    IDStartsWith: string;
    IDEndsWith: string;
    IDContains: string;
    IDLike: string;
    IDBetween: string[];
    IDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IDKey: string;
    IDKeyStartsWith: string;
    IDKeyEndsWith: string;
    IDKeyContains: string;
    IDKeyLike: string;
    IDKeyBetween: string[];
    IDKeyIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    createResponse() { return new QueryResponse<SYS_Processes>(); }
    getTypeName() { return "SYS_ProcessesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_CollaborationsQuery extends QueryDb<TD_Collaborations> implements IReturn<QueryResponse<TD_Collaborations>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    TD_Main_RecID: string;
    TD_Main_RecIDStartsWith: string;
    TD_Main_RecIDEndsWith: string;
    TD_Main_RecIDContains: string;
    TD_Main_RecIDLike: string;
    TD_Main_RecIDBetween: string[];
    TD_Main_RecIDIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    NotificationEnabled: boolean;
    NotificationText: string;
    NotificationTextStartsWith: string;
    NotificationTextEndsWith: string;
    NotificationTextContains: string;
    NotificationTextLike: string;
    NotificationTextBetween: string[];
    NotificationTextIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    NotificationSent: boolean;
    createResponse() { return new QueryResponse<TD_Collaborations>(); }
    getTypeName() { return "TD_CollaborationsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_CustomSettingsQuery extends QueryDb<TD_CustomSettings> implements IReturn<QueryResponse<TD_CustomSettings>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<TD_CustomSettings>(); }
    getTypeName() { return "TD_CustomSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_CustomSettingValuesQuery extends QueryDb<TD_CustomSettingValues> implements IReturn<QueryResponse<TD_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    TD_Main_RecID: string;
    TD_Main_RecIDStartsWith: string;
    TD_Main_RecIDEndsWith: string;
    TD_Main_RecIDContains: string;
    TD_Main_RecIDLike: string;
    TD_Main_RecIDBetween: string[];
    TD_Main_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<TD_CustomSettingValues>(); }
    getTypeName() { return "TD_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_DependenciesQuery extends QueryDb<TD_Dependencies> implements IReturn<QueryResponse<TD_Dependencies>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    TD_Main_RecID_Dependent: string;
    TD_Main_RecID_DependentStartsWith: string;
    TD_Main_RecID_DependentEndsWith: string;
    TD_Main_RecID_DependentContains: string;
    TD_Main_RecID_DependentLike: string;
    TD_Main_RecID_DependentBetween: string[];
    TD_Main_RecID_DependentIn: string[];
    TD_Main_RecID_Dependency: string;
    TD_Main_RecID_DependencyStartsWith: string;
    TD_Main_RecID_DependencyEndsWith: string;
    TD_Main_RecID_DependencyContains: string;
    TD_Main_RecID_DependencyLike: string;
    TD_Main_RecID_DependencyBetween: string[];
    TD_Main_RecID_DependencyIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<TD_Dependencies>(); }
    getTypeName() { return "TD_DependenciesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_DocumentsQuery extends QueryDb<TD_Documents> implements IReturn<QueryResponse<TD_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    TD_Main_RecID: string;
    TD_Main_RecIDStartsWith: string;
    TD_Main_RecIDEndsWith: string;
    TD_Main_RecIDContains: string;
    TD_Main_RecIDLike: string;
    TD_Main_RecIDBetween: string[];
    TD_Main_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<TD_Documents>(); }
    getTypeName() { return "TD_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_MainQuery extends QueryDb<TD_Main> implements IReturn<QueryResponse<TD_Main>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ToDoNo: string;
    ToDoNoStartsWith: string;
    ToDoNoEndsWith: string;
    ToDoNoContains: string;
    ToDoNoLike: string;
    ToDoNoBetween: string[];
    ToDoNoIn: string[];
    Subject: string;
    SubjectStartsWith: string;
    SubjectEndsWith: string;
    SubjectContains: string;
    SubjectLike: string;
    SubjectBetween: string[];
    SubjectIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    TD_Priorities_RecID: string;
    TD_Priorities_RecIDStartsWith: string;
    TD_Priorities_RecIDEndsWith: string;
    TD_Priorities_RecIDContains: string;
    TD_Priorities_RecIDLike: string;
    TD_Priorities_RecIDBetween: string[];
    TD_Priorities_RecIDIn: string[];
    DurationInHours: number;
    DurationInHoursGreaterThanOrEqualTo: number;
    DurationInHoursGreaterThan: number;
    DurationInHoursLessThan: number;
    DurationInHoursLessThanOrEqualTo: number;
    DurationInHoursNotEqualTo: number;
    DurationInHoursBetween: number[];
    DurationInHoursIn: number[];
    AssignedBy_HR_Staff_RecID: string;
    AssignedBy_HR_Staff_RecIDStartsWith: string;
    AssignedBy_HR_Staff_RecIDEndsWith: string;
    AssignedBy_HR_Staff_RecIDContains: string;
    AssignedBy_HR_Staff_RecIDLike: string;
    AssignedBy_HR_Staff_RecIDBetween: string[];
    AssignedBy_HR_Staff_RecIDIn: string[];
    AssignedTo_HR_Staff_RecID: string;
    AssignedTo_HR_Staff_RecIDStartsWith: string;
    AssignedTo_HR_Staff_RecIDEndsWith: string;
    AssignedTo_HR_Staff_RecIDContains: string;
    AssignedTo_HR_Staff_RecIDLike: string;
    AssignedTo_HR_Staff_RecIDBetween: string[];
    AssignedTo_HR_Staff_RecIDIn: string[];
    ReminderEnabled: boolean;
    ReminderTrigger: number;
    ReminderTriggerGreaterThanOrEqualTo: number;
    ReminderTriggerGreaterThan: number;
    ReminderTriggerLessThan: number;
    ReminderTriggerLessThanOrEqualTo: number;
    ReminderTriggerNotEqualTo: number;
    ReminderTriggerBetween: number[];
    ReminderTriggerIn: number[];
    ReminderPredefinedSetting: number;
    ReminderPredefinedSettingGreaterThanOrEqualTo: number;
    ReminderPredefinedSettingGreaterThan: number;
    ReminderPredefinedSettingLessThan: number;
    ReminderPredefinedSettingLessThanOrEqualTo: number;
    ReminderPredefinedSettingNotEqualTo: number;
    ReminderPredefinedSettingBetween: number[];
    ReminderPredefinedSettingIn: number[];
    ReminderSpecificDateTime: string;
    ReminderSpecificDateTimeGreaterThanOrEqualTo: string;
    ReminderSpecificDateTimeGreaterThan: string;
    ReminderSpecificDateTimeLessThan: string;
    ReminderSpecificDateTimeLessThanOrEqualTo: string;
    ReminderSpecificDateTimeNotEqualTo: string;
    ReminderSpecificDateTimeBetween: string[];
    ReminderSpecificDateTimeIn: string[];
    Source_SY_Forms_ClassName: string;
    Source_SY_Forms_ClassNameStartsWith: string;
    Source_SY_Forms_ClassNameEndsWith: string;
    Source_SY_Forms_ClassNameContains: string;
    Source_SY_Forms_ClassNameLike: string;
    Source_SY_Forms_ClassNameBetween: string[];
    Source_SY_Forms_ClassNameIn: string[];
    Source_RecID: string;
    Source_RecIDStartsWith: string;
    Source_RecIDEndsWith: string;
    Source_RecIDContains: string;
    Source_RecIDLike: string;
    Source_RecIDBetween: string[];
    Source_RecIDIn: string[];
    TD_ToDoTypes_RecID: string;
    TD_ToDoTypes_RecIDStartsWith: string;
    TD_ToDoTypes_RecIDEndsWith: string;
    TD_ToDoTypes_RecIDContains: string;
    TD_ToDoTypes_RecIDLike: string;
    TD_ToDoTypes_RecIDBetween: string[];
    TD_ToDoTypes_RecIDIn: string[];
    UsesStatusTracking: boolean;
    TD_Statuses_RecID: string;
    TD_Statuses_RecIDStartsWith: string;
    TD_Statuses_RecIDEndsWith: string;
    TD_Statuses_RecIDContains: string;
    TD_Statuses_RecIDLike: string;
    TD_Statuses_RecIDBetween: string[];
    TD_Statuses_RecIDIn: string[];
    CompletePercentage: number;
    CompletePercentageGreaterThanOrEqualTo: number;
    CompletePercentageGreaterThan: number;
    CompletePercentageLessThan: number;
    CompletePercentageLessThanOrEqualTo: number;
    CompletePercentageNotEqualTo: number;
    CompletePercentageBetween: number[];
    CompletePercentageIn: number[];
    LastSaved_HR_Staff_RecID: string;
    LastSaved_HR_Staff_RecIDStartsWith: string;
    LastSaved_HR_Staff_RecIDEndsWith: string;
    LastSaved_HR_Staff_RecIDContains: string;
    LastSaved_HR_Staff_RecIDLike: string;
    LastSaved_HR_Staff_RecIDBetween: string[];
    LastSaved_HR_Staff_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DueDateTime: string;
    DueDateTimeGreaterThanOrEqualTo: string;
    DueDateTimeGreaterThan: string;
    DueDateTimeLessThan: string;
    DueDateTimeLessThanOrEqualTo: string;
    DueDateTimeNotEqualTo: string;
    DueDateTimeBetween: string[];
    DueDateTimeIn: string[];
    FinishedDateTime: string;
    FinishedDateTimeGreaterThanOrEqualTo: string;
    FinishedDateTimeGreaterThan: string;
    FinishedDateTimeLessThan: string;
    FinishedDateTimeLessThanOrEqualTo: string;
    FinishedDateTimeNotEqualTo: string;
    FinishedDateTimeBetween: string[];
    FinishedDateTimeIn: string[];
    HasBeenRead: boolean;
    ReminderSent: boolean;
    Source_DisplayText: string;
    Source_DisplayTextStartsWith: string;
    Source_DisplayTextEndsWith: string;
    Source_DisplayTextContains: string;
    Source_DisplayTextLike: string;
    Source_DisplayTextBetween: string[];
    Source_DisplayTextIn: string[];
    createResponse() { return new QueryResponse<TD_Main>(); }
    getTypeName() { return "TD_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_NotesQuery extends QueryDb<TD_Notes> implements IReturn<QueryResponse<TD_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    TD_Main_RecID: string;
    TD_Main_RecIDStartsWith: string;
    TD_Main_RecIDEndsWith: string;
    TD_Main_RecIDContains: string;
    TD_Main_RecIDLike: string;
    TD_Main_RecIDBetween: string[];
    TD_Main_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<TD_Notes>(); }
    getTypeName() { return "TD_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_PrioritiesQuery extends QueryDb<TD_Priorities> implements IReturn<QueryResponse<TD_Priorities>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<TD_Priorities>(); }
    getTypeName() { return "TD_PrioritiesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_SourceTypesQuery extends QueryDb<TD_SourceTypes> implements IReturn<QueryResponse<TD_SourceTypes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ClassName: string;
    ClassNameStartsWith: string;
    ClassNameEndsWith: string;
    ClassNameContains: string;
    ClassNameLike: string;
    ClassNameBetween: string[];
    ClassNameIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<TD_SourceTypes>(); }
    getTypeName() { return "TD_SourceTypesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_StatusesQuery extends QueryDb<TD_Statuses> implements IReturn<QueryResponse<TD_Statuses>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    PercentageComplete: number;
    PercentageCompleteGreaterThanOrEqualTo: number;
    PercentageCompleteGreaterThan: number;
    PercentageCompleteLessThan: number;
    PercentageCompleteLessThanOrEqualTo: number;
    PercentageCompleteNotEqualTo: number;
    PercentageCompleteBetween: number[];
    PercentageCompleteIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<TD_Statuses>(); }
    getTypeName() { return "TD_StatusesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TD_ToDoTypesQuery extends QueryDb<TD_ToDoTypes> implements IReturn<QueryResponse<TD_ToDoTypes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IsDefault: boolean;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    TD_SourceTypes_RecID: string;
    TD_SourceTypes_RecIDStartsWith: string;
    TD_SourceTypes_RecIDEndsWith: string;
    TD_SourceTypes_RecIDContains: string;
    TD_SourceTypes_RecIDLike: string;
    TD_SourceTypes_RecIDBetween: string[];
    TD_SourceTypes_RecIDIn: string[];
    createResponse() { return new QueryResponse<TD_ToDoTypes>(); }
    getTypeName() { return "TD_ToDoTypesQuery"; }
}

// @Route("/Queries/TX_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class TX_MainQuery extends QueryDb<TX_Main> implements IReturn<QueryResponse<TX_Main>>
{
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    S1: string;
    S1StartsWith: string;
    S1EndsWith: string;
    S1Contains: string;
    S1Like: string;
    S1Between: string[];
    S1In: string[];
    S2: string;
    S2StartsWith: string;
    S2EndsWith: string;
    S2Contains: string;
    S2Like: string;
    S2Between: string[];
    S2In: string[];
    S3: string;
    S3StartsWith: string;
    S3EndsWith: string;
    S3Contains: string;
    S3Like: string;
    S3Between: string[];
    S3In: string[];
    S4: string;
    S4StartsWith: string;
    S4EndsWith: string;
    S4Contains: string;
    S4Like: string;
    S4Between: string[];
    S4In: string[];
    DefaultRate: number;
    DefaultRateGreaterThanOrEqualTo: number;
    DefaultRateGreaterThan: number;
    DefaultRateLessThan: number;
    DefaultRateLessThanOrEqualTo: number;
    DefaultRateNotEqualTo: number;
    DefaultRateBetween: number[];
    DefaultRateIn: number[];
    GSTTaxGroup: number;
    GSTTaxGroupGreaterThanOrEqualTo: number;
    GSTTaxGroupGreaterThan: number;
    GSTTaxGroupLessThan: number;
    GSTTaxGroupLessThanOrEqualTo: number;
    GSTTaxGroupNotEqualTo: number;
    GSTTaxGroupBetween: number[];
    GSTTaxGroupIn: number[];
    DefaultRateInGroup: boolean;
    BASCode: number;
    BASCodeGreaterThanOrEqualTo: number;
    BASCodeGreaterThan: number;
    BASCodeLessThan: number;
    BASCodeLessThanOrEqualTo: number;
    BASCodeNotEqualTo: number;
    BASCodeBetween: number[];
    BASCodeIn: number[];
    Disabled: boolean;
    createResponse() { return new QueryResponse<TX_Main>(); }
    getTypeName() { return "TX_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_AllWarehousesQuery extends QueryDb<v_AllWarehouses> implements IReturn<QueryResponse<v_AllWarehouses>>
{
    Warehouse: string;
    WarehouseStartsWith: string;
    WarehouseEndsWith: string;
    WarehouseContains: string;
    WarehouseLike: string;
    WarehouseBetween: string[];
    WarehouseIn: string[];
    createResponse() { return new QueryResponse<v_AllWarehouses>(); }
    getTypeName() { return "v_AllWarehousesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_APIKeyQuery extends QueryDb<v_APIKey> implements IReturn<QueryResponse<v_APIKey>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    PrincipalID: string;
    PrincipalIDStartsWith: string;
    PrincipalIDEndsWith: string;
    PrincipalIDContains: string;
    PrincipalIDLike: string;
    PrincipalIDBetween: string[];
    PrincipalIDIn: string[];
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    ExpiryDateTime: string;
    ExpiryDateTimeGreaterThanOrEqualTo: string;
    ExpiryDateTimeGreaterThan: string;
    ExpiryDateTimeLessThan: string;
    ExpiryDateTimeLessThanOrEqualTo: string;
    ExpiryDateTimeNotEqualTo: string;
    ExpiryDateTimeBetween: string[];
    ExpiryDateTimeIn: string[];
    CancelledDateTime: string;
    CancelledDateTimeGreaterThanOrEqualTo: string;
    CancelledDateTimeGreaterThan: string;
    CancelledDateTimeLessThan: string;
    CancelledDateTimeLessThanOrEqualTo: string;
    CancelledDateTimeNotEqualTo: string;
    CancelledDateTimeBetween: string[];
    CancelledDateTimeIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    KeyValue: string;
    KeyValueStartsWith: string;
    KeyValueEndsWith: string;
    KeyValueContains: string;
    KeyValueLike: string;
    KeyValueBetween: string[];
    KeyValueIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    KeyType: string;
    KeyTypeStartsWith: string;
    KeyTypeEndsWith: string;
    KeyTypeContains: string;
    KeyTypeLike: string;
    KeyTypeBetween: string[];
    KeyTypeIn: string[];
    createResponse() { return new QueryResponse<v_APIKey>(); }
    getTypeName() { return "v_APIKeyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_BASCodeNumQuery extends QueryDb<V_BASCodeNum> implements IReturn<QueryResponse<V_BASCodeNum>>
{
    transcode3id: string;
    transcode3idStartsWith: string;
    transcode3idEndsWith: string;
    transcode3idContains: string;
    transcode3idLike: string;
    transcode3idBetween: string[];
    transcode3idIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    createResponse() { return new QueryResponse<V_BASCodeNum>(); }
    getTypeName() { return "V_BASCodeNumQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_BOMSoldQuery extends QueryDb<V_BOMSold> implements IReturn<QueryResponse<V_BOMSold>>
{
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    BOM_QuantitySold: number;
    BOM_QuantitySoldGreaterThanOrEqualTo: number;
    BOM_QuantitySoldGreaterThan: number;
    BOM_QuantitySoldLessThan: number;
    BOM_QuantitySoldLessThanOrEqualTo: number;
    BOM_QuantitySoldNotEqualTo: number;
    BOM_QuantitySoldBetween: number[];
    BOM_QuantitySoldIn: number[];
    createResponse() { return new QueryResponse<V_BOMSold>(); }
    getTypeName() { return "V_BOMSoldQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_CR_AgedTransQuery extends QueryDb<V_CR_AgedTrans> implements IReturn<QueryResponse<V_CR_AgedTrans>>
{
    TransID: string;
    TransIDStartsWith: string;
    TransIDEndsWith: string;
    TransIDContains: string;
    TransIDLike: string;
    TransIDBetween: string[];
    TransIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    DebitCredit: boolean;
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    InvRemitNo: string;
    InvRemitNoStartsWith: string;
    InvRemitNoEndsWith: string;
    InvRemitNoContains: string;
    InvRemitNoLike: string;
    InvRemitNoBetween: string[];
    InvRemitNoIn: string[];
    AllocatedAmount: number;
    AllocatedAmountGreaterThanOrEqualTo: number;
    AllocatedAmountGreaterThan: number;
    AllocatedAmountLessThan: number;
    AllocatedAmountLessThanOrEqualTo: number;
    AllocatedAmountNotEqualTo: number;
    AllocatedAmountBetween: number[];
    AllocatedAmountIn: number[];
    Source: string;
    SourceStartsWith: string;
    SourceEndsWith: string;
    SourceContains: string;
    SourceLike: string;
    SourceBetween: string[];
    SourceIn: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    createResponse() { return new QueryResponse<V_CR_AgedTrans>(); }
    getTypeName() { return "V_CR_AgedTransQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_CR_PurchaseShipmentsQuery extends QueryDb<V_CR_PurchaseShipments> implements IReturn<QueryResponse<V_CR_PurchaseShipments>>
{
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    Type: string;
    TypeStartsWith: string;
    TypeEndsWith: string;
    TypeContains: string;
    TypeLike: string;
    TypeBetween: string[];
    TypeIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    PartDescription: string;
    PartDescriptionStartsWith: string;
    PartDescriptionEndsWith: string;
    PartDescriptionContains: string;
    PartDescriptionLike: string;
    PartDescriptionBetween: string[];
    PartDescriptionIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    IncTotal: number;
    IncTotalGreaterThanOrEqualTo: number;
    IncTotalGreaterThan: number;
    IncTotalLessThan: number;
    IncTotalLessThanOrEqualTo: number;
    IncTotalNotEqualTo: number;
    IncTotalBetween: number[];
    IncTotalIn: number[];
    CurrencyRate: number;
    CurrencyRateGreaterThanOrEqualTo: number;
    CurrencyRateGreaterThan: number;
    CurrencyRateLessThan: number;
    CurrencyRateLessThanOrEqualTo: number;
    CurrencyRateNotEqualTo: number;
    CurrencyRateBetween: number[];
    CurrencyRateIn: number[];
    FxUnitCost: number;
    FxUnitCostGreaterThanOrEqualTo: number;
    FxUnitCostGreaterThan: number;
    FxUnitCostLessThan: number;
    FxUnitCostLessThanOrEqualTo: number;
    FxUnitCostNotEqualTo: number;
    FxUnitCostBetween: number[];
    FxUnitCostIn: number[];
    FxTotalCost: number;
    FxTotalCostGreaterThanOrEqualTo: number;
    FxTotalCostGreaterThan: number;
    FxTotalCostLessThan: number;
    FxTotalCostLessThanOrEqualTo: number;
    FxTotalCostNotEqualTo: number;
    FxTotalCostBetween: number[];
    FxTotalCostIn: number[];
    createResponse() { return new QueryResponse<V_CR_PurchaseShipments>(); }
    getTypeName() { return "V_CR_PurchaseShipmentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_CRGL_ReconciliationQuery extends QueryDb<V_CRGL_Reconciliation> implements IReturn<QueryResponse<V_CRGL_Reconciliation>>
{
    ID: string;
    IDStartsWith: string;
    IDEndsWith: string;
    IDContains: string;
    IDLike: string;
    IDBetween: string[];
    IDIn: string[];
    Accountno: string;
    AccountnoStartsWith: string;
    AccountnoEndsWith: string;
    AccountnoContains: string;
    AccountnoLike: string;
    AccountnoBetween: string[];
    AccountnoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TransDate: string;
    TransDateGreaterThanOrEqualTo: string;
    TransDateGreaterThan: string;
    TransDateLessThan: string;
    TransDateLessThanOrEqualTo: string;
    TransDateNotEqualTo: string;
    TransDateBetween: string[];
    TransDateIn: string[];
    SourceText: string;
    SourceTextStartsWith: string;
    SourceTextEndsWith: string;
    SourceTextContains: string;
    SourceTextLike: string;
    SourceTextBetween: string[];
    SourceTextIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    SourceNum: number;
    SourceNumGreaterThanOrEqualTo: number;
    SourceNumGreaterThan: number;
    SourceNumLessThan: number;
    SourceNumLessThanOrEqualTo: number;
    SourceNumNotEqualTo: number;
    SourceNumBetween: number[];
    SourceNumIn: number[];
    SubTypeNum: number;
    SubTypeNumGreaterThanOrEqualTo: number;
    SubTypeNumGreaterThan: number;
    SubTypeNumLessThan: number;
    SubTypeNumLessThanOrEqualTo: number;
    SubTypeNumNotEqualTo: number;
    SubTypeNumBetween: number[];
    SubTypeNumIn: number[];
    Value: number;
    ValueGreaterThanOrEqualTo: number;
    ValueGreaterThan: number;
    ValueLessThan: number;
    ValueLessThanOrEqualTo: number;
    ValueNotEqualTo: number;
    ValueBetween: number[];
    ValueIn: number[];
    DebitCredit: boolean;
    ReportType: string;
    ReportTypeStartsWith: string;
    ReportTypeEndsWith: string;
    ReportTypeContains: string;
    ReportTypeLike: string;
    ReportTypeBetween: string[];
    ReportTypeIn: string[];
    createResponse() { return new QueryResponse<V_CRGL_Reconciliation>(); }
    getTypeName() { return "V_CRGL_ReconciliationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_DBGL_ReconciliationQuery extends QueryDb<V_DBGL_Reconciliation> implements IReturn<QueryResponse<V_DBGL_Reconciliation>>
{
    ID: string;
    IDStartsWith: string;
    IDEndsWith: string;
    IDContains: string;
    IDLike: string;
    IDBetween: string[];
    IDIn: string[];
    Accountno: string;
    AccountnoStartsWith: string;
    AccountnoEndsWith: string;
    AccountnoContains: string;
    AccountnoLike: string;
    AccountnoBetween: string[];
    AccountnoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TransDate: string;
    TransDateGreaterThanOrEqualTo: string;
    TransDateGreaterThan: string;
    TransDateLessThan: string;
    TransDateLessThanOrEqualTo: string;
    TransDateNotEqualTo: string;
    TransDateBetween: string[];
    TransDateIn: string[];
    SourceText: string;
    SourceTextStartsWith: string;
    SourceTextEndsWith: string;
    SourceTextContains: string;
    SourceTextLike: string;
    SourceTextBetween: string[];
    SourceTextIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    SourceNum: number;
    SourceNumGreaterThanOrEqualTo: number;
    SourceNumGreaterThan: number;
    SourceNumLessThan: number;
    SourceNumLessThanOrEqualTo: number;
    SourceNumNotEqualTo: number;
    SourceNumBetween: number[];
    SourceNumIn: number[];
    SubTypeNum: number;
    SubTypeNumGreaterThanOrEqualTo: number;
    SubTypeNumGreaterThan: number;
    SubTypeNumLessThan: number;
    SubTypeNumLessThanOrEqualTo: number;
    SubTypeNumNotEqualTo: number;
    SubTypeNumBetween: number[];
    SubTypeNumIn: number[];
    Value: number;
    ValueGreaterThanOrEqualTo: number;
    ValueGreaterThan: number;
    ValueLessThan: number;
    ValueLessThanOrEqualTo: number;
    ValueNotEqualTo: number;
    ValueBetween: number[];
    ValueIn: number[];
    DebitCredit: boolean;
    ReportType: string;
    ReportTypeStartsWith: string;
    ReportTypeEndsWith: string;
    ReportTypeContains: string;
    ReportTypeLike: string;
    ReportTypeBetween: string[];
    ReportTypeIn: string[];
    createResponse() { return new QueryResponse<V_DBGL_Reconciliation>(); }
    getTypeName() { return "V_DBGL_ReconciliationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_DBStatement_TransQuery extends QueryDb<V_DBStatement_Trans> implements IReturn<QueryResponse<V_DBStatement_Trans>>
{
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebitCredit: boolean;
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    InvRemitNo: string;
    InvRemitNoStartsWith: string;
    InvRemitNoEndsWith: string;
    InvRemitNoContains: string;
    InvRemitNoLike: string;
    InvRemitNoBetween: string[];
    InvRemitNoIn: string[];
    DiscountedAmount: number;
    DiscountedAmountGreaterThanOrEqualTo: number;
    DiscountedAmountGreaterThan: number;
    DiscountedAmountLessThan: number;
    DiscountedAmountLessThanOrEqualTo: number;
    DiscountedAmountNotEqualTo: number;
    DiscountedAmountBetween: number[];
    DiscountedAmountIn: number[];
    AllocatedAmount: number;
    AllocatedAmountGreaterThanOrEqualTo: number;
    AllocatedAmountGreaterThan: number;
    AllocatedAmountLessThan: number;
    AllocatedAmountLessThanOrEqualTo: number;
    AllocatedAmountNotEqualTo: number;
    AllocatedAmountBetween: number[];
    AllocatedAmountIn: number[];
    SubType: number;
    SubTypeGreaterThanOrEqualTo: number;
    SubTypeGreaterThan: number;
    SubTypeLessThan: number;
    SubTypeLessThanOrEqualTo: number;
    SubTypeNotEqualTo: number;
    SubTypeBetween: number[];
    SubTypeIn: number[];
    AgedOut: boolean;
    TransID: string;
    TransIDStartsWith: string;
    TransIDEndsWith: string;
    TransIDContains: string;
    TransIDLike: string;
    TransIDBetween: string[];
    TransIDIn: string[];
    createResponse() { return new QueryResponse<V_DBStatement_Trans>(); }
    getTypeName() { return "V_DBStatement_TransQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_DBStatement_TransAsAtQuery extends QueryDb<V_DBStatement_TransAsAt> implements IReturn<QueryResponse<V_DBStatement_TransAsAt>>
{
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    TransID: string;
    TransIDStartsWith: string;
    TransIDEndsWith: string;
    TransIDContains: string;
    TransIDLike: string;
    TransIDBetween: string[];
    TransIDIn: string[];
    DebitCredit: boolean;
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    InvRemitNo: string;
    InvRemitNoStartsWith: string;
    InvRemitNoEndsWith: string;
    InvRemitNoContains: string;
    InvRemitNoLike: string;
    InvRemitNoBetween: string[];
    InvRemitNoIn: string[];
    DiscountedAmount: number;
    DiscountedAmountGreaterThanOrEqualTo: number;
    DiscountedAmountGreaterThan: number;
    DiscountedAmountLessThan: number;
    DiscountedAmountLessThanOrEqualTo: number;
    DiscountedAmountNotEqualTo: number;
    DiscountedAmountBetween: number[];
    DiscountedAmountIn: number[];
    AllocatedAmount: number;
    AllocatedAmountGreaterThanOrEqualTo: number;
    AllocatedAmountGreaterThan: number;
    AllocatedAmountLessThan: number;
    AllocatedAmountLessThanOrEqualTo: number;
    AllocatedAmountNotEqualTo: number;
    AllocatedAmountBetween: number[];
    AllocatedAmountIn: number[];
    SubType: number;
    SubTypeGreaterThanOrEqualTo: number;
    SubTypeGreaterThan: number;
    SubTypeLessThan: number;
    SubTypeLessThanOrEqualTo: number;
    SubTypeNotEqualTo: number;
    SubTypeBetween: number[];
    SubTypeIn: number[];
    AgedOut: boolean;
    createResponse() { return new QueryResponse<V_DBStatement_TransAsAt>(); }
    getTypeName() { return "V_DBStatement_TransAsAtQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_DebtorBalanceInformationQuery extends QueryDb<v_DebtorBalanceInformation> implements IReturn<QueryResponse<v_DebtorBalanceInformation>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    Balance: number;
    BalanceGreaterThanOrEqualTo: number;
    BalanceGreaterThan: number;
    BalanceLessThan: number;
    BalanceLessThanOrEqualTo: number;
    BalanceNotEqualTo: number;
    BalanceBetween: number[];
    BalanceIn: number[];
    Source: string;
    SourceStartsWith: string;
    SourceEndsWith: string;
    SourceContains: string;
    SourceLike: string;
    SourceBetween: string[];
    SourceIn: string[];
    createResponse() { return new QueryResponse<v_DebtorBalanceInformation>(); }
    getTypeName() { return "v_DebtorBalanceInformationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_DebtorsQuery extends QueryDb<v_Debtors> implements IReturn<QueryResponse<v_Debtors>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorAccountnoAndName: string;
    DebtorAccountnoAndNameStartsWith: string;
    DebtorAccountnoAndNameEndsWith: string;
    DebtorAccountnoAndNameContains: string;
    DebtorAccountnoAndNameLike: string;
    DebtorAccountnoAndNameBetween: string[];
    DebtorAccountnoAndNameIn: string[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    createResponse() { return new QueryResponse<v_Debtors>(); }
    getTypeName() { return "v_DebtorsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_DebtorTransactionSourcesQuery extends QueryDb<v_DebtorTransactionSources> implements IReturn<QueryResponse<v_DebtorTransactionSources>>
{
    SourceNo: number;
    SourceNoGreaterThanOrEqualTo: number;
    SourceNoGreaterThan: number;
    SourceNoLessThan: number;
    SourceNoLessThanOrEqualTo: number;
    SourceNoNotEqualTo: number;
    SourceNoBetween: number[];
    SourceNoIn: number[];
    SourceName: string;
    SourceNameStartsWith: string;
    SourceNameEndsWith: string;
    SourceNameContains: string;
    SourceNameLike: string;
    SourceNameBetween: string[];
    SourceNameIn: string[];
    createResponse() { return new QueryResponse<v_DebtorTransactionSources>(); }
    getTypeName() { return "v_DebtorTransactionSourcesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_G_CategoryQuery extends QueryDb<V_G_Category> implements IReturn<QueryResponse<V_G_Category>>
{
    GLCategoryID: string;
    GLCategoryIDStartsWith: string;
    GLCategoryIDEndsWith: string;
    GLCategoryIDContains: string;
    GLCategoryIDLike: string;
    GLCategoryIDBetween: string[];
    GLCategoryIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Group1: string;
    Group1StartsWith: string;
    Group1EndsWith: string;
    Group1Contains: string;
    Group1Like: string;
    Group1Between: string[];
    Group1In: string[];
    ExpSign: string;
    ExpSignStartsWith: string;
    ExpSignEndsWith: string;
    ExpSignContains: string;
    ExpSignLike: string;
    ExpSignBetween: string[];
    ExpSignIn: string[];
    AccType: string;
    AccTypeStartsWith: string;
    AccTypeEndsWith: string;
    AccTypeContains: string;
    AccTypeLike: string;
    AccTypeBetween: string[];
    AccTypeIn: string[];
    Group2: string;
    Group2StartsWith: string;
    Group2EndsWith: string;
    Group2Contains: string;
    Group2Like: string;
    Group2Between: string[];
    Group2In: string[];
    createResponse() { return new QueryResponse<V_G_Category>(); }
    getTypeName() { return "V_G_CategoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_GL_LedgerQuery extends QueryDb<v_GL_Ledger> implements IReturn<QueryResponse<v_GL_Ledger>>
{
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    GLCategoryID: string;
    GLCategoryIDStartsWith: string;
    GLCategoryIDEndsWith: string;
    GLCategoryIDContains: string;
    GLCategoryIDLike: string;
    GLCategoryIDBetween: string[];
    GLCategoryIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Seg1: string;
    Seg1StartsWith: string;
    Seg1EndsWith: string;
    Seg1Contains: string;
    Seg1Like: string;
    Seg1Between: string[];
    Seg1In: string[];
    Seg2: string;
    Seg2StartsWith: string;
    Seg2EndsWith: string;
    Seg2Contains: string;
    Seg2Like: string;
    Seg2Between: string[];
    Seg2In: string[];
    Seg3: string;
    Seg3StartsWith: string;
    Seg3EndsWith: string;
    Seg3Contains: string;
    Seg3Like: string;
    Seg3Between: string[];
    Seg3In: string[];
    Seg4: string;
    Seg4StartsWith: string;
    Seg4EndsWith: string;
    Seg4Contains: string;
    Seg4Like: string;
    Seg4Between: string[];
    Seg4In: string[];
    Seg5: string;
    Seg5StartsWith: string;
    Seg5EndsWith: string;
    Seg5Contains: string;
    Seg5Like: string;
    Seg5Between: string[];
    Seg5In: string[];
    Seg6: string;
    Seg6StartsWith: string;
    Seg6EndsWith: string;
    Seg6Contains: string;
    Seg6Like: string;
    Seg6Between: string[];
    Seg6In: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastYearOpen: number;
    LastYearOpenGreaterThanOrEqualTo: number;
    LastYearOpenGreaterThan: number;
    LastYearOpenLessThan: number;
    LastYearOpenLessThanOrEqualTo: number;
    LastYearOpenNotEqualTo: number;
    LastYearOpenBetween: number[];
    LastYearOpenIn: number[];
    CurrYearOpen: number;
    CurrYearOpenGreaterThanOrEqualTo: number;
    CurrYearOpenGreaterThan: number;
    CurrYearOpenLessThan: number;
    CurrYearOpenLessThanOrEqualTo: number;
    CurrYearOpenNotEqualTo: number;
    CurrYearOpenBetween: number[];
    CurrYearOpenIn: number[];
    CurrBal: number;
    CurrBalGreaterThanOrEqualTo: number;
    CurrBalGreaterThan: number;
    CurrBalLessThan: number;
    CurrBalLessThanOrEqualTo: number;
    CurrBalNotEqualTo: number;
    CurrBalBetween: number[];
    CurrBalIn: number[];
    ExpSign: number;
    ExpSignGreaterThanOrEqualTo: number;
    ExpSignGreaterThan: number;
    ExpSignLessThan: number;
    ExpSignLessThanOrEqualTo: number;
    ExpSignNotEqualTo: number;
    ExpSignBetween: Uint8Array;
    ExpSignIn: Uint8Array;
    AccClass: number;
    AccClassGreaterThanOrEqualTo: number;
    AccClassGreaterThan: number;
    AccClassLessThan: number;
    AccClassLessThanOrEqualTo: number;
    AccClassNotEqualTo: number;
    AccClassBetween: number[];
    AccClassIn: number[];
    DistributionAcc: boolean;
    ShortCut: string;
    ShortCutStartsWith: string;
    ShortCutEndsWith: string;
    ShortCutContains: string;
    ShortCutLike: string;
    ShortCutBetween: string[];
    ShortCutIn: string[];
    PostingAcc: number;
    PostingAccGreaterThanOrEqualTo: number;
    PostingAccGreaterThan: number;
    PostingAccLessThan: number;
    PostingAccLessThanOrEqualTo: number;
    PostingAccNotEqualTo: number;
    PostingAccBetween: number[];
    PostingAccIn: number[];
    ParentAccNo: string;
    ParentAccNoStartsWith: string;
    ParentAccNoEndsWith: string;
    ParentAccNoContains: string;
    ParentAccNoLike: string;
    ParentAccNoBetween: string[];
    ParentAccNoIn: string[];
    UseTransCode1: boolean;
    UseTransCode2: boolean;
    UseTransCode3: boolean;
    UseStaffCode: boolean;
    ClearingAccountID: string;
    ClearingAccountIDStartsWith: string;
    ClearingAccountIDEndsWith: string;
    ClearingAccountIDContains: string;
    ClearingAccountIDLike: string;
    ClearingAccountIDBetween: string[];
    ClearingAccountIDIn: string[];
    Details: string;
    DetailsStartsWith: string;
    DetailsEndsWith: string;
    DetailsContains: string;
    DetailsLike: string;
    DetailsBetween: string[];
    DetailsIn: string[];
    IsEnabled: boolean;
    AccType: number;
    AccTypeGreaterThanOrEqualTo: number;
    AccTypeGreaterThan: number;
    AccTypeLessThan: number;
    AccTypeLessThanOrEqualTo: number;
    AccTypeNotEqualTo: number;
    AccTypeBetween: Uint8Array;
    AccTypeIn: Uint8Array;
    createResponse() { return new QueryResponse<v_GL_Ledger>(); }
    getTypeName() { return "v_GL_LedgerQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_GL_Segment1Query extends QueryDb<v_GL_Segment1> implements IReturn<QueryResponse<v_GL_Segment1>>
{
    Seg1: string;
    Seg1StartsWith: string;
    Seg1EndsWith: string;
    Seg1Contains: string;
    Seg1Like: string;
    Seg1Between: string[];
    Seg1In: string[];
    createResponse() { return new QueryResponse<v_GL_Segment1>(); }
    getTypeName() { return "v_GL_Segment1Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_GL_Segment2Query extends QueryDb<v_GL_Segment2> implements IReturn<QueryResponse<v_GL_Segment2>>
{
    Seg2: string;
    Seg2StartsWith: string;
    Seg2EndsWith: string;
    Seg2Contains: string;
    Seg2Like: string;
    Seg2Between: string[];
    Seg2In: string[];
    createResponse() { return new QueryResponse<v_GL_Segment2>(); }
    getTypeName() { return "v_GL_Segment2Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_GL_Segment3Query extends QueryDb<v_GL_Segment3> implements IReturn<QueryResponse<v_GL_Segment3>>
{
    Seg3: string;
    Seg3StartsWith: string;
    Seg3EndsWith: string;
    Seg3Contains: string;
    Seg3Like: string;
    Seg3Between: string[];
    Seg3In: string[];
    createResponse() { return new QueryResponse<v_GL_Segment3>(); }
    getTypeName() { return "v_GL_Segment3Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_GL_Segment4Query extends QueryDb<v_GL_Segment4> implements IReturn<QueryResponse<v_GL_Segment4>>
{
    Seg4: string;
    Seg4StartsWith: string;
    Seg4EndsWith: string;
    Seg4Contains: string;
    Seg4Like: string;
    Seg4Between: string[];
    Seg4In: string[];
    createResponse() { return new QueryResponse<v_GL_Segment4>(); }
    getTypeName() { return "v_GL_Segment4Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_GL_Segment5Query extends QueryDb<v_GL_Segment5> implements IReturn<QueryResponse<v_GL_Segment5>>
{
    Seg5: string;
    Seg5StartsWith: string;
    Seg5EndsWith: string;
    Seg5Contains: string;
    Seg5Like: string;
    Seg5Between: string[];
    Seg5In: string[];
    createResponse() { return new QueryResponse<v_GL_Segment5>(); }
    getTypeName() { return "v_GL_Segment5Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_GL_Segment6Query extends QueryDb<v_GL_Segment6> implements IReturn<QueryResponse<v_GL_Segment6>>
{
    Seg6: string;
    Seg6StartsWith: string;
    Seg6EndsWith: string;
    Seg6Contains: string;
    Seg6Like: string;
    Seg6Between: string[];
    Seg6In: string[];
    createResponse() { return new QueryResponse<v_GL_Segment6>(); }
    getTypeName() { return "v_GL_Segment6Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_GL_TransactionsQuery extends QueryDb<v_GL_Transactions> implements IReturn<QueryResponse<v_GL_Transactions>>
{
    Seg1: string;
    Seg1StartsWith: string;
    Seg1EndsWith: string;
    Seg1Contains: string;
    Seg1Like: string;
    Seg1Between: string[];
    Seg1In: string[];
    Seg2: string;
    Seg2StartsWith: string;
    Seg2EndsWith: string;
    Seg2Contains: string;
    Seg2Like: string;
    Seg2Between: string[];
    Seg2In: string[];
    Seg3: string;
    Seg3StartsWith: string;
    Seg3EndsWith: string;
    Seg3Contains: string;
    Seg3Like: string;
    Seg3Between: string[];
    Seg3In: string[];
    Seg4: string;
    Seg4StartsWith: string;
    Seg4EndsWith: string;
    Seg4Contains: string;
    Seg4Like: string;
    Seg4Between: string[];
    Seg4In: string[];
    Seg5: string;
    Seg5StartsWith: string;
    Seg5EndsWith: string;
    Seg5Contains: string;
    Seg5Like: string;
    Seg5Between: string[];
    Seg5In: string[];
    Seg6: string;
    Seg6StartsWith: string;
    Seg6EndsWith: string;
    Seg6Contains: string;
    Seg6Like: string;
    Seg6Between: string[];
    Seg6In: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    TransPostDateTime: string;
    TransPostDateTimeGreaterThanOrEqualTo: string;
    TransPostDateTimeGreaterThan: string;
    TransPostDateTimeLessThan: string;
    TransPostDateTimeLessThanOrEqualTo: string;
    TransPostDateTimeNotEqualTo: string;
    TransPostDateTimeBetween: string[];
    TransPostDateTimeIn: string[];
    Category: string;
    CategoryStartsWith: string;
    CategoryEndsWith: string;
    CategoryContains: string;
    CategoryLike: string;
    CategoryBetween: string[];
    CategoryIn: string[];
    AccountDescription: string;
    AccountDescriptionStartsWith: string;
    AccountDescriptionEndsWith: string;
    AccountDescriptionContains: string;
    AccountDescriptionLike: string;
    AccountDescriptionBetween: string[];
    AccountDescriptionIn: string[];
    createResponse() { return new QueryResponse<v_GL_Transactions>(); }
    getTypeName() { return "v_GL_TransactionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_INV_AssemblyQuery extends QueryDb<V_INV_Assembly> implements IReturn<QueryResponse<V_INV_Assembly>>
{
    AssemblyNO: string;
    AssemblyNOStartsWith: string;
    AssemblyNOEndsWith: string;
    AssemblyNOContains: string;
    AssemblyNOLike: string;
    AssemblyNOBetween: string[];
    AssemblyNOIn: string[];
    Date: string;
    DateStartsWith: string;
    DateEndsWith: string;
    DateContains: string;
    DateLike: string;
    DateBetween: string[];
    DateIn: string[];
    AssembleTo: string;
    AssembleToStartsWith: string;
    AssembleToEndsWith: string;
    AssembleToContains: string;
    AssembleToLike: string;
    AssembleToBetween: string[];
    AssembleToIn: string[];
    AssemblyType: string;
    AssemblyTypeStartsWith: string;
    AssemblyTypeEndsWith: string;
    AssemblyTypeContains: string;
    AssemblyTypeLike: string;
    AssemblyTypeBetween: string[];
    AssemblyTypeIn: string[];
    AssembleFrom: string;
    AssembleFromStartsWith: string;
    AssembleFromEndsWith: string;
    AssembleFromContains: string;
    AssembleFromLike: string;
    AssembleFromBetween: string[];
    AssembleFromIn: string[];
    INAssemblyHistoryID: string;
    INAssemblyHistoryIDStartsWith: string;
    INAssemblyHistoryIDEndsWith: string;
    INAssemblyHistoryIDContains: string;
    INAssemblyHistoryIDLike: string;
    INAssemblyHistoryIDBetween: string[];
    INAssemblyHistoryIDIn: string[];
    INAssemblyLineID: string;
    INAssemblyLineIDStartsWith: string;
    INAssemblyLineIDEndsWith: string;
    INAssemblyLineIDContains: string;
    INAssemblyLineIDLike: string;
    INAssemblyLineIDBetween: string[];
    INAssemblyLineIDIn: string[];
    createResponse() { return new QueryResponse<V_INV_Assembly>(); }
    getTypeName() { return "V_INV_AssemblyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_INV_PIQuery extends QueryDb<V_INV_PI> implements IReturn<QueryResponse<V_INV_PI>>
{
    InvoiceNO: string;
    InvoiceNOStartsWith: string;
    InvoiceNOEndsWith: string;
    InvoiceNOContains: string;
    InvoiceNOLike: string;
    InvoiceNOBetween: string[];
    InvoiceNOIn: string[];
    SuppPart: string;
    SuppPartStartsWith: string;
    SuppPartEndsWith: string;
    SuppPartContains: string;
    SuppPartLike: string;
    SuppPartBetween: string[];
    SuppPartIn: string[];
    Date: string;
    DateStartsWith: string;
    DateEndsWith: string;
    DateContains: string;
    DateLike: string;
    DateBetween: string[];
    DateIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    BinLoc: string;
    BinLocStartsWith: string;
    BinLocEndsWith: string;
    BinLocContains: string;
    BinLocLike: string;
    BinLocBetween: string[];
    BinLocIn: string[];
    PI_LinesDetailsID: string;
    PI_LinesDetailsIDStartsWith: string;
    PI_LinesDetailsIDEndsWith: string;
    PI_LinesDetailsIDContains: string;
    PI_LinesDetailsIDLike: string;
    PI_LinesDetailsIDBetween: string[];
    PI_LinesDetailsIDIn: string[];
    createResponse() { return new QueryResponse<V_INV_PI>(); }
    getTypeName() { return "V_INV_PIQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_INV_ReceivalQuery extends QueryDb<V_INV_Receival> implements IReturn<QueryResponse<V_INV_Receival>>
{
    SlipNo: string;
    SlipNoStartsWith: string;
    SlipNoEndsWith: string;
    SlipNoContains: string;
    SlipNoLike: string;
    SlipNoBetween: string[];
    SlipNoIn: string[];
    Date: string;
    DateStartsWith: string;
    DateEndsWith: string;
    DateContains: string;
    DateLike: string;
    DateBetween: string[];
    DateIn: string[];
    SuppPart: string;
    SuppPartStartsWith: string;
    SuppPartEndsWith: string;
    SuppPartContains: string;
    SuppPartLike: string;
    SuppPartBetween: string[];
    SuppPartIn: string[];
    AccountNO: string;
    AccountNOStartsWith: string;
    AccountNOEndsWith: string;
    AccountNOContains: string;
    AccountNOLike: string;
    AccountNOBetween: string[];
    AccountNOIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    createResponse() { return new QueryResponse<V_INV_Receival>(); }
    getTypeName() { return "V_INV_ReceivalQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_Inv_SalesQuery extends QueryDb<V_Inv_Sales> implements IReturn<QueryResponse<V_Inv_Sales>>
{
    FullInvNo: string;
    FullInvNoStartsWith: string;
    FullInvNoEndsWith: string;
    FullInvNoContains: string;
    FullInvNoLike: string;
    FullInvNoBetween: string[];
    FullInvNoIn: string[];
    Date: string;
    DateStartsWith: string;
    DateEndsWith: string;
    DateContains: string;
    DateLike: string;
    DateBetween: string[];
    DateIn: string[];
    orderno: string;
    ordernoStartsWith: string;
    ordernoEndsWith: string;
    ordernoContains: string;
    ordernoLike: string;
    ordernoBetween: string[];
    ordernoIn: string[];
    Accountno: string;
    AccountnoStartsWith: string;
    AccountnoEndsWith: string;
    AccountnoContains: string;
    AccountnoLike: string;
    AccountnoBetween: string[];
    AccountnoIn: string[];
    QtyOrd: string;
    QtyOrdStartsWith: string;
    QtyOrdEndsWith: string;
    QtyOrdContains: string;
    QtyOrdLike: string;
    QtyOrdBetween: string[];
    QtyOrdIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    createResponse() { return new QueryResponse<V_Inv_Sales>(); }
    getTypeName() { return "V_Inv_SalesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_INV_UnProQtyBinQuery extends QueryDb<V_INV_UnProQtyBin> implements IReturn<QueryResponse<V_INV_UnProQtyBin>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    QTY: number;
    QTYGreaterThanOrEqualTo: number;
    QTYGreaterThan: number;
    QTYLessThan: number;
    QTYLessThanOrEqualTo: number;
    QTYNotEqualTo: number;
    QTYBetween: number[];
    QTYIn: number[];
    Value: number;
    ValueGreaterThanOrEqualTo: number;
    ValueGreaterThan: number;
    ValueLessThan: number;
    ValueLessThanOrEqualTo: number;
    ValueNotEqualTo: number;
    ValueBetween: number[];
    ValueIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    createResponse() { return new QueryResponse<V_INV_UnProQtyBin>(); }
    getTypeName() { return "V_INV_UnProQtyBinQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_INV_WHTransferQuery extends QueryDb<V_INV_WHTransfer> implements IReturn<QueryResponse<V_INV_WHTransfer>>
{
    TransferNo: string;
    TransferNoStartsWith: string;
    TransferNoEndsWith: string;
    TransferNoContains: string;
    TransferNoLike: string;
    TransferNoBetween: string[];
    TransferNoIn: string[];
    Date: string;
    DateStartsWith: string;
    DateEndsWith: string;
    DateContains: string;
    DateLike: string;
    DateBetween: string[];
    DateIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    FromWH: string;
    FromWHStartsWith: string;
    FromWHEndsWith: string;
    FromWHContains: string;
    FromWHLike: string;
    FromWHBetween: string[];
    FromWHIn: string[];
    ToWH: string;
    ToWHStartsWith: string;
    ToWHEndsWith: string;
    ToWHContains: string;
    ToWHLike: string;
    ToWHBetween: string[];
    ToWHIn: string[];
    WH_TransferLineID: string;
    WH_TransferLineIDStartsWith: string;
    WH_TransferLineIDEndsWith: string;
    WH_TransferLineIDContains: string;
    WH_TransferLineIDLike: string;
    WH_TransferLineIDBetween: string[];
    WH_TransferLineIDIn: string[];
    WH_TransferLineDetailsID: string;
    WH_TransferLineDetailsIDStartsWith: string;
    WH_TransferLineDetailsIDEndsWith: string;
    WH_TransferLineDetailsIDContains: string;
    WH_TransferLineDetailsIDLike: string;
    WH_TransferLineDetailsIDBetween: string[];
    WH_TransferLineDetailsIDIn: string[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    createResponse() { return new QueryResponse<V_INV_WHTransfer>(); }
    getTypeName() { return "V_INV_WHTransferQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_InventoryQuery extends QueryDb<v_Inventory> implements IReturn<QueryResponse<v_Inventory>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PartNoAndDescription: string;
    PartNoAndDescriptionStartsWith: string;
    PartNoAndDescriptionEndsWith: string;
    PartNoAndDescriptionContains: string;
    PartNoAndDescriptionLike: string;
    PartNoAndDescriptionBetween: string[];
    PartNoAndDescriptionIn: string[];
    Category1ID: string;
    Category1IDStartsWith: string;
    Category1IDEndsWith: string;
    Category1IDContains: string;
    Category1IDLike: string;
    Category1IDBetween: string[];
    Category1IDIn: string[];
    Category2ID: string;
    Category2IDStartsWith: string;
    Category2IDEndsWith: string;
    Category2IDContains: string;
    Category2IDLike: string;
    Category2IDBetween: string[];
    Category2IDIn: string[];
    Category3ID: string;
    Category3IDStartsWith: string;
    Category3IDEndsWith: string;
    Category3IDContains: string;
    Category3IDLike: string;
    Category3IDBetween: string[];
    Category3IDIn: string[];
    Category4ID: string;
    Category4IDStartsWith: string;
    Category4IDEndsWith: string;
    Category4IDContains: string;
    Category4IDLike: string;
    Category4IDBetween: string[];
    Category4IDIn: string[];
    Category5ID: string;
    Category5IDStartsWith: string;
    Category5IDEndsWith: string;
    Category5IDContains: string;
    Category5IDLike: string;
    Category5IDBetween: string[];
    Category5IDIn: string[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    createResponse() { return new QueryResponse<v_Inventory>(); }
    getTypeName() { return "v_InventoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_BackOrdersQuery extends QueryDb<v_JB_BackOrders> implements IReturn<QueryResponse<v_JB_BackOrders>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_BackOrders>(); }
    getTypeName() { return "v_JB_BackOrdersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_CashbookQuery extends QueryDb<v_JB_Cashbook> implements IReturn<QueryResponse<v_JB_Cashbook>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_Cashbook>(); }
    getTypeName() { return "v_JB_CashbookQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_CashbookEstimateTotalsToDateQuery extends QueryDb<v_JB_CashbookEstimateTotalsToDate> implements IReturn<QueryResponse<v_JB_CashbookEstimateTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    DefaultEstimate: number;
    DefaultEstimateGreaterThanOrEqualTo: number;
    DefaultEstimateGreaterThan: number;
    DefaultEstimateLessThan: number;
    DefaultEstimateLessThanOrEqualTo: number;
    DefaultEstimateNotEqualTo: number;
    DefaultEstimateBetween: Uint8Array;
    DefaultEstimateIn: Uint8Array;
    createResponse() { return new QueryResponse<v_JB_CashbookEstimateTotalsToDate>(); }
    getTypeName() { return "v_JB_CashbookEstimateTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_CashbookTotalsToDateQuery extends QueryDb<v_JB_CashbookTotalsToDate> implements IReturn<QueryResponse<v_JB_CashbookTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_CashbookTotalsToDate>(); }
    getTypeName() { return "v_JB_CashbookTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_ChargesToDateQuery extends QueryDb<v_JB_ChargesToDate> implements IReturn<QueryResponse<v_JB_ChargesToDate>>
{
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_ChargesToDate>(); }
    getTypeName() { return "v_JB_ChargesToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_CostsToDateQuery extends QueryDb<v_JB_CostsToDate> implements IReturn<QueryResponse<v_JB_CostsToDate>>
{
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_CostsToDate>(); }
    getTypeName() { return "v_JB_CostsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_CreditNotesQuery extends QueryDb<v_JB_CreditNotes> implements IReturn<QueryResponse<v_JB_CreditNotes>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: string;
    QtyStartsWith: string;
    QtyEndsWith: string;
    QtyContains: string;
    QtyLike: string;
    QtyBetween: string[];
    QtyIn: string[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_CreditNotes>(); }
    getTypeName() { return "v_JB_CreditNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_DefaultEstimateQuery extends QueryDb<v_JB_DefaultEstimate> implements IReturn<QueryResponse<v_JB_DefaultEstimate>>
{
    EstimateCharge: number;
    EstimateChargeGreaterThanOrEqualTo: number;
    EstimateChargeGreaterThan: number;
    EstimateChargeLessThan: number;
    EstimateChargeLessThanOrEqualTo: number;
    EstimateChargeNotEqualTo: number;
    EstimateChargeBetween: number[];
    EstimateChargeIn: number[];
    EstimateCost: number;
    EstimateCostGreaterThanOrEqualTo: number;
    EstimateCostGreaterThan: number;
    EstimateCostLessThan: number;
    EstimateCostLessThanOrEqualTo: number;
    EstimateCostNotEqualTo: number;
    EstimateCostBetween: number[];
    EstimateCostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_DefaultEstimate>(); }
    getTypeName() { return "v_JB_DefaultEstimateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_FinishedGoodsQuery extends QueryDb<v_JB_FinishedGoods> implements IReturn<QueryResponse<v_JB_FinishedGoods>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_FinishedGoods>(); }
    getTypeName() { return "v_JB_FinishedGoodsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_GoodProducedTotalsToDateQuery extends QueryDb<v_JB_GoodProducedTotalsToDate> implements IReturn<QueryResponse<v_JB_GoodProducedTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_GoodProducedTotalsToDate>(); }
    getTypeName() { return "v_JB_GoodProducedTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_GoodsReceivedQuery extends QueryDb<v_JB_GoodsReceived> implements IReturn<QueryResponse<v_JB_GoodsReceived>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_GoodsReceived>(); }
    getTypeName() { return "v_JB_GoodsReceivedQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_GoodsReceivedTotalsToDateQuery extends QueryDb<v_JB_GoodsReceivedTotalsToDate> implements IReturn<QueryResponse<v_JB_GoodsReceivedTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_GoodsReceivedTotalsToDate>(); }
    getTypeName() { return "v_JB_GoodsReceivedTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_GoodsWrittenOnOffTotalsToDateQuery extends QueryDb<v_JB_GoodsWrittenOnOffTotalsToDate> implements IReturn<QueryResponse<v_JB_GoodsWrittenOnOffTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_GoodsWrittenOnOffTotalsToDate>(); }
    getTypeName() { return "v_JB_GoodsWrittenOnOffTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_InvoicedToDateQuery extends QueryDb<v_JB_InvoicedToDate> implements IReturn<QueryResponse<v_JB_InvoicedToDate>>
{
    InvoicedAmount: number;
    InvoicedAmountGreaterThanOrEqualTo: number;
    InvoicedAmountGreaterThan: number;
    InvoicedAmountLessThan: number;
    InvoicedAmountLessThanOrEqualTo: number;
    InvoicedAmountNotEqualTo: number;
    InvoicedAmountBetween: number[];
    InvoicedAmountIn: number[];
    InvoicedCost: number;
    InvoicedCostGreaterThanOrEqualTo: number;
    InvoicedCostGreaterThan: number;
    InvoicedCostLessThan: number;
    InvoicedCostLessThanOrEqualTo: number;
    InvoicedCostNotEqualTo: number;
    InvoicedCostBetween: number[];
    InvoicedCostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_InvoicedToDate>(); }
    getTypeName() { return "v_JB_InvoicedToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_InvoicesQuery extends QueryDb<v_JB_Invoices> implements IReturn<QueryResponse<v_JB_Invoices>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: string;
    QtyStartsWith: string;
    QtyEndsWith: string;
    QtyContains: string;
    QtyLike: string;
    QtyBetween: string[];
    QtyIn: string[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_Invoices>(); }
    getTypeName() { return "v_JB_InvoicesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_InvoiceWrittenOnOffTotalsToDateQuery extends QueryDb<v_JB_InvoiceWrittenOnOffTotalsToDate> implements IReturn<QueryResponse<v_JB_InvoiceWrittenOnOffTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_InvoiceWrittenOnOffTotalsToDate>(); }
    getTypeName() { return "v_JB_InvoiceWrittenOnOffTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_JB_JobCodeSearchQuery extends QueryDb<V_JB_JobCodeSearch> implements IReturn<QueryResponse<V_JB_JobCodeSearch>>
{
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    JobDescription: string;
    JobDescriptionStartsWith: string;
    JobDescriptionEndsWith: string;
    JobDescriptionContains: string;
    JobDescriptionLike: string;
    JobDescriptionBetween: string[];
    JobDescriptionIn: string[];
    CostCentreID: string;
    CostCentreIDStartsWith: string;
    CostCentreIDEndsWith: string;
    CostCentreIDContains: string;
    CostCentreIDLike: string;
    CostCentreIDBetween: string[];
    CostCentreIDIn: string[];
    CostCentreNo: string;
    CostCentreNoStartsWith: string;
    CostCentreNoEndsWith: string;
    CostCentreNoContains: string;
    CostCentreNoLike: string;
    CostCentreNoBetween: string[];
    CostCentreNoIn: string[];
    CostCentreDesc: string;
    CostCentreDescStartsWith: string;
    CostCentreDescEndsWith: string;
    CostCentreDescContains: string;
    CostCentreDescLike: string;
    CostCentreDescBetween: string[];
    CostCentreDescIn: string[];
    StageID: string;
    StageIDStartsWith: string;
    StageIDEndsWith: string;
    StageIDContains: string;
    StageIDLike: string;
    StageIDBetween: string[];
    StageIDIn: string[];
    StageNo: string;
    StageNoStartsWith: string;
    StageNoEndsWith: string;
    StageNoContains: string;
    StageNoLike: string;
    StageNoBetween: string[];
    StageNoIn: string[];
    StageDesc: string;
    StageDescStartsWith: string;
    StageDescEndsWith: string;
    StageDescContains: string;
    StageDescLike: string;
    StageDescBetween: string[];
    StageDescIn: string[];
    createResponse() { return new QueryResponse<V_JB_JobCodeSearch>(); }
    getTypeName() { return "V_JB_JobCodeSearchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_JobsQuery extends QueryDb<v_JB_Jobs> implements IReturn<QueryResponse<v_JB_Jobs>>
{
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Status: string;
    StatusStartsWith: string;
    StatusEndsWith: string;
    StatusContains: string;
    StatusLike: string;
    StatusBetween: string[];
    StatusIn: string[];
    EstEndDate: string;
    EstEndDateGreaterThanOrEqualTo: string;
    EstEndDateGreaterThan: string;
    EstEndDateLessThan: string;
    EstEndDateLessThanOrEqualTo: string;
    EstEndDateNotEqualTo: string;
    EstEndDateBetween: string[];
    EstEndDateIn: string[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    ChargeToDate: number;
    ChargeToDateGreaterThanOrEqualTo: number;
    ChargeToDateGreaterThan: number;
    ChargeToDateLessThan: number;
    ChargeToDateLessThanOrEqualTo: number;
    ChargeToDateNotEqualTo: number;
    ChargeToDateBetween: number[];
    ChargeToDateIn: number[];
    CostToDate: number;
    CostToDateGreaterThanOrEqualTo: number;
    CostToDateGreaterThan: number;
    CostToDateLessThan: number;
    CostToDateLessThanOrEqualTo: number;
    CostToDateNotEqualTo: number;
    CostToDateBetween: number[];
    CostToDateIn: number[];
    LastInvoiceDate: string;
    LastInvoiceDateGreaterThanOrEqualTo: string;
    LastInvoiceDateGreaterThan: string;
    LastInvoiceDateLessThan: string;
    LastInvoiceDateLessThanOrEqualTo: string;
    LastInvoiceDateNotEqualTo: string;
    LastInvoiceDateBetween: string[];
    LastInvoiceDateIn: string[];
    WIPValueCost: number;
    WIPValueCostGreaterThanOrEqualTo: number;
    WIPValueCostGreaterThan: number;
    WIPValueCostLessThan: number;
    WIPValueCostLessThanOrEqualTo: number;
    WIPValueCostNotEqualTo: number;
    WIPValueCostBetween: number[];
    WIPValueCostIn: number[];
    WIPValueCharge: number;
    WIPValueChargeGreaterThanOrEqualTo: number;
    WIPValueChargeGreaterThan: number;
    WIPValueChargeLessThan: number;
    WIPValueChargeLessThanOrEqualTo: number;
    WIPValueChargeNotEqualTo: number;
    WIPValueChargeBetween: number[];
    WIPValueChargeIn: number[];
    EstimateCharge: number;
    EstimateChargeGreaterThanOrEqualTo: number;
    EstimateChargeGreaterThan: number;
    EstimateChargeLessThan: number;
    EstimateChargeLessThanOrEqualTo: number;
    EstimateChargeNotEqualTo: number;
    EstimateChargeBetween: number[];
    EstimateChargeIn: number[];
    InvoicedToDate: number;
    InvoicedToDateGreaterThanOrEqualTo: number;
    InvoicedToDateGreaterThan: number;
    InvoicedToDateLessThan: number;
    InvoicedToDateLessThanOrEqualTo: number;
    InvoicedToDateNotEqualTo: number;
    InvoicedToDateBetween: number[];
    InvoicedToDateIn: number[];
    EstimateCost: number;
    EstimateCostGreaterThanOrEqualTo: number;
    EstimateCostGreaterThan: number;
    EstimateCostLessThan: number;
    EstimateCostLessThanOrEqualTo: number;
    EstimateCostNotEqualTo: number;
    EstimateCostBetween: number[];
    EstimateCostIn: number[];
    InvoicedCostToDate: number;
    InvoicedCostToDateGreaterThanOrEqualTo: number;
    InvoicedCostToDateGreaterThan: number;
    InvoicedCostToDateLessThan: number;
    InvoicedCostToDateLessThanOrEqualTo: number;
    InvoicedCostToDateNotEqualTo: number;
    InvoicedCostToDateBetween: number[];
    InvoicedCostToDateIn: number[];
    MarginPercentage: number;
    MarginPercentageGreaterThanOrEqualTo: number;
    MarginPercentageGreaterThan: number;
    MarginPercentageLessThan: number;
    MarginPercentageLessThanOrEqualTo: number;
    MarginPercentageNotEqualTo: number;
    MarginPercentageBetween: number[];
    MarginPercentageIn: number[];
    PercentageInvoiced: number;
    PercentageInvoicedGreaterThanOrEqualTo: number;
    PercentageInvoicedGreaterThan: number;
    PercentageInvoicedLessThan: number;
    PercentageInvoicedLessThanOrEqualTo: number;
    PercentageInvoicedNotEqualTo: number;
    PercentageInvoicedBetween: number[];
    PercentageInvoicedIn: number[];
    createResponse() { return new QueryResponse<v_JB_Jobs>(); }
    getTypeName() { return "v_JB_JobsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_JournalsQuery extends QueryDb<v_JB_Journals> implements IReturn<QueryResponse<v_JB_Journals>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_Journals>(); }
    getTypeName() { return "v_JB_JournalsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_JournalsEstimateTotalsToDateQuery extends QueryDb<v_JB_JournalsEstimateTotalsToDate> implements IReturn<QueryResponse<v_JB_JournalsEstimateTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    DefaultEstimate: number;
    DefaultEstimateGreaterThanOrEqualTo: number;
    DefaultEstimateGreaterThan: number;
    DefaultEstimateLessThan: number;
    DefaultEstimateLessThanOrEqualTo: number;
    DefaultEstimateNotEqualTo: number;
    DefaultEstimateBetween: Uint8Array;
    DefaultEstimateIn: Uint8Array;
    createResponse() { return new QueryResponse<v_JB_JournalsEstimateTotalsToDate>(); }
    getTypeName() { return "v_JB_JournalsEstimateTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_JournalsTotalsToDateQuery extends QueryDb<v_JB_JournalsTotalsToDate> implements IReturn<QueryResponse<v_JB_JournalsTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_JournalsTotalsToDate>(); }
    getTypeName() { return "v_JB_JournalsTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_LabourQuery extends QueryDb<v_JB_Labour> implements IReturn<QueryResponse<v_JB_Labour>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_Labour>(); }
    getTypeName() { return "v_JB_LabourQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_LabourEstimateTotalsToDateQuery extends QueryDb<v_JB_LabourEstimateTotalsToDate> implements IReturn<QueryResponse<v_JB_LabourEstimateTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    DefaultEstimate: number;
    DefaultEstimateGreaterThanOrEqualTo: number;
    DefaultEstimateGreaterThan: number;
    DefaultEstimateLessThan: number;
    DefaultEstimateLessThanOrEqualTo: number;
    DefaultEstimateNotEqualTo: number;
    DefaultEstimateBetween: Uint8Array;
    DefaultEstimateIn: Uint8Array;
    createResponse() { return new QueryResponse<v_JB_LabourEstimateTotalsToDate>(); }
    getTypeName() { return "v_JB_LabourEstimateTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_LabourTotalsToDateQuery extends QueryDb<v_JB_LabourTotalsToDate> implements IReturn<QueryResponse<v_JB_LabourTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_LabourTotalsToDate>(); }
    getTypeName() { return "v_JB_LabourTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_LastInvoiceDateQuery extends QueryDb<v_JB_LastInvoiceDate> implements IReturn<QueryResponse<v_JB_LastInvoiceDate>>
{
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    LastInvoiceDate: string;
    LastInvoiceDateGreaterThanOrEqualTo: string;
    LastInvoiceDateGreaterThan: string;
    LastInvoiceDateLessThan: string;
    LastInvoiceDateLessThanOrEqualTo: string;
    LastInvoiceDateNotEqualTo: string;
    LastInvoiceDateBetween: string[];
    LastInvoiceDateIn: string[];
    createResponse() { return new QueryResponse<v_JB_LastInvoiceDate>(); }
    getTypeName() { return "v_JB_LastInvoiceDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_MainQuery extends QueryDb<v_JB_Main> implements IReturn<QueryResponse<v_JB_Main>>
{
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    JobGroup: string;
    JobGroupStartsWith: string;
    JobGroupEndsWith: string;
    JobGroupContains: string;
    JobGroupLike: string;
    JobGroupBetween: string[];
    JobGroupIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    IsTemplate: boolean;
    Status: string;
    StatusStartsWith: string;
    StatusEndsWith: string;
    StatusContains: string;
    StatusLike: string;
    StatusBetween: string[];
    StatusIn: string[];
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    EstEndDate: string;
    EstEndDateGreaterThanOrEqualTo: string;
    EstEndDateGreaterThan: string;
    EstEndDateLessThan: string;
    EstEndDateLessThanOrEqualTo: string;
    EstEndDateNotEqualTo: string;
    EstEndDateBetween: string[];
    EstEndDateIn: string[];
    EstStartDate: string;
    EstStartDateGreaterThanOrEqualTo: string;
    EstStartDateGreaterThan: string;
    EstStartDateLessThan: string;
    EstStartDateLessThanOrEqualTo: string;
    EstStartDateNotEqualTo: string;
    EstStartDateBetween: string[];
    EstStartDateIn: string[];
    ClosedDate: string;
    ClosedDateGreaterThanOrEqualTo: string;
    ClosedDateGreaterThan: string;
    ClosedDateLessThan: string;
    ClosedDateLessThanOrEqualTo: string;
    ClosedDateNotEqualTo: string;
    ClosedDateBetween: string[];
    ClosedDateIn: string[];
    InventorySellType: number;
    InventorySellTypeGreaterThanOrEqualTo: number;
    InventorySellTypeGreaterThan: number;
    InventorySellTypeLessThan: number;
    InventorySellTypeLessThanOrEqualTo: number;
    InventorySellTypeNotEqualTo: number;
    InventorySellTypeBetween: number[];
    InventorySellTypeIn: number[];
    ContractAmount: number;
    ContractAmountGreaterThanOrEqualTo: number;
    ContractAmountGreaterThan: number;
    ContractAmountLessThan: number;
    ContractAmountLessThanOrEqualTo: number;
    ContractAmountNotEqualTo: number;
    ContractAmountBetween: number[];
    ContractAmountIn: number[];
    MarkUpMaterials: number;
    MarkUpMaterialsGreaterThanOrEqualTo: number;
    MarkUpMaterialsGreaterThan: number;
    MarkUpMaterialsLessThan: number;
    MarkUpMaterialsLessThanOrEqualTo: number;
    MarkUpMaterialsNotEqualTo: number;
    MarkUpMaterialsBetween: number[];
    MarkUpMaterialsIn: number[];
    MarkUpLabour: number;
    MarkUpLabourGreaterThanOrEqualTo: number;
    MarkUpLabourGreaterThan: number;
    MarkUpLabourLessThan: number;
    MarkUpLabourLessThanOrEqualTo: number;
    MarkUpLabourNotEqualTo: number;
    MarkUpLabourBetween: number[];
    MarkUpLabourIn: number[];
    MarkUpSubContract: number;
    MarkUpSubContractGreaterThanOrEqualTo: number;
    MarkUpSubContractGreaterThan: number;
    MarkUpSubContractLessThan: number;
    MarkUpSubContractLessThanOrEqualTo: number;
    MarkUpSubContractNotEqualTo: number;
    MarkUpSubContractBetween: number[];
    MarkUpSubContractIn: number[];
    MarkUpResource: number;
    MarkUpResourceGreaterThanOrEqualTo: number;
    MarkUpResourceGreaterThan: number;
    MarkUpResourceLessThan: number;
    MarkUpResourceLessThanOrEqualTo: number;
    MarkUpResourceNotEqualTo: number;
    MarkUpResourceBetween: number[];
    MarkUpResourceIn: number[];
    RetentionType: number;
    RetentionTypeGreaterThanOrEqualTo: number;
    RetentionTypeGreaterThan: number;
    RetentionTypeLessThan: number;
    RetentionTypeLessThanOrEqualTo: number;
    RetentionTypeNotEqualTo: number;
    RetentionTypeBetween: number[];
    RetentionTypeIn: number[];
    RetentionValue: number;
    RetentionValueGreaterThanOrEqualTo: number;
    RetentionValueGreaterThan: number;
    RetentionValueLessThan: number;
    RetentionValueLessThanOrEqualTo: number;
    RetentionValueNotEqualTo: number;
    RetentionValueBetween: number[];
    RetentionValueIn: number[];
    GstApplicable: boolean;
    Priority: string;
    PriorityStartsWith: string;
    PriorityEndsWith: string;
    PriorityContains: string;
    PriorityLike: string;
    PriorityBetween: string[];
    PriorityIn: string[];
    CostCentreNo: string;
    CostCentreNoStartsWith: string;
    CostCentreNoEndsWith: string;
    CostCentreNoContains: string;
    CostCentreNoLike: string;
    CostCentreNoBetween: string[];
    CostCentreNoIn: string[];
    CostCentreDesc: string;
    CostCentreDescStartsWith: string;
    CostCentreDescEndsWith: string;
    CostCentreDescContains: string;
    CostCentreDescLike: string;
    CostCentreDescBetween: string[];
    CostCentreDescIn: string[];
    CostCentreIsEnabled: boolean;
    StageNo: string;
    StageNoStartsWith: string;
    StageNoEndsWith: string;
    StageNoContains: string;
    StageNoLike: string;
    StageNoBetween: string[];
    StageNoIn: string[];
    StageDesc: string;
    StageDescStartsWith: string;
    StageDescEndsWith: string;
    StageDescContains: string;
    StageDescLike: string;
    StageDescBetween: string[];
    StageDescIn: string[];
    StageIsEnabled: boolean;
    ClassDesc: string;
    ClassDescStartsWith: string;
    ClassDescEndsWith: string;
    ClassDescContains: string;
    ClassDescLike: string;
    ClassDescBetween: string[];
    ClassDescIn: string[];
    JobClass: string;
    JobClassStartsWith: string;
    JobClassEndsWith: string;
    JobClassContains: string;
    JobClassLike: string;
    JobClassBetween: string[];
    JobClassIn: string[];
    createResponse() { return new QueryResponse<v_JB_Main>(); }
    getTypeName() { return "v_JB_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_MarginPercentageToDateQuery extends QueryDb<v_JB_MarginPercentageToDate> implements IReturn<QueryResponse<v_JB_MarginPercentageToDate>>
{
    MarginPercentage: number;
    MarginPercentageGreaterThanOrEqualTo: number;
    MarginPercentageGreaterThan: number;
    MarginPercentageLessThan: number;
    MarginPercentageLessThanOrEqualTo: number;
    MarginPercentageNotEqualTo: number;
    MarginPercentageBetween: number[];
    MarginPercentageIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_MarginPercentageToDate>(); }
    getTypeName() { return "v_JB_MarginPercentageToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_MaterialsQuery extends QueryDb<v_JB_Materials> implements IReturn<QueryResponse<v_JB_Materials>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_Materials>(); }
    getTypeName() { return "v_JB_MaterialsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_MaterialsEstimateTotalsToDateQuery extends QueryDb<v_JB_MaterialsEstimateTotalsToDate> implements IReturn<QueryResponse<v_JB_MaterialsEstimateTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    DefaultEstimate: number;
    DefaultEstimateGreaterThanOrEqualTo: number;
    DefaultEstimateGreaterThan: number;
    DefaultEstimateLessThan: number;
    DefaultEstimateLessThanOrEqualTo: number;
    DefaultEstimateNotEqualTo: number;
    DefaultEstimateBetween: Uint8Array;
    DefaultEstimateIn: Uint8Array;
    createResponse() { return new QueryResponse<v_JB_MaterialsEstimateTotalsToDate>(); }
    getTypeName() { return "v_JB_MaterialsEstimateTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_MaterialsTotalsToDateQuery extends QueryDb<v_JB_MaterialsTotalsToDate> implements IReturn<QueryResponse<v_JB_MaterialsTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_MaterialsTotalsToDate>(); }
    getTypeName() { return "v_JB_MaterialsTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_PercentInvoicedQuery extends QueryDb<v_JB_PercentInvoiced> implements IReturn<QueryResponse<v_JB_PercentInvoiced>>
{
    PercentageInvoiced: number;
    PercentageInvoicedGreaterThanOrEqualTo: number;
    PercentageInvoicedGreaterThan: number;
    PercentageInvoicedLessThan: number;
    PercentageInvoicedLessThanOrEqualTo: number;
    PercentageInvoicedNotEqualTo: number;
    PercentageInvoicedBetween: number[];
    PercentageInvoicedIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_PercentInvoiced>(); }
    getTypeName() { return "v_JB_PercentInvoicedQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_PurchaseOrdersQuery extends QueryDb<v_JB_PurchaseOrders> implements IReturn<QueryResponse<v_JB_PurchaseOrders>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_PurchaseOrders>(); }
    getTypeName() { return "v_JB_PurchaseOrdersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_PurchasesQuery extends QueryDb<v_JB_Purchases> implements IReturn<QueryResponse<v_JB_Purchases>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_Purchases>(); }
    getTypeName() { return "v_JB_PurchasesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_PurchasesEstimateTotalsToDateQuery extends QueryDb<v_JB_PurchasesEstimateTotalsToDate> implements IReturn<QueryResponse<v_JB_PurchasesEstimateTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    DefaultEstimate: number;
    DefaultEstimateGreaterThanOrEqualTo: number;
    DefaultEstimateGreaterThan: number;
    DefaultEstimateLessThan: number;
    DefaultEstimateLessThanOrEqualTo: number;
    DefaultEstimateNotEqualTo: number;
    DefaultEstimateBetween: Uint8Array;
    DefaultEstimateIn: Uint8Array;
    createResponse() { return new QueryResponse<v_JB_PurchasesEstimateTotalsToDate>(); }
    getTypeName() { return "v_JB_PurchasesEstimateTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_PurchasesTotalsToDateQuery extends QueryDb<v_JB_PurchasesTotalsToDate> implements IReturn<QueryResponse<v_JB_PurchasesTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_PurchasesTotalsToDate>(); }
    getTypeName() { return "v_JB_PurchasesTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_ResourcesQuery extends QueryDb<v_JB_Resources> implements IReturn<QueryResponse<v_JB_Resources>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_Resources>(); }
    getTypeName() { return "v_JB_ResourcesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_ResourcesEstimateTotalsToDateQuery extends QueryDb<v_JB_ResourcesEstimateTotalsToDate> implements IReturn<QueryResponse<v_JB_ResourcesEstimateTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    DefaultEstimate: number;
    DefaultEstimateGreaterThanOrEqualTo: number;
    DefaultEstimateGreaterThan: number;
    DefaultEstimateLessThan: number;
    DefaultEstimateLessThanOrEqualTo: number;
    DefaultEstimateNotEqualTo: number;
    DefaultEstimateBetween: Uint8Array;
    DefaultEstimateIn: Uint8Array;
    createResponse() { return new QueryResponse<v_JB_ResourcesEstimateTotalsToDate>(); }
    getTypeName() { return "v_JB_ResourcesEstimateTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_ResourcesTotalsToDateQuery extends QueryDb<v_JB_ResourcesTotalsToDate> implements IReturn<QueryResponse<v_JB_ResourcesTotalsToDate>>
{
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_ResourcesTotalsToDate>(); }
    getTypeName() { return "v_JB_ResourcesTotalsToDateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_TransactionsQuery extends QueryDb<v_JB_Transactions> implements IReturn<QueryResponse<v_JB_Transactions>>
{
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JobCostStage: string;
    JobCostStageStartsWith: string;
    JobCostStageEndsWith: string;
    JobCostStageContains: string;
    JobCostStageLike: string;
    JobCostStageBetween: string[];
    JobCostStageIn: string[];
    Item: string;
    ItemStartsWith: string;
    ItemEndsWith: string;
    ItemContains: string;
    ItemLike: string;
    ItemBetween: string[];
    ItemIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    TotalCost: number;
    TotalCostGreaterThanOrEqualTo: number;
    TotalCostGreaterThan: number;
    TotalCostLessThan: number;
    TotalCostLessThanOrEqualTo: number;
    TotalCostNotEqualTo: number;
    TotalCostBetween: number[];
    TotalCostIn: number[];
    TotalCharge: number;
    TotalChargeGreaterThanOrEqualTo: number;
    TotalChargeGreaterThan: number;
    TotalChargeLessThan: number;
    TotalChargeLessThanOrEqualTo: number;
    TotalChargeNotEqualTo: number;
    TotalChargeBetween: number[];
    TotalChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    createResponse() { return new QueryResponse<v_JB_Transactions>(); }
    getTypeName() { return "v_JB_TransactionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JB_WIPValueQuery extends QueryDb<v_JB_WIPValue> implements IReturn<QueryResponse<v_JB_WIPValue>>
{
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    createResponse() { return new QueryResponse<v_JB_WIPValue>(); }
    getTypeName() { return "v_JB_WIPValueQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class V_JIWA_Debtor_ALLQuery extends QueryDb<V_JIWA_Debtor_ALL> implements IReturn<QueryResponse<V_JIWA_Debtor_ALL>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    SearchField: string;
    SearchFieldStartsWith: string;
    SearchFieldEndsWith: string;
    SearchFieldContains: string;
    SearchFieldLike: string;
    SearchFieldBetween: string[];
    SearchFieldIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    createResponse() { return new QueryResponse<V_JIWA_Debtor_ALL>(); }
    getTypeName() { return "V_JIWA_Debtor_ALLQuery"; }
}

// @Route("/Queries/DebtorList", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_Debtor_ListQuery extends QueryDb<v_Jiwa_Debtor_List> implements IReturn<QueryResponse<v_Jiwa_Debtor_List>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    AltAccountNo: string;
    AltAccountNoStartsWith: string;
    AltAccountNoEndsWith: string;
    AltAccountNoContains: string;
    AltAccountNoLike: string;
    AltAccountNoBetween: string[];
    AltAccountNoIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    AccountOnHold: boolean;
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    CurrentBalance: number;
    CurrentBalanceGreaterThanOrEqualTo: number;
    CurrentBalanceGreaterThan: number;
    CurrentBalanceLessThan: number;
    CurrentBalanceLessThanOrEqualTo: number;
    CurrentBalanceNotEqualTo: number;
    CurrentBalanceBetween: number[];
    CurrentBalanceIn: number[];
    WebAccess: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    TradingStatus: number;
    TradingStatusGreaterThanOrEqualTo: number;
    TradingStatusGreaterThan: number;
    TradingStatusLessThan: number;
    TradingStatusLessThanOrEqualTo: number;
    TradingStatusNotEqualTo: number;
    TradingStatusBetween: Uint8Array;
    TradingStatusIn: Uint8Array;
    DebtorClassificationID: string;
    DebtorClassificationIDStartsWith: string;
    DebtorClassificationIDEndsWith: string;
    DebtorClassificationIDContains: string;
    DebtorClassificationIDLike: string;
    DebtorClassificationIDBetween: string[];
    DebtorClassificationIDIn: string[];
    ClassificationDescription: string;
    ClassificationDescriptionStartsWith: string;
    ClassificationDescriptionEndsWith: string;
    ClassificationDescriptionContains: string;
    ClassificationDescriptionLike: string;
    ClassificationDescriptionBetween: string[];
    ClassificationDescriptionIn: string[];
    Category1ID: string;
    Category1IDStartsWith: string;
    Category1IDEndsWith: string;
    Category1IDContains: string;
    Category1IDLike: string;
    Category1IDBetween: string[];
    Category1IDIn: string[];
    Category1Description: string;
    Category1DescriptionStartsWith: string;
    Category1DescriptionEndsWith: string;
    Category1DescriptionContains: string;
    Category1DescriptionLike: string;
    Category1DescriptionBetween: string[];
    Category1DescriptionIn: string[];
    Category2ID: string;
    Category2IDStartsWith: string;
    Category2IDEndsWith: string;
    Category2IDContains: string;
    Category2IDLike: string;
    Category2IDBetween: string[];
    Category2IDIn: string[];
    Category2Description: string;
    Category2DescriptionStartsWith: string;
    Category2DescriptionEndsWith: string;
    Category2DescriptionContains: string;
    Category2DescriptionLike: string;
    Category2DescriptionBetween: string[];
    Category2DescriptionIn: string[];
    Category3ID: string;
    Category3IDStartsWith: string;
    Category3IDEndsWith: string;
    Category3IDContains: string;
    Category3IDLike: string;
    Category3IDBetween: string[];
    Category3IDIn: string[];
    Category3Description: string;
    Category3DescriptionStartsWith: string;
    Category3DescriptionEndsWith: string;
    Category3DescriptionContains: string;
    Category3DescriptionLike: string;
    Category3DescriptionBetween: string[];
    Category3DescriptionIn: string[];
    Category4ID: string;
    Category4IDStartsWith: string;
    Category4IDEndsWith: string;
    Category4IDContains: string;
    Category4IDLike: string;
    Category4IDBetween: string[];
    Category4IDIn: string[];
    Category4Description: string;
    Category4DescriptionStartsWith: string;
    Category4DescriptionEndsWith: string;
    Category4DescriptionContains: string;
    Category4DescriptionLike: string;
    Category4DescriptionBetween: string[];
    Category4DescriptionIn: string[];
    Category5ID: string;
    Category5IDStartsWith: string;
    Category5IDEndsWith: string;
    Category5IDContains: string;
    Category5IDLike: string;
    Category5IDBetween: string[];
    Category5IDIn: string[];
    Category5Description: string;
    Category5DescriptionStartsWith: string;
    Category5DescriptionEndsWith: string;
    Category5DescriptionContains: string;
    Category5DescriptionLike: string;
    Category5DescriptionBetween: string[];
    Category5DescriptionIn: string[];
    PriceSchemeID: string;
    PriceSchemeIDStartsWith: string;
    PriceSchemeIDEndsWith: string;
    PriceSchemeIDContains: string;
    PriceSchemeIDLike: string;
    PriceSchemeIDBetween: string[];
    PriceSchemeIDIn: string[];
    PriceSchemeDescription: string;
    PriceSchemeDescriptionStartsWith: string;
    PriceSchemeDescriptionEndsWith: string;
    PriceSchemeDescriptionContains: string;
    PriceSchemeDescriptionLike: string;
    PriceSchemeDescriptionBetween: string[];
    PriceSchemeDescriptionIn: string[];
    PricingGroupDescription: string;
    PricingGroupDescriptionStartsWith: string;
    PricingGroupDescriptionEndsWith: string;
    PricingGroupDescriptionContains: string;
    PricingGroupDescriptionLike: string;
    PricingGroupDescriptionBetween: string[];
    PricingGroupDescriptionIn: string[];
    createResponse() { return new QueryResponse<v_Jiwa_Debtor_List>(); }
    getTypeName() { return "v_Jiwa_Debtor_ListQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_Debtor_Transactions_ListQuery extends QueryDb<v_Jiwa_Debtor_Transactions_List> implements IReturn<QueryResponse<v_Jiwa_Debtor_Transactions_List>>
{
    TransID: string;
    TransIDStartsWith: string;
    TransIDEndsWith: string;
    TransIDContains: string;
    TransIDLike: string;
    TransIDBetween: string[];
    TransIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    InvRemitNo: string;
    InvRemitNoStartsWith: string;
    InvRemitNoEndsWith: string;
    InvRemitNoContains: string;
    InvRemitNoLike: string;
    InvRemitNoBetween: string[];
    InvRemitNoIn: string[];
    DebitCredit: boolean;
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    AllocatedAmount: number;
    AllocatedAmountGreaterThanOrEqualTo: number;
    AllocatedAmountGreaterThan: number;
    AllocatedAmountLessThan: number;
    AllocatedAmountLessThanOrEqualTo: number;
    AllocatedAmountNotEqualTo: number;
    AllocatedAmountBetween: number[];
    AllocatedAmountIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    OutstandingAmount: number;
    OutstandingAmountGreaterThanOrEqualTo: number;
    OutstandingAmountGreaterThan: number;
    OutstandingAmountLessThan: number;
    OutstandingAmountLessThanOrEqualTo: number;
    OutstandingAmountNotEqualTo: number;
    OutstandingAmountBetween: number[];
    OutstandingAmountIn: number[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    AgedOut: boolean;
    createResponse() { return new QueryResponse<v_Jiwa_Debtor_Transactions_List>(); }
    getTypeName() { return "v_Jiwa_Debtor_Transactions_ListQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JIWA_DefaultOrderLocationsQuery extends QueryDb<v_JIWA_DefaultOrderLocations> implements IReturn<QueryResponse<v_JIWA_DefaultOrderLocations>>
{
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    IN_PhysicalID: string;
    IN_PhysicalIDStartsWith: string;
    IN_PhysicalIDEndsWith: string;
    IN_PhysicalIDContains: string;
    IN_PhysicalIDLike: string;
    IN_PhysicalIDBetween: string[];
    IN_PhysicalIDIn: string[];
    LogicalWarehouseDesciption: string;
    LogicalWarehouseDesciptionStartsWith: string;
    LogicalWarehouseDesciptionEndsWith: string;
    LogicalWarehouseDesciptionContains: string;
    LogicalWarehouseDesciptionLike: string;
    LogicalWarehouseDesciptionBetween: string[];
    LogicalWarehouseDesciptionIn: string[];
    PhysicalWarehouseDesciption: string;
    PhysicalWarehouseDesciptionStartsWith: string;
    PhysicalWarehouseDesciptionEndsWith: string;
    PhysicalWarehouseDesciptionContains: string;
    PhysicalWarehouseDesciptionLike: string;
    PhysicalWarehouseDesciptionBetween: string[];
    PhysicalWarehouseDesciptionIn: string[];
    createResponse() { return new QueryResponse<v_JIWA_DefaultOrderLocations>(); }
    getTypeName() { return "v_JIWA_DefaultOrderLocationsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_GL_PeriodsFromGL_ConfigQuery extends QueryDb<v_Jiwa_GL_PeriodsFromGL_Config> implements IReturn<QueryResponse<v_Jiwa_GL_PeriodsFromGL_Config>>
{
    Year_No: number;
    Year_NoGreaterThanOrEqualTo: number;
    Year_NoGreaterThan: number;
    Year_NoLessThan: number;
    Year_NoLessThanOrEqualTo: number;
    Year_NoNotEqualTo: number;
    Year_NoBetween: number[];
    Year_NoIn: number[];
    Period_Name: string;
    Period_NameStartsWith: string;
    Period_NameEndsWith: string;
    Period_NameContains: string;
    Period_NameLike: string;
    Period_NameBetween: string[];
    Period_NameIn: string[];
    Period_Start_Date: string;
    Period_Start_DateGreaterThanOrEqualTo: string;
    Period_Start_DateGreaterThan: string;
    Period_Start_DateLessThan: string;
    Period_Start_DateLessThanOrEqualTo: string;
    Period_Start_DateNotEqualTo: string;
    Period_Start_DateBetween: string[];
    Period_Start_DateIn: string[];
    Period_End_Date: string;
    Period_End_DateGreaterThanOrEqualTo: string;
    Period_End_DateGreaterThan: string;
    Period_End_DateLessThan: string;
    Period_End_DateLessThanOrEqualTo: string;
    Period_End_DateNotEqualTo: string;
    Period_End_DateBetween: string[];
    Period_End_DateIn: string[];
    createResponse() { return new QueryResponse<v_Jiwa_GL_PeriodsFromGL_Config>(); }
    getTypeName() { return "v_Jiwa_GL_PeriodsFromGL_ConfigQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_GL_PeriodsFromGL_ConfigAndSO_SalesHistoryQuery extends QueryDb<v_Jiwa_GL_PeriodsFromGL_ConfigAndSO_SalesHistory> implements IReturn<QueryResponse<v_Jiwa_GL_PeriodsFromGL_ConfigAndSO_SalesHistory>>
{
    Year_No: number;
    Year_NoGreaterThanOrEqualTo: number;
    Year_NoGreaterThan: number;
    Year_NoLessThan: number;
    Year_NoLessThanOrEqualTo: number;
    Year_NoNotEqualTo: number;
    Year_NoBetween: number[];
    Year_NoIn: number[];
    Period_Name: string;
    Period_NameStartsWith: string;
    Period_NameEndsWith: string;
    Period_NameContains: string;
    Period_NameLike: string;
    Period_NameBetween: string[];
    Period_NameIn: string[];
    Period_Start_Date: string;
    Period_Start_DateGreaterThanOrEqualTo: string;
    Period_Start_DateGreaterThan: string;
    Period_Start_DateLessThan: string;
    Period_Start_DateLessThanOrEqualTo: string;
    Period_Start_DateNotEqualTo: string;
    Period_Start_DateBetween: string[];
    Period_Start_DateIn: string[];
    Period_End_Date: string;
    Period_End_DateGreaterThanOrEqualTo: string;
    Period_End_DateGreaterThan: string;
    Period_End_DateLessThan: string;
    Period_End_DateLessThanOrEqualTo: string;
    Period_End_DateNotEqualTo: string;
    Period_End_DateBetween: string[];
    Period_End_DateIn: string[];
    createResponse() { return new QueryResponse<v_Jiwa_GL_PeriodsFromGL_ConfigAndSO_SalesHistory>(); }
    getTypeName() { return "v_Jiwa_GL_PeriodsFromGL_ConfigAndSO_SalesHistoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_Jiwa_GL_PeriodsFromSO_SalesHistoryQuery extends QueryDb<v_Jiwa_GL_PeriodsFromSO_SalesHistory> implements IReturn<QueryResponse<v_Jiwa_GL_PeriodsFromSO_SalesHistory>>
{
    Year_No: number;
    Year_NoGreaterThanOrEqualTo: number;
    Year_NoGreaterThan: number;
    Year_NoLessThan: number;
    Year_NoLessThanOrEqualTo: number;
    Year_NoNotEqualTo: number;
    Year_NoBetween: number[];
    Year_NoIn: number[];
    Period_Name: string;
    Period_NameStartsWith: string;
    Period_NameEndsWith: string;
    Period_NameContains: string;
    Period_NameLike: string;
    Period_NameBetween: string[];
    Period_NameIn: string[];
    Period_Start_Date: string;
    Period_Start_DateGreaterThanOrEqualTo: string;
    Period_Start_DateGreaterThan: string;
    Period_Start_DateLessThan: string;
    Period_Start_DateLessThanOrEqualTo: string;
    Period_Start_DateNotEqualTo: string;
    Period_Start_DateBetween: string[];
    Period_Start_DateIn: string[];
    Period_End_Date: string;
    Period_End_DateGreaterThanOrEqualTo: string;
    Period_End_DateGreaterThan: string;
    Period_End_DateLessThan: string;
    Period_End_DateLessThanOrEqualTo: string;
    Period_End_DateNotEqualTo: string;
    Period_End_DateBetween: string[];
    Period_End_DateIn: string[];
    createResponse() { return new QueryResponse<v_Jiwa_GL_PeriodsFromSO_SalesHistory>(); }
    getTypeName() { return "v_Jiwa_GL_PeriodsFromSO_SalesHistoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class v_JIWA_Inventory_AllPartsIncludingOldPartNumbersQuery extends QueryDb<v_JIWA_Inventory_AllPartsIncludingOldPartNumbers> implements IReturn<QueryResponse<v_JIWA_Inventory_AllPartsIncludingOldPartNumbers>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    createResponse() { return new QueryResponse<v_JIWA_Inventory_AllPartsIncludingOldPartNumbers>(); }
    getTypeName() { return "v_JIWA_Inventory_AllPartsIncludingOldPartNumbersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_MainQuery extends QueryDb<SH_Main> implements IReturn<QueryResponse<SH_Main>>
{
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    ShipmentNo: string;
    ShipmentNoStartsWith: string;
    ShipmentNoEndsWith: string;
    ShipmentNoContains: string;
    ShipmentNoLike: string;
    ShipmentNoBetween: string[];
    ShipmentNoIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    ShipInitDate: string;
    ShipInitDateGreaterThanOrEqualTo: string;
    ShipInitDateGreaterThan: string;
    ShipInitDateLessThan: string;
    ShipInitDateLessThanOrEqualTo: string;
    ShipInitDateNotEqualTo: string;
    ShipInitDateBetween: string[];
    ShipInitDateIn: string[];
    WayBillNo: string;
    WayBillNoStartsWith: string;
    WayBillNoEndsWith: string;
    WayBillNoContains: string;
    WayBillNoLike: string;
    WayBillNoBetween: string[];
    WayBillNoIn: string[];
    VesselName: string;
    VesselNameStartsWith: string;
    VesselNameEndsWith: string;
    VesselNameContains: string;
    VesselNameLike: string;
    VesselNameBetween: string[];
    VesselNameIn: string[];
    ContainerNo: string;
    ContainerNoStartsWith: string;
    ContainerNoEndsWith: string;
    ContainerNoContains: string;
    ContainerNoLike: string;
    ContainerNoBetween: string[];
    ContainerNoIn: string[];
    ShippingAgent: string;
    ShippingAgentStartsWith: string;
    ShippingAgentEndsWith: string;
    ShippingAgentContains: string;
    ShippingAgentLike: string;
    ShippingAgentBetween: string[];
    ShippingAgentIn: string[];
    DeliveryNotes: string;
    DeliveryNotesStartsWith: string;
    DeliveryNotesEndsWith: string;
    DeliveryNotesContains: string;
    DeliveryNotesLike: string;
    DeliveryNotesBetween: string[];
    DeliveryNotesIn: string[];
    DepartureDate: string;
    DepartureDateGreaterThanOrEqualTo: string;
    DepartureDateGreaterThan: string;
    DepartureDateLessThan: string;
    DepartureDateLessThanOrEqualTo: string;
    DepartureDateNotEqualTo: string;
    DepartureDateBetween: string[];
    DepartureDateIn: string[];
    ArrivalDate: string;
    ArrivalDateGreaterThanOrEqualTo: string;
    ArrivalDateGreaterThan: string;
    ArrivalDateLessThan: string;
    ArrivalDateLessThanOrEqualTo: string;
    ArrivalDateNotEqualTo: string;
    ArrivalDateBetween: string[];
    ArrivalDateIn: string[];
    ReceiptDate: string;
    ReceiptDateGreaterThanOrEqualTo: string;
    ReceiptDateGreaterThan: string;
    ReceiptDateLessThan: string;
    ReceiptDateLessThanOrEqualTo: string;
    ReceiptDateNotEqualTo: string;
    ReceiptDateBetween: string[];
    ReceiptDateIn: string[];
    UseVOTI: boolean;
    ImportCostClearingAccountID: string;
    ImportCostClearingAccountIDStartsWith: string;
    ImportCostClearingAccountIDEndsWith: string;
    ImportCostClearingAccountIDContains: string;
    ImportCostClearingAccountIDLike: string;
    ImportCostClearingAccountIDBetween: string[];
    ImportCostClearingAccountIDIn: string[];
    ExpectedArrivalDate: string;
    ExpectedArrivalDateGreaterThanOrEqualTo: string;
    ExpectedArrivalDateGreaterThan: string;
    ExpectedArrivalDateLessThan: string;
    ExpectedArrivalDateLessThanOrEqualTo: string;
    ExpectedArrivalDateNotEqualTo: string;
    ExpectedArrivalDateBetween: string[];
    ExpectedArrivalDateIn: string[];
    createResponse() { return new QueryResponse<SH_Main>(); }
    getTypeName() { return "SH_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_PurchaseOrdersQuery extends QueryDb<SH_PurchaseOrders> implements IReturn<QueryResponse<SH_PurchaseOrders>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SH_Main_RecID: string;
    SH_Main_RecIDStartsWith: string;
    SH_Main_RecIDEndsWith: string;
    SH_Main_RecIDContains: string;
    SH_Main_RecIDLike: string;
    SH_Main_RecIDBetween: string[];
    SH_Main_RecIDIn: string[];
    PO_Main_RecID: string;
    PO_Main_RecIDStartsWith: string;
    PO_Main_RecIDEndsWith: string;
    PO_Main_RecIDContains: string;
    PO_Main_RecIDLike: string;
    PO_Main_RecIDBetween: string[];
    PO_Main_RecIDIn: string[];
    DisplayLines: boolean;
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    UserField1: string;
    UserField1StartsWith: string;
    UserField1EndsWith: string;
    UserField1Contains: string;
    UserField1Like: string;
    UserField1Between: string[];
    UserField1In: string[];
    UserField2: string;
    UserField2StartsWith: string;
    UserField2EndsWith: string;
    UserField2Contains: string;
    UserField2Like: string;
    UserField2Between: string[];
    UserField2In: string[];
    UserField3: string;
    UserField3StartsWith: string;
    UserField3EndsWith: string;
    UserField3Contains: string;
    UserField3Like: string;
    UserField3Between: string[];
    UserField3In: string[];
    UserField4: string;
    UserField4StartsWith: string;
    UserField4EndsWith: string;
    UserField4Contains: string;
    UserField4Like: string;
    UserField4Between: string[];
    UserField4In: string[];
    UserField5: string;
    UserField5StartsWith: string;
    UserField5EndsWith: string;
    UserField5Contains: string;
    UserField5Like: string;
    UserField5Between: string[];
    UserField5In: string[];
    UserField6: string;
    UserField6StartsWith: string;
    UserField6EndsWith: string;
    UserField6Contains: string;
    UserField6Like: string;
    UserField6Between: string[];
    UserField6In: string[];
    UserField7: string;
    UserField7StartsWith: string;
    UserField7EndsWith: string;
    UserField7Contains: string;
    UserField7Like: string;
    UserField7Between: string[];
    UserField7In: string[];
    UserField8: string;
    UserField8StartsWith: string;
    UserField8EndsWith: string;
    UserField8Contains: string;
    UserField8Like: string;
    UserField8Between: string[];
    UserField8In: string[];
    UserField9: string;
    UserField9StartsWith: string;
    UserField9EndsWith: string;
    UserField9Contains: string;
    UserField9Like: string;
    UserField9Between: string[];
    UserField9In: string[];
    UserField10: string;
    UserField10StartsWith: string;
    UserField10EndsWith: string;
    UserField10Contains: string;
    UserField10Like: string;
    UserField10Between: string[];
    UserField10In: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SH_PurchaseOrders>(); }
    getTypeName() { return "SH_PurchaseOrdersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_VotiQuery extends QueryDb<SH_Voti> implements IReturn<QueryResponse<SH_Voti>>
{
    VotiID: string;
    VotiIDStartsWith: string;
    VotiIDEndsWith: string;
    VotiIDContains: string;
    VotiIDLike: string;
    VotiIDBetween: string[];
    VotiIDIn: string[];
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    CreditorLedgerID: string;
    CreditorLedgerIDStartsWith: string;
    CreditorLedgerIDEndsWith: string;
    CreditorLedgerIDContains: string;
    CreditorLedgerIDLike: string;
    CreditorLedgerIDBetween: string[];
    CreditorLedgerIDIn: string[];
    GSTID: string;
    GSTIDStartsWith: string;
    GSTIDEndsWith: string;
    GSTIDContains: string;
    GSTIDLike: string;
    GSTIDBetween: string[];
    GSTIDIn: string[];
    LedgerID: string;
    LedgerIDStartsWith: string;
    LedgerIDEndsWith: string;
    LedgerIDContains: string;
    LedgerIDLike: string;
    LedgerIDBetween: string[];
    LedgerIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    Invoiced: boolean;
    CR_TransID: string;
    CR_TransIDStartsWith: string;
    CR_TransIDEndsWith: string;
    CR_TransIDContains: string;
    CR_TransIDLike: string;
    CR_TransIDBetween: string[];
    CR_TransIDIn: string[];
    UserField1: string;
    UserField1StartsWith: string;
    UserField1EndsWith: string;
    UserField1Contains: string;
    UserField1Like: string;
    UserField1Between: string[];
    UserField1In: string[];
    UserField2: string;
    UserField2StartsWith: string;
    UserField2EndsWith: string;
    UserField2Contains: string;
    UserField2Like: string;
    UserField2Between: string[];
    UserField2In: string[];
    UserField3: string;
    UserField3StartsWith: string;
    UserField3EndsWith: string;
    UserField3Contains: string;
    UserField3Like: string;
    UserField3Between: string[];
    UserField3In: string[];
    UserField4: string;
    UserField4StartsWith: string;
    UserField4EndsWith: string;
    UserField4Contains: string;
    UserField4Like: string;
    UserField4Between: string[];
    UserField4In: string[];
    UserField5: string;
    UserField5StartsWith: string;
    UserField5EndsWith: string;
    UserField5Contains: string;
    UserField5Like: string;
    UserField5Between: string[];
    UserField5In: string[];
    UserField6: string;
    UserField6StartsWith: string;
    UserField6EndsWith: string;
    UserField6Contains: string;
    UserField6Like: string;
    UserField6Between: string[];
    UserField6In: string[];
    UserField7: string;
    UserField7StartsWith: string;
    UserField7EndsWith: string;
    UserField7Contains: string;
    UserField7Like: string;
    UserField7Between: string[];
    UserField7In: string[];
    UserField8: string;
    UserField8StartsWith: string;
    UserField8EndsWith: string;
    UserField8Contains: string;
    UserField8Like: string;
    UserField8Between: string[];
    UserField8In: string[];
    UserField9: string;
    UserField9StartsWith: string;
    UserField9EndsWith: string;
    UserField9Contains: string;
    UserField9Like: string;
    UserField9Between: string[];
    UserField9In: string[];
    UserField10: string;
    UserField10StartsWith: string;
    UserField10EndsWith: string;
    UserField10Contains: string;
    UserField10Like: string;
    UserField10Between: string[];
    UserField10In: string[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    InvoiceDate: string;
    InvoiceDateGreaterThanOrEqualTo: string;
    InvoiceDateGreaterThan: string;
    InvoiceDateLessThan: string;
    InvoiceDateLessThanOrEqualTo: string;
    InvoiceDateNotEqualTo: string;
    InvoiceDateBetween: string[];
    InvoiceDateIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SH_Voti>(); }
    getTypeName() { return "SH_VotiQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_ActivitiesQuery extends QueryDb<SM_Activities> implements IReturn<QueryResponse<SM_Activities>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<SM_Activities>(); }
    getTypeName() { return "SM_ActivitiesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_ActivityBudgetsQuery extends QueryDb<SM_ActivityBudgets> implements IReturn<QueryResponse<SM_ActivityBudgets>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Activities_RecID: string;
    SM_Activities_RecIDStartsWith: string;
    SM_Activities_RecIDEndsWith: string;
    SM_Activities_RecIDContains: string;
    SM_Activities_RecIDLike: string;
    SM_Activities_RecIDBetween: string[];
    SM_Activities_RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    BudgetedBillingTime: number;
    BudgetedBillingTimeGreaterThanOrEqualTo: number;
    BudgetedBillingTimeGreaterThan: number;
    BudgetedBillingTimeLessThan: number;
    BudgetedBillingTimeLessThanOrEqualTo: number;
    BudgetedBillingTimeNotEqualTo: number;
    BudgetedBillingTimeBetween: number[];
    BudgetedBillingTimeIn: number[];
    BudgetedElapsedTime: number;
    BudgetedElapsedTimeGreaterThanOrEqualTo: number;
    BudgetedElapsedTimeGreaterThan: number;
    BudgetedElapsedTimeLessThan: number;
    BudgetedElapsedTimeLessThanOrEqualTo: number;
    BudgetedElapsedTimeNotEqualTo: number;
    BudgetedElapsedTimeBetween: number[];
    BudgetedElapsedTimeIn: number[];
    BudgetedBillingValue: number;
    BudgetedBillingValueGreaterThanOrEqualTo: number;
    BudgetedBillingValueGreaterThan: number;
    BudgetedBillingValueLessThan: number;
    BudgetedBillingValueLessThanOrEqualTo: number;
    BudgetedBillingValueNotEqualTo: number;
    BudgetedBillingValueBetween: number[];
    BudgetedBillingValueIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SM_ActivityBudgets>(); }
    getTypeName() { return "SM_ActivityBudgetsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_ActivityBudgetsCustomFieldsQuery extends QueryDb<SM_ActivityBudgetsCustomFields> implements IReturn<QueryResponse<SM_ActivityBudgetsCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<SM_ActivityBudgetsCustomFields>(); }
    getTypeName() { return "SM_ActivityBudgetsCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_ActivityBudgetsCustomValuesQuery extends QueryDb<SM_ActivityBudgetsCustomValues> implements IReturn<QueryResponse<SM_ActivityBudgetsCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_ActivityBudgets_RecID: string;
    SM_ActivityBudgets_RecIDStartsWith: string;
    SM_ActivityBudgets_RecIDEndsWith: string;
    SM_ActivityBudgets_RecIDContains: string;
    SM_ActivityBudgets_RecIDLike: string;
    SM_ActivityBudgets_RecIDBetween: string[];
    SM_ActivityBudgets_RecIDIn: string[];
    SM_ActivityBudgetsCustomFields_RecID: string;
    SM_ActivityBudgetsCustomFields_RecIDStartsWith: string;
    SM_ActivityBudgetsCustomFields_RecIDEndsWith: string;
    SM_ActivityBudgetsCustomFields_RecIDContains: string;
    SM_ActivityBudgetsCustomFields_RecIDLike: string;
    SM_ActivityBudgetsCustomFields_RecIDBetween: string[];
    SM_ActivityBudgetsCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SM_ActivityBudgetsCustomValues>(); }
    getTypeName() { return "SM_ActivityBudgetsCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_CashSaleQuery extends QueryDb<SM_CashSale> implements IReturn<QueryResponse<SM_CashSale>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Company: string;
    CompanyStartsWith: string;
    CompanyEndsWith: string;
    CompanyContains: string;
    CompanyLike: string;
    CompanyBetween: string[];
    CompanyIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    ContactName: string;
    ContactNameStartsWith: string;
    ContactNameEndsWith: string;
    ContactNameContains: string;
    ContactNameLike: string;
    ContactNameBetween: string[];
    ContactNameIn: string[];
    RowHash: Uint8Array;
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    createResponse() { return new QueryResponse<SM_CashSale>(); }
    getTypeName() { return "SM_CashSaleQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_CustomerReturnLineDetailsQuery extends QueryDb<SM_CustomerReturnLineDetails> implements IReturn<QueryResponse<SM_CustomerReturnLineDetails>>
{
    CustomerReturnLineDetailsID: string;
    CustomerReturnLineDetailsIDStartsWith: string;
    CustomerReturnLineDetailsIDEndsWith: string;
    CustomerReturnLineDetailsIDContains: string;
    CustomerReturnLineDetailsIDLike: string;
    CustomerReturnLineDetailsIDBetween: string[];
    CustomerReturnLineDetailsIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    CustomerReturnID: string;
    CustomerReturnIDStartsWith: string;
    CustomerReturnIDEndsWith: string;
    CustomerReturnIDContains: string;
    CustomerReturnIDLike: string;
    CustomerReturnIDBetween: string[];
    CustomerReturnIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    BinLocationDesc: string;
    BinLocationDescStartsWith: string;
    BinLocationDescEndsWith: string;
    BinLocationDescContains: string;
    BinLocationDescLike: string;
    BinLocationDescBetween: string[];
    BinLocationDescIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    SOHID: string;
    SOHIDStartsWith: string;
    SOHIDEndsWith: string;
    SOHIDContains: string;
    SOHIDLike: string;
    SOHIDBetween: string[];
    SOHIDIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<SM_CustomerReturnLineDetails>(); }
    getTypeName() { return "SM_CustomerReturnLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_CustomerReturnsQuery extends QueryDb<SM_CustomerReturns> implements IReturn<QueryResponse<SM_CustomerReturns>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    TaskID: string;
    TaskIDStartsWith: string;
    TaskIDEndsWith: string;
    TaskIDContains: string;
    TaskIDLike: string;
    TaskIDBetween: string[];
    TaskIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    CommentLine: boolean;
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    PriceExGST: number;
    PriceExGSTGreaterThanOrEqualTo: number;
    PriceExGSTGreaterThan: number;
    PriceExGSTLessThan: number;
    PriceExGSTLessThanOrEqualTo: number;
    PriceExGSTNotEqualTo: number;
    PriceExGSTBetween: number[];
    PriceExGSTIn: number[];
    GSTID: string;
    GSTIDStartsWith: string;
    GSTIDEndsWith: string;
    GSTIDContains: string;
    GSTIDLike: string;
    GSTIDBetween: string[];
    GSTIDIn: string[];
    GSTRate: number;
    GSTRateGreaterThanOrEqualTo: number;
    GSTRateGreaterThan: number;
    GSTRateLessThan: number;
    GSTRateLessThanOrEqualTo: number;
    GSTRateNotEqualTo: number;
    GSTRateBetween: number[];
    GSTRateIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    LineTotalIncGST: number;
    LineTotalIncGSTGreaterThanOrEqualTo: number;
    LineTotalIncGSTGreaterThan: number;
    LineTotalIncGSTLessThan: number;
    LineTotalIncGSTLessThanOrEqualTo: number;
    LineTotalIncGSTNotEqualTo: number;
    LineTotalIncGSTBetween: number[];
    LineTotalIncGSTIn: number[];
    Processed: boolean;
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    PhysicalItem: boolean;
    UseSerials: boolean;
    QuantityDecimalPlaces: number;
    QuantityDecimalPlacesGreaterThanOrEqualTo: number;
    QuantityDecimalPlacesGreaterThan: number;
    QuantityDecimalPlacesLessThan: number;
    QuantityDecimalPlacesLessThanOrEqualTo: number;
    QuantityDecimalPlacesNotEqualTo: number;
    QuantityDecimalPlacesBetween: number[];
    QuantityDecimalPlacesIn: number[];
    SellPriceIsIncTax: boolean;
    CreditReasonID: string;
    CreditReasonIDStartsWith: string;
    CreditReasonIDEndsWith: string;
    CreditReasonIDContains: string;
    CreditReasonIDLike: string;
    CreditReasonIDBetween: string[];
    CreditReasonIDIn: string[];
    CreditIntoStock: boolean;
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    UserDefinedBit1: boolean;
    UserDefinedBit2: boolean;
    UserDefinedBit3: boolean;
    UserDefinedString1: string;
    UserDefinedString1StartsWith: string;
    UserDefinedString1EndsWith: string;
    UserDefinedString1Contains: string;
    UserDefinedString1Like: string;
    UserDefinedString1Between: string[];
    UserDefinedString1In: string[];
    UserDefinedString2: string;
    UserDefinedString2StartsWith: string;
    UserDefinedString2EndsWith: string;
    UserDefinedString2Contains: string;
    UserDefinedString2Like: string;
    UserDefinedString2Between: string[];
    UserDefinedString2In: string[];
    UserDefinedString3: string;
    UserDefinedString3StartsWith: string;
    UserDefinedString3EndsWith: string;
    UserDefinedString3Contains: string;
    UserDefinedString3Like: string;
    UserDefinedString3Between: string[];
    UserDefinedString3In: string[];
    UserDefinedDate1: string;
    UserDefinedDate1GreaterThanOrEqualTo: string;
    UserDefinedDate1GreaterThan: string;
    UserDefinedDate1LessThan: string;
    UserDefinedDate1LessThanOrEqualTo: string;
    UserDefinedDate1NotEqualTo: string;
    UserDefinedDate1Between: string[];
    UserDefinedDate1In: string[];
    UserDefinedDate2: string;
    UserDefinedDate2GreaterThanOrEqualTo: string;
    UserDefinedDate2GreaterThan: string;
    UserDefinedDate2LessThan: string;
    UserDefinedDate2LessThanOrEqualTo: string;
    UserDefinedDate2NotEqualTo: string;
    UserDefinedDate2Between: string[];
    UserDefinedDate2In: string[];
    UserDefinedDate3: string;
    UserDefinedDate3GreaterThanOrEqualTo: string;
    UserDefinedDate3GreaterThan: string;
    UserDefinedDate3LessThan: string;
    UserDefinedDate3LessThanOrEqualTo: string;
    UserDefinedDate3NotEqualTo: string;
    UserDefinedDate3Between: string[];
    UserDefinedDate3In: string[];
    UserDefinedFloat1: number;
    UserDefinedFloat1GreaterThanOrEqualTo: number;
    UserDefinedFloat1GreaterThan: number;
    UserDefinedFloat1LessThan: number;
    UserDefinedFloat1LessThanOrEqualTo: number;
    UserDefinedFloat1NotEqualTo: number;
    UserDefinedFloat1Between: number[];
    UserDefinedFloat1In: number[];
    UserDefinedFloat2: number;
    UserDefinedFloat2GreaterThanOrEqualTo: number;
    UserDefinedFloat2GreaterThan: number;
    UserDefinedFloat2LessThan: number;
    UserDefinedFloat2LessThanOrEqualTo: number;
    UserDefinedFloat2NotEqualTo: number;
    UserDefinedFloat2Between: number[];
    UserDefinedFloat2In: number[];
    UserDefinedFloat3: number;
    UserDefinedFloat3GreaterThanOrEqualTo: number;
    UserDefinedFloat3GreaterThan: number;
    UserDefinedFloat3LessThan: number;
    UserDefinedFloat3LessThanOrEqualTo: number;
    UserDefinedFloat3NotEqualTo: number;
    UserDefinedFloat3Between: number[];
    UserDefinedFloat3In: number[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<SM_CustomerReturns>(); }
    getTypeName() { return "SM_CustomerReturnsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_CustomSettingsQuery extends QueryDb<SM_CustomSettings> implements IReturn<QueryResponse<SM_CustomSettings>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<SM_CustomSettings>(); }
    getTypeName() { return "SM_CustomSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_CustomSettingValuesQuery extends QueryDb<SM_CustomSettingValues> implements IReturn<QueryResponse<SM_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    TaskID: string;
    TaskIDStartsWith: string;
    TaskIDEndsWith: string;
    TaskIDContains: string;
    TaskIDLike: string;
    TaskIDBetween: string[];
    TaskIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SM_CustomSettingValues>(); }
    getTypeName() { return "SM_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_DebtorManagerQuery extends QueryDb<SM_DebtorManager> implements IReturn<QueryResponse<SM_DebtorManager>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    FName: string;
    FNameStartsWith: string;
    FNameEndsWith: string;
    FNameContains: string;
    FNameLike: string;
    FNameBetween: string[];
    FNameIn: string[];
    SName: string;
    SNameStartsWith: string;
    SNameEndsWith: string;
    SNameContains: string;
    SNameLike: string;
    SNameBetween: string[];
    SNameIn: string[];
    createResponse() { return new QueryResponse<SM_DebtorManager>(); }
    getTypeName() { return "SM_DebtorManagerQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_DocumentsQuery extends QueryDb<SM_Documents> implements IReturn<QueryResponse<SM_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SM_Documents>(); }
    getTypeName() { return "SM_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_EmailLogQuery extends QueryDb<SM_EmailLog> implements IReturn<QueryResponse<SM_EmailLog>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    EmailDateTime: string;
    EmailDateTimeGreaterThanOrEqualTo: string;
    EmailDateTimeGreaterThan: string;
    EmailDateTimeLessThan: string;
    EmailDateTimeLessThanOrEqualTo: string;
    EmailDateTimeNotEqualTo: string;
    EmailDateTimeBetween: string[];
    EmailDateTimeIn: string[];
    From: string;
    FromStartsWith: string;
    FromEndsWith: string;
    FromContains: string;
    FromLike: string;
    FromBetween: string[];
    FromIn: string[];
    To: string;
    ToStartsWith: string;
    ToEndsWith: string;
    ToContains: string;
    ToLike: string;
    ToBetween: string[];
    ToIn: string[];
    CC: string;
    CCStartsWith: string;
    CCEndsWith: string;
    CCContains: string;
    CCLike: string;
    CCBetween: string[];
    CCIn: string[];
    BCC: string;
    BCCStartsWith: string;
    BCCEndsWith: string;
    BCCContains: string;
    BCCLike: string;
    BCCBetween: string[];
    BCCIn: string[];
    Attachments: string;
    AttachmentsStartsWith: string;
    AttachmentsEndsWith: string;
    AttachmentsContains: string;
    AttachmentsLike: string;
    AttachmentsBetween: string[];
    AttachmentsIn: string[];
    Subject: string;
    SubjectStartsWith: string;
    SubjectEndsWith: string;
    SubjectContains: string;
    SubjectLike: string;
    SubjectBetween: string[];
    SubjectIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    SM_Jobs_RecID: string;
    SM_Jobs_RecIDStartsWith: string;
    SM_Jobs_RecIDEndsWith: string;
    SM_Jobs_RecIDContains: string;
    SM_Jobs_RecIDLike: string;
    SM_Jobs_RecIDBetween: string[];
    SM_Jobs_RecIDIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    EM_Main_RecID: string;
    EM_Main_RecIDStartsWith: string;
    EM_Main_RecIDEndsWith: string;
    EM_Main_RecIDContains: string;
    EM_Main_RecIDLike: string;
    EM_Main_RecIDBetween: string[];
    EM_Main_RecIDIn: string[];
    RequestReadReceipt: boolean;
    createResponse() { return new QueryResponse<SM_EmailLog>(); }
    getTypeName() { return "SM_EmailLogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_JobActivityBudgetsQuery extends QueryDb<SM_JobActivityBudgets> implements IReturn<QueryResponse<SM_JobActivityBudgets>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Activities_RecID: string;
    SM_Activities_RecIDStartsWith: string;
    SM_Activities_RecIDEndsWith: string;
    SM_Activities_RecIDContains: string;
    SM_Activities_RecIDLike: string;
    SM_Activities_RecIDBetween: string[];
    SM_Activities_RecIDIn: string[];
    SM_Jobs_RecID: string;
    SM_Jobs_RecIDStartsWith: string;
    SM_Jobs_RecIDEndsWith: string;
    SM_Jobs_RecIDContains: string;
    SM_Jobs_RecIDLike: string;
    SM_Jobs_RecIDBetween: string[];
    SM_Jobs_RecIDIn: string[];
    BudgetedBillingTime: number;
    BudgetedBillingTimeGreaterThanOrEqualTo: number;
    BudgetedBillingTimeGreaterThan: number;
    BudgetedBillingTimeLessThan: number;
    BudgetedBillingTimeLessThanOrEqualTo: number;
    BudgetedBillingTimeNotEqualTo: number;
    BudgetedBillingTimeBetween: number[];
    BudgetedBillingTimeIn: number[];
    BudgetedElapsedTime: number;
    BudgetedElapsedTimeGreaterThanOrEqualTo: number;
    BudgetedElapsedTimeGreaterThan: number;
    BudgetedElapsedTimeLessThan: number;
    BudgetedElapsedTimeLessThanOrEqualTo: number;
    BudgetedElapsedTimeNotEqualTo: number;
    BudgetedElapsedTimeBetween: number[];
    BudgetedElapsedTimeIn: number[];
    BudgetedBillingValue: number;
    BudgetedBillingValueGreaterThanOrEqualTo: number;
    BudgetedBillingValueGreaterThan: number;
    BudgetedBillingValueLessThan: number;
    BudgetedBillingValueLessThanOrEqualTo: number;
    BudgetedBillingValueNotEqualTo: number;
    BudgetedBillingValueBetween: number[];
    BudgetedBillingValueIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SM_JobActivityBudgets>(); }
    getTypeName() { return "SM_JobActivityBudgetsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_JobActivityBudgetsCustomFieldsQuery extends QueryDb<SM_JobActivityBudgetsCustomFields> implements IReturn<QueryResponse<SM_JobActivityBudgetsCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<SM_JobActivityBudgetsCustomFields>(); }
    getTypeName() { return "SM_JobActivityBudgetsCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_JobActivityBudgetsCustomValuesQuery extends QueryDb<SM_JobActivityBudgetsCustomValues> implements IReturn<QueryResponse<SM_JobActivityBudgetsCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_JobActivityBudgets_RecID: string;
    SM_JobActivityBudgets_RecIDStartsWith: string;
    SM_JobActivityBudgets_RecIDEndsWith: string;
    SM_JobActivityBudgets_RecIDContains: string;
    SM_JobActivityBudgets_RecIDLike: string;
    SM_JobActivityBudgets_RecIDBetween: string[];
    SM_JobActivityBudgets_RecIDIn: string[];
    SM_JobActivityBudgetsCustomFields_RecID: string;
    SM_JobActivityBudgetsCustomFields_RecIDStartsWith: string;
    SM_JobActivityBudgetsCustomFields_RecIDEndsWith: string;
    SM_JobActivityBudgetsCustomFields_RecIDContains: string;
    SM_JobActivityBudgetsCustomFields_RecIDLike: string;
    SM_JobActivityBudgetsCustomFields_RecIDBetween: string[];
    SM_JobActivityBudgetsCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SM_JobActivityBudgetsCustomValues>(); }
    getTypeName() { return "SM_JobActivityBudgetsCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_JobEquipmentQuery extends QueryDb<SM_JobEquipment> implements IReturn<QueryResponse<SM_JobEquipment>>
{
    EquipmentID: string;
    EquipmentIDStartsWith: string;
    EquipmentIDEndsWith: string;
    EquipmentIDContains: string;
    EquipmentIDLike: string;
    EquipmentIDBetween: string[];
    EquipmentIDIn: string[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    SerialNumber: string;
    SerialNumberStartsWith: string;
    SerialNumberEndsWith: string;
    SerialNumberContains: string;
    SerialNumberLike: string;
    SerialNumberBetween: string[];
    SerialNumberIn: string[];
    Damaged: number;
    DamagedGreaterThanOrEqualTo: number;
    DamagedGreaterThan: number;
    DamagedLessThan: number;
    DamagedLessThanOrEqualTo: number;
    DamagedNotEqualTo: number;
    DamagedBetween: number[];
    DamagedIn: number[];
    WarrantyItemID: string;
    WarrantyItemIDStartsWith: string;
    WarrantyItemIDEndsWith: string;
    WarrantyItemIDContains: string;
    WarrantyItemIDLike: string;
    WarrantyItemIDBetween: string[];
    WarrantyItemIDIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    DateSent: string;
    DateSentGreaterThanOrEqualTo: string;
    DateSentGreaterThan: string;
    DateSentLessThan: string;
    DateSentLessThanOrEqualTo: string;
    DateSentNotEqualTo: string;
    DateSentBetween: string[];
    DateSentIn: string[];
    DateReturn: string;
    DateReturnGreaterThanOrEqualTo: string;
    DateReturnGreaterThan: string;
    DateReturnLessThan: string;
    DateReturnLessThanOrEqualTo: string;
    DateReturnNotEqualTo: string;
    DateReturnBetween: string[];
    DateReturnIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    createResponse() { return new QueryResponse<SM_JobEquipment>(); }
    getTypeName() { return "SM_JobEquipmentQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_JobPLLinkQuery extends QueryDb<SM_JobPLLink> implements IReturn<QueryResponse<SM_JobPLLink>>
{
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PartID: string;
    PartIDStartsWith: string;
    PartIDEndsWith: string;
    PartIDContains: string;
    PartIDLike: string;
    PartIDBetween: string[];
    PartIDIn: string[];
    EquipmentID: string;
    EquipmentIDStartsWith: string;
    EquipmentIDEndsWith: string;
    EquipmentIDContains: string;
    EquipmentIDLike: string;
    EquipmentIDBetween: string[];
    EquipmentIDIn: string[];
    createResponse() { return new QueryResponse<SM_JobPLLink>(); }
    getTypeName() { return "SM_JobPLLinkQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_JobsQuery extends QueryDb<SM_Jobs> implements IReturn<QueryResponse<SM_Jobs>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    DB_Main_RecID: string;
    DB_Main_RecIDStartsWith: string;
    DB_Main_RecIDEndsWith: string;
    DB_Main_RecIDContains: string;
    DB_Main_RecIDLike: string;
    DB_Main_RecIDBetween: string[];
    DB_Main_RecIDIn: string[];
    CN_Contact_RecID: string;
    CN_Contact_RecIDStartsWith: string;
    CN_Contact_RecIDEndsWith: string;
    CN_Contact_RecIDContains: string;
    CN_Contact_RecIDLike: string;
    CN_Contact_RecIDBetween: string[];
    CN_Contact_RecIDIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Coordinator_HR_Staff_RecID: string;
    Coordinator_HR_Staff_RecIDStartsWith: string;
    Coordinator_HR_Staff_RecIDEndsWith: string;
    Coordinator_HR_Staff_RecIDContains: string;
    Coordinator_HR_Staff_RecIDLike: string;
    Coordinator_HR_Staff_RecIDBetween: string[];
    Coordinator_HR_Staff_RecIDIn: string[];
    DateLogged: string;
    DateLoggedGreaterThanOrEqualTo: string;
    DateLoggedGreaterThan: string;
    DateLoggedLessThan: string;
    DateLoggedLessThanOrEqualTo: string;
    DateLoggedNotEqualTo: string;
    DateLoggedBetween: string[];
    DateLoggedIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSaved_HR_Staff_RecID: string;
    LastSaved_HR_Staff_RecIDStartsWith: string;
    LastSaved_HR_Staff_RecIDEndsWith: string;
    LastSaved_HR_Staff_RecIDContains: string;
    LastSaved_HR_Staff_RecIDLike: string;
    LastSaved_HR_Staff_RecIDBetween: string[];
    LastSaved_HR_Staff_RecIDIn: string[];
    IN_PriceSchemes_RecID: string;
    IN_PriceSchemes_RecIDStartsWith: string;
    IN_PriceSchemes_RecIDEndsWith: string;
    IN_PriceSchemes_RecIDContains: string;
    IN_PriceSchemes_RecIDLike: string;
    IN_PriceSchemes_RecIDBetween: string[];
    IN_PriceSchemes_RecIDIn: string[];
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    RowHash: Uint8Array;
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<SM_Jobs>(); }
    getTypeName() { return "SM_JobsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_LabourQuery extends QueryDb<SM_Labour> implements IReturn<QueryResponse<SM_Labour>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Main_RecID: string;
    IN_Main_RecIDStartsWith: string;
    IN_Main_RecIDEndsWith: string;
    IN_Main_RecIDContains: string;
    IN_Main_RecIDLike: string;
    IN_Main_RecIDBetween: string[];
    IN_Main_RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    StartTime: string;
    StartTimeGreaterThanOrEqualTo: string;
    StartTimeGreaterThan: string;
    StartTimeLessThan: string;
    StartTimeLessThanOrEqualTo: string;
    StartTimeNotEqualTo: string;
    StartTimeBetween: string[];
    StartTimeIn: string[];
    EndTime: string;
    EndTimeGreaterThanOrEqualTo: string;
    EndTimeGreaterThan: string;
    EndTimeLessThan: string;
    EndTimeLessThanOrEqualTo: string;
    EndTimeNotEqualTo: string;
    EndTimeBetween: string[];
    EndTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    BillingTime: number;
    BillingTimeGreaterThanOrEqualTo: number;
    BillingTimeGreaterThan: number;
    BillingTimeLessThan: number;
    BillingTimeLessThanOrEqualTo: number;
    BillingTimeNotEqualTo: number;
    BillingTimeBetween: number[];
    BillingTimeIn: number[];
    Rate: number;
    RateGreaterThanOrEqualTo: number;
    RateGreaterThan: number;
    RateLessThan: number;
    RateLessThanOrEqualTo: number;
    RateNotEqualTo: number;
    RateBetween: number[];
    RateIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedStaffID: string;
    LastSavedStaffIDStartsWith: string;
    LastSavedStaffIDEndsWith: string;
    LastSavedStaffIDContains: string;
    LastSavedStaffIDLike: string;
    LastSavedStaffIDBetween: string[];
    LastSavedStaffIDIn: string[];
    IsPrepaid: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    SitesheetReceived: boolean;
    TX_Main_RecID: string;
    TX_Main_RecIDStartsWith: string;
    TX_Main_RecIDEndsWith: string;
    TX_Main_RecIDContains: string;
    TX_Main_RecIDLike: string;
    TX_Main_RecIDBetween: string[];
    TX_Main_RecIDIn: string[];
    Tax: number;
    TaxGreaterThanOrEqualTo: number;
    TaxGreaterThan: number;
    TaxLessThan: number;
    TaxLessThanOrEqualTo: number;
    TaxNotEqualTo: number;
    TaxBetween: number[];
    TaxIn: number[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    LCostIn: number;
    LCostInGreaterThanOrEqualTo: number;
    LCostInGreaterThan: number;
    LCostInLessThan: number;
    LCostInLessThanOrEqualTo: number;
    LCostInNotEqualTo: number;
    LCostInBetween: number[];
    LCostInIn: number[];
    SM_Activities_RecID: string;
    SM_Activities_RecIDStartsWith: string;
    SM_Activities_RecIDEndsWith: string;
    SM_Activities_RecIDContains: string;
    SM_Activities_RecIDLike: string;
    SM_Activities_RecIDBetween: string[];
    SM_Activities_RecIDIn: string[];
    SO_Lines_RecID: string;
    SO_Lines_RecIDStartsWith: string;
    SO_Lines_RecIDEndsWith: string;
    SO_Lines_RecIDContains: string;
    SO_Lines_RecIDLike: string;
    SO_Lines_RecIDBetween: string[];
    SO_Lines_RecIDIn: string[];
    createResponse() { return new QueryResponse<SM_Labour>(); }
    getTypeName() { return "SM_LabourQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_LabourLineCustomFieldsQuery extends QueryDb<SM_LabourLineCustomFields> implements IReturn<QueryResponse<SM_LabourLineCustomFields>>
{
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<SM_LabourLineCustomFields>(); }
    getTypeName() { return "SM_LabourLineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_LabourLineCustomValuesQuery extends QueryDb<SM_LabourLineCustomValues> implements IReturn<QueryResponse<SM_LabourLineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LabourID: string;
    LabourIDStartsWith: string;
    LabourIDEndsWith: string;
    LabourIDContains: string;
    LabourIDLike: string;
    LabourIDBetween: string[];
    LabourIDIn: string[];
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SM_LabourLineCustomValues>(); }
    getTypeName() { return "SM_LabourLineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_LabourLineDetailsQuery extends QueryDb<SM_LabourLineDetails> implements IReturn<QueryResponse<SM_LabourLineDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SM_PrepaidLabourPacks_RecID: string;
    SM_PrepaidLabourPacks_RecIDStartsWith: string;
    SM_PrepaidLabourPacks_RecIDEndsWith: string;
    SM_PrepaidLabourPacks_RecIDContains: string;
    SM_PrepaidLabourPacks_RecIDLike: string;
    SM_PrepaidLabourPacks_RecIDBetween: string[];
    SM_PrepaidLabourPacks_RecIDIn: string[];
    SM_Labour_RecID: string;
    SM_Labour_RecIDStartsWith: string;
    SM_Labour_RecIDEndsWith: string;
    SM_Labour_RecIDContains: string;
    SM_Labour_RecIDLike: string;
    SM_Labour_RecIDBetween: string[];
    SM_Labour_RecIDIn: string[];
    createResponse() { return new QueryResponse<SM_LabourLineDetails>(); }
    getTypeName() { return "SM_LabourLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_NotesQuery extends QueryDb<SM_Notes> implements IReturn<QueryResponse<SM_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SM_Notes>(); }
    getTypeName() { return "SM_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_PartLineCustomFieldsQuery extends QueryDb<SM_PartLineCustomFields> implements IReturn<QueryResponse<SM_PartLineCustomFields>>
{
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<SM_PartLineCustomFields>(); }
    getTypeName() { return "SM_PartLineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_PartLineCustomValuesQuery extends QueryDb<SM_PartLineCustomValues> implements IReturn<QueryResponse<SM_PartLineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PartID: string;
    PartIDStartsWith: string;
    PartIDEndsWith: string;
    PartIDContains: string;
    PartIDLike: string;
    PartIDBetween: string[];
    PartIDIn: string[];
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SM_PartLineCustomValues>(); }
    getTypeName() { return "SM_PartLineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_PartLineDetailsQuery extends QueryDb<SM_PartLineDetails> implements IReturn<QueryResponse<SM_PartLineDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Parts_RecID: string;
    SM_Parts_RecIDStartsWith: string;
    SM_Parts_RecIDEndsWith: string;
    SM_Parts_RecIDContains: string;
    SM_Parts_RecIDLike: string;
    SM_Parts_RecIDBetween: string[];
    SM_Parts_RecIDIn: string[];
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    Mode: number;
    ModeGreaterThanOrEqualTo: number;
    ModeGreaterThan: number;
    ModeLessThan: number;
    ModeLessThanOrEqualTo: number;
    ModeNotEqualTo: number;
    ModeBetween: Uint8Array;
    ModeIn: Uint8Array;
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SM_PartLineDetails>(); }
    getTypeName() { return "SM_PartLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_PartsQuery extends QueryDb<SM_Parts> implements IReturn<QueryResponse<SM_Parts>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    IN_Main_RecID: string;
    IN_Main_RecIDStartsWith: string;
    IN_Main_RecIDEndsWith: string;
    IN_Main_RecIDContains: string;
    IN_Main_RecIDLike: string;
    IN_Main_RecIDBetween: string[];
    IN_Main_RecIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    ItemPrice: number;
    ItemPriceGreaterThanOrEqualTo: number;
    ItemPriceGreaterThan: number;
    ItemPriceLessThan: number;
    ItemPriceLessThanOrEqualTo: number;
    ItemPriceNotEqualTo: number;
    ItemPriceBetween: number[];
    ItemPriceIn: number[];
    Tax: number;
    TaxGreaterThanOrEqualTo: number;
    TaxGreaterThan: number;
    TaxLessThan: number;
    TaxLessThanOrEqualTo: number;
    TaxNotEqualTo: number;
    TaxBetween: number[];
    TaxIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedStaffID: string;
    LastSavedStaffIDStartsWith: string;
    LastSavedStaffIDEndsWith: string;
    LastSavedStaffIDContains: string;
    LastSavedStaffIDLike: string;
    LastSavedStaffIDBetween: string[];
    LastSavedStaffIDIn: string[];
    QOReference: string;
    QOReferenceStartsWith: string;
    QOReferenceEndsWith: string;
    QOReferenceContains: string;
    QOReferenceLike: string;
    QOReferenceBetween: string[];
    QOReferenceIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Discount: number;
    DiscountGreaterThanOrEqualTo: number;
    DiscountGreaterThan: number;
    DiscountLessThan: number;
    DiscountLessThanOrEqualTo: number;
    DiscountNotEqualTo: number;
    DiscountBetween: number[];
    DiscountIn: number[];
    DiscountPercentage: number;
    DiscountPercentageGreaterThanOrEqualTo: number;
    DiscountPercentageGreaterThan: number;
    DiscountPercentageLessThan: number;
    DiscountPercentageLessThanOrEqualTo: number;
    DiscountPercentageNotEqualTo: number;
    DiscountPercentageBetween: number[];
    DiscountPercentageIn: number[];
    SellPriceIsIncTax: boolean;
    QuantityDecimalPlaces: number;
    QuantityDecimalPlacesGreaterThanOrEqualTo: number;
    QuantityDecimalPlacesGreaterThan: number;
    QuantityDecimalPlacesLessThan: number;
    QuantityDecimalPlacesLessThanOrEqualTo: number;
    QuantityDecimalPlacesNotEqualTo: number;
    QuantityDecimalPlacesBetween: number[];
    QuantityDecimalPlacesIn: number[];
    Discountable: boolean;
    DefaultPrice: number;
    DefaultPriceGreaterThanOrEqualTo: number;
    DefaultPriceGreaterThan: number;
    DefaultPriceLessThan: number;
    DefaultPriceLessThanOrEqualTo: number;
    DefaultPriceNotEqualTo: number;
    DefaultPriceBetween: number[];
    DefaultPriceIn: number[];
    MinimumGP: number;
    MinimumGPGreaterThanOrEqualTo: number;
    MinimumGPGreaterThan: number;
    MinimumGPLessThan: number;
    MinimumGPLessThanOrEqualTo: number;
    MinimumGPNotEqualTo: number;
    MinimumGPBetween: number[];
    MinimumGPIn: number[];
    LastCost: number;
    LastCostGreaterThanOrEqualTo: number;
    LastCostGreaterThan: number;
    LastCostLessThan: number;
    LastCostLessThanOrEqualTo: number;
    LastCostNotEqualTo: number;
    LastCostBetween: number[];
    LastCostIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    UserDefinedBit1: boolean;
    UserDefinedBit2: boolean;
    UserDefinedBit3: boolean;
    UserDefinedString1: string;
    UserDefinedString1StartsWith: string;
    UserDefinedString1EndsWith: string;
    UserDefinedString1Contains: string;
    UserDefinedString1Like: string;
    UserDefinedString1Between: string[];
    UserDefinedString1In: string[];
    UserDefinedString2: string;
    UserDefinedString2StartsWith: string;
    UserDefinedString2EndsWith: string;
    UserDefinedString2Contains: string;
    UserDefinedString2Like: string;
    UserDefinedString2Between: string[];
    UserDefinedString2In: string[];
    UserDefinedString3: string;
    UserDefinedString3StartsWith: string;
    UserDefinedString3EndsWith: string;
    UserDefinedString3Contains: string;
    UserDefinedString3Like: string;
    UserDefinedString3Between: string[];
    UserDefinedString3In: string[];
    UserDefinedDate1: string;
    UserDefinedDate1GreaterThanOrEqualTo: string;
    UserDefinedDate1GreaterThan: string;
    UserDefinedDate1LessThan: string;
    UserDefinedDate1LessThanOrEqualTo: string;
    UserDefinedDate1NotEqualTo: string;
    UserDefinedDate1Between: string[];
    UserDefinedDate1In: string[];
    UserDefinedDate2: string;
    UserDefinedDate2GreaterThanOrEqualTo: string;
    UserDefinedDate2GreaterThan: string;
    UserDefinedDate2LessThan: string;
    UserDefinedDate2LessThanOrEqualTo: string;
    UserDefinedDate2NotEqualTo: string;
    UserDefinedDate2Between: string[];
    UserDefinedDate2In: string[];
    UserDefinedDate3: string;
    UserDefinedDate3GreaterThanOrEqualTo: string;
    UserDefinedDate3GreaterThan: string;
    UserDefinedDate3LessThan: string;
    UserDefinedDate3LessThanOrEqualTo: string;
    UserDefinedDate3NotEqualTo: string;
    UserDefinedDate3Between: string[];
    UserDefinedDate3In: string[];
    UserDefinedFloat1: number;
    UserDefinedFloat1GreaterThanOrEqualTo: number;
    UserDefinedFloat1GreaterThan: number;
    UserDefinedFloat1LessThan: number;
    UserDefinedFloat1LessThanOrEqualTo: number;
    UserDefinedFloat1NotEqualTo: number;
    UserDefinedFloat1Between: number[];
    UserDefinedFloat1In: number[];
    UserDefinedFloat2: number;
    UserDefinedFloat2GreaterThanOrEqualTo: number;
    UserDefinedFloat2GreaterThan: number;
    UserDefinedFloat2LessThan: number;
    UserDefinedFloat2LessThanOrEqualTo: number;
    UserDefinedFloat2NotEqualTo: number;
    UserDefinedFloat2Between: number[];
    UserDefinedFloat2In: number[];
    UserDefinedFloat3: number;
    UserDefinedFloat3GreaterThanOrEqualTo: number;
    UserDefinedFloat3GreaterThan: number;
    UserDefinedFloat3LessThan: number;
    UserDefinedFloat3LessThanOrEqualTo: number;
    UserDefinedFloat3NotEqualTo: number;
    UserDefinedFloat3Between: number[];
    UserDefinedFloat3In: number[];
    SO_Lines_RecID: string;
    SO_Lines_RecIDStartsWith: string;
    SO_Lines_RecIDEndsWith: string;
    SO_Lines_RecIDContains: string;
    SO_Lines_RecIDLike: string;
    SO_Lines_RecIDBetween: string[];
    SO_Lines_RecIDIn: string[];
    createResponse() { return new QueryResponse<SM_Parts>(); }
    getTypeName() { return "SM_PartsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_PrepaidLabourPacksQuery extends QueryDb<SM_PrepaidLabourPacks> implements IReturn<QueryResponse<SM_PrepaidLabourPacks>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    DB_Main_RecID: string;
    DB_Main_RecIDStartsWith: string;
    DB_Main_RecIDEndsWith: string;
    DB_Main_RecIDContains: string;
    DB_Main_RecIDLike: string;
    DB_Main_RecIDBetween: string[];
    DB_Main_RecIDIn: string[];
    Invoice_SO_Main_RecID: string;
    Invoice_SO_Main_RecIDStartsWith: string;
    Invoice_SO_Main_RecIDEndsWith: string;
    Invoice_SO_Main_RecIDContains: string;
    Invoice_SO_Main_RecIDLike: string;
    Invoice_SO_Main_RecIDBetween: string[];
    Invoice_SO_Main_RecIDIn: string[];
    CreditNote_SO_Main_RecID: string;
    CreditNote_SO_Main_RecIDStartsWith: string;
    CreditNote_SO_Main_RecIDEndsWith: string;
    CreditNote_SO_Main_RecIDContains: string;
    CreditNote_SO_Main_RecIDLike: string;
    CreditNote_SO_Main_RecIDBetween: string[];
    CreditNote_SO_Main_RecIDIn: string[];
    TotalHours: number;
    TotalHoursGreaterThanOrEqualTo: number;
    TotalHoursGreaterThan: number;
    TotalHoursLessThan: number;
    TotalHoursLessThanOrEqualTo: number;
    TotalHoursNotEqualTo: number;
    TotalHoursBetween: number[];
    TotalHoursIn: number[];
    ReorderLevel: number;
    ReorderLevelGreaterThanOrEqualTo: number;
    ReorderLevelGreaterThan: number;
    ReorderLevelLessThan: number;
    ReorderLevelLessThanOrEqualTo: number;
    ReorderLevelNotEqualTo: number;
    ReorderLevelBetween: number[];
    ReorderLevelIn: number[];
    Rate: number;
    RateGreaterThanOrEqualTo: number;
    RateGreaterThan: number;
    RateLessThan: number;
    RateLessThanOrEqualTo: number;
    RateNotEqualTo: number;
    RateBetween: number[];
    RateIn: number[];
    Ratio: number;
    RatioGreaterThanOrEqualTo: number;
    RatioGreaterThan: number;
    RatioLessThan: number;
    RatioLessThanOrEqualTo: number;
    RatioNotEqualTo: number;
    RatioBetween: number[];
    RatioIn: number[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedBy_HR_Staff_RecID: string;
    CreatedBy_HR_Staff_RecIDStartsWith: string;
    CreatedBy_HR_Staff_RecIDEndsWith: string;
    CreatedBy_HR_Staff_RecIDContains: string;
    CreatedBy_HR_Staff_RecIDLike: string;
    CreatedBy_HR_Staff_RecIDBetween: string[];
    CreatedBy_HR_Staff_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedBy_HR_Staff_RecID: string;
    LastSavedBy_HR_Staff_RecIDStartsWith: string;
    LastSavedBy_HR_Staff_RecIDEndsWith: string;
    LastSavedBy_HR_Staff_RecIDContains: string;
    LastSavedBy_HR_Staff_RecIDLike: string;
    LastSavedBy_HR_Staff_RecIDBetween: string[];
    LastSavedBy_HR_Staff_RecIDIn: string[];
    UnearnedIncomeAccount_GL_Ledger_RecID: string;
    UnearnedIncomeAccount_GL_Ledger_RecIDStartsWith: string;
    UnearnedIncomeAccount_GL_Ledger_RecIDEndsWith: string;
    UnearnedIncomeAccount_GL_Ledger_RecIDContains: string;
    UnearnedIncomeAccount_GL_Ledger_RecIDLike: string;
    UnearnedIncomeAccount_GL_Ledger_RecIDBetween: string[];
    UnearnedIncomeAccount_GL_Ledger_RecIDIn: string[];
    IncomeAccount_GL_Ledger_RecID: string;
    IncomeAccount_GL_Ledger_RecIDStartsWith: string;
    IncomeAccount_GL_Ledger_RecIDEndsWith: string;
    IncomeAccount_GL_Ledger_RecIDContains: string;
    IncomeAccount_GL_Ledger_RecIDLike: string;
    IncomeAccount_GL_Ledger_RecIDBetween: string[];
    IncomeAccount_GL_Ledger_RecIDIn: string[];
    SpecialUse: boolean;
    RowHash: Uint8Array;
    PackNo: string;
    PackNoStartsWith: string;
    PackNoEndsWith: string;
    PackNoContains: string;
    PackNoLike: string;
    PackNoBetween: string[];
    PackNoIn: string[];
    createResponse() { return new QueryResponse<SM_PrepaidLabourPacks>(); }
    getTypeName() { return "SM_PrepaidLabourPacksQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_PrioritiesQuery extends QueryDb<SM_Priorities> implements IReturn<QueryResponse<SM_Priorities>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    IsDefault: boolean;
    ResponseTime: number;
    ResponseTimeGreaterThanOrEqualTo: number;
    ResponseTimeGreaterThan: number;
    ResponseTimeLessThan: number;
    ResponseTimeLessThanOrEqualTo: number;
    ResponseTimeNotEqualTo: number;
    ResponseTimeBetween: number[];
    ResponseTimeIn: number[];
    Deadline: boolean;
    createResponse() { return new QueryResponse<SM_Priorities>(); }
    getTypeName() { return "SM_PrioritiesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_SalesInvoiceNoSearchQuery extends QueryDb<SM_SalesInvoiceNoSearch> implements IReturn<QueryResponse<SM_SalesInvoiceNoSearch>>
{
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    InvoiceInitDate: string;
    InvoiceInitDateGreaterThanOrEqualTo: string;
    InvoiceInitDateGreaterThan: string;
    InvoiceInitDateLessThan: string;
    InvoiceInitDateLessThanOrEqualTo: string;
    InvoiceInitDateNotEqualTo: string;
    InvoiceInitDateBetween: string[];
    InvoiceInitDateIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    createResponse() { return new QueryResponse<SM_SalesInvoiceNoSearch>(); }
    getTypeName() { return "SM_SalesInvoiceNoSearchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_StatusesQuery extends QueryDb<SM_Statuses> implements IReturn<QueryResponse<SM_Statuses>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<SM_Statuses>(); }
    getTypeName() { return "SM_StatusesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_TasksQuery extends QueryDb<SM_Tasks> implements IReturn<QueryResponse<SM_Tasks>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    TaskNo: number;
    TaskNoGreaterThanOrEqualTo: number;
    TaskNoGreaterThan: number;
    TaskNoLessThan: number;
    TaskNoLessThanOrEqualTo: number;
    TaskNoNotEqualTo: number;
    TaskNoBetween: number[];
    TaskNoIn: number[];
    SM_Jobs_RecID: string;
    SM_Jobs_RecIDStartsWith: string;
    SM_Jobs_RecIDEndsWith: string;
    SM_Jobs_RecIDContains: string;
    SM_Jobs_RecIDLike: string;
    SM_Jobs_RecIDBetween: string[];
    SM_Jobs_RecIDIn: string[];
    HR_Departments_RecID: string;
    HR_Departments_RecIDStartsWith: string;
    HR_Departments_RecIDEndsWith: string;
    HR_Departments_RecIDContains: string;
    HR_Departments_RecIDLike: string;
    HR_Departments_RecIDBetween: string[];
    HR_Departments_RecIDIn: string[];
    HR_DepartmentCategories_RecID: string;
    HR_DepartmentCategories_RecIDStartsWith: string;
    HR_DepartmentCategories_RecIDEndsWith: string;
    HR_DepartmentCategories_RecIDContains: string;
    HR_DepartmentCategories_RecIDLike: string;
    HR_DepartmentCategories_RecIDBetween: string[];
    HR_DepartmentCategories_RecIDIn: string[];
    SM_Priorities_RecID: string;
    SM_Priorities_RecIDStartsWith: string;
    SM_Priorities_RecIDEndsWith: string;
    SM_Priorities_RecIDContains: string;
    SM_Priorities_RecIDLike: string;
    SM_Priorities_RecIDBetween: string[];
    SM_Priorities_RecIDIn: string[];
    SM_Statuses_RecID: string;
    SM_Statuses_RecIDStartsWith: string;
    SM_Statuses_RecIDEndsWith: string;
    SM_Statuses_RecIDContains: string;
    SM_Statuses_RecIDLike: string;
    SM_Statuses_RecIDBetween: string[];
    SM_Statuses_RecIDIn: string[];
    AssignedTo_HR_Staff_RecID: string;
    AssignedTo_HR_Staff_RecIDStartsWith: string;
    AssignedTo_HR_Staff_RecIDEndsWith: string;
    AssignedTo_HR_Staff_RecIDContains: string;
    AssignedTo_HR_Staff_RecIDLike: string;
    AssignedTo_HR_Staff_RecIDBetween: string[];
    AssignedTo_HR_Staff_RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    DateLogged: string;
    DateLoggedGreaterThanOrEqualTo: string;
    DateLoggedGreaterThan: string;
    DateLoggedLessThan: string;
    DateLoggedLessThanOrEqualTo: string;
    DateLoggedNotEqualTo: string;
    DateLoggedBetween: string[];
    DateLoggedIn: string[];
    LoggedBy_HR_Staff_RecID: string;
    LoggedBy_HR_Staff_RecIDStartsWith: string;
    LoggedBy_HR_Staff_RecIDEndsWith: string;
    LoggedBy_HR_Staff_RecIDContains: string;
    LoggedBy_HR_Staff_RecIDLike: string;
    LoggedBy_HR_Staff_RecIDBetween: string[];
    LoggedBy_HR_Staff_RecIDIn: string[];
    HasDeadline: boolean;
    Deadline: string;
    DeadlineGreaterThanOrEqualTo: string;
    DeadlineGreaterThan: string;
    DeadlineLessThan: string;
    DeadlineLessThanOrEqualTo: string;
    DeadlineNotEqualTo: string;
    DeadlineBetween: string[];
    DeadlineIn: string[];
    CompletionDate: string;
    CompletionDateGreaterThanOrEqualTo: string;
    CompletionDateGreaterThan: string;
    CompletionDateLessThan: string;
    CompletionDateLessThanOrEqualTo: string;
    CompletionDateNotEqualTo: string;
    CompletionDateBetween: string[];
    CompletionDateIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSaved_HR_Staff_RecID: string;
    LastSaved_HR_Staff_RecIDStartsWith: string;
    LastSaved_HR_Staff_RecIDEndsWith: string;
    LastSaved_HR_Staff_RecIDContains: string;
    LastSaved_HR_Staff_RecIDLike: string;
    LastSaved_HR_Staff_RecIDBetween: string[];
    LastSaved_HR_Staff_RecIDIn: string[];
    SM_PrepaidLabourPacks_RecID: string;
    SM_PrepaidLabourPacks_RecIDStartsWith: string;
    SM_PrepaidLabourPacks_RecIDEndsWith: string;
    SM_PrepaidLabourPacks_RecIDContains: string;
    SM_PrepaidLabourPacks_RecIDLike: string;
    SM_PrepaidLabourPacks_RecIDBetween: string[];
    SM_PrepaidLabourPacks_RecIDIn: string[];
    DB_DeliveryAddress_RecID: string;
    DB_DeliveryAddress_RecIDStartsWith: string;
    DB_DeliveryAddress_RecIDEndsWith: string;
    DB_DeliveryAddress_RecIDContains: string;
    DB_DeliveryAddress_RecIDLike: string;
    DB_DeliveryAddress_RecIDBetween: string[];
    DB_DeliveryAddress_RecIDIn: string[];
    DB_DebtorSystems_RecID: string;
    DB_DebtorSystems_RecIDStartsWith: string;
    DB_DebtorSystems_RecIDEndsWith: string;
    DB_DebtorSystems_RecIDContains: string;
    DB_DebtorSystems_RecIDLike: string;
    DB_DebtorSystems_RecIDBetween: string[];
    DB_DebtorSystems_RecIDIn: string[];
    IsRetired: boolean;
    RowHash: Uint8Array;
    BillingDebtor_DB_Main_RecID: string;
    BillingDebtor_DB_Main_RecIDStartsWith: string;
    BillingDebtor_DB_Main_RecIDEndsWith: string;
    BillingDebtor_DB_Main_RecIDContains: string;
    BillingDebtor_DB_Main_RecIDLike: string;
    BillingDebtor_DB_Main_RecIDBetween: string[];
    BillingDebtor_DB_Main_RecIDIn: string[];
    BillingDebtor_DB_DeliveryAddress_RecID: string;
    BillingDebtor_DB_DeliveryAddress_RecIDStartsWith: string;
    BillingDebtor_DB_DeliveryAddress_RecIDEndsWith: string;
    BillingDebtor_DB_DeliveryAddress_RecIDContains: string;
    BillingDebtor_DB_DeliveryAddress_RecIDLike: string;
    BillingDebtor_DB_DeliveryAddress_RecIDBetween: string[];
    BillingDebtor_DB_DeliveryAddress_RecIDIn: string[];
    createResponse() { return new QueryResponse<SM_Tasks>(); }
    getTypeName() { return "SM_TasksQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_TimesheetLinesQuery extends QueryDb<SM_TimesheetLines> implements IReturn<QueryResponse<SM_TimesheetLines>>
{
    RecID: string;
    RecIDIn: string[];
    SM_Timesheets_RecID: string;
    SM_Timesheets_RecIDIn: string[];
    SM_Tasks_RecID: string;
    SM_Tasks_RecIDStartsWith: string;
    SM_Tasks_RecIDEndsWith: string;
    SM_Tasks_RecIDContains: string;
    SM_Tasks_RecIDLike: string;
    SM_Tasks_RecIDBetween: string[];
    SM_Tasks_RecIDIn: string[];
    StartTime: string;
    StartTimeGreaterThanOrEqualTo: string;
    StartTimeGreaterThan: string;
    StartTimeLessThan: string;
    StartTimeLessThanOrEqualTo: string;
    StartTimeNotEqualTo: string;
    StartTimeBetween: string[];
    StartTimeIn: string[];
    EndTime: string;
    EndTimeGreaterThanOrEqualTo: string;
    EndTimeGreaterThan: string;
    EndTimeLessThan: string;
    EndTimeLessThanOrEqualTo: string;
    EndTimeNotEqualTo: string;
    EndTimeBetween: string[];
    EndTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    SM_Activities_RecID: string;
    SM_Activities_RecIDStartsWith: string;
    SM_Activities_RecIDEndsWith: string;
    SM_Activities_RecIDContains: string;
    SM_Activities_RecIDLike: string;
    SM_Activities_RecIDBetween: string[];
    SM_Activities_RecIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SM_TimesheetLines>(); }
    getTypeName() { return "SM_TimesheetLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SM_TimesheetsQuery extends QueryDb<SM_Timesheets> implements IReturn<QueryResponse<SM_Timesheets>>
{
    RecID: string;
    RecIDIn: string[];
    TimesheetNo: string;
    TimesheetNoStartsWith: string;
    TimesheetNoEndsWith: string;
    TimesheetNoContains: string;
    TimesheetNoLike: string;
    TimesheetNoBetween: string[];
    TimesheetNoIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    TimeSheetDate: string;
    TimeSheetDateGreaterThanOrEqualTo: string;
    TimeSheetDateGreaterThan: string;
    TimeSheetDateLessThan: string;
    TimeSheetDateLessThanOrEqualTo: string;
    TimeSheetDateNotEqualTo: string;
    TimeSheetDateBetween: string[];
    TimeSheetDateIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IsActivated: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SM_Timesheets>(); }
    getTypeName() { return "SM_TimesheetsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_BatchPrintFiltersQuery extends QueryDb<SO_BatchPrintFilters> implements IReturn<QueryResponse<SO_BatchPrintFilters>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    StoredProcedureName: string;
    StoredProcedureNameStartsWith: string;
    StoredProcedureNameEndsWith: string;
    StoredProcedureNameContains: string;
    StoredProcedureNameLike: string;
    StoredProcedureNameBetween: string[];
    StoredProcedureNameIn: string[];
    IsDefault: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsReadOnly: boolean;
    createResponse() { return new QueryResponse<SO_BatchPrintFilters>(); }
    getTypeName() { return "SO_BatchPrintFiltersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_BatchPrintSettingsQuery extends QueryDb<SO_BatchPrintSettings> implements IReturn<QueryResponse<SO_BatchPrintSettings>>
{
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DeliveryDocketPrintedStatus: number;
    DeliveryDocketPrintedStatusGreaterThanOrEqualTo: number;
    DeliveryDocketPrintedStatusGreaterThan: number;
    DeliveryDocketPrintedStatusLessThan: number;
    DeliveryDocketPrintedStatusLessThanOrEqualTo: number;
    DeliveryDocketPrintedStatusNotEqualTo: number;
    DeliveryDocketPrintedStatusBetween: number[];
    DeliveryDocketPrintedStatusIn: number[];
    SalesOrderPrintedStatus: number;
    SalesOrderPrintedStatusGreaterThanOrEqualTo: number;
    SalesOrderPrintedStatusGreaterThan: number;
    SalesOrderPrintedStatusLessThan: number;
    SalesOrderPrintedStatusLessThanOrEqualTo: number;
    SalesOrderPrintedStatusNotEqualTo: number;
    SalesOrderPrintedStatusBetween: number[];
    SalesOrderPrintedStatusIn: number[];
    PackSlipPrintedStatus: number;
    PackSlipPrintedStatusGreaterThanOrEqualTo: number;
    PackSlipPrintedStatusGreaterThan: number;
    PackSlipPrintedStatusLessThan: number;
    PackSlipPrintedStatusLessThanOrEqualTo: number;
    PackSlipPrintedStatusNotEqualTo: number;
    PackSlipPrintedStatusBetween: number[];
    PackSlipPrintedStatusIn: number[];
    PickSheetPrintedStatus: number;
    PickSheetPrintedStatusGreaterThanOrEqualTo: number;
    PickSheetPrintedStatusGreaterThan: number;
    PickSheetPrintedStatusLessThan: number;
    PickSheetPrintedStatusLessThanOrEqualTo: number;
    PickSheetPrintedStatusNotEqualTo: number;
    PickSheetPrintedStatusBetween: number[];
    PickSheetPrintedStatusIn: number[];
    OtherPrintedStatus: number;
    OtherPrintedStatusGreaterThanOrEqualTo: number;
    OtherPrintedStatusGreaterThan: number;
    OtherPrintedStatusLessThan: number;
    OtherPrintedStatusLessThanOrEqualTo: number;
    OtherPrintedStatusNotEqualTo: number;
    OtherPrintedStatusBetween: number[];
    OtherPrintedStatusIn: number[];
    SalesOrderType: number;
    SalesOrderTypeGreaterThanOrEqualTo: number;
    SalesOrderTypeGreaterThan: number;
    SalesOrderTypeLessThan: number;
    SalesOrderTypeLessThanOrEqualTo: number;
    SalesOrderTypeNotEqualTo: number;
    SalesOrderTypeBetween: number[];
    SalesOrderTypeIn: number[];
    DocumentType: number;
    DocumentTypeGreaterThanOrEqualTo: number;
    DocumentTypeGreaterThan: number;
    DocumentTypeLessThan: number;
    DocumentTypeLessThanOrEqualTo: number;
    DocumentTypeNotEqualTo: number;
    DocumentTypeBetween: number[];
    DocumentTypeIn: number[];
    BillingType: number;
    BillingTypeGreaterThanOrEqualTo: number;
    BillingTypeGreaterThan: number;
    BillingTypeLessThan: number;
    BillingTypeLessThanOrEqualTo: number;
    BillingTypeNotEqualTo: number;
    BillingTypeBetween: number[];
    BillingTypeIn: number[];
    BackOrderMode: number;
    BackOrderModeGreaterThanOrEqualTo: number;
    BackOrderModeGreaterThan: number;
    BackOrderModeLessThan: number;
    BackOrderModeLessThanOrEqualTo: number;
    BackOrderModeNotEqualTo: number;
    BackOrderModeBetween: number[];
    BackOrderModeIn: number[];
    SalesOrderStatus: number;
    SalesOrderStatusGreaterThanOrEqualTo: number;
    SalesOrderStatusGreaterThan: number;
    SalesOrderStatusLessThan: number;
    SalesOrderStatusLessThanOrEqualTo: number;
    SalesOrderStatusNotEqualTo: number;
    SalesOrderStatusBetween: number[];
    SalesOrderStatusIn: number[];
    CurrentSnapOnly: boolean;
    BatchPrintFilterRecID: string;
    BatchPrintFilterRecIDStartsWith: string;
    BatchPrintFilterRecIDEndsWith: string;
    BatchPrintFilterRecIDContains: string;
    BatchPrintFilterRecIDLike: string;
    BatchPrintFilterRecIDBetween: string[];
    BatchPrintFilterRecIDIn: string[];
    PrintDeliveryDocket: boolean;
    PrintInvoice: boolean;
    PrintPackSlip: boolean;
    PrintPickSheet: boolean;
    PrintOther: boolean;
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    EmailDeliveryDocket: boolean;
    EmailInvoice: boolean;
    EmailPackSlip: boolean;
    EmailPickSheet: boolean;
    EmailOther: boolean;
    DeliveryDocketEmailedStatus: number;
    DeliveryDocketEmailedStatusGreaterThanOrEqualTo: number;
    DeliveryDocketEmailedStatusGreaterThan: number;
    DeliveryDocketEmailedStatusLessThan: number;
    DeliveryDocketEmailedStatusLessThanOrEqualTo: number;
    DeliveryDocketEmailedStatusNotEqualTo: number;
    DeliveryDocketEmailedStatusBetween: number[];
    DeliveryDocketEmailedStatusIn: number[];
    SalesOrderEmailedStatus: number;
    SalesOrderEmailedStatusGreaterThanOrEqualTo: number;
    SalesOrderEmailedStatusGreaterThan: number;
    SalesOrderEmailedStatusLessThan: number;
    SalesOrderEmailedStatusLessThanOrEqualTo: number;
    SalesOrderEmailedStatusNotEqualTo: number;
    SalesOrderEmailedStatusBetween: number[];
    SalesOrderEmailedStatusIn: number[];
    PackSlipEmailedStatus: number;
    PackSlipEmailedStatusGreaterThanOrEqualTo: number;
    PackSlipEmailedStatusGreaterThan: number;
    PackSlipEmailedStatusLessThan: number;
    PackSlipEmailedStatusLessThanOrEqualTo: number;
    PackSlipEmailedStatusNotEqualTo: number;
    PackSlipEmailedStatusBetween: number[];
    PackSlipEmailedStatusIn: number[];
    PickSheetEmailedStatus: number;
    PickSheetEmailedStatusGreaterThanOrEqualTo: number;
    PickSheetEmailedStatusGreaterThan: number;
    PickSheetEmailedStatusLessThan: number;
    PickSheetEmailedStatusLessThanOrEqualTo: number;
    PickSheetEmailedStatusNotEqualTo: number;
    PickSheetEmailedStatusBetween: number[];
    PickSheetEmailedStatusIn: number[];
    OtherEmailedStatus: number;
    OtherEmailedStatusGreaterThanOrEqualTo: number;
    OtherEmailedStatusGreaterThan: number;
    OtherEmailedStatusLessThan: number;
    OtherEmailedStatusLessThanOrEqualTo: number;
    OtherEmailedStatusNotEqualTo: number;
    OtherEmailedStatusBetween: number[];
    OtherEmailedStatusIn: number[];
    BatchPrintEmailTemplateRecID: string;
    BatchPrintEmailTemplateRecIDStartsWith: string;
    BatchPrintEmailTemplateRecIDEndsWith: string;
    BatchPrintEmailTemplateRecIDContains: string;
    BatchPrintEmailTemplateRecIDLike: string;
    BatchPrintEmailTemplateRecIDBetween: string[];
    BatchPrintEmailTemplateRecIDIn: string[];
    AppliesTo_IN_PhysicalID: string;
    AppliesTo_IN_PhysicalIDStartsWith: string;
    AppliesTo_IN_PhysicalIDEndsWith: string;
    AppliesTo_IN_PhysicalIDContains: string;
    AppliesTo_IN_PhysicalIDLike: string;
    AppliesTo_IN_PhysicalIDBetween: string[];
    AppliesTo_IN_PhysicalIDIn: string[];
    AppliesTo_IN_LogicalID: string;
    AppliesTo_IN_LogicalIDStartsWith: string;
    AppliesTo_IN_LogicalIDEndsWith: string;
    AppliesTo_IN_LogicalIDContains: string;
    AppliesTo_IN_LogicalIDLike: string;
    AppliesTo_IN_LogicalIDBetween: string[];
    AppliesTo_IN_LogicalIDIn: string[];
    VisibleTo_IN_PhysicalID: string;
    VisibleTo_IN_PhysicalIDStartsWith: string;
    VisibleTo_IN_PhysicalIDEndsWith: string;
    VisibleTo_IN_PhysicalIDContains: string;
    VisibleTo_IN_PhysicalIDLike: string;
    VisibleTo_IN_PhysicalIDBetween: string[];
    VisibleTo_IN_PhysicalIDIn: string[];
    VisibleTo_IN_LogicalID: string;
    VisibleTo_IN_LogicalIDStartsWith: string;
    VisibleTo_IN_LogicalIDEndsWith: string;
    VisibleTo_IN_LogicalIDContains: string;
    VisibleTo_IN_LogicalIDLike: string;
    VisibleTo_IN_LogicalIDBetween: string[];
    VisibleTo_IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<SO_BatchPrintSettings>(); }
    getTypeName() { return "SO_BatchPrintSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_BatchProcessTypesQuery extends QueryDb<SO_BatchProcessTypes> implements IReturn<QueryResponse<SO_BatchProcessTypes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ListOfSalesOrdersToProcessStoredProcedure: string;
    ListOfSalesOrdersToProcessStoredProcedureStartsWith: string;
    ListOfSalesOrdersToProcessStoredProcedureEndsWith: string;
    ListOfSalesOrdersToProcessStoredProcedureContains: string;
    ListOfSalesOrdersToProcessStoredProcedureLike: string;
    ListOfSalesOrdersToProcessStoredProcedureBetween: string[];
    ListOfSalesOrdersToProcessStoredProcedureIn: string[];
    PostProcessingStoredProcedure: string;
    PostProcessingStoredProcedureStartsWith: string;
    PostProcessingStoredProcedureEndsWith: string;
    PostProcessingStoredProcedureContains: string;
    PostProcessingStoredProcedureLike: string;
    PostProcessingStoredProcedureBetween: string[];
    PostProcessingStoredProcedureIn: string[];
    createResponse() { return new QueryResponse<SO_BatchProcessTypes>(); }
    getTypeName() { return "SO_BatchProcessTypesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_BORunQuery extends QueryDb<SO_BORun> implements IReturn<QueryResponse<SO_BORun>>
{
    RunID: string;
    RunIDStartsWith: string;
    RunIDEndsWith: string;
    RunIDContains: string;
    RunIDLike: string;
    RunIDBetween: string[];
    RunIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RunBy: string;
    RunByStartsWith: string;
    RunByEndsWith: string;
    RunByContains: string;
    RunByLike: string;
    RunByBetween: string[];
    RunByIn: string[];
    RunNo: string;
    RunNoStartsWith: string;
    RunNoEndsWith: string;
    RunNoContains: string;
    RunNoLike: string;
    RunNoBetween: string[];
    RunNoIn: string[];
    createResponse() { return new QueryResponse<SO_BORun>(); }
    getTypeName() { return "SO_BORunQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_BORunLinesQuery extends QueryDb<SO_BORunLines> implements IReturn<QueryResponse<SO_BORunLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RunID: string;
    RunIDStartsWith: string;
    RunIDEndsWith: string;
    RunIDContains: string;
    RunIDLike: string;
    RunIDBetween: string[];
    RunIDIn: string[];
    SourceType: number;
    SourceTypeGreaterThanOrEqualTo: number;
    SourceTypeGreaterThan: number;
    SourceTypeLessThan: number;
    SourceTypeLessThanOrEqualTo: number;
    SourceTypeNotEqualTo: number;
    SourceTypeBetween: number[];
    SourceTypeIn: number[];
    SourceLineID: string;
    SourceLineIDStartsWith: string;
    SourceLineIDEndsWith: string;
    SourceLineIDContains: string;
    SourceLineIDLike: string;
    SourceLineIDBetween: string[];
    SourceLineIDIn: string[];
    createResponse() { return new QueryResponse<SO_BORunLines>(); }
    getTypeName() { return "SO_BORunLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_BulkCreditNoteBatchQuery extends QueryDb<SO_BulkCreditNoteBatch> implements IReturn<QueryResponse<SO_BulkCreditNoteBatch>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    DateActivated: string;
    DateActivatedGreaterThanOrEqualTo: string;
    DateActivatedGreaterThan: string;
    DateActivatedLessThan: string;
    DateActivatedLessThanOrEqualTo: string;
    DateActivatedNotEqualTo: string;
    DateActivatedBetween: string[];
    DateActivatedIn: string[];
    BatchActivated: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SO_BulkCreditNoteBatch>(); }
    getTypeName() { return "SO_BulkCreditNoteBatchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_BulkCreditNoteBatchLinesQuery extends QueryDb<SO_BulkCreditNoteBatchLines> implements IReturn<QueryResponse<SO_BulkCreditNoteBatchLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BulkCreditNoteBatchID: string;
    BulkCreditNoteBatchIDStartsWith: string;
    BulkCreditNoteBatchIDEndsWith: string;
    BulkCreditNoteBatchIDContains: string;
    BulkCreditNoteBatchIDLike: string;
    BulkCreditNoteBatchIDBetween: string[];
    BulkCreditNoteBatchIDIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorAccountNo: string;
    DebtorAccountNoStartsWith: string;
    DebtorAccountNoEndsWith: string;
    DebtorAccountNoContains: string;
    DebtorAccountNoLike: string;
    DebtorAccountNoBetween: string[];
    DebtorAccountNoIn: string[];
    DebtorName: string;
    DebtorNameStartsWith: string;
    DebtorNameEndsWith: string;
    DebtorNameContains: string;
    DebtorNameLike: string;
    DebtorNameBetween: string[];
    DebtorNameIn: string[];
    CreditNoteInvoiceID: string;
    CreditNoteInvoiceIDStartsWith: string;
    CreditNoteInvoiceIDEndsWith: string;
    CreditNoteInvoiceIDContains: string;
    CreditNoteInvoiceIDLike: string;
    CreditNoteInvoiceIDBetween: string[];
    CreditNoteInvoiceIDIn: string[];
    CreditNoteInvoiceNo: string;
    CreditNoteInvoiceNoStartsWith: string;
    CreditNoteInvoiceNoEndsWith: string;
    CreditNoteInvoiceNoContains: string;
    CreditNoteInvoiceNoLike: string;
    CreditNoteInvoiceNoBetween: string[];
    CreditNoteInvoiceNoIn: string[];
    CreditFlag: boolean;
    CreditFailed: boolean;
    FailReason: string;
    FailReasonStartsWith: string;
    FailReasonEndsWith: string;
    FailReasonContains: string;
    FailReasonLike: string;
    FailReasonBetween: string[];
    FailReasonIn: string[];
    createResponse() { return new QueryResponse<SO_BulkCreditNoteBatchLines>(); }
    getTypeName() { return "SO_BulkCreditNoteBatchLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_CashSaleQuery extends QueryDb<SO_CashSale> implements IReturn<QueryResponse<SO_CashSale>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Company: string;
    CompanyStartsWith: string;
    CompanyEndsWith: string;
    CompanyContains: string;
    CompanyLike: string;
    CompanyBetween: string[];
    CompanyIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    ContactName: string;
    ContactNameStartsWith: string;
    ContactNameEndsWith: string;
    ContactNameContains: string;
    ContactNameLike: string;
    ContactNameBetween: string[];
    ContactNameIn: string[];
    createResponse() { return new QueryResponse<SO_CashSale>(); }
    getTypeName() { return "SO_CashSaleQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_CreditNoteInvoiceLinkQuery extends QueryDb<SO_CreditNoteInvoiceLink> implements IReturn<QueryResponse<SO_CreditNoteInvoiceLink>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CreditNoteInvoiceID: string;
    CreditNoteInvoiceIDStartsWith: string;
    CreditNoteInvoiceIDEndsWith: string;
    CreditNoteInvoiceIDContains: string;
    CreditNoteInvoiceIDLike: string;
    CreditNoteInvoiceIDBetween: string[];
    CreditNoteInvoiceIDIn: string[];
    SourceInvoiceHistoryID: string;
    SourceInvoiceHistoryIDStartsWith: string;
    SourceInvoiceHistoryIDEndsWith: string;
    SourceInvoiceHistoryIDContains: string;
    SourceInvoiceHistoryIDLike: string;
    SourceInvoiceHistoryIDBetween: string[];
    SourceInvoiceHistoryIDIn: string[];
    createResponse() { return new QueryResponse<SO_CreditNoteInvoiceLink>(); }
    getTypeName() { return "SO_CreditNoteInvoiceLinkQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_CreditReasonsQuery extends QueryDb<SO_CreditReasons> implements IReturn<QueryResponse<SO_CreditReasons>>
{
    CreditReasonID: string;
    CreditReasonIDStartsWith: string;
    CreditReasonIDEndsWith: string;
    CreditReasonIDContains: string;
    CreditReasonIDLike: string;
    CreditReasonIDBetween: string[];
    CreditReasonIDIn: string[];
    CreditReasonDescription: string;
    CreditReasonDescriptionStartsWith: string;
    CreditReasonDescriptionEndsWith: string;
    CreditReasonDescriptionContains: string;
    CreditReasonDescriptionLike: string;
    CreditReasonDescriptionBetween: string[];
    CreditReasonDescriptionIn: string[];
    DefaultCreditReason: boolean;
    CreditIntoStock: boolean;
    createResponse() { return new QueryResponse<SO_CreditReasons>(); }
    getTypeName() { return "SO_CreditReasonsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_CustomSettingQuery extends QueryDb<SO_CustomSetting> implements IReturn<QueryResponse<SO_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<SO_CustomSetting>(); }
    getTypeName() { return "SO_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_CustomSettingValuesQuery extends QueryDb<SO_CustomSettingValues> implements IReturn<QueryResponse<SO_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SO_CustomSettingValues>(); }
    getTypeName() { return "SO_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_DocumentsQuery extends QueryDb<SO_Documents> implements IReturn<QueryResponse<SO_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SO_Documents>(); }
    getTypeName() { return "SO_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_EDIMainQuery extends QueryDb<SO_EDIMain> implements IReturn<QueryResponse<SO_EDIMain>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    EDIOrderType: number;
    EDIOrderTypeGreaterThanOrEqualTo: number;
    EDIOrderTypeGreaterThan: number;
    EDIOrderTypeLessThan: number;
    EDIOrderTypeLessThanOrEqualTo: number;
    EDIOrderTypeNotEqualTo: number;
    EDIOrderTypeBetween: Uint8Array;
    EDIOrderTypeIn: Uint8Array;
    EDIAddress: string;
    EDIAddressStartsWith: string;
    EDIAddressEndsWith: string;
    EDIAddressContains: string;
    EDIAddressLike: string;
    EDIAddressBetween: string[];
    EDIAddressIn: string[];
    EDIDeliverNotBeforeDate: string;
    EDIDeliverNotBeforeDateGreaterThanOrEqualTo: string;
    EDIDeliverNotBeforeDateGreaterThan: string;
    EDIDeliverNotBeforeDateLessThan: string;
    EDIDeliverNotBeforeDateLessThanOrEqualTo: string;
    EDIDeliverNotBeforeDateNotEqualTo: string;
    EDIDeliverNotBeforeDateBetween: string[];
    EDIDeliverNotBeforeDateIn: string[];
    EDIDeliverNotAfterDate: string;
    EDIDeliverNotAfterDateGreaterThanOrEqualTo: string;
    EDIDeliverNotAfterDateGreaterThan: string;
    EDIDeliverNotAfterDateLessThan: string;
    EDIDeliverNotAfterDateLessThanOrEqualTo: string;
    EDIDeliverNotAfterDateNotEqualTo: string;
    EDIDeliverNotAfterDateBetween: string[];
    EDIDeliverNotAfterDateIn: string[];
    ReceiverEDIAddress: string;
    ReceiverEDIAddressStartsWith: string;
    ReceiverEDIAddressEndsWith: string;
    ReceiverEDIAddressContains: string;
    ReceiverEDIAddressLike: string;
    ReceiverEDIAddressBetween: string[];
    ReceiverEDIAddressIn: string[];
    VendorNumber: string;
    VendorNumberStartsWith: string;
    VendorNumberEndsWith: string;
    VendorNumberContains: string;
    VendorNumberLike: string;
    VendorNumberBetween: string[];
    VendorNumberIn: string[];
    BuyerNumber: string;
    BuyerNumberStartsWith: string;
    BuyerNumberEndsWith: string;
    BuyerNumberContains: string;
    BuyerNumberLike: string;
    BuyerNumberBetween: string[];
    BuyerNumberIn: string[];
    createResponse() { return new QueryResponse<SO_EDIMain>(); }
    getTypeName() { return "SO_EDIMainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_EmailLogQuery extends QueryDb<SO_EmailLog> implements IReturn<QueryResponse<SO_EmailLog>>
{
    EmailLogID: string;
    EmailLogIDStartsWith: string;
    EmailLogIDEndsWith: string;
    EmailLogIDContains: string;
    EmailLogIDLike: string;
    EmailLogIDBetween: string[];
    EmailLogIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    EmailDateTime: string;
    EmailDateTimeGreaterThanOrEqualTo: string;
    EmailDateTimeGreaterThan: string;
    EmailDateTimeLessThan: string;
    EmailDateTimeLessThanOrEqualTo: string;
    EmailDateTimeNotEqualTo: string;
    EmailDateTimeBetween: string[];
    EmailDateTimeIn: string[];
    From: string;
    FromStartsWith: string;
    FromEndsWith: string;
    FromContains: string;
    FromLike: string;
    FromBetween: string[];
    FromIn: string[];
    To: string;
    ToStartsWith: string;
    ToEndsWith: string;
    ToContains: string;
    ToLike: string;
    ToBetween: string[];
    ToIn: string[];
    CC: string;
    CCStartsWith: string;
    CCEndsWith: string;
    CCContains: string;
    CCLike: string;
    CCBetween: string[];
    CCIn: string[];
    BCC: string;
    BCCStartsWith: string;
    BCCEndsWith: string;
    BCCContains: string;
    BCCLike: string;
    BCCBetween: string[];
    BCCIn: string[];
    Attachments: string;
    AttachmentsStartsWith: string;
    AttachmentsEndsWith: string;
    AttachmentsContains: string;
    AttachmentsLike: string;
    AttachmentsBetween: string[];
    AttachmentsIn: string[];
    Subject: string;
    SubjectStartsWith: string;
    SubjectEndsWith: string;
    SubjectContains: string;
    SubjectLike: string;
    SubjectBetween: string[];
    SubjectIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    EM_Main_RecID: string;
    EM_Main_RecIDStartsWith: string;
    EM_Main_RecIDEndsWith: string;
    EM_Main_RecIDContains: string;
    EM_Main_RecIDLike: string;
    EM_Main_RecIDBetween: string[];
    EM_Main_RecIDIn: string[];
    RequestReadReceipt: boolean;
    ReportType: number;
    ReportTypeGreaterThanOrEqualTo: number;
    ReportTypeGreaterThan: number;
    ReportTypeLessThan: number;
    ReportTypeLessThanOrEqualTo: number;
    ReportTypeNotEqualTo: number;
    ReportTypeBetween: number[];
    ReportTypeIn: number[];
    createResponse() { return new QueryResponse<SO_EmailLog>(); }
    getTypeName() { return "SO_EmailLogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ExportLinesQuery extends QueryDb<SO_ExportLines> implements IReturn<QueryResponse<SO_ExportLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SO_ExportMain_RecID: string;
    SO_ExportMain_RecIDStartsWith: string;
    SO_ExportMain_RecIDEndsWith: string;
    SO_ExportMain_RecIDContains: string;
    SO_ExportMain_RecIDLike: string;
    SO_ExportMain_RecIDBetween: string[];
    SO_ExportMain_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    SO_Main_InvoiceID: string;
    SO_Main_InvoiceIDStartsWith: string;
    SO_Main_InvoiceIDEndsWith: string;
    SO_Main_InvoiceIDContains: string;
    SO_Main_InvoiceIDLike: string;
    SO_Main_InvoiceIDBetween: string[];
    SO_Main_InvoiceIDIn: string[];
    FlaggedForExport: boolean;
    SO_History_InvoiceHistoryID: string;
    SO_History_InvoiceHistoryIDStartsWith: string;
    SO_History_InvoiceHistoryIDEndsWith: string;
    SO_History_InvoiceHistoryIDContains: string;
    SO_History_InvoiceHistoryIDLike: string;
    SO_History_InvoiceHistoryIDBetween: string[];
    SO_History_InvoiceHistoryIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SO_ExportLines>(); }
    getTypeName() { return "SO_ExportLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ExportMainQuery extends QueryDb<SO_ExportMain> implements IReturn<QueryResponse<SO_ExportMain>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    DateCreated: string;
    DateCreatedGreaterThanOrEqualTo: string;
    DateCreatedGreaterThan: string;
    DateCreatedLessThan: string;
    DateCreatedLessThanOrEqualTo: string;
    DateCreatedNotEqualTo: string;
    DateCreatedBetween: string[];
    DateCreatedIn: string[];
    DateActivated: string;
    DateActivatedGreaterThanOrEqualTo: string;
    DateActivatedGreaterThan: string;
    DateActivatedLessThan: string;
    DateActivatedLessThanOrEqualTo: string;
    DateActivatedNotEqualTo: string;
    DateActivatedBetween: string[];
    DateActivatedIn: string[];
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    ExportFileNameAndPath: string;
    ExportFileNameAndPathStartsWith: string;
    ExportFileNameAndPathEndsWith: string;
    ExportFileNameAndPathContains: string;
    ExportFileNameAndPathLike: string;
    ExportFileNameAndPathBetween: string[];
    ExportFileNameAndPathIn: string[];
    createResponse() { return new QueryResponse<SO_ExportMain>(); }
    getTypeName() { return "SO_ExportMainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ForwardOrderProcessBatchQuery extends QueryDb<SO_ForwardOrderProcessBatch> implements IReturn<QueryResponse<SO_ForwardOrderProcessBatch>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    DateActivated: string;
    DateActivatedGreaterThanOrEqualTo: string;
    DateActivatedGreaterThan: string;
    DateActivatedLessThan: string;
    DateActivatedLessThanOrEqualTo: string;
    DateActivatedNotEqualTo: string;
    DateActivatedBetween: string[];
    DateActivatedIn: string[];
    BatchActivated: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IN_Logical_RecID: string;
    IN_Logical_RecIDStartsWith: string;
    IN_Logical_RecIDEndsWith: string;
    IN_Logical_RecIDContains: string;
    IN_Logical_RecIDLike: string;
    IN_Logical_RecIDBetween: string[];
    IN_Logical_RecIDIn: string[];
    UseSpecificWarehouse: boolean;
    createResponse() { return new QueryResponse<SO_ForwardOrderProcessBatch>(); }
    getTypeName() { return "SO_ForwardOrderProcessBatchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ForwardOrderProcessBatchLinesQuery extends QueryDb<SO_ForwardOrderProcessBatchLines> implements IReturn<QueryResponse<SO_ForwardOrderProcessBatchLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ForwardOrderProcessBatchID: string;
    ForwardOrderProcessBatchIDStartsWith: string;
    ForwardOrderProcessBatchIDEndsWith: string;
    ForwardOrderProcessBatchIDContains: string;
    ForwardOrderProcessBatchIDLike: string;
    ForwardOrderProcessBatchIDBetween: string[];
    ForwardOrderProcessBatchIDIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorAccountNo: string;
    DebtorAccountNoStartsWith: string;
    DebtorAccountNoEndsWith: string;
    DebtorAccountNoContains: string;
    DebtorAccountNoLike: string;
    DebtorAccountNoBetween: string[];
    DebtorAccountNoIn: string[];
    DebtorName: string;
    DebtorNameStartsWith: string;
    DebtorNameEndsWith: string;
    DebtorNameContains: string;
    DebtorNameLike: string;
    DebtorNameBetween: string[];
    DebtorNameIn: string[];
    ConvertFlag: boolean;
    ConvertFailed: boolean;
    FailReason: string;
    FailReasonStartsWith: string;
    FailReasonEndsWith: string;
    FailReasonContains: string;
    FailReasonLike: string;
    FailReasonBetween: string[];
    FailReasonIn: string[];
    createResponse() { return new QueryResponse<SO_ForwardOrderProcessBatchLines>(); }
    getTypeName() { return "SO_ForwardOrderProcessBatchLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ForwardOrderScheduleBatchQuery extends QueryDb<SO_ForwardOrderScheduleBatch> implements IReturn<QueryResponse<SO_ForwardOrderScheduleBatch>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    DateActivated: string;
    DateActivatedGreaterThanOrEqualTo: string;
    DateActivatedGreaterThan: string;
    DateActivatedLessThan: string;
    DateActivatedLessThanOrEqualTo: string;
    DateActivatedNotEqualTo: string;
    DateActivatedBetween: string[];
    DateActivatedIn: string[];
    BatchActivated: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IN_Logical_RecID: string;
    IN_Logical_RecIDStartsWith: string;
    IN_Logical_RecIDEndsWith: string;
    IN_Logical_RecIDContains: string;
    IN_Logical_RecIDLike: string;
    IN_Logical_RecIDBetween: string[];
    IN_Logical_RecIDIn: string[];
    UseSpecificWarehouse: boolean;
    IncludeForwardOrders: boolean;
    IncludeOrders: boolean;
    IncludeInvoices: boolean;
    IncludeActiveOrders: boolean;
    createResponse() { return new QueryResponse<SO_ForwardOrderScheduleBatch>(); }
    getTypeName() { return "SO_ForwardOrderScheduleBatchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ForwardOrderScheduleBatchLinesQuery extends QueryDb<SO_ForwardOrderScheduleBatchLines> implements IReturn<QueryResponse<SO_ForwardOrderScheduleBatchLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ForwardOrderScheduleBatchID: string;
    ForwardOrderScheduleBatchIDStartsWith: string;
    ForwardOrderScheduleBatchIDEndsWith: string;
    ForwardOrderScheduleBatchIDContains: string;
    ForwardOrderScheduleBatchIDLike: string;
    ForwardOrderScheduleBatchIDBetween: string[];
    ForwardOrderScheduleBatchIDIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorAccountNo: string;
    DebtorAccountNoStartsWith: string;
    DebtorAccountNoEndsWith: string;
    DebtorAccountNoContains: string;
    DebtorAccountNoLike: string;
    DebtorAccountNoBetween: string[];
    DebtorAccountNoIn: string[];
    DebtorName: string;
    DebtorNameStartsWith: string;
    DebtorNameEndsWith: string;
    DebtorNameContains: string;
    DebtorNameLike: string;
    DebtorNameBetween: string[];
    DebtorNameIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    ForwardOrderDate: string;
    ForwardOrderDateGreaterThanOrEqualTo: string;
    ForwardOrderDateGreaterThan: string;
    ForwardOrderDateLessThan: string;
    ForwardOrderDateLessThanOrEqualTo: string;
    ForwardOrderDateNotEqualTo: string;
    ForwardOrderDateBetween: string[];
    ForwardOrderDateIn: string[];
    CurrentScheduledDate: string;
    CurrentScheduledDateGreaterThanOrEqualTo: string;
    CurrentScheduledDateGreaterThan: string;
    CurrentScheduledDateLessThan: string;
    CurrentScheduledDateLessThanOrEqualTo: string;
    CurrentScheduledDateNotEqualTo: string;
    CurrentScheduledDateBetween: string[];
    CurrentScheduledDateIn: string[];
    NewScheduledDate: string;
    NewScheduledDateGreaterThanOrEqualTo: string;
    NewScheduledDateGreaterThan: string;
    NewScheduledDateLessThan: string;
    NewScheduledDateLessThanOrEqualTo: string;
    NewScheduledDateNotEqualTo: string;
    NewScheduledDateBetween: string[];
    NewScheduledDateIn: string[];
    UpdateFailed: boolean;
    FailReason: string;
    FailReasonStartsWith: string;
    FailReasonEndsWith: string;
    FailReasonContains: string;
    FailReasonLike: string;
    FailReasonBetween: string[];
    FailReasonIn: string[];
    createResponse() { return new QueryResponse<SO_ForwardOrderScheduleBatchLines>(); }
    getTypeName() { return "SO_ForwardOrderScheduleBatchLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_FoundStockAuditQuery extends QueryDb<SO_FoundStockAudit> implements IReturn<QueryResponse<SO_FoundStockAudit>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DestInvoiceID: string;
    DestInvoiceIDStartsWith: string;
    DestInvoiceIDEndsWith: string;
    DestInvoiceIDContains: string;
    DestInvoiceIDLike: string;
    DestInvoiceIDBetween: string[];
    DestInvoiceIDIn: string[];
    DestHistoryID: string;
    DestHistoryIDStartsWith: string;
    DestHistoryIDEndsWith: string;
    DestHistoryIDContains: string;
    DestHistoryIDLike: string;
    DestHistoryIDBetween: string[];
    DestHistoryIDIn: string[];
    DestInvoiceLineID: string;
    DestInvoiceLineIDStartsWith: string;
    DestInvoiceLineIDEndsWith: string;
    DestInvoiceLineIDContains: string;
    DestInvoiceLineIDLike: string;
    DestInvoiceLineIDBetween: string[];
    DestInvoiceLineIDIn: string[];
    DestQuantityRequired: number;
    DestQuantityRequiredGreaterThanOrEqualTo: number;
    DestQuantityRequiredGreaterThan: number;
    DestQuantityRequiredLessThan: number;
    DestQuantityRequiredLessThanOrEqualTo: number;
    DestQuantityRequiredNotEqualTo: number;
    DestQuantityRequiredBetween: number[];
    DestQuantityRequiredIn: number[];
    createResponse() { return new QueryResponse<SO_FoundStockAudit>(); }
    getTypeName() { return "SO_FoundStockAuditQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_FoundStockAuditLinesQuery extends QueryDb<SO_FoundStockAuditLines> implements IReturn<QueryResponse<SO_FoundStockAuditLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    FoundStockAuditID: string;
    FoundStockAuditIDStartsWith: string;
    FoundStockAuditIDEndsWith: string;
    FoundStockAuditIDContains: string;
    FoundStockAuditIDLike: string;
    FoundStockAuditIDBetween: string[];
    FoundStockAuditIDIn: string[];
    SourceInvoiceID: string;
    SourceInvoiceIDStartsWith: string;
    SourceInvoiceIDEndsWith: string;
    SourceInvoiceIDContains: string;
    SourceInvoiceIDLike: string;
    SourceInvoiceIDBetween: string[];
    SourceInvoiceIDIn: string[];
    SourceHistoryID: string;
    SourceHistoryIDStartsWith: string;
    SourceHistoryIDEndsWith: string;
    SourceHistoryIDContains: string;
    SourceHistoryIDLike: string;
    SourceHistoryIDBetween: string[];
    SourceHistoryIDIn: string[];
    SourceInvoiceLineID: string;
    SourceInvoiceLineIDStartsWith: string;
    SourceInvoiceLineIDEndsWith: string;
    SourceInvoiceLineIDContains: string;
    SourceInvoiceLineIDLike: string;
    SourceInvoiceLineIDBetween: string[];
    SourceInvoiceLineIDIn: string[];
    QuantityTaken: number;
    QuantityTakenGreaterThanOrEqualTo: number;
    QuantityTakenGreaterThan: number;
    QuantityTakenLessThan: number;
    QuantityTakenLessThanOrEqualTo: number;
    QuantityTakenNotEqualTo: number;
    QuantityTakenBetween: number[];
    QuantityTakenIn: number[];
    createResponse() { return new QueryResponse<SO_FoundStockAuditLines>(); }
    getTypeName() { return "SO_FoundStockAuditLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_HistoryQuery extends QueryDb<SO_History> implements IReturn<QueryResponse<SO_History>>
{
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    LastModifiedBy: string;
    LastModifiedByStartsWith: string;
    LastModifiedByEndsWith: string;
    LastModifiedByContains: string;
    LastModifiedByLike: string;
    LastModifiedByBetween: string[];
    LastModifiedByIn: string[];
    RecordDate: string;
    RecordDateGreaterThanOrEqualTo: string;
    RecordDateGreaterThan: string;
    RecordDateLessThan: string;
    RecordDateLessThanOrEqualTo: string;
    RecordDateNotEqualTo: string;
    RecordDateBetween: string[];
    RecordDateIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    HistoryNo: number;
    HistoryNoGreaterThanOrEqualTo: number;
    HistoryNoGreaterThan: number;
    HistoryNoLessThan: number;
    HistoryNoLessThanOrEqualTo: number;
    HistoryNoNotEqualTo: number;
    HistoryNoBetween: number[];
    HistoryNoIn: number[];
    HistoryTotal: number;
    HistoryTotalGreaterThanOrEqualTo: number;
    HistoryTotalGreaterThan: number;
    HistoryTotalLessThan: number;
    HistoryTotalLessThanOrEqualTo: number;
    HistoryTotalNotEqualTo: number;
    HistoryTotalBetween: number[];
    HistoryTotalIn: number[];
    DelAddress1: string;
    DelAddress1StartsWith: string;
    DelAddress1EndsWith: string;
    DelAddress1Contains: string;
    DelAddress1Like: string;
    DelAddress1Between: string[];
    DelAddress1In: string[];
    DelAddress2: string;
    DelAddress2StartsWith: string;
    DelAddress2EndsWith: string;
    DelAddress2Contains: string;
    DelAddress2Like: string;
    DelAddress2Between: string[];
    DelAddress2In: string[];
    DelAddress3: string;
    DelAddress3StartsWith: string;
    DelAddress3EndsWith: string;
    DelAddress3Contains: string;
    DelAddress3Like: string;
    DelAddress3Between: string[];
    DelAddress3In: string[];
    DelAddress4: string;
    DelAddress4StartsWith: string;
    DelAddress4EndsWith: string;
    DelAddress4Contains: string;
    DelAddress4Like: string;
    DelAddress4Between: string[];
    DelAddress4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    CourierDetails: string;
    CourierDetailsStartsWith: string;
    CourierDetailsEndsWith: string;
    CourierDetailsContains: string;
    CourierDetailsLike: string;
    CourierDetailsBetween: string[];
    CourierDetailsIn: string[];
    PaymentTypeID: string;
    PaymentTypeIDStartsWith: string;
    PaymentTypeIDEndsWith: string;
    PaymentTypeIDContains: string;
    PaymentTypeIDLike: string;
    PaymentTypeIDBetween: string[];
    PaymentTypeIDIn: string[];
    PaymentRef: string;
    PaymentRefStartsWith: string;
    PaymentRefEndsWith: string;
    PaymentRefContains: string;
    PaymentRefLike: string;
    PaymentRefBetween: string[];
    PaymentRefIn: string[];
    AmountPaid: number;
    AmountPaidGreaterThanOrEqualTo: number;
    AmountPaidGreaterThan: number;
    AmountPaidLessThan: number;
    AmountPaidLessThanOrEqualTo: number;
    AmountPaidNotEqualTo: number;
    AmountPaidBetween: number[];
    AmountPaidIn: number[];
    RunNo: string;
    RunNoStartsWith: string;
    RunNoEndsWith: string;
    RunNoContains: string;
    RunNoLike: string;
    RunNoBetween: string[];
    RunNoIn: string[];
    CartageCharge1: number;
    CartageCharge1GreaterThanOrEqualTo: number;
    CartageCharge1GreaterThan: number;
    CartageCharge1LessThan: number;
    CartageCharge1LessThanOrEqualTo: number;
    CartageCharge1NotEqualTo: number;
    CartageCharge1Between: number[];
    CartageCharge1In: number[];
    CartageCharge2: number;
    CartageCharge2GreaterThanOrEqualTo: number;
    CartageCharge2GreaterThan: number;
    CartageCharge2LessThan: number;
    CartageCharge2LessThanOrEqualTo: number;
    CartageCharge2NotEqualTo: number;
    CartageCharge2Between: number[];
    CartageCharge2In: number[];
    CartageCharge3: number;
    CartageCharge3GreaterThanOrEqualTo: number;
    CartageCharge3GreaterThan: number;
    CartageCharge3LessThan: number;
    CartageCharge3LessThanOrEqualTo: number;
    CartageCharge3NotEqualTo: number;
    CartageCharge3Between: number[];
    CartageCharge3In: number[];
    DelContactName: string;
    DelContactNameStartsWith: string;
    DelContactNameEndsWith: string;
    DelContactNameContains: string;
    DelContactNameLike: string;
    DelContactNameBetween: string[];
    DelContactNameIn: string[];
    Delivered: boolean;
    DeliveredDate: string;
    DeliveredDateGreaterThanOrEqualTo: string;
    DeliveredDateGreaterThan: string;
    DeliveredDateLessThan: string;
    DeliveredDateLessThanOrEqualTo: string;
    DeliveredDateNotEqualTo: string;
    DeliveredDateBetween: string[];
    DeliveredDateIn: string[];
    Cartage1TaxRateID: string;
    Cartage1TaxRateIDStartsWith: string;
    Cartage1TaxRateIDEndsWith: string;
    Cartage1TaxRateIDContains: string;
    Cartage1TaxRateIDLike: string;
    Cartage1TaxRateIDBetween: string[];
    Cartage1TaxRateIDIn: string[];
    Cartage1TaxRate: number;
    Cartage1TaxRateGreaterThanOrEqualTo: number;
    Cartage1TaxRateGreaterThan: number;
    Cartage1TaxRateLessThan: number;
    Cartage1TaxRateLessThanOrEqualTo: number;
    Cartage1TaxRateNotEqualTo: number;
    Cartage1TaxRateBetween: number[];
    Cartage1TaxRateIn: number[];
    Cartage1TaxAmount: number;
    Cartage1TaxAmountGreaterThanOrEqualTo: number;
    Cartage1TaxAmountGreaterThan: number;
    Cartage1TaxAmountLessThan: number;
    Cartage1TaxAmountLessThanOrEqualTo: number;
    Cartage1TaxAmountNotEqualTo: number;
    Cartage1TaxAmountBetween: number[];
    Cartage1TaxAmountIn: number[];
    Cartage2TaxRateID: string;
    Cartage2TaxRateIDStartsWith: string;
    Cartage2TaxRateIDEndsWith: string;
    Cartage2TaxRateIDContains: string;
    Cartage2TaxRateIDLike: string;
    Cartage2TaxRateIDBetween: string[];
    Cartage2TaxRateIDIn: string[];
    Cartage2TaxRate: number;
    Cartage2TaxRateGreaterThanOrEqualTo: number;
    Cartage2TaxRateGreaterThan: number;
    Cartage2TaxRateLessThan: number;
    Cartage2TaxRateLessThanOrEqualTo: number;
    Cartage2TaxRateNotEqualTo: number;
    Cartage2TaxRateBetween: number[];
    Cartage2TaxRateIn: number[];
    Cartage2TaxAmount: number;
    Cartage2TaxAmountGreaterThanOrEqualTo: number;
    Cartage2TaxAmountGreaterThan: number;
    Cartage2TaxAmountLessThan: number;
    Cartage2TaxAmountLessThanOrEqualTo: number;
    Cartage2TaxAmountNotEqualTo: number;
    Cartage2TaxAmountBetween: number[];
    Cartage2TaxAmountIn: number[];
    Cartage3TaxRateID: string;
    Cartage3TaxRateIDStartsWith: string;
    Cartage3TaxRateIDEndsWith: string;
    Cartage3TaxRateIDContains: string;
    Cartage3TaxRateIDLike: string;
    Cartage3TaxRateIDBetween: string[];
    Cartage3TaxRateIDIn: string[];
    Cartage3TaxRate: number;
    Cartage3TaxRateGreaterThanOrEqualTo: number;
    Cartage3TaxRateGreaterThan: number;
    Cartage3TaxRateLessThan: number;
    Cartage3TaxRateLessThanOrEqualTo: number;
    Cartage3TaxRateNotEqualTo: number;
    Cartage3TaxRateBetween: number[];
    Cartage3TaxRateIn: number[];
    Cartage3TaxAmount: number;
    Cartage3TaxAmountGreaterThanOrEqualTo: number;
    Cartage3TaxAmountGreaterThan: number;
    Cartage3TaxAmountLessThan: number;
    Cartage3TaxAmountLessThanOrEqualTo: number;
    Cartage3TaxAmountNotEqualTo: number;
    Cartage3TaxAmountBetween: number[];
    Cartage3TaxAmountIn: number[];
    FreightForwardAddress1: string;
    FreightForwardAddress1StartsWith: string;
    FreightForwardAddress1EndsWith: string;
    FreightForwardAddress1Contains: string;
    FreightForwardAddress1Like: string;
    FreightForwardAddress1Between: string[];
    FreightForwardAddress1In: string[];
    FreightForwardAddress2: string;
    FreightForwardAddress2StartsWith: string;
    FreightForwardAddress2EndsWith: string;
    FreightForwardAddress2Contains: string;
    FreightForwardAddress2Like: string;
    FreightForwardAddress2Between: string[];
    FreightForwardAddress2In: string[];
    FreightForwardAddress3: string;
    FreightForwardAddress3StartsWith: string;
    FreightForwardAddress3EndsWith: string;
    FreightForwardAddress3Contains: string;
    FreightForwardAddress3Like: string;
    FreightForwardAddress3Between: string[];
    FreightForwardAddress3In: string[];
    FreightForwardAddress4: string;
    FreightForwardAddress4StartsWith: string;
    FreightForwardAddress4EndsWith: string;
    FreightForwardAddress4Contains: string;
    FreightForwardAddress4Like: string;
    FreightForwardAddress4Between: string[];
    FreightForwardAddress4In: string[];
    FreightForwardNotes: string;
    FreightForwardNotesStartsWith: string;
    FreightForwardNotesEndsWith: string;
    FreightForwardNotesContains: string;
    FreightForwardNotesLike: string;
    FreightForwardNotesBetween: string[];
    FreightForwardNotesIn: string[];
    DBTransID: string;
    DBTransIDStartsWith: string;
    DBTransIDEndsWith: string;
    DBTransIDContains: string;
    DBTransIDLike: string;
    DBTransIDBetween: string[];
    DBTransIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    ConsignmentNote: string;
    ConsignmentNoteStartsWith: string;
    ConsignmentNoteEndsWith: string;
    ConsignmentNoteContains: string;
    ConsignmentNoteLike: string;
    ConsignmentNoteBetween: string[];
    ConsignmentNoteIn: string[];
    EDIASNNumber: string;
    EDIASNNumberStartsWith: string;
    EDIASNNumberEndsWith: string;
    EDIASNNumberContains: string;
    EDIASNNumberLike: string;
    EDIASNNumberBetween: string[];
    EDIASNNumberIn: string[];
    EDIPickStatus: number;
    EDIPickStatusGreaterThanOrEqualTo: number;
    EDIPickStatusGreaterThan: number;
    EDIPickStatusLessThan: number;
    EDIPickStatusLessThanOrEqualTo: number;
    EDIPickStatusNotEqualTo: number;
    EDIPickStatusBetween: Uint8Array;
    EDIPickStatusIn: Uint8Array;
    DateCreated: string;
    DateCreatedGreaterThanOrEqualTo: string;
    DateCreatedGreaterThan: string;
    DateCreatedLessThan: string;
    DateCreatedLessThanOrEqualTo: string;
    DateCreatedNotEqualTo: string;
    DateCreatedBetween: string[];
    DateCreatedIn: string[];
    DateLastSaved: string;
    DateLastSavedGreaterThanOrEqualTo: string;
    DateLastSavedGreaterThan: string;
    DateLastSavedLessThan: string;
    DateLastSavedLessThanOrEqualTo: string;
    DateLastSavedNotEqualTo: string;
    DateLastSavedBetween: string[];
    DateLastSavedIn: string[];
    DatePosted: string;
    DatePostedGreaterThanOrEqualTo: string;
    DatePostedGreaterThan: string;
    DatePostedLessThan: string;
    DatePostedLessThanOrEqualTo: string;
    DatePostedNotEqualTo: string;
    DatePostedBetween: string[];
    DatePostedIn: string[];
    DateProcessed: string;
    DateProcessedGreaterThanOrEqualTo: string;
    DateProcessedGreaterThan: string;
    DateProcessedLessThan: string;
    DateProcessedLessThanOrEqualTo: string;
    DateProcessedNotEqualTo: string;
    DateProcessedBetween: string[];
    DateProcessedIn: string[];
    DropShipment: boolean;
    DeliveryAddressee: string;
    DeliveryAddresseeStartsWith: string;
    DeliveryAddresseeEndsWith: string;
    DeliveryAddresseeContains: string;
    DeliveryAddresseeLike: string;
    DeliveryAddresseeBetween: string[];
    DeliveryAddresseeIn: string[];
    DeliveryAddressCountry: string;
    DeliveryAddressCountryStartsWith: string;
    DeliveryAddressCountryEndsWith: string;
    DeliveryAddressCountryContains: string;
    DeliveryAddressCountryLike: string;
    DeliveryAddressCountryBetween: string[];
    DeliveryAddressCountryIn: string[];
    FreightForwardAddressCountry: string;
    FreightForwardAddressCountryStartsWith: string;
    FreightForwardAddressCountryEndsWith: string;
    FreightForwardAddressCountryContains: string;
    FreightForwardAddressCountryLike: string;
    FreightForwardAddressCountryBetween: string[];
    FreightForwardAddressCountryIn: string[];
    createResponse() { return new QueryResponse<SO_History>(); }
    getTypeName() { return "SO_HistoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_HistoryCarrierQuery extends QueryDb<SO_HistoryCarrier> implements IReturn<QueryResponse<SO_HistoryCarrier>>
{
    SO_History_InvoiceHistoryID: string;
    SO_History_InvoiceHistoryIDStartsWith: string;
    SO_History_InvoiceHistoryIDEndsWith: string;
    SO_History_InvoiceHistoryIDContains: string;
    SO_History_InvoiceHistoryIDLike: string;
    SO_History_InvoiceHistoryIDBetween: string[];
    SO_History_InvoiceHistoryIDIn: string[];
    UseLeastCost: boolean;
    FR_Carriers_RecID: string;
    FR_Carriers_RecIDStartsWith: string;
    FR_Carriers_RecIDEndsWith: string;
    FR_Carriers_RecIDContains: string;
    FR_Carriers_RecIDLike: string;
    FR_Carriers_RecIDBetween: string[];
    FR_Carriers_RecIDIn: string[];
    FR_CarrierServices_RecID: string;
    FR_CarrierServices_RecIDStartsWith: string;
    FR_CarrierServices_RecIDEndsWith: string;
    FR_CarrierServices_RecIDContains: string;
    FR_CarrierServices_RecIDLike: string;
    FR_CarrierServices_RecIDBetween: string[];
    FR_CarrierServices_RecIDIn: string[];
    FreightSystemStatus: number;
    FreightSystemStatusGreaterThanOrEqualTo: number;
    FreightSystemStatusGreaterThan: number;
    FreightSystemStatusLessThan: number;
    FreightSystemStatusLessThanOrEqualTo: number;
    FreightSystemStatusNotEqualTo: number;
    FreightSystemStatusBetween: Uint8Array;
    FreightSystemStatusIn: Uint8Array;
    ChargeTo: number;
    ChargeToGreaterThanOrEqualTo: number;
    ChargeToGreaterThan: number;
    ChargeToLessThan: number;
    ChargeToLessThanOrEqualTo: number;
    ChargeToNotEqualTo: number;
    ChargeToBetween: Uint8Array;
    ChargeToIn: Uint8Array;
    CarrierAccountNo: string;
    CarrierAccountNoStartsWith: string;
    CarrierAccountNoEndsWith: string;
    CarrierAccountNoContains: string;
    CarrierAccountNoLike: string;
    CarrierAccountNoBetween: string[];
    CarrierAccountNoIn: string[];
    createResponse() { return new QueryResponse<SO_HistoryCarrier>(); }
    getTypeName() { return "SO_HistoryCarrierQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_HistoryConsignmentNotesQuery extends QueryDb<SO_HistoryConsignmentNotes> implements IReturn<QueryResponse<SO_HistoryConsignmentNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SO_History_InvoiceHistoryID: string;
    SO_History_InvoiceHistoryIDStartsWith: string;
    SO_History_InvoiceHistoryIDEndsWith: string;
    SO_History_InvoiceHistoryIDContains: string;
    SO_History_InvoiceHistoryIDLike: string;
    SO_History_InvoiceHistoryIDBetween: string[];
    SO_History_InvoiceHistoryIDIn: string[];
    ConsignmentNoteNo: string;
    ConsignmentNoteNoStartsWith: string;
    ConsignmentNoteNoEndsWith: string;
    ConsignmentNoteNoContains: string;
    ConsignmentNoteNoLike: string;
    ConsignmentNoteNoBetween: string[];
    ConsignmentNoteNoIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ConsignmentNoteDate: string;
    ConsignmentNoteDateGreaterThanOrEqualTo: string;
    ConsignmentNoteDateGreaterThan: string;
    ConsignmentNoteDateLessThan: string;
    ConsignmentNoteDateLessThanOrEqualTo: string;
    ConsignmentNoteDateNotEqualTo: string;
    ConsignmentNoteDateBetween: string[];
    ConsignmentNoteDateIn: string[];
    ExGSTAmount: number;
    ExGSTAmountGreaterThanOrEqualTo: number;
    ExGSTAmountGreaterThan: number;
    ExGSTAmountLessThan: number;
    ExGSTAmountLessThanOrEqualTo: number;
    ExGSTAmountNotEqualTo: number;
    ExGSTAmountBetween: number[];
    ExGSTAmountIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    createResponse() { return new QueryResponse<SO_HistoryConsignmentNotes>(); }
    getTypeName() { return "SO_HistoryConsignmentNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_HistoryCustomSettingQuery extends QueryDb<SO_HistoryCustomSetting> implements IReturn<QueryResponse<SO_HistoryCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<SO_HistoryCustomSetting>(); }
    getTypeName() { return "SO_HistoryCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_HistoryCustomSettingValuesQuery extends QueryDb<SO_HistoryCustomSettingValues> implements IReturn<QueryResponse<SO_HistoryCustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    HistoryID: string;
    HistoryIDStartsWith: string;
    HistoryIDEndsWith: string;
    HistoryIDContains: string;
    HistoryIDLike: string;
    HistoryIDBetween: string[];
    HistoryIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SO_HistoryCustomSettingValues>(); }
    getTypeName() { return "SO_HistoryCustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_HistoryFreightItemsQuery extends QueryDb<SO_HistoryFreightItems> implements IReturn<QueryResponse<SO_HistoryFreightItems>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    SO_History_InvoiceHistoryID: string;
    SO_History_InvoiceHistoryIDStartsWith: string;
    SO_History_InvoiceHistoryIDEndsWith: string;
    SO_History_InvoiceHistoryIDContains: string;
    SO_History_InvoiceHistoryIDLike: string;
    SO_History_InvoiceHistoryIDBetween: string[];
    SO_History_InvoiceHistoryIDIn: string[];
    FR_CarrierFreightDescriptions_RecID: string;
    FR_CarrierFreightDescriptions_RecIDStartsWith: string;
    FR_CarrierFreightDescriptions_RecIDEndsWith: string;
    FR_CarrierFreightDescriptions_RecIDContains: string;
    FR_CarrierFreightDescriptions_RecIDLike: string;
    FR_CarrierFreightDescriptions_RecIDBetween: string[];
    FR_CarrierFreightDescriptions_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    NumberItems: number;
    NumberItemsGreaterThanOrEqualTo: number;
    NumberItemsGreaterThan: number;
    NumberItemsLessThan: number;
    NumberItemsLessThanOrEqualTo: number;
    NumberItemsNotEqualTo: number;
    NumberItemsBetween: number[];
    NumberItemsIn: number[];
    ItemWeight: number;
    ItemWeightGreaterThanOrEqualTo: number;
    ItemWeightGreaterThan: number;
    ItemWeightLessThan: number;
    ItemWeightLessThanOrEqualTo: number;
    ItemWeightNotEqualTo: number;
    ItemWeightBetween: number[];
    ItemWeightIn: number[];
    ItemCubic: number;
    ItemCubicGreaterThanOrEqualTo: number;
    ItemCubicGreaterThan: number;
    ItemCubicLessThan: number;
    ItemCubicLessThanOrEqualTo: number;
    ItemCubicNotEqualTo: number;
    ItemCubicBetween: number[];
    ItemCubicIn: number[];
    ItemLength: number;
    ItemLengthGreaterThanOrEqualTo: number;
    ItemLengthGreaterThan: number;
    ItemLengthLessThan: number;
    ItemLengthLessThanOrEqualTo: number;
    ItemLengthNotEqualTo: number;
    ItemLengthBetween: number[];
    ItemLengthIn: number[];
    ItemWidth: number;
    ItemWidthGreaterThanOrEqualTo: number;
    ItemWidthGreaterThan: number;
    ItemWidthLessThan: number;
    ItemWidthLessThanOrEqualTo: number;
    ItemWidthNotEqualTo: number;
    ItemWidthBetween: number[];
    ItemWidthIn: number[];
    ItemHeight: number;
    ItemHeightGreaterThanOrEqualTo: number;
    ItemHeightGreaterThan: number;
    ItemHeightLessThan: number;
    ItemHeightLessThanOrEqualTo: number;
    ItemHeightNotEqualTo: number;
    ItemHeightBetween: number[];
    ItemHeightIn: number[];
    SO_HistoryConsignmentNotes_RecID: string;
    SO_HistoryConsignmentNotes_RecIDStartsWith: string;
    SO_HistoryConsignmentNotes_RecIDEndsWith: string;
    SO_HistoryConsignmentNotes_RecIDContains: string;
    SO_HistoryConsignmentNotes_RecIDLike: string;
    SO_HistoryConsignmentNotes_RecIDBetween: string[];
    SO_HistoryConsignmentNotes_RecIDIn: string[];
    createResponse() { return new QueryResponse<SO_HistoryFreightItems>(); }
    getTypeName() { return "SO_HistoryFreightItemsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_IncidentsQuery extends QueryDb<SO_Incidents> implements IReturn<QueryResponse<SO_Incidents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IncidentNo: string;
    IncidentNoStartsWith: string;
    IncidentNoEndsWith: string;
    IncidentNoContains: string;
    IncidentNoLike: string;
    IncidentNoBetween: string[];
    IncidentNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    ContactName: string;
    ContactNameStartsWith: string;
    ContactNameEndsWith: string;
    ContactNameContains: string;
    ContactNameLike: string;
    ContactNameBetween: string[];
    ContactNameIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    SO_IncidentTypes_RecID: string;
    SO_IncidentTypes_RecIDStartsWith: string;
    SO_IncidentTypes_RecIDEndsWith: string;
    SO_IncidentTypes_RecIDContains: string;
    SO_IncidentTypes_RecIDLike: string;
    SO_IncidentTypes_RecIDBetween: string[];
    SO_IncidentTypes_RecIDIn: string[];
    Details: string;
    DetailsStartsWith: string;
    DetailsEndsWith: string;
    DetailsContains: string;
    DetailsLike: string;
    DetailsBetween: string[];
    DetailsIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    IncidentDate: string;
    IncidentDateGreaterThanOrEqualTo: string;
    IncidentDateGreaterThan: string;
    IncidentDateLessThan: string;
    IncidentDateLessThanOrEqualTo: string;
    IncidentDateNotEqualTo: string;
    IncidentDateBetween: string[];
    IncidentDateIn: string[];
    createResponse() { return new QueryResponse<SO_Incidents>(); }
    getTypeName() { return "SO_IncidentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_IncidentTypesQuery extends QueryDb<SO_IncidentTypes> implements IReturn<QueryResponse<SO_IncidentTypes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultType: boolean;
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    createResponse() { return new QueryResponse<SO_IncidentTypes>(); }
    getTypeName() { return "SO_IncidentTypesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_LineCustomFieldsQuery extends QueryDb<SO_LineCustomFields> implements IReturn<QueryResponse<SO_LineCustomFields>>
{
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<SO_LineCustomFields>(); }
    getTypeName() { return "SO_LineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_LineCustomValuesQuery extends QueryDb<SO_LineCustomValues> implements IReturn<QueryResponse<SO_LineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SO_LineCustomValues>(); }
    getTypeName() { return "SO_LineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_LineDetailsQuery extends QueryDb<SO_LineDetails> implements IReturn<QueryResponse<SO_LineDetails>>
{
    DetailsLineID: string;
    DetailsLineIDStartsWith: string;
    DetailsLineIDEndsWith: string;
    DetailsLineIDContains: string;
    DetailsLineIDLike: string;
    DetailsLineIDBetween: string[];
    DetailsLineIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    SOHID: string;
    SOHIDStartsWith: string;
    SOHIDEndsWith: string;
    SOHIDContains: string;
    SOHIDLike: string;
    SOHIDBetween: string[];
    SOHIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    createResponse() { return new QueryResponse<SO_LineDetails>(); }
    getTypeName() { return "SO_LineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_LinesQuery extends QueryDb<SO_Lines> implements IReturn<QueryResponse<SO_Lines>>
{
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    GroupNo: number;
    GroupNoGreaterThanOrEqualTo: number;
    GroupNoGreaterThan: number;
    GroupNoLessThan: number;
    GroupNoLessThanOrEqualTo: number;
    GroupNoNotEqualTo: number;
    GroupNoBetween: number[];
    GroupNoIn: number[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    CommentLine: boolean;
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalItem: number;
    PhysicalItemGreaterThanOrEqualTo: number;
    PhysicalItemGreaterThan: number;
    PhysicalItemLessThan: number;
    PhysicalItemLessThanOrEqualTo: number;
    PhysicalItemNotEqualTo: number;
    PhysicalItemBetween: number[];
    PhysicalItemIn: number[];
    ItemWeight: number;
    ItemWeightGreaterThanOrEqualTo: number;
    ItemWeightGreaterThan: number;
    ItemWeightLessThan: number;
    ItemWeightLessThanOrEqualTo: number;
    ItemWeightNotEqualTo: number;
    ItemWeightBetween: number[];
    ItemWeightIn: number[];
    ItemCubic: number;
    ItemCubicGreaterThanOrEqualTo: number;
    ItemCubicGreaterThan: number;
    ItemCubicLessThan: number;
    ItemCubicLessThanOrEqualTo: number;
    ItemCubicNotEqualTo: number;
    ItemCubicBetween: number[];
    ItemCubicIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    Cat1Description: string;
    Cat1DescriptionStartsWith: string;
    Cat1DescriptionEndsWith: string;
    Cat1DescriptionContains: string;
    Cat1DescriptionLike: string;
    Cat1DescriptionBetween: string[];
    Cat1DescriptionIn: string[];
    Cat2Description: string;
    Cat2DescriptionStartsWith: string;
    Cat2DescriptionEndsWith: string;
    Cat2DescriptionContains: string;
    Cat2DescriptionLike: string;
    Cat2DescriptionBetween: string[];
    Cat2DescriptionIn: string[];
    Cat3Description: string;
    Cat3DescriptionStartsWith: string;
    Cat3DescriptionEndsWith: string;
    Cat3DescriptionContains: string;
    Cat3DescriptionLike: string;
    Cat3DescriptionBetween: string[];
    Cat3DescriptionIn: string[];
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    CostIn: number;
    CostInGreaterThanOrEqualTo: number;
    CostInGreaterThan: number;
    CostInLessThan: number;
    CostInLessThanOrEqualTo: number;
    CostInNotEqualTo: number;
    CostInBetween: number[];
    CostInIn: number[];
    DefaultPrice: number;
    DefaultPriceGreaterThanOrEqualTo: number;
    DefaultPriceGreaterThan: number;
    DefaultPriceLessThan: number;
    DefaultPriceLessThanOrEqualTo: number;
    DefaultPriceNotEqualTo: number;
    DefaultPriceBetween: number[];
    DefaultPriceIn: number[];
    ItemPrice: number;
    ItemPriceGreaterThanOrEqualTo: number;
    ItemPriceGreaterThan: number;
    ItemPriceLessThan: number;
    ItemPriceLessThanOrEqualTo: number;
    ItemPriceNotEqualTo: number;
    ItemPriceBetween: number[];
    ItemPriceIn: number[];
    Discount: number;
    DiscountGreaterThanOrEqualTo: number;
    DiscountGreaterThan: number;
    DiscountLessThan: number;
    DiscountLessThanOrEqualTo: number;
    DiscountNotEqualTo: number;
    DiscountBetween: number[];
    DiscountIn: number[];
    InvoicePrice: number;
    InvoicePriceGreaterThanOrEqualTo: number;
    InvoicePriceGreaterThan: number;
    InvoicePriceLessThan: number;
    InvoicePriceLessThanOrEqualTo: number;
    InvoicePriceNotEqualTo: number;
    InvoicePriceBetween: number[];
    InvoicePriceIn: number[];
    RRPPrice: number;
    RRPPriceGreaterThanOrEqualTo: number;
    RRPPriceGreaterThan: number;
    RRPPriceLessThan: number;
    RRPPriceLessThanOrEqualTo: number;
    RRPPriceNotEqualTo: number;
    RRPPriceBetween: number[];
    RRPPriceIn: number[];
    TaxToCharge: number;
    TaxToChargeGreaterThanOrEqualTo: number;
    TaxToChargeGreaterThan: number;
    TaxToChargeLessThan: number;
    TaxToChargeLessThanOrEqualTo: number;
    TaxToChargeNotEqualTo: number;
    TaxToChargeBetween: number[];
    TaxToChargeIn: number[];
    TaxToPay: number;
    TaxToPayGreaterThanOrEqualTo: number;
    TaxToPayGreaterThan: number;
    TaxToPayLessThan: number;
    TaxToPayLessThanOrEqualTo: number;
    TaxToPayNotEqualTo: number;
    TaxToPayBetween: number[];
    TaxToPayIn: number[];
    CurrentLineTotal: number;
    CurrentLineTotalGreaterThanOrEqualTo: number;
    CurrentLineTotalGreaterThan: number;
    CurrentLineTotalLessThan: number;
    CurrentLineTotalLessThanOrEqualTo: number;
    CurrentLineTotalNotEqualTo: number;
    CurrentLineTotalBetween: number[];
    CurrentLineTotalIn: number[];
    QuantityOrdered: number;
    QuantityOrderedGreaterThanOrEqualTo: number;
    QuantityOrderedGreaterThan: number;
    QuantityOrderedLessThan: number;
    QuantityOrderedLessThanOrEqualTo: number;
    QuantityOrderedNotEqualTo: number;
    QuantityOrderedBetween: number[];
    QuantityOrderedIn: number[];
    QuantityPrevDel: number;
    QuantityPrevDelGreaterThanOrEqualTo: number;
    QuantityPrevDelGreaterThan: number;
    QuantityPrevDelLessThan: number;
    QuantityPrevDelLessThanOrEqualTo: number;
    QuantityPrevDelNotEqualTo: number;
    QuantityPrevDelBetween: number[];
    QuantityPrevDelIn: number[];
    QuantityThisDel: number;
    QuantityThisDelGreaterThanOrEqualTo: number;
    QuantityThisDelGreaterThan: number;
    QuantityThisDelLessThan: number;
    QuantityThisDelLessThanOrEqualTo: number;
    QuantityThisDelNotEqualTo: number;
    QuantityThisDelBetween: number[];
    QuantityThisDelIn: number[];
    QuantityBackOrd: number;
    QuantityBackOrdGreaterThanOrEqualTo: number;
    QuantityBackOrdGreaterThan: number;
    QuantityBackOrdLessThan: number;
    QuantityBackOrdLessThanOrEqualTo: number;
    QuantityBackOrdNotEqualTo: number;
    QuantityBackOrdBetween: number[];
    QuantityBackOrdIn: number[];
    HistoryText_Comment: string;
    HistoryText_CommentStartsWith: string;
    HistoryText_CommentEndsWith: string;
    HistoryText_CommentContains: string;
    HistoryText_CommentLike: string;
    HistoryText_CommentBetween: string[];
    HistoryText_CommentIn: string[];
    Discountable: boolean;
    TaxInc: boolean;
    DirectTax: number;
    DirectTaxGreaterThanOrEqualTo: number;
    DirectTaxGreaterThan: number;
    DirectTaxLessThan: number;
    DirectTaxLessThanOrEqualTo: number;
    DirectTaxNotEqualTo: number;
    DirectTaxBetween: number[];
    DirectTaxIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    MinimumGP: number;
    MinimumGPGreaterThanOrEqualTo: number;
    MinimumGPGreaterThan: number;
    MinimumGPLessThan: number;
    MinimumGPLessThanOrEqualTo: number;
    MinimumGPNotEqualTo: number;
    MinimumGPBetween: number[];
    MinimumGPIn: number[];
    DebitLedger: string;
    DebitLedgerStartsWith: string;
    DebitLedgerEndsWith: string;
    DebitLedgerContains: string;
    DebitLedgerLike: string;
    DebitLedgerBetween: string[];
    DebitLedgerIn: string[];
    CreditLedger: string;
    CreditLedgerStartsWith: string;
    CreditLedgerEndsWith: string;
    CreditLedgerContains: string;
    CreditLedgerLike: string;
    CreditLedgerBetween: string[];
    CreditLedgerIn: string[];
    NonStock: boolean;
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    UseSerialNo: boolean;
    Backorderable: boolean;
    Picked: boolean;
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    UsingSpecialPrice: boolean;
    EstBOValue: number;
    EstBOValueGreaterThanOrEqualTo: number;
    EstBOValueGreaterThan: number;
    EstBOValueLessThan: number;
    EstBOValueLessThanOrEqualTo: number;
    EstBOValueNotEqualTo: number;
    EstBOValueBetween: number[];
    EstBOValueIn: number[];
    ItemTaxToCharge: number;
    ItemTaxToChargeGreaterThanOrEqualTo: number;
    ItemTaxToChargeGreaterThan: number;
    ItemTaxToChargeLessThan: number;
    ItemTaxToChargeLessThanOrEqualTo: number;
    ItemTaxToChargeNotEqualTo: number;
    ItemTaxToChargeBetween: number[];
    ItemTaxToChargeIn: number[];
    ItemTaxToPay: number;
    ItemTaxToPayGreaterThanOrEqualTo: number;
    ItemTaxToPayGreaterThan: number;
    ItemTaxToPayLessThan: number;
    ItemTaxToPayLessThanOrEqualTo: number;
    ItemTaxToPayNotEqualTo: number;
    ItemTaxToPayBetween: number[];
    ItemTaxToPayIn: number[];
    LineLinkID: string;
    LineLinkIDStartsWith: string;
    LineLinkIDEndsWith: string;
    LineLinkIDContains: string;
    LineLinkIDLike: string;
    LineLinkIDBetween: string[];
    LineLinkIDIn: string[];
    KittingStatus: number;
    KittingStatusGreaterThanOrEqualTo: number;
    KittingStatusGreaterThan: number;
    KittingStatusLessThan: number;
    KittingStatusLessThanOrEqualTo: number;
    KittingStatusNotEqualTo: number;
    KittingStatusBetween: number[];
    KittingStatusIn: number[];
    KittingUnits: number;
    KittingUnitsGreaterThanOrEqualTo: number;
    KittingUnitsGreaterThan: number;
    KittingUnitsLessThan: number;
    KittingUnitsLessThanOrEqualTo: number;
    KittingUnitsNotEqualTo: number;
    KittingUnitsBetween: number[];
    KittingUnitsIn: number[];
    JobConnectorID: string;
    JobConnectorIDStartsWith: string;
    JobConnectorIDEndsWith: string;
    JobConnectorIDContains: string;
    JobConnectorIDLike: string;
    JobConnectorIDBetween: string[];
    JobConnectorIDIn: string[];
    KitStyle: number;
    KitStyleGreaterThanOrEqualTo: number;
    KitStyleGreaterThan: number;
    KitStyleLessThan: number;
    KitStyleLessThanOrEqualTo: number;
    KitStyleNotEqualTo: number;
    KitStyleBetween: number[];
    KitStyleIn: number[];
    DiscountPercentage: number;
    DiscountPercentageGreaterThanOrEqualTo: number;
    DiscountPercentageGreaterThan: number;
    DiscountPercentageLessThan: number;
    DiscountPercentageLessThanOrEqualTo: number;
    DiscountPercentageNotEqualTo: number;
    DiscountPercentageBetween: number[];
    DiscountPercentageIn: number[];
    SalesmanCost: number;
    SalesmanCostGreaterThanOrEqualTo: number;
    SalesmanCostGreaterThan: number;
    SalesmanCostLessThan: number;
    SalesmanCostLessThanOrEqualTo: number;
    SalesmanCostNotEqualTo: number;
    SalesmanCostBetween: number[];
    SalesmanCostIn: number[];
    LineCost: number;
    LineCostGreaterThanOrEqualTo: number;
    LineCostGreaterThan: number;
    LineCostLessThan: number;
    LineCostLessThanOrEqualTo: number;
    LineCostNotEqualTo: number;
    LineCostBetween: number[];
    LineCostIn: number[];
    OrigInvoiceNo: string;
    OrigInvoiceNoStartsWith: string;
    OrigInvoiceNoEndsWith: string;
    OrigInvoiceNoContains: string;
    OrigInvoiceNoLike: string;
    OrigInvoiceNoBetween: string[];
    OrigInvoiceNoIn: string[];
    ItemPriceIncGST: number;
    ItemPriceIncGSTGreaterThanOrEqualTo: number;
    ItemPriceIncGSTGreaterThan: number;
    ItemPriceIncGSTLessThan: number;
    ItemPriceIncGSTLessThanOrEqualTo: number;
    ItemPriceIncGSTNotEqualTo: number;
    ItemPriceIncGSTBetween: number[];
    ItemPriceIncGSTIn: number[];
    ItemPriceUnDiscounted: number;
    ItemPriceUnDiscountedGreaterThanOrEqualTo: number;
    ItemPriceUnDiscountedGreaterThan: number;
    ItemPriceUnDiscountedLessThan: number;
    ItemPriceUnDiscountedLessThanOrEqualTo: number;
    ItemPriceUnDiscountedNotEqualTo: number;
    ItemPriceUnDiscountedBetween: number[];
    ItemPriceUnDiscountedIn: number[];
    DemandQuantity: number;
    DemandQuantityGreaterThanOrEqualTo: number;
    DemandQuantityGreaterThan: number;
    DemandQuantityLessThan: number;
    DemandQuantityLessThanOrEqualTo: number;
    DemandQuantityNotEqualTo: number;
    DemandQuantityBetween: number[];
    DemandQuantityIn: number[];
    NonStockLedgerSalesAccID: string;
    NonStockLedgerSalesAccIDStartsWith: string;
    NonStockLedgerSalesAccIDEndsWith: string;
    NonStockLedgerSalesAccIDContains: string;
    NonStockLedgerSalesAccIDLike: string;
    NonStockLedgerSalesAccIDBetween: string[];
    NonStockLedgerSalesAccIDIn: string[];
    KitLineID: string;
    KitLineIDStartsWith: string;
    KitLineIDEndsWith: string;
    KitLineIDContains: string;
    KitLineIDLike: string;
    KitLineIDBetween: string[];
    KitLineIDIn: string[];
    JobCostNo: string;
    JobCostNoStartsWith: string;
    JobCostNoEndsWith: string;
    JobCostNoContains: string;
    JobCostNoLike: string;
    JobCostNoBetween: string[];
    JobCostNoIn: string[];
    SellPriceIncTax: boolean;
    JobInvoiceItem: number;
    JobInvoiceItemGreaterThanOrEqualTo: number;
    JobInvoiceItemGreaterThan: number;
    JobInvoiceItemLessThan: number;
    JobInvoiceItemLessThanOrEqualTo: number;
    JobInvoiceItemNotEqualTo: number;
    JobInvoiceItemBetween: number[];
    JobInvoiceItemIn: number[];
    QuantityPrevDemand: number;
    QuantityPrevDemandGreaterThanOrEqualTo: number;
    QuantityPrevDemandGreaterThan: number;
    QuantityPrevDemandLessThan: number;
    QuantityPrevDemandLessThanOrEqualTo: number;
    QuantityPrevDemandNotEqualTo: number;
    QuantityPrevDemandBetween: number[];
    QuantityPrevDemandIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    CostCentreID: string;
    CostCentreIDStartsWith: string;
    CostCentreIDEndsWith: string;
    CostCentreIDContains: string;
    CostCentreIDLike: string;
    CostCentreIDBetween: string[];
    CostCentreIDIn: string[];
    StageID: string;
    StageIDStartsWith: string;
    StageIDEndsWith: string;
    StageIDContains: string;
    StageIDLike: string;
    StageIDBetween: string[];
    StageIDIn: string[];
    UserDefinedFloat1: number;
    UserDefinedFloat1GreaterThanOrEqualTo: number;
    UserDefinedFloat1GreaterThan: number;
    UserDefinedFloat1LessThan: number;
    UserDefinedFloat1LessThanOrEqualTo: number;
    UserDefinedFloat1NotEqualTo: number;
    UserDefinedFloat1Between: number[];
    UserDefinedFloat1In: number[];
    UserDefinedFloat2: number;
    UserDefinedFloat2GreaterThanOrEqualTo: number;
    UserDefinedFloat2GreaterThan: number;
    UserDefinedFloat2LessThan: number;
    UserDefinedFloat2LessThanOrEqualTo: number;
    UserDefinedFloat2NotEqualTo: number;
    UserDefinedFloat2Between: number[];
    UserDefinedFloat2In: number[];
    UserDefinedFloat3: number;
    UserDefinedFloat3GreaterThanOrEqualTo: number;
    UserDefinedFloat3GreaterThan: number;
    UserDefinedFloat3LessThan: number;
    UserDefinedFloat3LessThanOrEqualTo: number;
    UserDefinedFloat3NotEqualTo: number;
    UserDefinedFloat3Between: number[];
    UserDefinedFloat3In: number[];
    ForwardOrderDate: string;
    ForwardOrderDateGreaterThanOrEqualTo: string;
    ForwardOrderDateGreaterThan: string;
    ForwardOrderDateLessThan: string;
    ForwardOrderDateLessThanOrEqualTo: string;
    ForwardOrderDateNotEqualTo: string;
    ForwardOrderDateBetween: string[];
    ForwardOrderDateIn: string[];
    ScheduledDate: string;
    ScheduledDateGreaterThanOrEqualTo: string;
    ScheduledDateGreaterThan: string;
    ScheduledDateLessThan: string;
    ScheduledDateLessThanOrEqualTo: string;
    ScheduledDateNotEqualTo: string;
    ScheduledDateBetween: string[];
    ScheduledDateIn: string[];
    DeliverStock: boolean;
    FixSellPrice: boolean;
    TypeKitRounding: boolean;
    EDIStoreLocationCode: string;
    EDIStoreLocationCodeStartsWith: string;
    EDIStoreLocationCodeEndsWith: string;
    EDIStoreLocationCodeContains: string;
    EDIStoreLocationCodeLike: string;
    EDIStoreLocationCodeBetween: string[];
    EDIStoreLocationCodeIn: string[];
    EDIDCLocationCode: string;
    EDIDCLocationCodeStartsWith: string;
    EDIDCLocationCodeEndsWith: string;
    EDIDCLocationCodeContains: string;
    EDIDCLocationCodeLike: string;
    EDIDCLocationCodeBetween: string[];
    EDIDCLocationCodeIn: string[];
    SM_Parts_RecID: string;
    SM_Parts_RecIDStartsWith: string;
    SM_Parts_RecIDEndsWith: string;
    SM_Parts_RecIDContains: string;
    SM_Parts_RecIDLike: string;
    SM_Parts_RecIDBetween: string[];
    SM_Parts_RecIDIn: string[];
    SM_Labour_RecID: string;
    SM_Labour_RecIDStartsWith: string;
    SM_Labour_RecIDEndsWith: string;
    SM_Labour_RecIDContains: string;
    SM_Labour_RecIDLike: string;
    SM_Labour_RecIDBetween: string[];
    SM_Labour_RecIDIn: string[];
    IN_UnitOfMeasure_RecID: string;
    IN_UnitOfMeasure_RecIDIn: string[];
    createResponse() { return new QueryResponse<SO_Lines>(); }
    getTypeName() { return "SO_LinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_LineSerialsQuery extends QueryDb<SO_LineSerials> implements IReturn<QueryResponse<SO_LineSerials>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SOLineID: string;
    SOLineIDStartsWith: string;
    SOLineIDEndsWith: string;
    SOLineIDContains: string;
    SOLineIDLike: string;
    SOLineIDBetween: string[];
    SOLineIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    HistoryID: string;
    HistoryIDStartsWith: string;
    HistoryIDEndsWith: string;
    HistoryIDContains: string;
    HistoryIDLike: string;
    HistoryIDBetween: string[];
    HistoryIDIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    createResponse() { return new QueryResponse<SO_LineSerials>(); }
    getTypeName() { return "SO_LineSerialsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_LineShippingLabelsQuery extends QueryDb<SO_LineShippingLabels> implements IReturn<QueryResponse<SO_LineShippingLabels>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SO_Lines_InvoiceLineID: string;
    SO_Lines_InvoiceLineIDStartsWith: string;
    SO_Lines_InvoiceLineIDEndsWith: string;
    SO_Lines_InvoiceLineIDContains: string;
    SO_Lines_InvoiceLineIDLike: string;
    SO_Lines_InvoiceLineIDBetween: string[];
    SO_Lines_InvoiceLineIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SSCC_Number: string;
    SSCC_NumberStartsWith: string;
    SSCC_NumberEndsWith: string;
    SSCC_NumberContains: string;
    SSCC_NumberLike: string;
    SSCC_NumberBetween: string[];
    SSCC_NumberIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    UseByDate: string;
    UseByDateGreaterThanOrEqualTo: string;
    UseByDateGreaterThan: string;
    UseByDateLessThan: string;
    UseByDateLessThanOrEqualTo: string;
    UseByDateNotEqualTo: string;
    UseByDateBetween: string[];
    UseByDateIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    LabelNumber: number;
    LabelNumberGreaterThanOrEqualTo: number;
    LabelNumberGreaterThan: number;
    LabelNumberLessThan: number;
    LabelNumberLessThanOrEqualTo: number;
    LabelNumberNotEqualTo: number;
    LabelNumberBetween: number[];
    LabelNumberIn: number[];
    SpareString1: string;
    SpareString1StartsWith: string;
    SpareString1EndsWith: string;
    SpareString1Contains: string;
    SpareString1Like: string;
    SpareString1Between: string[];
    SpareString1In: string[];
    SpareString2: string;
    SpareString2StartsWith: string;
    SpareString2EndsWith: string;
    SpareString2Contains: string;
    SpareString2Like: string;
    SpareString2Between: string[];
    SpareString2In: string[];
    SpareString3: string;
    SpareString3StartsWith: string;
    SpareString3EndsWith: string;
    SpareString3Contains: string;
    SpareString3Like: string;
    SpareString3Between: string[];
    SpareString3In: string[];
    SpareNumeric1: number;
    SpareNumeric1GreaterThanOrEqualTo: number;
    SpareNumeric1GreaterThan: number;
    SpareNumeric1LessThan: number;
    SpareNumeric1LessThanOrEqualTo: number;
    SpareNumeric1NotEqualTo: number;
    SpareNumeric1Between: number[];
    SpareNumeric1In: number[];
    SpareNumeric2: number;
    SpareNumeric2GreaterThanOrEqualTo: number;
    SpareNumeric2GreaterThan: number;
    SpareNumeric2LessThan: number;
    SpareNumeric2LessThanOrEqualTo: number;
    SpareNumeric2NotEqualTo: number;
    SpareNumeric2Between: number[];
    SpareNumeric2In: number[];
    SpareNumeric3: number;
    SpareNumeric3GreaterThanOrEqualTo: number;
    SpareNumeric3GreaterThan: number;
    SpareNumeric3LessThan: number;
    SpareNumeric3LessThanOrEqualTo: number;
    SpareNumeric3NotEqualTo: number;
    SpareNumeric3Between: number[];
    SpareNumeric3In: number[];
    SpareDate1: string;
    SpareDate1GreaterThanOrEqualTo: string;
    SpareDate1GreaterThan: string;
    SpareDate1LessThan: string;
    SpareDate1LessThanOrEqualTo: string;
    SpareDate1NotEqualTo: string;
    SpareDate1Between: string[];
    SpareDate1In: string[];
    SpareDate2: string;
    SpareDate2GreaterThanOrEqualTo: string;
    SpareDate2GreaterThan: string;
    SpareDate2LessThan: string;
    SpareDate2LessThanOrEqualTo: string;
    SpareDate2NotEqualTo: string;
    SpareDate2Between: string[];
    SpareDate2In: string[];
    SpareDate3: string;
    SpareDate3GreaterThanOrEqualTo: string;
    SpareDate3GreaterThan: string;
    SpareDate3LessThan: string;
    SpareDate3LessThanOrEqualTo: string;
    SpareDate3NotEqualTo: string;
    SpareDate3Between: string[];
    SpareDate3In: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SO_LineShippingLabels>(); }
    getTypeName() { return "SO_LineShippingLabelsQuery"; }
}

// @Route("/Queries/SO_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_MainQuery extends QueryDb<SO_Main> implements IReturn<QueryResponse<SO_Main>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    InvoiceInitDate: string;
    InvoiceInitDateGreaterThanOrEqualTo: string;
    InvoiceInitDateGreaterThan: string;
    InvoiceInitDateLessThan: string;
    InvoiceInitDateLessThanOrEqualTo: string;
    InvoiceInitDateNotEqualTo: string;
    InvoiceInitDateBetween: string[];
    InvoiceInitDateIn: string[];
    InvoiceLastDate: string;
    InvoiceLastDateGreaterThanOrEqualTo: string;
    InvoiceLastDateGreaterThan: string;
    InvoiceLastDateLessThan: string;
    InvoiceLastDateLessThanOrEqualTo: string;
    InvoiceLastDateNotEqualTo: string;
    InvoiceLastDateBetween: string[];
    InvoiceLastDateIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    WholeSaleInvoice: boolean;
    InvoiceTotal: number;
    InvoiceTotalGreaterThanOrEqualTo: number;
    InvoiceTotalGreaterThan: number;
    InvoiceTotalLessThan: number;
    InvoiceTotalLessThanOrEqualTo: number;
    InvoiceTotalNotEqualTo: number;
    InvoiceTotalBetween: number[];
    InvoiceTotalIn: number[];
    CurrentHistoryNo: number;
    CurrentHistoryNoGreaterThanOrEqualTo: number;
    CurrentHistoryNoGreaterThan: number;
    CurrentHistoryNoLessThan: number;
    CurrentHistoryNoLessThanOrEqualTo: number;
    CurrentHistoryNoNotEqualTo: number;
    CurrentHistoryNoBetween: number[];
    CurrentHistoryNoIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    BillWhenComplete: number;
    BillWhenCompleteGreaterThanOrEqualTo: number;
    BillWhenCompleteGreaterThan: number;
    BillWhenCompleteLessThan: number;
    BillWhenCompleteLessThanOrEqualTo: number;
    BillWhenCompleteNotEqualTo: number;
    BillWhenCompleteBetween: number[];
    BillWhenCompleteIn: number[];
    CreditNote: boolean;
    InvoiceType: number;
    InvoiceTypeGreaterThanOrEqualTo: number;
    InvoiceTypeGreaterThan: number;
    InvoiceTypeLessThan: number;
    InvoiceTypeLessThanOrEqualTo: number;
    InvoiceTypeNotEqualTo: number;
    InvoiceTypeBetween: number[];
    InvoiceTypeIn: number[];
    GroupSupplierID: string;
    GroupSupplierIDStartsWith: string;
    GroupSupplierIDEndsWith: string;
    GroupSupplierIDContains: string;
    GroupSupplierIDLike: string;
    GroupSupplierIDBetween: string[];
    GroupSupplierIDIn: string[];
    GroupOrdered: boolean;
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    BranchID: string;
    BranchIDStartsWith: string;
    BranchIDEndsWith: string;
    BranchIDContains: string;
    BranchIDLike: string;
    BranchIDBetween: string[];
    BranchIDIn: string[];
    SOReference: string;
    SOReferenceStartsWith: string;
    SOReferenceEndsWith: string;
    SOReferenceContains: string;
    SOReferenceLike: string;
    SOReferenceBetween: string[];
    SOReferenceIn: string[];
    JobCostID: string;
    JobCostIDStartsWith: string;
    JobCostIDEndsWith: string;
    JobCostIDContains: string;
    JobCostIDLike: string;
    JobCostIDBetween: string[];
    JobCostIDIn: string[];
    ParentDebtorID: string;
    ParentDebtorIDStartsWith: string;
    ParentDebtorIDEndsWith: string;
    ParentDebtorIDContains: string;
    ParentDebtorIDLike: string;
    ParentDebtorIDBetween: string[];
    ParentDebtorIDIn: string[];
    BackOrderMode: number;
    BackOrderModeGreaterThanOrEqualTo: number;
    BackOrderModeGreaterThan: number;
    BackOrderModeLessThan: number;
    BackOrderModeLessThanOrEqualTo: number;
    BackOrderModeNotEqualTo: number;
    BackOrderModeBetween: number[];
    BackOrderModeIn: number[];
    DebtorContactName: string;
    DebtorContactNameStartsWith: string;
    DebtorContactNameEndsWith: string;
    DebtorContactNameContains: string;
    DebtorContactNameLike: string;
    DebtorContactNameBetween: string[];
    DebtorContactNameIn: string[];
    DocType: number;
    DocTypeGreaterThanOrEqualTo: number;
    DocTypeGreaterThan: number;
    DocTypeLessThan: number;
    DocTypeLessThanOrEqualTo: number;
    DocTypeNotEqualTo: number;
    DocTypeBetween: number[];
    DocTypeIn: number[];
    GSTInvoice: boolean;
    ExpectedDeliveryDate: string;
    ExpectedDeliveryDateGreaterThanOrEqualTo: string;
    ExpectedDeliveryDateGreaterThan: string;
    ExpectedDeliveryDateLessThan: string;
    ExpectedDeliveryDateLessThanOrEqualTo: string;
    ExpectedDeliveryDateNotEqualTo: string;
    ExpectedDeliveryDateBetween: string[];
    ExpectedDeliveryDateIn: string[];
    SourceQuoteHistoryID: string;
    SourceQuoteHistoryIDStartsWith: string;
    SourceQuoteHistoryIDEndsWith: string;
    SourceQuoteHistoryIDContains: string;
    SourceQuoteHistoryIDLike: string;
    SourceQuoteHistoryIDBetween: string[];
    SourceQuoteHistoryIDIn: string[];
    PriceSchemeID: string;
    PriceSchemeIDStartsWith: string;
    PriceSchemeIDEndsWith: string;
    PriceSchemeIDContains: string;
    PriceSchemeIDLike: string;
    PriceSchemeIDBetween: string[];
    PriceSchemeIDIn: string[];
    CreditReasonID: string;
    CreditReasonIDStartsWith: string;
    CreditReasonIDEndsWith: string;
    CreditReasonIDContains: string;
    CreditReasonIDLike: string;
    CreditReasonIDBetween: string[];
    CreditReasonIDIn: string[];
    CreditIntoStock: boolean;
    createResponse() { return new QueryResponse<SO_Main>(); }
    getTypeName() { return "SO_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_NotesQuery extends QueryDb<SO_Notes> implements IReturn<QueryResponse<SO_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SO_Notes>(); }
    getTypeName() { return "SO_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_PaymentDetailsQuery extends QueryDb<SO_PaymentDetails> implements IReturn<QueryResponse<SO_PaymentDetails>>
{
    PaymentID: string;
    PaymentIDStartsWith: string;
    PaymentIDEndsWith: string;
    PaymentIDContains: string;
    PaymentIDLike: string;
    PaymentIDBetween: string[];
    PaymentIDIn: string[];
    CardNumber: string;
    CardNumberStartsWith: string;
    CardNumberEndsWith: string;
    CardNumberContains: string;
    CardNumberLike: string;
    CardNumberBetween: string[];
    CardNumberIn: string[];
    CardExpiry: string;
    CardExpiryGreaterThanOrEqualTo: string;
    CardExpiryGreaterThan: string;
    CardExpiryLessThan: string;
    CardExpiryLessThanOrEqualTo: string;
    CardExpiryNotEqualTo: string;
    CardExpiryBetween: string[];
    CardExpiryIn: string[];
    CardHolder: string;
    CardHolderStartsWith: string;
    CardHolderEndsWith: string;
    CardHolderContains: string;
    CardHolderLike: string;
    CardHolderBetween: string[];
    CardHolderIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    BankAcc: string;
    BankAccStartsWith: string;
    BankAccEndsWith: string;
    BankAccContains: string;
    BankAccLike: string;
    BankAccBetween: string[];
    BankAccIn: string[];
    AccountName: string;
    AccountNameStartsWith: string;
    AccountNameEndsWith: string;
    AccountNameContains: string;
    AccountNameLike: string;
    AccountNameBetween: string[];
    AccountNameIn: string[];
    createResponse() { return new QueryResponse<SO_PaymentDetails>(); }
    getTypeName() { return "SO_PaymentDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_PaymentsQuery extends QueryDb<SO_Payments> implements IReturn<QueryResponse<SO_Payments>>
{
    PaymentID: string;
    PaymentIDStartsWith: string;
    PaymentIDEndsWith: string;
    PaymentIDContains: string;
    PaymentIDLike: string;
    PaymentIDBetween: string[];
    PaymentIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    PaymentTypeID: string;
    PaymentTypeIDStartsWith: string;
    PaymentTypeIDEndsWith: string;
    PaymentTypeIDContains: string;
    PaymentTypeIDLike: string;
    PaymentTypeIDBetween: string[];
    PaymentTypeIDIn: string[];
    PaymentRef: string;
    PaymentRefStartsWith: string;
    PaymentRefEndsWith: string;
    PaymentRefContains: string;
    PaymentRefLike: string;
    PaymentRefBetween: string[];
    PaymentRefIn: string[];
    AmountPaid: number;
    AmountPaidGreaterThanOrEqualTo: number;
    AmountPaidGreaterThan: number;
    AmountPaidLessThan: number;
    AmountPaidLessThanOrEqualTo: number;
    AmountPaidNotEqualTo: number;
    AmountPaidBetween: number[];
    AmountPaidIn: number[];
    PaymentDate: string;
    PaymentDateGreaterThanOrEqualTo: string;
    PaymentDateGreaterThan: string;
    PaymentDateLessThan: string;
    PaymentDateLessThanOrEqualTo: string;
    PaymentDateNotEqualTo: string;
    PaymentDateBetween: string[];
    PaymentDateIn: string[];
    AuthorisationStatus: number;
    AuthorisationStatusGreaterThanOrEqualTo: number;
    AuthorisationStatusGreaterThan: number;
    AuthorisationStatusLessThan: number;
    AuthorisationStatusLessThanOrEqualTo: number;
    AuthorisationStatusNotEqualTo: number;
    AuthorisationStatusBetween: number[];
    AuthorisationStatusIn: number[];
    AuthorisationNumber: string;
    AuthorisationNumberStartsWith: string;
    AuthorisationNumberEndsWith: string;
    AuthorisationNumberContains: string;
    AuthorisationNumberLike: string;
    AuthorisationNumberBetween: string[];
    AuthorisationNumberIn: string[];
    ProcessPayment: boolean;
    Processed: boolean;
    DBTransID: string;
    DBTransIDStartsWith: string;
    DBTransIDEndsWith: string;
    DBTransIDContains: string;
    DBTransIDLike: string;
    DBTransIDBetween: string[];
    DBTransIDIn: string[];
    PaymentGatewayReturnCode: number;
    PaymentGatewayReturnCodeGreaterThanOrEqualTo: number;
    PaymentGatewayReturnCodeGreaterThan: number;
    PaymentGatewayReturnCodeLessThan: number;
    PaymentGatewayReturnCodeLessThanOrEqualTo: number;
    PaymentGatewayReturnCodeNotEqualTo: number;
    PaymentGatewayReturnCodeBetween: number[];
    PaymentGatewayReturnCodeIn: number[];
    PaymentGatewayReturnMessage: string;
    PaymentGatewayReturnMessageStartsWith: string;
    PaymentGatewayReturnMessageEndsWith: string;
    PaymentGatewayReturnMessageContains: string;
    PaymentGatewayReturnMessageLike: string;
    PaymentGatewayReturnMessageBetween: string[];
    PaymentGatewayReturnMessageIn: string[];
    AmountTendered: number;
    AmountTenderedGreaterThanOrEqualTo: number;
    AmountTenderedGreaterThan: number;
    AmountTenderedLessThan: number;
    AmountTenderedLessThanOrEqualTo: number;
    AmountTenderedNotEqualTo: number;
    AmountTenderedBetween: number[];
    AmountTenderedIn: number[];
    createResponse() { return new QueryResponse<SO_Payments>(); }
    getTypeName() { return "SO_PaymentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_PaymentTypesQuery extends QueryDb<SO_PaymentTypes> implements IReturn<QueryResponse<SO_PaymentTypes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    IsEnabled: boolean;
    IsDefault: boolean;
    IsCreditCard: boolean;
    GL_Main_RecID: string;
    GL_Main_RecIDStartsWith: string;
    GL_Main_RecIDEndsWith: string;
    GL_Main_RecIDContains: string;
    GL_Main_RecIDLike: string;
    GL_Main_RecIDBetween: string[];
    GL_Main_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    IsPOS: boolean;
    Code: string;
    CodeStartsWith: string;
    CodeEndsWith: string;
    CodeContains: string;
    CodeLike: string;
    CodeBetween: string[];
    CodeIn: string[];
    createResponse() { return new QueryResponse<SO_PaymentTypes>(); }
    getTypeName() { return "SO_PaymentTypesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_PrintLogQuery extends QueryDb<SO_PrintLog> implements IReturn<QueryResponse<SO_PrintLog>>
{
    PrintLogID: string;
    PrintLogIDStartsWith: string;
    PrintLogIDEndsWith: string;
    PrintLogIDContains: string;
    PrintLogIDLike: string;
    PrintLogIDBetween: string[];
    PrintLogIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    SysDateTime: string;
    SysDateTimeGreaterThanOrEqualTo: string;
    SysDateTimeGreaterThan: string;
    SysDateTimeLessThan: string;
    SysDateTimeLessThanOrEqualTo: string;
    SysDateTimeNotEqualTo: string;
    SysDateTimeBetween: string[];
    SysDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    ReportType: number;
    ReportTypeGreaterThanOrEqualTo: number;
    ReportTypeGreaterThan: number;
    ReportTypeLessThan: number;
    ReportTypeLessThanOrEqualTo: number;
    ReportTypeNotEqualTo: number;
    ReportTypeBetween: number[];
    ReportTypeIn: number[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    createResponse() { return new QueryResponse<SO_PrintLog>(); }
    getTypeName() { return "SO_PrintLogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ProfitQuery extends QueryDb<SO_Profit> implements IReturn<QueryResponse<SO_Profit>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    BillWhenComplete: number;
    BillWhenCompleteGreaterThanOrEqualTo: number;
    BillWhenCompleteGreaterThan: number;
    BillWhenCompleteLessThan: number;
    BillWhenCompleteLessThanOrEqualTo: number;
    BillWhenCompleteNotEqualTo: number;
    BillWhenCompleteBetween: number[];
    BillWhenCompleteIn: number[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    CreditNote: boolean;
    WholeSaleInvoice: boolean;
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    HistoryNo: number;
    HistoryNoGreaterThanOrEqualTo: number;
    HistoryNoGreaterThan: number;
    HistoryNoLessThan: number;
    HistoryNoLessThanOrEqualTo: number;
    HistoryNoNotEqualTo: number;
    HistoryNoBetween: number[];
    HistoryNoIn: number[];
    RunNo: string;
    RunNoStartsWith: string;
    RunNoEndsWith: string;
    RunNoContains: string;
    RunNoLike: string;
    RunNoBetween: string[];
    RunNoIn: string[];
    RecordDate: string;
    RecordDateGreaterThanOrEqualTo: string;
    RecordDateGreaterThan: string;
    RecordDateLessThan: string;
    RecordDateLessThanOrEqualTo: string;
    RecordDateNotEqualTo: string;
    RecordDateBetween: string[];
    RecordDateIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    CostIn: number;
    CostInGreaterThanOrEqualTo: number;
    CostInGreaterThan: number;
    CostInLessThan: number;
    CostInLessThanOrEqualTo: number;
    CostInNotEqualTo: number;
    CostInBetween: number[];
    CostInIn: number[];
    QuantityThisDel: number;
    QuantityThisDelGreaterThanOrEqualTo: number;
    QuantityThisDelGreaterThan: number;
    QuantityThisDelLessThan: number;
    QuantityThisDelLessThanOrEqualTo: number;
    QuantityThisDelNotEqualTo: number;
    QuantityThisDelBetween: number[];
    QuantityThisDelIn: number[];
    CurrentLineTotal: number;
    CurrentLineTotalGreaterThanOrEqualTo: number;
    CurrentLineTotalGreaterThan: number;
    CurrentLineTotalLessThan: number;
    CurrentLineTotalLessThanOrEqualTo: number;
    CurrentLineTotalNotEqualTo: number;
    CurrentLineTotalBetween: number[];
    CurrentLineTotalIn: number[];
    TaxToCharge: number;
    TaxToChargeGreaterThanOrEqualTo: number;
    TaxToChargeGreaterThan: number;
    TaxToChargeLessThan: number;
    TaxToChargeLessThanOrEqualTo: number;
    TaxToChargeNotEqualTo: number;
    TaxToChargeBetween: number[];
    TaxToChargeIn: number[];
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    PhysicalItem: number;
    PhysicalItemGreaterThanOrEqualTo: number;
    PhysicalItemGreaterThan: number;
    PhysicalItemLessThan: number;
    PhysicalItemLessThanOrEqualTo: number;
    PhysicalItemNotEqualTo: number;
    PhysicalItemBetween: number[];
    PhysicalItemIn: number[];
    NonStock: boolean;
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    InventoryClassificationID: string;
    InventoryClassificationIDStartsWith: string;
    InventoryClassificationIDEndsWith: string;
    InventoryClassificationIDContains: string;
    InventoryClassificationIDLike: string;
    InventoryClassificationIDBetween: string[];
    InventoryClassificationIDIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    createResponse() { return new QueryResponse<SO_Profit>(); }
    getTypeName() { return "SO_ProfitQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ReportDefinitionQuery extends QueryDb<SO_ReportDefinition> implements IReturn<QueryResponse<SO_ReportDefinition>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    BillingType: number;
    BillingTypeGreaterThanOrEqualTo: number;
    BillingTypeGreaterThan: number;
    BillingTypeLessThan: number;
    BillingTypeLessThanOrEqualTo: number;
    BillingTypeNotEqualTo: number;
    BillingTypeBetween: Uint8Array;
    BillingTypeIn: Uint8Array;
    TradingCategory: number;
    TradingCategoryGreaterThanOrEqualTo: number;
    TradingCategoryGreaterThan: number;
    TradingCategoryLessThan: number;
    TradingCategoryLessThanOrEqualTo: number;
    TradingCategoryNotEqualTo: number;
    TradingCategoryBetween: number[];
    TradingCategoryIn: number[];
    DocumentType: number;
    DocumentTypeGreaterThanOrEqualTo: number;
    DocumentTypeGreaterThan: number;
    DocumentTypeLessThan: number;
    DocumentTypeLessThanOrEqualTo: number;
    DocumentTypeNotEqualTo: number;
    DocumentTypeBetween: Uint8Array;
    DocumentTypeIn: Uint8Array;
    NumberOfCopies: number;
    NumberOfCopiesGreaterThanOrEqualTo: number;
    NumberOfCopiesGreaterThan: number;
    NumberOfCopiesLessThan: number;
    NumberOfCopiesLessThanOrEqualTo: number;
    NumberOfCopiesNotEqualTo: number;
    NumberOfCopiesBetween: number[];
    NumberOfCopiesIn: number[];
    UseRange: boolean;
    RangeType: number;
    RangeTypeGreaterThanOrEqualTo: number;
    RangeTypeGreaterThan: number;
    RangeTypeLessThan: number;
    RangeTypeLessThanOrEqualTo: number;
    RangeTypeNotEqualTo: number;
    RangeTypeBetween: Uint8Array;
    RangeTypeIn: Uint8Array;
    MinRange: number;
    MinRangeGreaterThanOrEqualTo: number;
    MinRangeGreaterThan: number;
    MinRangeLessThan: number;
    MinRangeLessThanOrEqualTo: number;
    MinRangeNotEqualTo: number;
    MinRangeBetween: number[];
    MinRangeIn: number[];
    MaxRange: number;
    MaxRangeGreaterThanOrEqualTo: number;
    MaxRangeGreaterThan: number;
    MaxRangeLessThan: number;
    MaxRangeLessThanOrEqualTo: number;
    MaxRangeNotEqualTo: number;
    MaxRangeBetween: number[];
    MaxRangeIn: number[];
    BackOrderStatus: number;
    BackOrderStatusGreaterThanOrEqualTo: number;
    BackOrderStatusGreaterThan: number;
    BackOrderStatusLessThan: number;
    BackOrderStatusLessThanOrEqualTo: number;
    BackOrderStatusNotEqualTo: number;
    BackOrderStatusBetween: Uint8Array;
    BackOrderStatusIn: Uint8Array;
    SY_Report_RecID: string;
    SY_Report_RecIDStartsWith: string;
    SY_Report_RecIDEndsWith: string;
    SY_Report_RecIDContains: string;
    SY_Report_RecIDLike: string;
    SY_Report_RecIDBetween: string[];
    SY_Report_RecIDIn: string[];
    SY_PrintGroupLogicalPrinter_RecID: string;
    SY_PrintGroupLogicalPrinter_RecIDStartsWith: string;
    SY_PrintGroupLogicalPrinter_RecIDEndsWith: string;
    SY_PrintGroupLogicalPrinter_RecIDContains: string;
    SY_PrintGroupLogicalPrinter_RecIDLike: string;
    SY_PrintGroupLogicalPrinter_RecIDBetween: string[];
    SY_PrintGroupLogicalPrinter_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    SY_PrintGroup_RecID: string;
    SY_PrintGroup_RecIDStartsWith: string;
    SY_PrintGroup_RecIDEndsWith: string;
    SY_PrintGroup_RecIDContains: string;
    SY_PrintGroup_RecIDLike: string;
    SY_PrintGroup_RecIDBetween: string[];
    SY_PrintGroup_RecIDIn: string[];
    createResponse() { return new QueryResponse<SO_ReportDefinition>(); }
    getTypeName() { return "SO_ReportDefinitionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_RunQuery extends QueryDb<SO_Run> implements IReturn<QueryResponse<SO_Run>>
{
    RunID: string;
    RunIDStartsWith: string;
    RunIDEndsWith: string;
    RunIDContains: string;
    RunIDLike: string;
    RunIDBetween: string[];
    RunIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RunBy: string;
    RunByStartsWith: string;
    RunByEndsWith: string;
    RunByContains: string;
    RunByLike: string;
    RunByBetween: string[];
    RunByIn: string[];
    RunNo: string;
    RunNoStartsWith: string;
    RunNoEndsWith: string;
    RunNoContains: string;
    RunNoLike: string;
    RunNoBetween: string[];
    RunNoIn: string[];
    createResponse() { return new QueryResponse<SO_Run>(); }
    getTypeName() { return "SO_RunQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_SalesQuery extends QueryDb<SO_Sales> implements IReturn<QueryResponse<SO_Sales>>
{
    SalesID: string;
    SalesIDStartsWith: string;
    SalesIDEndsWith: string;
    SalesIDContains: string;
    SalesIDLike: string;
    SalesIDBetween: string[];
    SalesIDIn: string[];
    DateRun: string;
    DateRunGreaterThanOrEqualTo: string;
    DateRunGreaterThan: string;
    DateRunLessThan: string;
    DateRunLessThanOrEqualTo: string;
    DateRunNotEqualTo: string;
    DateRunBetween: string[];
    DateRunIn: string[];
    InvoiceDate: string;
    InvoiceDateGreaterThanOrEqualTo: string;
    InvoiceDateGreaterThan: string;
    InvoiceDateLessThan: string;
    InvoiceDateLessThanOrEqualTo: string;
    InvoiceDateNotEqualTo: string;
    InvoiceDateBetween: string[];
    InvoiceDateIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    Cat1Description: string;
    Cat1DescriptionStartsWith: string;
    Cat1DescriptionEndsWith: string;
    Cat1DescriptionContains: string;
    Cat1DescriptionLike: string;
    Cat1DescriptionBetween: string[];
    Cat1DescriptionIn: string[];
    Cat2Description: string;
    Cat2DescriptionStartsWith: string;
    Cat2DescriptionEndsWith: string;
    Cat2DescriptionContains: string;
    Cat2DescriptionLike: string;
    Cat2DescriptionBetween: string[];
    Cat2DescriptionIn: string[];
    Cat3Description: string;
    Cat3DescriptionStartsWith: string;
    Cat3DescriptionEndsWith: string;
    Cat3DescriptionContains: string;
    Cat3DescriptionLike: string;
    Cat3DescriptionBetween: string[];
    Cat3DescriptionIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitSellPrice: number;
    UnitSellPriceGreaterThanOrEqualTo: number;
    UnitSellPriceGreaterThan: number;
    UnitSellPriceLessThan: number;
    UnitSellPriceLessThanOrEqualTo: number;
    UnitSellPriceNotEqualTo: number;
    UnitSellPriceBetween: number[];
    UnitSellPriceIn: number[];
    LineTax: number;
    LineTaxGreaterThanOrEqualTo: number;
    LineTaxGreaterThan: number;
    LineTaxLessThan: number;
    LineTaxLessThanOrEqualTo: number;
    LineTaxNotEqualTo: number;
    LineTaxBetween: number[];
    LineTaxIn: number[];
    LineTotal: number;
    LineTotalGreaterThanOrEqualTo: number;
    LineTotalGreaterThan: number;
    LineTotalLessThan: number;
    LineTotalLessThanOrEqualTo: number;
    LineTotalNotEqualTo: number;
    LineTotalBetween: number[];
    LineTotalIn: number[];
    RunNo: string;
    RunNoStartsWith: string;
    RunNoEndsWith: string;
    RunNoContains: string;
    RunNoLike: string;
    RunNoBetween: string[];
    RunNoIn: string[];
    HistoryNo: number;
    HistoryNoGreaterThanOrEqualTo: number;
    HistoryNoGreaterThan: number;
    HistoryNoLessThan: number;
    HistoryNoLessThanOrEqualTo: number;
    HistoryNoNotEqualTo: number;
    HistoryNoBetween: number[];
    HistoryNoIn: number[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    YearNo: number;
    YearNoGreaterThanOrEqualTo: number;
    YearNoGreaterThan: number;
    YearNoLessThan: number;
    YearNoLessThanOrEqualTo: number;
    YearNoNotEqualTo: number;
    YearNoBetween: number[];
    YearNoIn: number[];
    MonthNo: number;
    MonthNoGreaterThanOrEqualTo: number;
    MonthNoGreaterThan: number;
    MonthNoLessThan: number;
    MonthNoLessThanOrEqualTo: number;
    MonthNoNotEqualTo: number;
    MonthNoBetween: number[];
    MonthNoIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    Cat4Description: string;
    Cat4DescriptionStartsWith: string;
    Cat4DescriptionEndsWith: string;
    Cat4DescriptionContains: string;
    Cat4DescriptionLike: string;
    Cat4DescriptionBetween: string[];
    Cat4DescriptionIn: string[];
    Cat5Description: string;
    Cat5DescriptionStartsWith: string;
    Cat5DescriptionEndsWith: string;
    Cat5DescriptionContains: string;
    Cat5DescriptionLike: string;
    Cat5DescriptionBetween: string[];
    Cat5DescriptionIn: string[];
    KitStyle: number;
    KitStyleGreaterThanOrEqualTo: number;
    KitStyleGreaterThan: number;
    KitStyleLessThan: number;
    KitStyleLessThanOrEqualTo: number;
    KitStyleNotEqualTo: number;
    KitStyleBetween: number[];
    KitStyleIn: number[];
    KitStatus: number;
    KitStatusGreaterThanOrEqualTo: number;
    KitStatusGreaterThan: number;
    KitStatusLessThan: number;
    KitStatusLessThanOrEqualTo: number;
    KitStatusNotEqualTo: number;
    KitStatusBetween: number[];
    KitStatusIn: number[];
    SO_LinesID: string;
    SO_LinesIDStartsWith: string;
    SO_LinesIDEndsWith: string;
    SO_LinesIDContains: string;
    SO_LinesIDLike: string;
    SO_LinesIDBetween: string[];
    SO_LinesIDIn: string[];
    LineCost: number;
    LineCostGreaterThanOrEqualTo: number;
    LineCostGreaterThan: number;
    LineCostLessThan: number;
    LineCostLessThanOrEqualTo: number;
    LineCostNotEqualTo: number;
    LineCostBetween: number[];
    LineCostIn: number[];
    DebtorAccountNo: string;
    DebtorAccountNoStartsWith: string;
    DebtorAccountNoEndsWith: string;
    DebtorAccountNoContains: string;
    DebtorAccountNoLike: string;
    DebtorAccountNoBetween: string[];
    DebtorAccountNoIn: string[];
    DebtorName: string;
    DebtorNameStartsWith: string;
    DebtorNameEndsWith: string;
    DebtorNameContains: string;
    DebtorNameLike: string;
    DebtorNameBetween: string[];
    DebtorNameIn: string[];
    DebtorClassification: string;
    DebtorClassificationStartsWith: string;
    DebtorClassificationEndsWith: string;
    DebtorClassificationContains: string;
    DebtorClassificationLike: string;
    DebtorClassificationBetween: string[];
    DebtorClassificationIn: string[];
    PhysicalWarehouse: string;
    PhysicalWarehouseStartsWith: string;
    PhysicalWarehouseEndsWith: string;
    PhysicalWarehouseContains: string;
    PhysicalWarehouseLike: string;
    PhysicalWarehouseBetween: string[];
    PhysicalWarehouseIn: string[];
    LogicalWarehouse: string;
    LogicalWarehouseStartsWith: string;
    LogicalWarehouseEndsWith: string;
    LogicalWarehouseContains: string;
    LogicalWarehouseLike: string;
    LogicalWarehouseBetween: string[];
    LogicalWarehouseIn: string[];
    GPDollars: number;
    GPDollarsGreaterThanOrEqualTo: number;
    GPDollarsGreaterThan: number;
    GPDollarsLessThan: number;
    GPDollarsLessThanOrEqualTo: number;
    GPDollarsNotEqualTo: number;
    GPDollarsBetween: number[];
    GPDollarsIn: number[];
    GPPercent: number;
    GPPercentGreaterThanOrEqualTo: number;
    GPPercentGreaterThan: number;
    GPPercentLessThan: number;
    GPPercentLessThanOrEqualTo: number;
    GPPercentNotEqualTo: number;
    GPPercentBetween: number[];
    GPPercentIn: number[];
    createResponse() { return new QueryResponse<SO_Sales>(); }
    getTypeName() { return "SO_SalesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_Sales_InvoiceNoQuery extends QueryDb<SO_Sales_InvoiceNo> implements IReturn<QueryResponse<SO_Sales_InvoiceNo>>
{
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    createResponse() { return new QueryResponse<SO_Sales_InvoiceNo>(); }
    getTypeName() { return "SO_Sales_InvoiceNoQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_SalesDelBatchQuery extends QueryDb<SO_SalesDelBatch> implements IReturn<QueryResponse<SO_SalesDelBatch>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    DateActivated: string;
    DateActivatedGreaterThanOrEqualTo: string;
    DateActivatedGreaterThan: string;
    DateActivatedLessThan: string;
    DateActivatedLessThanOrEqualTo: string;
    DateActivatedNotEqualTo: string;
    DateActivatedBetween: string[];
    DateActivatedIn: string[];
    BatchActivated: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SplitOrder: boolean;
    SplitBackOrders: boolean;
    IN_Logical_RecID: string;
    IN_Logical_RecIDStartsWith: string;
    IN_Logical_RecIDEndsWith: string;
    IN_Logical_RecIDContains: string;
    IN_Logical_RecIDLike: string;
    IN_Logical_RecIDBetween: string[];
    IN_Logical_RecIDIn: string[];
    UseSpecificWarehouse: boolean;
    createResponse() { return new QueryResponse<SO_SalesDelBatch>(); }
    getTypeName() { return "SO_SalesDelBatchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_SalesDelBatchLinesQuery extends QueryDb<SO_SalesDelBatchLines> implements IReturn<QueryResponse<SO_SalesDelBatchLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SalesDelBatchID: string;
    SalesDelBatchIDStartsWith: string;
    SalesDelBatchIDEndsWith: string;
    SalesDelBatchIDContains: string;
    SalesDelBatchIDLike: string;
    SalesDelBatchIDBetween: string[];
    SalesDelBatchIDIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorAccountNo: string;
    DebtorAccountNoStartsWith: string;
    DebtorAccountNoEndsWith: string;
    DebtorAccountNoContains: string;
    DebtorAccountNoLike: string;
    DebtorAccountNoBetween: string[];
    DebtorAccountNoIn: string[];
    DebtorName: string;
    DebtorNameStartsWith: string;
    DebtorNameEndsWith: string;
    DebtorNameContains: string;
    DebtorNameLike: string;
    DebtorNameBetween: string[];
    DebtorNameIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    QuantityBackOrdered: number;
    QuantityBackOrderedGreaterThanOrEqualTo: number;
    QuantityBackOrderedGreaterThan: number;
    QuantityBackOrderedLessThan: number;
    QuantityBackOrderedLessThanOrEqualTo: number;
    QuantityBackOrderedNotEqualTo: number;
    QuantityBackOrderedBetween: number[];
    QuantityBackOrderedIn: number[];
    ForwardOrderDate: string;
    ForwardOrderDateGreaterThanOrEqualTo: string;
    ForwardOrderDateGreaterThan: string;
    ForwardOrderDateLessThan: string;
    ForwardOrderDateLessThanOrEqualTo: string;
    ForwardOrderDateNotEqualTo: string;
    ForwardOrderDateBetween: string[];
    ForwardOrderDateIn: string[];
    ScheduledDate: string;
    ScheduledDateGreaterThanOrEqualTo: string;
    ScheduledDateGreaterThan: string;
    ScheduledDateLessThan: string;
    ScheduledDateLessThanOrEqualTo: string;
    ScheduledDateNotEqualTo: string;
    ScheduledDateBetween: string[];
    ScheduledDateIn: string[];
    NewDeliverStockFlag: boolean;
    NewQuantityDelivered: number;
    NewQuantityDeliveredGreaterThanOrEqualTo: number;
    NewQuantityDeliveredGreaterThan: number;
    NewQuantityDeliveredLessThan: number;
    NewQuantityDeliveredLessThanOrEqualTo: number;
    NewQuantityDeliveredNotEqualTo: number;
    NewQuantityDeliveredBetween: number[];
    NewQuantityDeliveredIn: number[];
    UpdateFailed: boolean;
    FailReason: string;
    FailReasonStartsWith: string;
    FailReasonEndsWith: string;
    FailReasonContains: string;
    FailReasonLike: string;
    FailReasonBetween: string[];
    FailReasonIn: string[];
    QuantityDecimalPlaces: number;
    QuantityDecimalPlacesGreaterThanOrEqualTo: number;
    QuantityDecimalPlacesGreaterThan: number;
    QuantityDecimalPlacesLessThan: number;
    QuantityDecimalPlacesLessThanOrEqualTo: number;
    QuantityDecimalPlacesNotEqualTo: number;
    QuantityDecimalPlacesBetween: number[];
    QuantityDecimalPlacesIn: number[];
    createResponse() { return new QueryResponse<SO_SalesDelBatchLines>(); }
    getTypeName() { return "SO_SalesDelBatchLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_SalesHistoryQuery extends QueryDb<SO_SalesHistory> implements IReturn<QueryResponse<SO_SalesHistory>>
{
    SalesID: string;
    SalesIDStartsWith: string;
    SalesIDEndsWith: string;
    SalesIDContains: string;
    SalesIDLike: string;
    SalesIDBetween: string[];
    SalesIDIn: string[];
    DateRun: string;
    DateRunGreaterThanOrEqualTo: string;
    DateRunGreaterThan: string;
    DateRunLessThan: string;
    DateRunLessThanOrEqualTo: string;
    DateRunNotEqualTo: string;
    DateRunBetween: string[];
    DateRunIn: string[];
    InvoiceDate: string;
    InvoiceDateGreaterThanOrEqualTo: string;
    InvoiceDateGreaterThan: string;
    InvoiceDateLessThan: string;
    InvoiceDateLessThanOrEqualTo: string;
    InvoiceDateNotEqualTo: string;
    InvoiceDateBetween: string[];
    InvoiceDateIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    Cat1Description: string;
    Cat1DescriptionStartsWith: string;
    Cat1DescriptionEndsWith: string;
    Cat1DescriptionContains: string;
    Cat1DescriptionLike: string;
    Cat1DescriptionBetween: string[];
    Cat1DescriptionIn: string[];
    Cat2Description: string;
    Cat2DescriptionStartsWith: string;
    Cat2DescriptionEndsWith: string;
    Cat2DescriptionContains: string;
    Cat2DescriptionLike: string;
    Cat2DescriptionBetween: string[];
    Cat2DescriptionIn: string[];
    Cat3Description: string;
    Cat3DescriptionStartsWith: string;
    Cat3DescriptionEndsWith: string;
    Cat3DescriptionContains: string;
    Cat3DescriptionLike: string;
    Cat3DescriptionBetween: string[];
    Cat3DescriptionIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitSellPrice: number;
    UnitSellPriceGreaterThanOrEqualTo: number;
    UnitSellPriceGreaterThan: number;
    UnitSellPriceLessThan: number;
    UnitSellPriceLessThanOrEqualTo: number;
    UnitSellPriceNotEqualTo: number;
    UnitSellPriceBetween: number[];
    UnitSellPriceIn: number[];
    LineTax: number;
    LineTaxGreaterThanOrEqualTo: number;
    LineTaxGreaterThan: number;
    LineTaxLessThan: number;
    LineTaxLessThanOrEqualTo: number;
    LineTaxNotEqualTo: number;
    LineTaxBetween: number[];
    LineTaxIn: number[];
    LineTotal: number;
    LineTotalGreaterThanOrEqualTo: number;
    LineTotalGreaterThan: number;
    LineTotalLessThan: number;
    LineTotalLessThanOrEqualTo: number;
    LineTotalNotEqualTo: number;
    LineTotalBetween: number[];
    LineTotalIn: number[];
    RunNo: string;
    RunNoStartsWith: string;
    RunNoEndsWith: string;
    RunNoContains: string;
    RunNoLike: string;
    RunNoBetween: string[];
    RunNoIn: string[];
    HistoryNo: number;
    HistoryNoGreaterThanOrEqualTo: number;
    HistoryNoGreaterThan: number;
    HistoryNoLessThan: number;
    HistoryNoLessThanOrEqualTo: number;
    HistoryNoNotEqualTo: number;
    HistoryNoBetween: number[];
    HistoryNoIn: number[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    YearNo: number;
    YearNoGreaterThanOrEqualTo: number;
    YearNoGreaterThan: number;
    YearNoLessThan: number;
    YearNoLessThanOrEqualTo: number;
    YearNoNotEqualTo: number;
    YearNoBetween: number[];
    YearNoIn: number[];
    MonthNo: number;
    MonthNoGreaterThanOrEqualTo: number;
    MonthNoGreaterThan: number;
    MonthNoLessThan: number;
    MonthNoLessThanOrEqualTo: number;
    MonthNoNotEqualTo: number;
    MonthNoBetween: number[];
    MonthNoIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    Cat4Description: string;
    Cat4DescriptionStartsWith: string;
    Cat4DescriptionEndsWith: string;
    Cat4DescriptionContains: string;
    Cat4DescriptionLike: string;
    Cat4DescriptionBetween: string[];
    Cat4DescriptionIn: string[];
    Cat5Description: string;
    Cat5DescriptionStartsWith: string;
    Cat5DescriptionEndsWith: string;
    Cat5DescriptionContains: string;
    Cat5DescriptionLike: string;
    Cat5DescriptionBetween: string[];
    Cat5DescriptionIn: string[];
    KitStyle: number;
    KitStyleGreaterThanOrEqualTo: number;
    KitStyleGreaterThan: number;
    KitStyleLessThan: number;
    KitStyleLessThanOrEqualTo: number;
    KitStyleNotEqualTo: number;
    KitStyleBetween: number[];
    KitStyleIn: number[];
    KitStatus: number;
    KitStatusGreaterThanOrEqualTo: number;
    KitStatusGreaterThan: number;
    KitStatusLessThan: number;
    KitStatusLessThanOrEqualTo: number;
    KitStatusNotEqualTo: number;
    KitStatusBetween: number[];
    KitStatusIn: number[];
    SO_LinesID: string;
    SO_LinesIDStartsWith: string;
    SO_LinesIDEndsWith: string;
    SO_LinesIDContains: string;
    SO_LinesIDLike: string;
    SO_LinesIDBetween: string[];
    SO_LinesIDIn: string[];
    LineCost: number;
    LineCostGreaterThanOrEqualTo: number;
    LineCostGreaterThan: number;
    LineCostLessThan: number;
    LineCostLessThanOrEqualTo: number;
    LineCostNotEqualTo: number;
    LineCostBetween: number[];
    LineCostIn: number[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    createResponse() { return new QueryResponse<SO_SalesHistory>(); }
    getTypeName() { return "SO_SalesHistoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_SalesQtyQuery extends QueryDb<SO_SalesQty> implements IReturn<QueryResponse<SO_SalesQty>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    YearNo: number;
    YearNoGreaterThanOrEqualTo: number;
    YearNoGreaterThan: number;
    YearNoLessThan: number;
    YearNoLessThanOrEqualTo: number;
    YearNoNotEqualTo: number;
    YearNoBetween: number[];
    YearNoIn: number[];
    MonthNo: number;
    MonthNoGreaterThanOrEqualTo: number;
    MonthNoGreaterThan: number;
    MonthNoLessThan: number;
    MonthNoLessThanOrEqualTo: number;
    MonthNoNotEqualTo: number;
    MonthNoBetween: number[];
    MonthNoIn: number[];
    TotalQty: number;
    TotalQtyGreaterThanOrEqualTo: number;
    TotalQtyGreaterThan: number;
    TotalQtyLessThan: number;
    TotalQtyLessThanOrEqualTo: number;
    TotalQtyNotEqualTo: number;
    TotalQtyBetween: number[];
    TotalQtyIn: number[];
    createResponse() { return new QueryResponse<SO_SalesQty>(); }
    getTypeName() { return "SO_SalesQtyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_SplitOrdersQuery extends QueryDb<SO_SplitOrders> implements IReturn<QueryResponse<SO_SplitOrders>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SourceInvoiceID: string;
    SourceInvoiceIDStartsWith: string;
    SourceInvoiceIDEndsWith: string;
    SourceInvoiceIDContains: string;
    SourceInvoiceIDLike: string;
    SourceInvoiceIDBetween: string[];
    SourceInvoiceIDIn: string[];
    SourceInvoiceNo: string;
    SourceInvoiceNoStartsWith: string;
    SourceInvoiceNoEndsWith: string;
    SourceInvoiceNoContains: string;
    SourceInvoiceNoLike: string;
    SourceInvoiceNoBetween: string[];
    SourceInvoiceNoIn: string[];
    DestInvoiceID: string;
    DestInvoiceIDStartsWith: string;
    DestInvoiceIDEndsWith: string;
    DestInvoiceIDContains: string;
    DestInvoiceIDLike: string;
    DestInvoiceIDBetween: string[];
    DestInvoiceIDIn: string[];
    DestInvoiceNo: string;
    DestInvoiceNoStartsWith: string;
    DestInvoiceNoEndsWith: string;
    DestInvoiceNoContains: string;
    DestInvoiceNoLike: string;
    DestInvoiceNoBetween: string[];
    DestInvoiceNoIn: string[];
    HRStaffID: string;
    HRStaffIDStartsWith: string;
    HRStaffIDEndsWith: string;
    HRStaffIDContains: string;
    HRStaffIDLike: string;
    HRStaffIDBetween: string[];
    HRStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SO_SplitOrders>(); }
    getTypeName() { return "SO_SplitOrdersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_TotalsQuery extends QueryDb<SO_Totals> implements IReturn<QueryResponse<SO_Totals>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceTotal: number;
    InvoiceTotalGreaterThanOrEqualTo: number;
    InvoiceTotalGreaterThan: number;
    InvoiceTotalLessThan: number;
    InvoiceTotalLessThanOrEqualTo: number;
    InvoiceTotalNotEqualTo: number;
    InvoiceTotalBetween: number[];
    InvoiceTotalIn: number[];
    Cartage1Total: number;
    Cartage1TotalGreaterThanOrEqualTo: number;
    Cartage1TotalGreaterThan: number;
    Cartage1TotalLessThan: number;
    Cartage1TotalLessThanOrEqualTo: number;
    Cartage1TotalNotEqualTo: number;
    Cartage1TotalBetween: number[];
    Cartage1TotalIn: number[];
    Cartage1TaxTotal: number;
    Cartage1TaxTotalGreaterThanOrEqualTo: number;
    Cartage1TaxTotalGreaterThan: number;
    Cartage1TaxTotalLessThan: number;
    Cartage1TaxTotalLessThanOrEqualTo: number;
    Cartage1TaxTotalNotEqualTo: number;
    Cartage1TaxTotalBetween: number[];
    Cartage1TaxTotalIn: number[];
    Cartage2Total: number;
    Cartage2TotalGreaterThanOrEqualTo: number;
    Cartage2TotalGreaterThan: number;
    Cartage2TotalLessThan: number;
    Cartage2TotalLessThanOrEqualTo: number;
    Cartage2TotalNotEqualTo: number;
    Cartage2TotalBetween: number[];
    Cartage2TotalIn: number[];
    Cartage2TaxTotal: number;
    Cartage2TaxTotalGreaterThanOrEqualTo: number;
    Cartage2TaxTotalGreaterThan: number;
    Cartage2TaxTotalLessThan: number;
    Cartage2TaxTotalLessThanOrEqualTo: number;
    Cartage2TaxTotalNotEqualTo: number;
    Cartage2TaxTotalBetween: number[];
    Cartage2TaxTotalIn: number[];
    Cartage3Total: number;
    Cartage3TotalGreaterThanOrEqualTo: number;
    Cartage3TotalGreaterThan: number;
    Cartage3TotalLessThan: number;
    Cartage3TotalLessThanOrEqualTo: number;
    Cartage3TotalNotEqualTo: number;
    Cartage3TotalBetween: number[];
    Cartage3TotalIn: number[];
    Cartage3TaxTotal: number;
    Cartage3TaxTotalGreaterThanOrEqualTo: number;
    Cartage3TaxTotalGreaterThan: number;
    Cartage3TaxTotalLessThan: number;
    Cartage3TaxTotalLessThanOrEqualTo: number;
    Cartage3TaxTotalNotEqualTo: number;
    Cartage3TaxTotalBetween: number[];
    Cartage3TaxTotalIn: number[];
    createResponse() { return new QueryResponse<SO_Totals>(); }
    getTypeName() { return "SO_TotalsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ViewInvoicedQuery extends QueryDb<SO_ViewInvoiced> implements IReturn<QueryResponse<SO_ViewInvoiced>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    BillWhenComplete: number;
    BillWhenCompleteGreaterThanOrEqualTo: number;
    BillWhenCompleteGreaterThan: number;
    BillWhenCompleteLessThan: number;
    BillWhenCompleteLessThanOrEqualTo: number;
    BillWhenCompleteNotEqualTo: number;
    BillWhenCompleteBetween: number[];
    BillWhenCompleteIn: number[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    CreditNote: boolean;
    WholeSaleInvoice: boolean;
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    Frieght: number;
    FrieghtGreaterThanOrEqualTo: number;
    FrieghtGreaterThan: number;
    FrieghtLessThan: number;
    FrieghtLessThanOrEqualTo: number;
    FrieghtNotEqualTo: number;
    FrieghtBetween: number[];
    FrieghtIn: number[];
    ProcessedHistoryNo: number;
    ProcessedHistoryNoGreaterThanOrEqualTo: number;
    ProcessedHistoryNoGreaterThan: number;
    ProcessedHistoryNoLessThan: number;
    ProcessedHistoryNoLessThanOrEqualTo: number;
    ProcessedHistoryNoNotEqualTo: number;
    ProcessedHistoryNoBetween: number[];
    ProcessedHistoryNoIn: number[];
    InvoicedHistoryNo: number;
    InvoicedHistoryNoGreaterThanOrEqualTo: number;
    InvoicedHistoryNoGreaterThan: number;
    InvoicedHistoryNoLessThan: number;
    InvoicedHistoryNoLessThanOrEqualTo: number;
    InvoicedHistoryNoNotEqualTo: number;
    InvoicedHistoryNoBetween: number[];
    InvoicedHistoryNoIn: number[];
    ProcessedOnRunNo: string;
    ProcessedOnRunNoStartsWith: string;
    ProcessedOnRunNoEndsWith: string;
    ProcessedOnRunNoContains: string;
    ProcessedOnRunNoLike: string;
    ProcessedOnRunNoBetween: string[];
    ProcessedOnRunNoIn: string[];
    InvoicedOnRunNo: string;
    InvoicedOnRunNoStartsWith: string;
    InvoicedOnRunNoEndsWith: string;
    InvoicedOnRunNoContains: string;
    InvoicedOnRunNoLike: string;
    InvoicedOnRunNoBetween: string[];
    InvoicedOnRunNoIn: string[];
    ProcessedDate: string;
    ProcessedDateGreaterThanOrEqualTo: string;
    ProcessedDateGreaterThan: string;
    ProcessedDateLessThan: string;
    ProcessedDateLessThanOrEqualTo: string;
    ProcessedDateNotEqualTo: string;
    ProcessedDateBetween: string[];
    ProcessedDateIn: string[];
    InvoicedDate: string;
    InvoicedDateGreaterThanOrEqualTo: string;
    InvoicedDateGreaterThan: string;
    InvoicedDateLessThan: string;
    InvoicedDateLessThanOrEqualTo: string;
    InvoicedDateNotEqualTo: string;
    InvoicedDateBetween: string[];
    InvoicedDateIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    CostIn: number;
    CostInGreaterThanOrEqualTo: number;
    CostInGreaterThan: number;
    CostInLessThan: number;
    CostInLessThanOrEqualTo: number;
    CostInNotEqualTo: number;
    CostInBetween: number[];
    CostInIn: number[];
    QuantityThisDel: number;
    QuantityThisDelGreaterThanOrEqualTo: number;
    QuantityThisDelGreaterThan: number;
    QuantityThisDelLessThan: number;
    QuantityThisDelLessThanOrEqualTo: number;
    QuantityThisDelNotEqualTo: number;
    QuantityThisDelBetween: number[];
    QuantityThisDelIn: number[];
    CurrentLineTotal: number;
    CurrentLineTotalGreaterThanOrEqualTo: number;
    CurrentLineTotalGreaterThan: number;
    CurrentLineTotalLessThan: number;
    CurrentLineTotalLessThanOrEqualTo: number;
    CurrentLineTotalNotEqualTo: number;
    CurrentLineTotalBetween: number[];
    CurrentLineTotalIn: number[];
    TaxToCharge: number;
    TaxToChargeGreaterThanOrEqualTo: number;
    TaxToChargeGreaterThan: number;
    TaxToChargeLessThan: number;
    TaxToChargeLessThanOrEqualTo: number;
    TaxToChargeNotEqualTo: number;
    TaxToChargeBetween: number[];
    TaxToChargeIn: number[];
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    PhysicalItem: number;
    PhysicalItemGreaterThanOrEqualTo: number;
    PhysicalItemGreaterThan: number;
    PhysicalItemLessThan: number;
    PhysicalItemLessThanOrEqualTo: number;
    PhysicalItemNotEqualTo: number;
    PhysicalItemBetween: number[];
    PhysicalItemIn: number[];
    NonStock: boolean;
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    InventoryClassificationID: string;
    InventoryClassificationIDStartsWith: string;
    InventoryClassificationIDEndsWith: string;
    InventoryClassificationIDContains: string;
    InventoryClassificationIDLike: string;
    InventoryClassificationIDBetween: string[];
    InventoryClassificationIDIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    createResponse() { return new QueryResponse<SO_ViewInvoiced>(); }
    getTypeName() { return "SO_ViewInvoicedQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_ViewShippedQuery extends QueryDb<SO_ViewShipped> implements IReturn<QueryResponse<SO_ViewShipped>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    BillWhenComplete: number;
    BillWhenCompleteGreaterThanOrEqualTo: number;
    BillWhenCompleteGreaterThan: number;
    BillWhenCompleteLessThan: number;
    BillWhenCompleteLessThanOrEqualTo: number;
    BillWhenCompleteNotEqualTo: number;
    BillWhenCompleteBetween: number[];
    BillWhenCompleteIn: number[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    CreditNote: boolean;
    WholeSaleInvoice: boolean;
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    Frieght: number;
    FrieghtGreaterThanOrEqualTo: number;
    FrieghtGreaterThan: number;
    FrieghtLessThan: number;
    FrieghtLessThanOrEqualTo: number;
    FrieghtNotEqualTo: number;
    FrieghtBetween: number[];
    FrieghtIn: number[];
    ProcessedHistoryNo: number;
    ProcessedHistoryNoGreaterThanOrEqualTo: number;
    ProcessedHistoryNoGreaterThan: number;
    ProcessedHistoryNoLessThan: number;
    ProcessedHistoryNoLessThanOrEqualTo: number;
    ProcessedHistoryNoNotEqualTo: number;
    ProcessedHistoryNoBetween: number[];
    ProcessedHistoryNoIn: number[];
    ShippedHistoryNo: number;
    ShippedHistoryNoGreaterThanOrEqualTo: number;
    ShippedHistoryNoGreaterThan: number;
    ShippedHistoryNoLessThan: number;
    ShippedHistoryNoLessThanOrEqualTo: number;
    ShippedHistoryNoNotEqualTo: number;
    ShippedHistoryNoBetween: number[];
    ShippedHistoryNoIn: number[];
    ProcessedOnRunNo: string;
    ProcessedOnRunNoStartsWith: string;
    ProcessedOnRunNoEndsWith: string;
    ProcessedOnRunNoContains: string;
    ProcessedOnRunNoLike: string;
    ProcessedOnRunNoBetween: string[];
    ProcessedOnRunNoIn: string[];
    ShippedOnRunNo: string;
    ShippedOnRunNoStartsWith: string;
    ShippedOnRunNoEndsWith: string;
    ShippedOnRunNoContains: string;
    ShippedOnRunNoLike: string;
    ShippedOnRunNoBetween: string[];
    ShippedOnRunNoIn: string[];
    ProcessedDate: string;
    ProcessedDateGreaterThanOrEqualTo: string;
    ProcessedDateGreaterThan: string;
    ProcessedDateLessThan: string;
    ProcessedDateLessThanOrEqualTo: string;
    ProcessedDateNotEqualTo: string;
    ProcessedDateBetween: string[];
    ProcessedDateIn: string[];
    ShippedDate: string;
    ShippedDateGreaterThanOrEqualTo: string;
    ShippedDateGreaterThan: string;
    ShippedDateLessThan: string;
    ShippedDateLessThanOrEqualTo: string;
    ShippedDateNotEqualTo: string;
    ShippedDateBetween: string[];
    ShippedDateIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    CostIn: number;
    CostInGreaterThanOrEqualTo: number;
    CostInGreaterThan: number;
    CostInLessThan: number;
    CostInLessThanOrEqualTo: number;
    CostInNotEqualTo: number;
    CostInBetween: number[];
    CostInIn: number[];
    QuantityThisDel: number;
    QuantityThisDelGreaterThanOrEqualTo: number;
    QuantityThisDelGreaterThan: number;
    QuantityThisDelLessThan: number;
    QuantityThisDelLessThanOrEqualTo: number;
    QuantityThisDelNotEqualTo: number;
    QuantityThisDelBetween: number[];
    QuantityThisDelIn: number[];
    CurrentLineTotal: number;
    CurrentLineTotalGreaterThanOrEqualTo: number;
    CurrentLineTotalGreaterThan: number;
    CurrentLineTotalLessThan: number;
    CurrentLineTotalLessThanOrEqualTo: number;
    CurrentLineTotalNotEqualTo: number;
    CurrentLineTotalBetween: number[];
    CurrentLineTotalIn: number[];
    TaxToCharge: number;
    TaxToChargeGreaterThanOrEqualTo: number;
    TaxToChargeGreaterThan: number;
    TaxToChargeLessThan: number;
    TaxToChargeLessThanOrEqualTo: number;
    TaxToChargeNotEqualTo: number;
    TaxToChargeBetween: number[];
    TaxToChargeIn: number[];
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    PhysicalItem: number;
    PhysicalItemGreaterThanOrEqualTo: number;
    PhysicalItemGreaterThan: number;
    PhysicalItemLessThan: number;
    PhysicalItemLessThanOrEqualTo: number;
    PhysicalItemNotEqualTo: number;
    PhysicalItemBetween: number[];
    PhysicalItemIn: number[];
    NonStock: boolean;
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    InventoryClassificationID: string;
    InventoryClassificationIDStartsWith: string;
    InventoryClassificationIDEndsWith: string;
    InventoryClassificationIDContains: string;
    InventoryClassificationIDLike: string;
    InventoryClassificationIDBetween: string[];
    InventoryClassificationIDIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    createResponse() { return new QueryResponse<SO_ViewShipped>(); }
    getTypeName() { return "SO_ViewShippedQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SO_VInvQuery extends QueryDb<SO_VInv> implements IReturn<QueryResponse<SO_VInv>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvID: string;
    InvIDStartsWith: string;
    InvIDEndsWith: string;
    InvIDContains: string;
    InvIDLike: string;
    InvIDBetween: string[];
    InvIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    BillWhenComplete: number;
    BillWhenCompleteGreaterThanOrEqualTo: number;
    BillWhenCompleteGreaterThan: number;
    BillWhenCompleteLessThan: number;
    BillWhenCompleteLessThanOrEqualTo: number;
    BillWhenCompleteNotEqualTo: number;
    BillWhenCompleteBetween: number[];
    BillWhenCompleteIn: number[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    CreditNote: boolean;
    WholeSaleInvoice: boolean;
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    BranchID: string;
    BranchIDStartsWith: string;
    BranchIDEndsWith: string;
    BranchIDContains: string;
    BranchIDLike: string;
    BranchIDBetween: string[];
    BranchIDIn: string[];
    CreditIntoStock: boolean;
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    HistoryTotal: number;
    HistoryTotalGreaterThanOrEqualTo: number;
    HistoryTotalGreaterThan: number;
    HistoryTotalLessThan: number;
    HistoryTotalLessThanOrEqualTo: number;
    HistoryTotalNotEqualTo: number;
    HistoryTotalBetween: number[];
    HistoryTotalIn: number[];
    CartageCharge1: number;
    CartageCharge1GreaterThanOrEqualTo: number;
    CartageCharge1GreaterThan: number;
    CartageCharge1LessThan: number;
    CartageCharge1LessThanOrEqualTo: number;
    CartageCharge1NotEqualTo: number;
    CartageCharge1Between: number[];
    CartageCharge1In: number[];
    CartageCharge2: number;
    CartageCharge2GreaterThanOrEqualTo: number;
    CartageCharge2GreaterThan: number;
    CartageCharge2LessThan: number;
    CartageCharge2LessThanOrEqualTo: number;
    CartageCharge2NotEqualTo: number;
    CartageCharge2Between: number[];
    CartageCharge2In: number[];
    CartageCharge3: number;
    CartageCharge3GreaterThanOrEqualTo: number;
    CartageCharge3GreaterThan: number;
    CartageCharge3LessThan: number;
    CartageCharge3LessThanOrEqualTo: number;
    CartageCharge3NotEqualTo: number;
    CartageCharge3Between: number[];
    CartageCharge3In: number[];
    Frieght: number;
    FrieghtGreaterThanOrEqualTo: number;
    FrieghtGreaterThan: number;
    FrieghtLessThan: number;
    FrieghtLessThanOrEqualTo: number;
    FrieghtNotEqualTo: number;
    FrieghtBetween: number[];
    FrieghtIn: number[];
    Frt: number;
    FrtGreaterThanOrEqualTo: number;
    FrtGreaterThan: number;
    FrtLessThan: number;
    FrtLessThanOrEqualTo: number;
    FrtNotEqualTo: number;
    FrtBetween: number[];
    FrtIn: number[];
    FrtTax: number;
    FrtTaxGreaterThanOrEqualTo: number;
    FrtTaxGreaterThan: number;
    FrtTaxLessThan: number;
    FrtTaxLessThanOrEqualTo: number;
    FrtTaxNotEqualTo: number;
    FrtTaxBetween: number[];
    FrtTaxIn: number[];
    ProHistoryNo: number;
    ProHistoryNoGreaterThanOrEqualTo: number;
    ProHistoryNoGreaterThan: number;
    ProHistoryNoLessThan: number;
    ProHistoryNoLessThanOrEqualTo: number;
    ProHistoryNoNotEqualTo: number;
    ProHistoryNoBetween: number[];
    ProHistoryNoIn: number[];
    InvHistoryNo: number;
    InvHistoryNoGreaterThanOrEqualTo: number;
    InvHistoryNoGreaterThan: number;
    InvHistoryNoLessThan: number;
    InvHistoryNoLessThanOrEqualTo: number;
    InvHistoryNoNotEqualTo: number;
    InvHistoryNoBetween: number[];
    InvHistoryNoIn: number[];
    ProRunNo: string;
    ProRunNoStartsWith: string;
    ProRunNoEndsWith: string;
    ProRunNoContains: string;
    ProRunNoLike: string;
    ProRunNoBetween: string[];
    ProRunNoIn: string[];
    InvRunNo: string;
    InvRunNoStartsWith: string;
    InvRunNoEndsWith: string;
    InvRunNoContains: string;
    InvRunNoLike: string;
    InvRunNoBetween: string[];
    InvRunNoIn: string[];
    ProDate: string;
    ProDateGreaterThanOrEqualTo: string;
    ProDateGreaterThan: string;
    ProDateLessThan: string;
    ProDateLessThanOrEqualTo: string;
    ProDateNotEqualTo: string;
    ProDateBetween: string[];
    ProDateIn: string[];
    InvDate: string;
    InvDateGreaterThanOrEqualTo: string;
    InvDateGreaterThan: string;
    InvDateLessThan: string;
    InvDateLessThanOrEqualTo: string;
    InvDateNotEqualTo: string;
    InvDateBetween: string[];
    InvDateIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    CostIn: number;
    CostInGreaterThanOrEqualTo: number;
    CostInGreaterThan: number;
    CostInLessThan: number;
    CostInLessThanOrEqualTo: number;
    CostInNotEqualTo: number;
    CostInBetween: number[];
    CostInIn: number[];
    QuantityThisDel: number;
    QuantityThisDelGreaterThanOrEqualTo: number;
    QuantityThisDelGreaterThan: number;
    QuantityThisDelLessThan: number;
    QuantityThisDelLessThanOrEqualTo: number;
    QuantityThisDelNotEqualTo: number;
    QuantityThisDelBetween: number[];
    QuantityThisDelIn: number[];
    CurrentLineTotal: number;
    CurrentLineTotalGreaterThanOrEqualTo: number;
    CurrentLineTotalGreaterThan: number;
    CurrentLineTotalLessThan: number;
    CurrentLineTotalLessThanOrEqualTo: number;
    CurrentLineTotalNotEqualTo: number;
    CurrentLineTotalBetween: number[];
    CurrentLineTotalIn: number[];
    TaxToCharge: number;
    TaxToChargeGreaterThanOrEqualTo: number;
    TaxToChargeGreaterThan: number;
    TaxToChargeLessThan: number;
    TaxToChargeLessThanOrEqualTo: number;
    TaxToChargeNotEqualTo: number;
    TaxToChargeBetween: number[];
    TaxToChargeIn: number[];
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    PhysicalItem: number;
    PhysicalItemGreaterThanOrEqualTo: number;
    PhysicalItemGreaterThan: number;
    PhysicalItemLessThan: number;
    PhysicalItemLessThanOrEqualTo: number;
    PhysicalItemNotEqualTo: number;
    PhysicalItemBetween: number[];
    PhysicalItemIn: number[];
    NonStock: boolean;
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    LineCost: number;
    LineCostGreaterThanOrEqualTo: number;
    LineCostGreaterThan: number;
    LineCostLessThan: number;
    LineCostLessThanOrEqualTo: number;
    LineCostNotEqualTo: number;
    LineCostBetween: number[];
    LineCostIn: number[];
    Cat1Description: string;
    Cat1DescriptionStartsWith: string;
    Cat1DescriptionEndsWith: string;
    Cat1DescriptionContains: string;
    Cat1DescriptionLike: string;
    Cat1DescriptionBetween: string[];
    Cat1DescriptionIn: string[];
    Cat2Description: string;
    Cat2DescriptionStartsWith: string;
    Cat2DescriptionEndsWith: string;
    Cat2DescriptionContains: string;
    Cat2DescriptionLike: string;
    Cat2DescriptionBetween: string[];
    Cat2DescriptionIn: string[];
    Cat3Description: string;
    Cat3DescriptionStartsWith: string;
    Cat3DescriptionEndsWith: string;
    Cat3DescriptionContains: string;
    Cat3DescriptionLike: string;
    Cat3DescriptionBetween: string[];
    Cat3DescriptionIn: string[];
    createResponse() { return new QueryResponse<SO_VInv>(); }
    getTypeName() { return "SO_VInvQuery"; }
}

// @Route("/Queries/SY_Branch", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_BranchQuery extends QueryDb<SY_Branch> implements IReturn<QueryResponse<SY_Branch>>
{
    BranchID: string;
    BranchIDStartsWith: string;
    BranchIDEndsWith: string;
    BranchIDContains: string;
    BranchIDLike: string;
    BranchIDBetween: string[];
    BranchIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LedgerMask: string;
    LedgerMaskStartsWith: string;
    LedgerMaskEndsWith: string;
    LedgerMaskContains: string;
    LedgerMaskLike: string;
    LedgerMaskBetween: string[];
    LedgerMaskIn: string[];
    DefaultBranch: number;
    DefaultBranchGreaterThanOrEqualTo: number;
    DefaultBranchGreaterThan: number;
    DefaultBranchLessThan: number;
    DefaultBranchLessThanOrEqualTo: number;
    DefaultBranchNotEqualTo: number;
    DefaultBranchBetween: Uint8Array;
    DefaultBranchIn: Uint8Array;
    createResponse() { return new QueryResponse<SY_Branch>(); }
    getTypeName() { return "SY_BranchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_BusinessLogicQuery extends QueryDb<SY_BusinessLogic> implements IReturn<QueryResponse<SY_BusinessLogic>>
{
    RecID: string;
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    AssemblyFullName: string;
    AssemblyFullNameStartsWith: string;
    AssemblyFullNameEndsWith: string;
    AssemblyFullNameContains: string;
    AssemblyFullNameLike: string;
    AssemblyFullNameBetween: string[];
    AssemblyFullNameIn: string[];
    ClassName: string;
    ClassNameStartsWith: string;
    ClassNameEndsWith: string;
    ClassNameContains: string;
    ClassNameLike: string;
    ClassNameBetween: string[];
    ClassNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_BusinessLogic>(); }
    getTypeName() { return "SY_BusinessLogicQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_Custom_MaintenanceForm_TabsQuery extends QueryDb<SY_Custom_MaintenanceForm_Tabs> implements IReturn<QueryResponse<SY_Custom_MaintenanceForm_Tabs>>
{
    RecID: string;
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    HostTabControlName: string;
    HostTabControlNameStartsWith: string;
    HostTabControlNameEndsWith: string;
    HostTabControlNameContains: string;
    HostTabControlNameLike: string;
    HostTabControlNameBetween: string[];
    HostTabControlNameIn: string[];
    TabKey: string;
    TabKeyStartsWith: string;
    TabKeyEndsWith: string;
    TabKeyContains: string;
    TabKeyLike: string;
    TabKeyBetween: string[];
    TabKeyIn: string[];
    TabCaption: string;
    TabCaptionStartsWith: string;
    TabCaptionEndsWith: string;
    TabCaptionContains: string;
    TabCaptionLike: string;
    TabCaptionBetween: string[];
    TabCaptionIn: string[];
    StoredProcedureName: string;
    StoredProcedureNameStartsWith: string;
    StoredProcedureNameEndsWith: string;
    StoredProcedureNameContains: string;
    StoredProcedureNameLike: string;
    StoredProcedureNameBetween: string[];
    StoredProcedureNameIn: string[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_Custom_MaintenanceForm_Tabs>(); }
    getTypeName() { return "SY_Custom_MaintenanceForm_TabsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_DebtorImportSavedMappingsQuery extends QueryDb<SY_DebtorImportSavedMappings> implements IReturn<QueryResponse<SY_DebtorImportSavedMappings>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_DebtorImportSavedMappingSets_RecID: string;
    SY_DebtorImportSavedMappingSets_RecIDStartsWith: string;
    SY_DebtorImportSavedMappingSets_RecIDEndsWith: string;
    SY_DebtorImportSavedMappingSets_RecIDContains: string;
    SY_DebtorImportSavedMappingSets_RecIDLike: string;
    SY_DebtorImportSavedMappingSets_RecIDBetween: string[];
    SY_DebtorImportSavedMappingSets_RecIDIn: string[];
    SourceColumnName: string;
    SourceColumnNameStartsWith: string;
    SourceColumnNameEndsWith: string;
    SourceColumnNameContains: string;
    SourceColumnNameLike: string;
    SourceColumnNameBetween: string[];
    SourceColumnNameIn: string[];
    DestinationProperty: string;
    DestinationPropertyStartsWith: string;
    DestinationPropertyEndsWith: string;
    DestinationPropertyContains: string;
    DestinationPropertyLike: string;
    DestinationPropertyBetween: string[];
    DestinationPropertyIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_DebtorImportSavedMappings>(); }
    getTypeName() { return "SY_DebtorImportSavedMappingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_DebtorImportSavedMappingSetsQuery extends QueryDb<SY_DebtorImportSavedMappingSets> implements IReturn<QueryResponse<SY_DebtorImportSavedMappingSets>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    createResponse() { return new QueryResponse<SY_DebtorImportSavedMappingSets>(); }
    getTypeName() { return "SY_DebtorImportSavedMappingSetsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_DialogsQuery extends QueryDb<SY_Dialogs> implements IReturn<QueryResponse<SY_Dialogs>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DialogNo: number;
    DialogNoGreaterThanOrEqualTo: number;
    DialogNoGreaterThan: number;
    DialogNoLessThan: number;
    DialogNoLessThanOrEqualTo: number;
    DialogNoNotEqualTo: number;
    DialogNoBetween: number[];
    DialogNoIn: number[];
    AssemblyName: string;
    AssemblyNameStartsWith: string;
    AssemblyNameEndsWith: string;
    AssemblyNameContains: string;
    AssemblyNameLike: string;
    AssemblyNameBetween: string[];
    AssemblyNameIn: string[];
    ClassName: string;
    ClassNameStartsWith: string;
    ClassNameEndsWith: string;
    ClassNameContains: string;
    ClassNameLike: string;
    ClassNameBetween: string[];
    ClassNameIn: string[];
    createResponse() { return new QueryResponse<SY_Dialogs>(); }
    getTypeName() { return "SY_DialogsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_DialogSettingsQuery extends QueryDb<SY_DialogSettings> implements IReturn<QueryResponse<SY_DialogSettings>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_Dialogs_RecID: string;
    SY_Dialogs_RecIDStartsWith: string;
    SY_Dialogs_RecIDEndsWith: string;
    SY_Dialogs_RecIDContains: string;
    SY_Dialogs_RecIDLike: string;
    SY_Dialogs_RecIDBetween: string[];
    SY_Dialogs_RecIDIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    WindowState: number;
    WindowStateGreaterThanOrEqualTo: number;
    WindowStateGreaterThan: number;
    WindowStateLessThan: number;
    WindowStateLessThanOrEqualTo: number;
    WindowStateNotEqualTo: number;
    WindowStateBetween: Uint8Array;
    WindowStateIn: Uint8Array;
    Top: number;
    TopGreaterThanOrEqualTo: number;
    TopGreaterThan: number;
    TopLessThan: number;
    TopLessThanOrEqualTo: number;
    TopNotEqualTo: number;
    TopBetween: number[];
    TopIn: number[];
    Left: number;
    LeftGreaterThanOrEqualTo: number;
    LeftGreaterThan: number;
    LeftLessThan: number;
    LeftLessThanOrEqualTo: number;
    LeftNotEqualTo: number;
    LeftBetween: number[];
    LeftIn: number[];
    Width: number;
    WidthGreaterThanOrEqualTo: number;
    WidthGreaterThan: number;
    WidthLessThan: number;
    WidthLessThanOrEqualTo: number;
    WidthNotEqualTo: number;
    WidthBetween: number[];
    WidthIn: number[];
    Height: number;
    HeightGreaterThanOrEqualTo: number;
    HeightGreaterThan: number;
    HeightLessThan: number;
    HeightLessThanOrEqualTo: number;
    HeightNotEqualTo: number;
    HeightBetween: number[];
    HeightIn: number[];
    Context: string;
    ContextStartsWith: string;
    ContextEndsWith: string;
    ContextContains: string;
    ContextLike: string;
    ContextBetween: string[];
    ContextIn: string[];
    createResponse() { return new QueryResponse<SY_DialogSettings>(); }
    getTypeName() { return "SY_DialogSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_DocumentLinksQuery extends QueryDb<SY_DocumentLinks> implements IReturn<QueryResponse<SY_DocumentLinks>>
{
    PKID: string;
    PKIDStartsWith: string;
    PKIDEndsWith: string;
    PKIDContains: string;
    PKIDLike: string;
    PKIDBetween: string[];
    PKIDIn: string[];
    SourceDocDesc: string;
    SourceDocDescStartsWith: string;
    SourceDocDescEndsWith: string;
    SourceDocDescContains: string;
    SourceDocDescLike: string;
    SourceDocDescBetween: string[];
    SourceDocDescIn: string[];
    SourceDocID: string;
    SourceDocIDStartsWith: string;
    SourceDocIDEndsWith: string;
    SourceDocIDContains: string;
    SourceDocIDLike: string;
    SourceDocIDBetween: string[];
    SourceDocIDIn: string[];
    DestDocDesc: string;
    DestDocDescStartsWith: string;
    DestDocDescEndsWith: string;
    DestDocDescContains: string;
    DestDocDescLike: string;
    DestDocDescBetween: string[];
    DestDocDescIn: string[];
    DestDocID: string;
    DestDocIDStartsWith: string;
    DestDocIDEndsWith: string;
    DestDocIDContains: string;
    DestDocIDLike: string;
    DestDocIDBetween: string[];
    DestDocIDIn: string[];
    LinkDescriptor: string;
    LinkDescriptorStartsWith: string;
    LinkDescriptorEndsWith: string;
    LinkDescriptorContains: string;
    LinkDescriptorLike: string;
    LinkDescriptorBetween: string[];
    LinkDescriptorIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DateCreated: string;
    DateCreatedGreaterThanOrEqualTo: string;
    DateCreatedGreaterThan: string;
    DateCreatedLessThan: string;
    DateCreatedLessThanOrEqualTo: string;
    DateCreatedNotEqualTo: string;
    DateCreatedBetween: string[];
    DateCreatedIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    StaffName: string;
    StaffNameStartsWith: string;
    StaffNameEndsWith: string;
    StaffNameContains: string;
    StaffNameLike: string;
    StaffNameBetween: string[];
    StaffNameIn: string[];
    createResponse() { return new QueryResponse<SY_DocumentLinks>(); }
    getTypeName() { return "SY_DocumentLinksQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_DocumentTypesQuery extends QueryDb<SY_DocumentTypes> implements IReturn<QueryResponse<SY_DocumentTypes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DocumentType: string;
    DocumentTypeStartsWith: string;
    DocumentTypeEndsWith: string;
    DocumentTypeContains: string;
    DocumentTypeLike: string;
    DocumentTypeBetween: string[];
    DocumentTypeIn: string[];
    DefaultType: boolean;
    DocumentDescription: string;
    DocumentDescriptionStartsWith: string;
    DocumentDescriptionEndsWith: string;
    DocumentDescriptionContains: string;
    DocumentDescriptionLike: string;
    DocumentDescriptionBetween: string[];
    DocumentDescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_DocumentTypes>(); }
    getTypeName() { return "SY_DocumentTypesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_FileQuery extends QueryDb<SY_File> implements IReturn<QueryResponse<SY_File>>
{
    FileID: string;
    FileIDStartsWith: string;
    FileIDEndsWith: string;
    FileIDContains: string;
    FileIDLike: string;
    FileIDBetween: string[];
    FileIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    FullPhysicalFileName: string;
    FullPhysicalFileNameStartsWith: string;
    FullPhysicalFileNameEndsWith: string;
    FullPhysicalFileNameContains: string;
    FullPhysicalFileNameLike: string;
    FullPhysicalFileNameBetween: string[];
    FullPhysicalFileNameIn: string[];
    FileDescription: string;
    FileDescriptionStartsWith: string;
    FileDescriptionEndsWith: string;
    FileDescriptionContains: string;
    FileDescriptionLike: string;
    FileDescriptionBetween: string[];
    FileDescriptionIn: string[];
    FileInDB: boolean;
    FileBinary: Uint8Array;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_File>(); }
    getTypeName() { return "SY_FileQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_FilterDefaultsQuery extends QueryDb<SY_FilterDefaults> implements IReturn<QueryResponse<SY_FilterDefaults>>
{
    FilterDefID: string;
    FilterDefIDStartsWith: string;
    FilterDefIDEndsWith: string;
    FilterDefIDContains: string;
    FilterDefIDLike: string;
    FilterDefIDBetween: string[];
    FilterDefIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    FilterNo: number;
    FilterNoGreaterThanOrEqualTo: number;
    FilterNoGreaterThan: number;
    FilterNoLessThan: number;
    FilterNoLessThanOrEqualTo: number;
    FilterNoNotEqualTo: number;
    FilterNoBetween: number[];
    FilterNoIn: number[];
    SortOrderIndex: number;
    SortOrderIndexGreaterThanOrEqualTo: number;
    SortOrderIndexGreaterThan: number;
    SortOrderIndexLessThan: number;
    SortOrderIndexLessThanOrEqualTo: number;
    SortOrderIndexNotEqualTo: number;
    SortOrderIndexBetween: number[];
    SortOrderIndexIn: number[];
    GetDataOnLoad: boolean;
    SortOrderType: number;
    SortOrderTypeGreaterThanOrEqualTo: number;
    SortOrderTypeGreaterThan: number;
    SortOrderTypeLessThan: number;
    SortOrderTypeLessThanOrEqualTo: number;
    SortOrderTypeNotEqualTo: number;
    SortOrderTypeBetween: number[];
    SortOrderTypeIn: number[];
    StartType: number;
    StartTypeGreaterThanOrEqualTo: number;
    StartTypeGreaterThan: number;
    StartTypeLessThan: number;
    StartTypeLessThanOrEqualTo: number;
    StartTypeNotEqualTo: number;
    StartTypeBetween: number[];
    StartTypeIn: number[];
    SY_Filters_RecID: string;
    SY_Filters_RecIDStartsWith: string;
    SY_Filters_RecIDEndsWith: string;
    SY_Filters_RecIDContains: string;
    SY_Filters_RecIDLike: string;
    SY_Filters_RecIDBetween: string[];
    SY_Filters_RecIDIn: string[];
    createResponse() { return new QueryResponse<SY_FilterDefaults>(); }
    getTypeName() { return "SY_FilterDefaultsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_FiltersQuery extends QueryDb<SY_Filters> implements IReturn<QueryResponse<SY_Filters>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    FilterNo: number;
    FilterNoGreaterThanOrEqualTo: number;
    FilterNoGreaterThan: number;
    FilterNoLessThan: number;
    FilterNoLessThanOrEqualTo: number;
    FilterNoNotEqualTo: number;
    FilterNoBetween: number[];
    FilterNoIn: number[];
    FilterString: string;
    FilterStringStartsWith: string;
    FilterStringEndsWith: string;
    FilterStringContains: string;
    FilterStringLike: string;
    FilterStringBetween: string[];
    FilterStringIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    createResponse() { return new QueryResponse<SY_Filters>(); }
    getTypeName() { return "SY_FiltersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_FiltersTempQuery extends QueryDb<SY_FiltersTemp> implements IReturn<QueryResponse<SY_FiltersTemp>>
{
    FilterID: string;
    FilterIDStartsWith: string;
    FilterIDEndsWith: string;
    FilterIDContains: string;
    FilterIDLike: string;
    FilterIDBetween: string[];
    FilterIDIn: string[];
    Section: number;
    SectionGreaterThanOrEqualTo: number;
    SectionGreaterThan: number;
    SectionLessThan: number;
    SectionLessThanOrEqualTo: number;
    SectionNotEqualTo: number;
    SectionBetween: number[];
    SectionIn: number[];
    Filter: string;
    FilterStartsWith: string;
    FilterEndsWith: string;
    FilterContains: string;
    FilterLike: string;
    FilterBetween: string[];
    FilterIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    createResponse() { return new QueryResponse<SY_FiltersTemp>(); }
    getTypeName() { return "SY_FiltersTempQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_FormReportDefinitionQuery extends QueryDb<SY_FormReportDefinition> implements IReturn<QueryResponse<SY_FormReportDefinition>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    SY_Report_RecID: string;
    SY_Report_RecIDStartsWith: string;
    SY_Report_RecIDEndsWith: string;
    SY_Report_RecIDContains: string;
    SY_Report_RecIDLike: string;
    SY_Report_RecIDBetween: string[];
    SY_Report_RecIDIn: string[];
    SY_PrintGroupLogicalPrinter_RecID: string;
    SY_PrintGroupLogicalPrinter_RecIDStartsWith: string;
    SY_PrintGroupLogicalPrinter_RecIDEndsWith: string;
    SY_PrintGroupLogicalPrinter_RecIDContains: string;
    SY_PrintGroupLogicalPrinter_RecIDLike: string;
    SY_PrintGroupLogicalPrinter_RecIDBetween: string[];
    SY_PrintGroupLogicalPrinter_RecIDIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    SY_PrintGroup_RecID: string;
    SY_PrintGroup_RecIDStartsWith: string;
    SY_PrintGroup_RecIDEndsWith: string;
    SY_PrintGroup_RecIDContains: string;
    SY_PrintGroup_RecIDLike: string;
    SY_PrintGroup_RecIDBetween: string[];
    SY_PrintGroup_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<SY_FormReportDefinition>(); }
    getTypeName() { return "SY_FormReportDefinitionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_FormsQuery extends QueryDb<SY_Forms> implements IReturn<QueryResponse<SY_Forms>>
{
    ClassName: string;
    ClassNameStartsWith: string;
    ClassNameEndsWith: string;
    ClassNameContains: string;
    ClassNameLike: string;
    ClassNameBetween: string[];
    ClassNameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    FormType: number;
    FormTypeGreaterThanOrEqualTo: number;
    FormTypeGreaterThan: number;
    FormTypeLessThan: number;
    FormTypeLessThanOrEqualTo: number;
    FormTypeNotEqualTo: number;
    FormTypeBetween: number[];
    FormTypeIn: number[];
    HelpFileName: string;
    HelpFileNameStartsWith: string;
    HelpFileNameEndsWith: string;
    HelpFileNameContains: string;
    HelpFileNameLike: string;
    HelpFileNameBetween: string[];
    HelpFileNameIn: string[];
    HelpPageName: string;
    HelpPageNameStartsWith: string;
    HelpPageNameEndsWith: string;
    HelpPageNameContains: string;
    HelpPageNameLike: string;
    HelpPageNameBetween: string[];
    HelpPageNameIn: string[];
    AssemblyFullName: string;
    AssemblyFullNameStartsWith: string;
    AssemblyFullNameEndsWith: string;
    AssemblyFullNameContains: string;
    AssemblyFullNameLike: string;
    AssemblyFullNameBetween: string[];
    AssemblyFullNameIn: string[];
    createResponse() { return new QueryResponse<SY_Forms>(); }
    getTypeName() { return "SY_FormsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_FormsAbstractPermissionsQuery extends QueryDb<SY_FormsAbstractPermissions> implements IReturn<QueryResponse<SY_FormsAbstractPermissions>>
{
    RecID: string;
    RecIDIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_FormsAbstractPermissions>(); }
    getTypeName() { return "SY_FormsAbstractPermissionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_FormSettingsQuery extends QueryDb<SY_FormSettings> implements IReturn<QueryResponse<SY_FormSettings>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    WindowState: number;
    WindowStateGreaterThanOrEqualTo: number;
    WindowStateGreaterThan: number;
    WindowStateLessThan: number;
    WindowStateLessThanOrEqualTo: number;
    WindowStateNotEqualTo: number;
    WindowStateBetween: Uint8Array;
    WindowStateIn: Uint8Array;
    Top: number;
    TopGreaterThanOrEqualTo: number;
    TopGreaterThan: number;
    TopLessThan: number;
    TopLessThanOrEqualTo: number;
    TopNotEqualTo: number;
    TopBetween: number[];
    TopIn: number[];
    Left: number;
    LeftGreaterThanOrEqualTo: number;
    LeftGreaterThan: number;
    LeftLessThan: number;
    LeftLessThanOrEqualTo: number;
    LeftNotEqualTo: number;
    LeftBetween: number[];
    LeftIn: number[];
    Width: number;
    WidthGreaterThanOrEqualTo: number;
    WidthGreaterThan: number;
    WidthLessThan: number;
    WidthLessThanOrEqualTo: number;
    WidthNotEqualTo: number;
    WidthBetween: number[];
    WidthIn: number[];
    Height: number;
    HeightGreaterThanOrEqualTo: number;
    HeightGreaterThan: number;
    HeightLessThan: number;
    HeightLessThanOrEqualTo: number;
    HeightNotEqualTo: number;
    HeightBetween: number[];
    HeightIn: number[];
    Context: string;
    ContextStartsWith: string;
    ContextEndsWith: string;
    ContextContains: string;
    ContextLike: string;
    ContextBetween: string[];
    ContextIn: string[];
    Floating: boolean;
    createResponse() { return new QueryResponse<SY_FormSettings>(); }
    getTypeName() { return "SY_FormSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_IconQuery extends QueryDb<SY_Icon> implements IReturn<QueryResponse<SY_Icon>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IconBinary: Uint8Array;
    IconFileHash: string;
    IconFileHashStartsWith: string;
    IconFileHashEndsWith: string;
    IconFileHashContains: string;
    IconFileHashLike: string;
    IconFileHashBetween: string[];
    IconFileHashIn: string[];
    IsReadOnly: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_Icon>(); }
    getTypeName() { return "SY_IconQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_ImageQuery extends QueryDb<SY_Image> implements IReturn<QueryResponse<SY_Image>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    ImageBinary: Uint8Array;
    IsReadOnly: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_Image>(); }
    getTypeName() { return "SY_ImageQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_IntegrityCheckProviderQuery extends QueryDb<SY_IntegrityCheckProvider> implements IReturn<QueryResponse<SY_IntegrityCheckProvider>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    StoredProcedureName: string;
    StoredProcedureNameStartsWith: string;
    StoredProcedureNameEndsWith: string;
    StoredProcedureNameContains: string;
    StoredProcedureNameLike: string;
    StoredProcedureNameBetween: string[];
    StoredProcedureNameIn: string[];
    RowHash: Uint8Array;
    IsEnabled: boolean;
    createResponse() { return new QueryResponse<SY_IntegrityCheckProvider>(); }
    getTypeName() { return "SY_IntegrityCheckProviderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_InventoryImportSavedMappingsQuery extends QueryDb<SY_InventoryImportSavedMappings> implements IReturn<QueryResponse<SY_InventoryImportSavedMappings>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_InventoryImportSavedMappingSets_RecID: string;
    SY_InventoryImportSavedMappingSets_RecIDStartsWith: string;
    SY_InventoryImportSavedMappingSets_RecIDEndsWith: string;
    SY_InventoryImportSavedMappingSets_RecIDContains: string;
    SY_InventoryImportSavedMappingSets_RecIDLike: string;
    SY_InventoryImportSavedMappingSets_RecIDBetween: string[];
    SY_InventoryImportSavedMappingSets_RecIDIn: string[];
    SourceColumnName: string;
    SourceColumnNameStartsWith: string;
    SourceColumnNameEndsWith: string;
    SourceColumnNameContains: string;
    SourceColumnNameLike: string;
    SourceColumnNameBetween: string[];
    SourceColumnNameIn: string[];
    DestinationProperty: string;
    DestinationPropertyStartsWith: string;
    DestinationPropertyEndsWith: string;
    DestinationPropertyContains: string;
    DestinationPropertyLike: string;
    DestinationPropertyBetween: string[];
    DestinationPropertyIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_InventoryImportSavedMappings>(); }
    getTypeName() { return "SY_InventoryImportSavedMappingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_InventoryImportSavedMappingSetsQuery extends QueryDb<SY_InventoryImportSavedMappingSets> implements IReturn<QueryResponse<SY_InventoryImportSavedMappingSets>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    createResponse() { return new QueryResponse<SY_InventoryImportSavedMappingSets>(); }
    getTypeName() { return "SY_InventoryImportSavedMappingSetsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_LanguageQuery extends QueryDb<SY_Language> implements IReturn<QueryResponse<SY_Language>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LanguageCode: string;
    LanguageCodeStartsWith: string;
    LanguageCodeEndsWith: string;
    LanguageCodeContains: string;
    LanguageCodeLike: string;
    LanguageCodeBetween: string[];
    LanguageCodeIn: string[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<SY_Language>(); }
    getTypeName() { return "SY_LanguageQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_LicenceQuery extends QueryDb<SY_Licence> implements IReturn<QueryResponse<SY_Licence>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ResourceID: string;
    ResourceIDStartsWith: string;
    ResourceIDEndsWith: string;
    ResourceIDContains: string;
    ResourceIDLike: string;
    ResourceIDBetween: string[];
    ResourceIDIn: string[];
    ResourceName: string;
    ResourceNameStartsWith: string;
    ResourceNameEndsWith: string;
    ResourceNameContains: string;
    ResourceNameLike: string;
    ResourceNameBetween: string[];
    ResourceNameIn: string[];
    IssueDate: string;
    IssueDateGreaterThanOrEqualTo: string;
    IssueDateGreaterThan: string;
    IssueDateLessThan: string;
    IssueDateLessThanOrEqualTo: string;
    IssueDateNotEqualTo: string;
    IssueDateBetween: string[];
    IssueDateIn: string[];
    Scope: string;
    ScopeStartsWith: string;
    ScopeEndsWith: string;
    ScopeContains: string;
    ScopeLike: string;
    ScopeBetween: string[];
    ScopeIn: string[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    CommenceDate: string;
    CommenceDateGreaterThanOrEqualTo: string;
    CommenceDateGreaterThan: string;
    CommenceDateLessThan: string;
    CommenceDateLessThanOrEqualTo: string;
    CommenceDateNotEqualTo: string;
    CommenceDateBetween: string[];
    CommenceDateIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    CALs: number;
    CALsGreaterThanOrEqualTo: number;
    CALsGreaterThan: number;
    CALsLessThan: number;
    CALsLessThanOrEqualTo: number;
    CALsNotEqualTo: number;
    CALsBetween: number[];
    CALsIn: number[];
    Version: string;
    VersionStartsWith: string;
    VersionEndsWith: string;
    VersionContains: string;
    VersionLike: string;
    VersionBetween: string[];
    VersionIn: string[];
    CompanyName: string;
    CompanyNameStartsWith: string;
    CompanyNameEndsWith: string;
    CompanyNameContains: string;
    CompanyNameLike: string;
    CompanyNameBetween: string[];
    CompanyNameIn: string[];
    Signature: string;
    SignatureStartsWith: string;
    SignatureEndsWith: string;
    SignatureContains: string;
    SignatureLike: string;
    SignatureBetween: string[];
    SignatureIn: string[];
    createResponse() { return new QueryResponse<SY_Licence>(); }
    getTypeName() { return "SY_LicenceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_LicenceUsageQuery extends QueryDb<SY_LicenceUsage> implements IReturn<QueryResponse<SY_LicenceUsage>>
{
    SY_Licence_RecID: string;
    SY_Licence_RecIDStartsWith: string;
    SY_Licence_RecIDEndsWith: string;
    SY_Licence_RecIDContains: string;
    SY_Licence_RecIDLike: string;
    SY_Licence_RecIDBetween: string[];
    SY_Licence_RecIDIn: string[];
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_LicenceUsage>(); }
    getTypeName() { return "SY_LicenceUsageQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_LoginAuditQuery extends QueryDb<SY_LoginAudit> implements IReturn<QueryResponse<SY_LoginAudit>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    UserName: string;
    UserNameStartsWith: string;
    UserNameEndsWith: string;
    UserNameContains: string;
    UserNameLike: string;
    UserNameBetween: string[];
    UserNameIn: string[];
    IPAddress: string;
    IPAddressStartsWith: string;
    IPAddressEndsWith: string;
    IPAddressContains: string;
    IPAddressLike: string;
    IPAddressBetween: string[];
    IPAddressIn: string[];
    HostName: string;
    HostNameStartsWith: string;
    HostNameEndsWith: string;
    HostNameContains: string;
    HostNameLike: string;
    HostNameBetween: string[];
    HostNameIn: string[];
    AuditDateTime: string;
    AuditDateTimeGreaterThanOrEqualTo: string;
    AuditDateTimeGreaterThan: string;
    AuditDateTimeLessThan: string;
    AuditDateTimeLessThanOrEqualTo: string;
    AuditDateTimeNotEqualTo: string;
    AuditDateTimeBetween: string[];
    AuditDateTimeIn: string[];
    AuditResult: number;
    AuditResultGreaterThanOrEqualTo: number;
    AuditResultGreaterThan: number;
    AuditResultLessThan: number;
    AuditResultLessThanOrEqualTo: number;
    AuditResultNotEqualTo: number;
    AuditResultBetween: number[];
    AuditResultIn: number[];
    createResponse() { return new QueryResponse<SY_LoginAudit>(); }
    getTypeName() { return "SY_LoginAuditQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_MenuQuery extends QueryDb<SY_Menu> implements IReturn<QueryResponse<SY_Menu>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    IsReadOnly: boolean;
    createResponse() { return new QueryResponse<SY_Menu>(); }
    getTypeName() { return "SY_MenuQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_MenuItemQuery extends QueryDb<SY_MenuItem> implements IReturn<QueryResponse<SY_MenuItem>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_Menu_RecID: string;
    SY_Menu_RecIDStartsWith: string;
    SY_Menu_RecIDEndsWith: string;
    SY_Menu_RecIDContains: string;
    SY_Menu_RecIDLike: string;
    SY_Menu_RecIDBetween: string[];
    SY_Menu_RecIDIn: string[];
    Type: number;
    TypeGreaterThanOrEqualTo: number;
    TypeGreaterThan: number;
    TypeLessThan: number;
    TypeLessThanOrEqualTo: number;
    TypeNotEqualTo: number;
    TypeBetween: Uint8Array;
    TypeIn: Uint8Array;
    Caption: string;
    CaptionStartsWith: string;
    CaptionEndsWith: string;
    CaptionContains: string;
    CaptionLike: string;
    CaptionBetween: string[];
    CaptionIn: string[];
    SY_MenuItem_RecID: string;
    SY_MenuItem_RecIDStartsWith: string;
    SY_MenuItem_RecIDEndsWith: string;
    SY_MenuItem_RecIDContains: string;
    SY_MenuItem_RecIDLike: string;
    SY_MenuItem_RecIDBetween: string[];
    SY_MenuItem_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    SY_Image_RecID: string;
    SY_Image_RecIDIn: string[];
    SY_Image_RecID_Selected: string;
    SY_Image_RecID_SelectedIn: string[];
    SY_Image_RecID_HotTracked: string;
    SY_Image_RecID_HotTrackedIn: string[];
    createResponse() { return new QueryResponse<SY_MenuItem>(); }
    getTypeName() { return "SY_MenuItemQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_MenuItemFormQuery extends QueryDb<SY_MenuItemForm> implements IReturn<QueryResponse<SY_MenuItemForm>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_MenuItem_RecID: string;
    SY_MenuItem_RecIDStartsWith: string;
    SY_MenuItem_RecIDEndsWith: string;
    SY_MenuItem_RecIDContains: string;
    SY_MenuItem_RecIDLike: string;
    SY_MenuItem_RecIDBetween: string[];
    SY_MenuItem_RecIDIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_MenuItemForm>(); }
    getTypeName() { return "SY_MenuItemFormQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_MenuItemReportQuery extends QueryDb<SY_MenuItemReport> implements IReturn<QueryResponse<SY_MenuItemReport>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SY_MenuItem_RecID: string;
    SY_MenuItem_RecIDStartsWith: string;
    SY_MenuItem_RecIDEndsWith: string;
    SY_MenuItem_RecIDContains: string;
    SY_MenuItem_RecIDLike: string;
    SY_MenuItem_RecIDBetween: string[];
    SY_MenuItem_RecIDIn: string[];
    SY_Report_RecID: string;
    SY_Report_RecIDStartsWith: string;
    SY_Report_RecIDEndsWith: string;
    SY_Report_RecIDContains: string;
    SY_Report_RecIDLike: string;
    SY_Report_RecIDBetween: string[];
    SY_Report_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_MenuItemReport>(); }
    getTypeName() { return "SY_MenuItemReportQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_MessageLinksQuery extends QueryDb<SY_MessageLinks> implements IReturn<QueryResponse<SY_MessageLinks>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Source: string;
    SourceStartsWith: string;
    SourceEndsWith: string;
    SourceContains: string;
    SourceLike: string;
    SourceBetween: string[];
    SourceIn: string[];
    LinkName: string;
    LinkNameStartsWith: string;
    LinkNameEndsWith: string;
    LinkNameContains: string;
    LinkNameLike: string;
    LinkNameBetween: string[];
    LinkNameIn: string[];
    Caption: string;
    CaptionStartsWith: string;
    CaptionEndsWith: string;
    CaptionContains: string;
    CaptionLike: string;
    CaptionBetween: string[];
    CaptionIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ScriptText: string;
    ScriptTextStartsWith: string;
    ScriptTextEndsWith: string;
    ScriptTextContains: string;
    ScriptTextLike: string;
    ScriptTextBetween: string[];
    ScriptTextIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SY_MessageLinks>(); }
    getTypeName() { return "SY_MessageLinksQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_NoteTypesQuery extends QueryDb<SY_NoteTypes> implements IReturn<QueryResponse<SY_NoteTypes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    NoteType: string;
    NoteTypeStartsWith: string;
    NoteTypeEndsWith: string;
    NoteTypeContains: string;
    NoteTypeLike: string;
    NoteTypeBetween: string[];
    NoteTypeIn: string[];
    DefaultType: boolean;
    NoteTypeDescription: string;
    NoteTypeDescriptionStartsWith: string;
    NoteTypeDescriptionEndsWith: string;
    NoteTypeDescriptionContains: string;
    NoteTypeDescriptionLike: string;
    NoteTypeDescriptionBetween: string[];
    NoteTypeDescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SY_NoteTypes>(); }
    getTypeName() { return "SY_NoteTypesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_NumbersQuery extends QueryDb<SY_Numbers> implements IReturn<QueryResponse<SY_Numbers>>
{
    InvoiceNumberID: string;
    InvoiceNumberIDStartsWith: string;
    InvoiceNumberIDEndsWith: string;
    InvoiceNumberIDContains: string;
    InvoiceNumberIDLike: string;
    InvoiceNumberIDBetween: string[];
    InvoiceNumberIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastInvoiceNo: string;
    LastInvoiceNoStartsWith: string;
    LastInvoiceNoEndsWith: string;
    LastInvoiceNoContains: string;
    LastInvoiceNoLike: string;
    LastInvoiceNoBetween: string[];
    LastInvoiceNoIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SY_Numbers>(); }
    getTypeName() { return "SY_NumbersQuery"; }
}

// @Route("/Queries/SY_Plugin", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SY_PluginQuery extends QueryDb<SY_Plugin> implements IReturn<QueryResponse<SY_Plugin>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    ExecutionOrder: number;
    ExecutionOrderGreaterThanOrEqualTo: number;
    ExecutionOrderGreaterThan: number;
    ExecutionOrderLessThan: number;
    ExecutionOrderLessThanOrEqualTo: number;
    ExecutionOrderNotEqualTo: number;
    ExecutionOrderBetween: number[];
    ExecutionOrderIn: number[];
    Author: string;
    AuthorStartsWith: string;
    AuthorEndsWith: string;
    AuthorContains: string;
    AuthorLike: string;
    AuthorBetween: string[];
    AuthorIn: string[];
    Version: string;
    VersionStartsWith: string;
    VersionEndsWith: string;
    VersionContains: string;
    VersionLike: string;
    VersionBetween: string[];
    VersionIn: string[];
    LicenceKey: string;
    LicenceKeyStartsWith: string;
    LicenceKeyEndsWith: string;
    LicenceKeyContains: string;
    LicenceKeyLike: string;
    LicenceKeyBetween: string[];
    LicenceKeyIn: string[];
    ViewPassword: string;
    ViewPasswordStartsWith: string;
    ViewPasswordEndsWith: string;
    ViewPasswordContains: string;
    ViewPasswordLike: string;
    ViewPasswordBetween: string[];
    ViewPasswordIn: string[];
    EditPassword: string;
    EditPasswordStartsWith: string;
    EditPasswordEndsWith: string;
    EditPasswordContains: string;
    EditPasswordLike: string;
    EditPasswordBetween: string[];
    EditPasswordIn: string[];
    IsEncrypted: boolean;
    RowHash: Uint8Array;
    Code: string;
    CodeStartsWith: string;
    CodeEndsWith: string;
    CodeContains: string;
    CodeLike: string;
    CodeBetween: string[];
    CodeIn: string[];
    ExceptionPolicy: number;
    ExceptionPolicyGreaterThanOrEqualTo: number;
    ExceptionPolicyGreaterThan: number;
    ExceptionPolicyLessThan: number;
    ExceptionPolicyLessThanOrEqualTo: number;
    ExceptionPolicyNotEqualTo: number;
    ExceptionPolicyBetween: number[];
    ExceptionPolicyIn: number[];
    IsIsolatedToOwnAppDomain: boolean;
    FileHash: string;
    FileHashStartsWith: string;
    FileHashEndsWith: string;
    FileHashContains: string;
    FileHashLike: string;
    FileHashBetween: string[];
    FileHashIn: string[];
    CreateDateTime: string;
    CreateDateTimeGreaterThanOrEqualTo: string;
    CreateDateTimeGreaterThan: string;
    CreateDateTimeLessThan: string;
    CreateDateTimeLessThanOrEqualTo: string;
    CreateDateTimeNotEqualTo: string;
    CreateDateTimeBetween: string[];
    CreateDateTimeIn: string[];
    LastWriteDateTime: string;
    LastWriteDateTimeGreaterThanOrEqualTo: string;
    LastWriteDateTimeGreaterThan: string;
    LastWriteDateTimeLessThan: string;
    LastWriteDateTimeLessThanOrEqualTo: string;
    LastWriteDateTimeNotEqualTo: string;
    LastWriteDateTimeBetween: string[];
    LastWriteDateTimeIn: string[];
    Language: number;
    LanguageGreaterThanOrEqualTo: number;
    LanguageGreaterThan: number;
    LanguageLessThan: number;
    LanguageLessThanOrEqualTo: number;
    LanguageNotEqualTo: number;
    LanguageBetween: Uint8Array;
    LanguageIn: Uint8Array;
    createResponse() { return new QueryResponse<SY_Plugin>(); }
    getTypeName() { return "SY_PluginQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateNotesQuery extends QueryDb<JB_EstimateNotes> implements IReturn<QueryResponse<JB_EstimateNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_Estimate_RecID: string;
    JB_Estimate_RecIDStartsWith: string;
    JB_Estimate_RecIDEndsWith: string;
    JB_Estimate_RecIDContains: string;
    JB_Estimate_RecIDLike: string;
    JB_Estimate_RecIDBetween: string[];
    JB_Estimate_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<JB_EstimateNotes>(); }
    getTypeName() { return "JB_EstimateNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimatePurchaseLinesQuery extends QueryDb<JB_EstimatePurchaseLines> implements IReturn<QueryResponse<JB_EstimatePurchaseLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    CR_Main_RecID: string;
    CR_Main_RecIDStartsWith: string;
    CR_Main_RecIDEndsWith: string;
    CR_Main_RecIDContains: string;
    CR_Main_RecIDLike: string;
    CR_Main_RecIDBetween: string[];
    CR_Main_RecIDIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    JB_EstimateLines_RecID: string;
    JB_EstimateLines_RecIDStartsWith: string;
    JB_EstimateLines_RecIDEndsWith: string;
    JB_EstimateLines_RecIDContains: string;
    JB_EstimateLines_RecIDLike: string;
    JB_EstimateLines_RecIDBetween: string[];
    JB_EstimateLines_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimatePurchaseLines>(); }
    getTypeName() { return "JB_EstimatePurchaseLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateResourceLinesQuery extends QueryDb<JB_EstimateResourceLines> implements IReturn<QueryResponse<JB_EstimateResourceLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    JB_Resources_RecID: string;
    JB_Resources_RecIDStartsWith: string;
    JB_Resources_RecIDEndsWith: string;
    JB_Resources_RecIDContains: string;
    JB_Resources_RecIDLike: string;
    JB_Resources_RecIDBetween: string[];
    JB_Resources_RecIDIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    JB_EstimateLines_RecID: string;
    JB_EstimateLines_RecIDStartsWith: string;
    JB_EstimateLines_RecIDEndsWith: string;
    JB_EstimateLines_RecIDContains: string;
    JB_EstimateLines_RecIDLike: string;
    JB_EstimateLines_RecIDBetween: string[];
    JB_EstimateLines_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateResourceLines>(); }
    getTypeName() { return "JB_EstimateResourceLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimatesQuery extends QueryDb<JB_Estimates> implements IReturn<QueryResponse<JB_Estimates>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    EstimateNo: string;
    EstimateNoStartsWith: string;
    EstimateNoEndsWith: string;
    EstimateNoContains: string;
    EstimateNoLike: string;
    EstimateNoBetween: string[];
    EstimateNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    JB_Main_RecID: string;
    JB_Main_RecIDStartsWith: string;
    JB_Main_RecIDEndsWith: string;
    JB_Main_RecIDContains: string;
    JB_Main_RecIDLike: string;
    JB_Main_RecIDBetween: string[];
    JB_Main_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    IN_Logical_RecID: string;
    IN_Logical_RecIDStartsWith: string;
    IN_Logical_RecIDEndsWith: string;
    IN_Logical_RecIDContains: string;
    IN_Logical_RecIDLike: string;
    IN_Logical_RecIDBetween: string[];
    IN_Logical_RecIDIn: string[];
    IsDefault: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_Estimates>(); }
    getTypeName() { return "JB_EstimatesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_GroupsQuery extends QueryDb<JB_Groups> implements IReturn<QueryResponse<JB_Groups>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<JB_Groups>(); }
    getTypeName() { return "JB_GroupsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_JobCostCentresQuery extends QueryDb<JB_JobCostCentres> implements IReturn<QueryResponse<JB_JobCostCentres>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    JB_CostCentres_RecID: string;
    JB_CostCentres_RecIDStartsWith: string;
    JB_CostCentres_RecIDEndsWith: string;
    JB_CostCentres_RecIDContains: string;
    JB_CostCentres_RecIDLike: string;
    JB_CostCentres_RecIDBetween: string[];
    JB_CostCentres_RecIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_JobCostCentres>(); }
    getTypeName() { return "JB_JobCostCentresQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_JobStagesQuery extends QueryDb<JB_JobStages> implements IReturn<QueryResponse<JB_JobStages>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_Classifications_RecID: string;
    JB_Classifications_RecIDStartsWith: string;
    JB_Classifications_RecIDEndsWith: string;
    JB_Classifications_RecIDContains: string;
    JB_Classifications_RecIDLike: string;
    JB_Classifications_RecIDBetween: string[];
    JB_Classifications_RecIDIn: string[];
    JB_JobCostCentres_RecID: string;
    JB_JobCostCentres_RecIDStartsWith: string;
    JB_JobCostCentres_RecIDEndsWith: string;
    JB_JobCostCentres_RecIDContains: string;
    JB_JobCostCentres_RecIDLike: string;
    JB_JobCostCentres_RecIDBetween: string[];
    JB_JobCostCentres_RecIDIn: string[];
    JB_Stages_RecID: string;
    JB_Stages_RecIDStartsWith: string;
    JB_Stages_RecIDEndsWith: string;
    JB_Stages_RecIDContains: string;
    JB_Stages_RecIDLike: string;
    JB_Stages_RecIDBetween: string[];
    JB_Stages_RecIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_JobStages>(); }
    getTypeName() { return "JB_JobStagesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_MainQuery extends QueryDb<JB_Main> implements IReturn<QueryResponse<JB_Main>>
{
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    EstEndDate: string;
    EstEndDateGreaterThanOrEqualTo: string;
    EstEndDateGreaterThan: string;
    EstEndDateLessThan: string;
    EstEndDateLessThanOrEqualTo: string;
    EstEndDateNotEqualTo: string;
    EstEndDateBetween: string[];
    EstEndDateIn: string[];
    ClosedDate: string;
    ClosedDateGreaterThanOrEqualTo: string;
    ClosedDateGreaterThan: string;
    ClosedDateLessThan: string;
    ClosedDateLessThanOrEqualTo: string;
    ClosedDateNotEqualTo: string;
    ClosedDateBetween: string[];
    ClosedDateIn: string[];
    InventorySellType: number;
    InventorySellTypeGreaterThanOrEqualTo: number;
    InventorySellTypeGreaterThan: number;
    InventorySellTypeLessThan: number;
    InventorySellTypeLessThanOrEqualTo: number;
    InventorySellTypeNotEqualTo: number;
    InventorySellTypeBetween: number[];
    InventorySellTypeIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IsTemplate: boolean;
    ContractAmount: number;
    ContractAmountGreaterThanOrEqualTo: number;
    ContractAmountGreaterThan: number;
    ContractAmountLessThan: number;
    ContractAmountLessThanOrEqualTo: number;
    ContractAmountNotEqualTo: number;
    ContractAmountBetween: number[];
    ContractAmountIn: number[];
    MarkUpMaterials: number;
    MarkUpMaterialsGreaterThanOrEqualTo: number;
    MarkUpMaterialsGreaterThan: number;
    MarkUpMaterialsLessThan: number;
    MarkUpMaterialsLessThanOrEqualTo: number;
    MarkUpMaterialsNotEqualTo: number;
    MarkUpMaterialsBetween: number[];
    MarkUpMaterialsIn: number[];
    MarkUpLabour: number;
    MarkUpLabourGreaterThanOrEqualTo: number;
    MarkUpLabourGreaterThan: number;
    MarkUpLabourLessThan: number;
    MarkUpLabourLessThanOrEqualTo: number;
    MarkUpLabourNotEqualTo: number;
    MarkUpLabourBetween: number[];
    MarkUpLabourIn: number[];
    MarkUpSubContract: number;
    MarkUpSubContractGreaterThanOrEqualTo: number;
    MarkUpSubContractGreaterThan: number;
    MarkUpSubContractLessThan: number;
    MarkUpSubContractLessThanOrEqualTo: number;
    MarkUpSubContractNotEqualTo: number;
    MarkUpSubContractBetween: number[];
    MarkUpSubContractIn: number[];
    MarkUpResource: number;
    MarkUpResourceGreaterThanOrEqualTo: number;
    MarkUpResourceGreaterThan: number;
    MarkUpResourceLessThan: number;
    MarkUpResourceLessThanOrEqualTo: number;
    MarkUpResourceNotEqualTo: number;
    MarkUpResourceBetween: number[];
    MarkUpResourceIn: number[];
    RetentionType: number;
    RetentionTypeGreaterThanOrEqualTo: number;
    RetentionTypeGreaterThan: number;
    RetentionTypeLessThan: number;
    RetentionTypeLessThanOrEqualTo: number;
    RetentionTypeNotEqualTo: number;
    RetentionTypeBetween: number[];
    RetentionTypeIn: number[];
    RetentionValue: number;
    RetentionValueGreaterThanOrEqualTo: number;
    RetentionValueGreaterThan: number;
    RetentionValueLessThan: number;
    RetentionValueLessThanOrEqualTo: number;
    RetentionValueNotEqualTo: number;
    RetentionValueBetween: number[];
    RetentionValueIn: number[];
    GstApplicable: boolean;
    EstimateType: number;
    EstimateTypeGreaterThanOrEqualTo: number;
    EstimateTypeGreaterThan: number;
    EstimateTypeLessThan: number;
    EstimateTypeLessThanOrEqualTo: number;
    EstimateTypeNotEqualTo: number;
    EstimateTypeBetween: number[];
    EstimateTypeIn: number[];
    WarehouseID: string;
    WarehouseIDStartsWith: string;
    WarehouseIDEndsWith: string;
    WarehouseIDContains: string;
    WarehouseIDLike: string;
    WarehouseIDBetween: string[];
    WarehouseIDIn: string[];
    ProductID: string;
    ProductIDStartsWith: string;
    ProductIDEndsWith: string;
    ProductIDContains: string;
    ProductIDLike: string;
    ProductIDBetween: string[];
    ProductIDIn: string[];
    ProductDesc: string;
    ProductDescStartsWith: string;
    ProductDescEndsWith: string;
    ProductDescContains: string;
    ProductDescLike: string;
    ProductDescBetween: string[];
    ProductDescIn: string[];
    ProductQty: number;
    ProductQtyGreaterThanOrEqualTo: number;
    ProductQtyGreaterThan: number;
    ProductQtyLessThan: number;
    ProductQtyLessThanOrEqualTo: number;
    ProductQtyNotEqualTo: number;
    ProductQtyBetween: number[];
    ProductQtyIn: number[];
    EstStartDate: string;
    EstStartDateGreaterThanOrEqualTo: string;
    EstStartDateGreaterThan: string;
    EstStartDateLessThan: string;
    EstStartDateLessThanOrEqualTo: string;
    EstStartDateNotEqualTo: string;
    EstStartDateBetween: string[];
    EstStartDateIn: string[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    CN_Contact_RecID: string;
    CN_Contact_RecIDStartsWith: string;
    CN_Contact_RecIDEndsWith: string;
    CN_Contact_RecIDContains: string;
    CN_Contact_RecIDLike: string;
    CN_Contact_RecIDBetween: string[];
    CN_Contact_RecIDIn: string[];
    JobStatus: number;
    JobStatusGreaterThanOrEqualTo: number;
    JobStatusGreaterThan: number;
    JobStatusLessThan: number;
    JobStatusLessThanOrEqualTo: number;
    JobStatusNotEqualTo: number;
    JobStatusBetween: number[];
    JobStatusIn: number[];
    JB_Groups_RecID: string;
    JB_Groups_RecIDStartsWith: string;
    JB_Groups_RecIDEndsWith: string;
    JB_Groups_RecIDContains: string;
    JB_Groups_RecIDLike: string;
    JB_Groups_RecIDBetween: string[];
    JB_Groups_RecIDIn: string[];
    JB_Statuses_RecID: string;
    JB_Statuses_RecIDStartsWith: string;
    JB_Statuses_RecIDEndsWith: string;
    JB_Statuses_RecIDContains: string;
    JB_Statuses_RecIDLike: string;
    JB_Statuses_RecIDBetween: string[];
    JB_Statuses_RecIDIn: string[];
    JB_Priorities_RecID: string;
    JB_Priorities_RecIDStartsWith: string;
    JB_Priorities_RecIDEndsWith: string;
    JB_Priorities_RecIDContains: string;
    JB_Priorities_RecIDLike: string;
    JB_Priorities_RecIDBetween: string[];
    JB_Priorities_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_Main>(); }
    getTypeName() { return "JB_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_NotesQuery extends QueryDb<JB_Notes> implements IReturn<QueryResponse<JB_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_Main_RecID: string;
    JB_Main_RecIDStartsWith: string;
    JB_Main_RecIDEndsWith: string;
    JB_Main_RecIDContains: string;
    JB_Main_RecIDLike: string;
    JB_Main_RecIDBetween: string[];
    JB_Main_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<JB_Notes>(); }
    getTypeName() { return "JB_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_PaymentDetailsQuery extends QueryDb<JB_PaymentDetails> implements IReturn<QueryResponse<JB_PaymentDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    CostEntryLineID: string;
    CostEntryLineIDStartsWith: string;
    CostEntryLineIDEndsWith: string;
    CostEntryLineIDContains: string;
    CostEntryLineIDLike: string;
    CostEntryLineIDBetween: string[];
    CostEntryLineIDIn: string[];
    InvoiceType: number;
    InvoiceTypeGreaterThanOrEqualTo: number;
    InvoiceTypeGreaterThan: number;
    InvoiceTypeLessThan: number;
    InvoiceTypeLessThanOrEqualTo: number;
    InvoiceTypeNotEqualTo: number;
    InvoiceTypeBetween: number[];
    InvoiceTypeIn: number[];
    BillAmount: number;
    BillAmountGreaterThanOrEqualTo: number;
    BillAmountGreaterThan: number;
    BillAmountLessThan: number;
    BillAmountLessThanOrEqualTo: number;
    BillAmountNotEqualTo: number;
    BillAmountBetween: number[];
    BillAmountIn: number[];
    CostAmount: number;
    CostAmountGreaterThanOrEqualTo: number;
    CostAmountGreaterThan: number;
    CostAmountLessThan: number;
    CostAmountLessThanOrEqualTo: number;
    CostAmountNotEqualTo: number;
    CostAmountBetween: number[];
    CostAmountIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    WriteBill: number;
    WriteBillGreaterThanOrEqualTo: number;
    WriteBillGreaterThan: number;
    WriteBillLessThan: number;
    WriteBillLessThanOrEqualTo: number;
    WriteBillNotEqualTo: number;
    WriteBillBetween: number[];
    WriteBillIn: number[];
    WriteCost: number;
    WriteCostGreaterThanOrEqualTo: number;
    WriteCostGreaterThan: number;
    WriteCostLessThan: number;
    WriteCostLessThanOrEqualTo: number;
    WriteCostNotEqualTo: number;
    WriteCostBetween: number[];
    WriteCostIn: number[];
    LinkLineID: string;
    LinkLineIDStartsWith: string;
    LinkLineIDEndsWith: string;
    LinkLineIDContains: string;
    LinkLineIDLike: string;
    LinkLineIDBetween: string[];
    LinkLineIDIn: string[];
    createResponse() { return new QueryResponse<JB_PaymentDetails>(); }
    getTypeName() { return "JB_PaymentDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_PrioritiesQuery extends QueryDb<JB_Priorities> implements IReturn<QueryResponse<JB_Priorities>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<JB_Priorities>(); }
    getTypeName() { return "JB_PrioritiesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_ResourcesQuery extends QueryDb<JB_Resources> implements IReturn<QueryResponse<JB_Resources>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RecNum: string;
    RecNumStartsWith: string;
    RecNumEndsWith: string;
    RecNumContains: string;
    RecNumLike: string;
    RecNumBetween: string[];
    RecNumIn: string[];
    RecDescription: string;
    RecDescriptionStartsWith: string;
    RecDescriptionEndsWith: string;
    RecDescriptionContains: string;
    RecDescriptionLike: string;
    RecDescriptionBetween: string[];
    RecDescriptionIn: string[];
    RecType: number;
    RecTypeGreaterThanOrEqualTo: number;
    RecTypeGreaterThan: number;
    RecTypeLessThan: number;
    RecTypeLessThanOrEqualTo: number;
    RecTypeNotEqualTo: number;
    RecTypeBetween: number[];
    RecTypeIn: number[];
    RecGroup: string;
    RecGroupStartsWith: string;
    RecGroupEndsWith: string;
    RecGroupContains: string;
    RecGroupLike: string;
    RecGroupBetween: string[];
    RecGroupIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Unit: string;
    UnitStartsWith: string;
    UnitEndsWith: string;
    UnitContains: string;
    UnitLike: string;
    UnitBetween: string[];
    UnitIn: string[];
    Status: boolean;
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    GLCode: string;
    GLCodeStartsWith: string;
    GLCodeEndsWith: string;
    GLCodeContains: string;
    GLCodeLike: string;
    GLCodeBetween: string[];
    GLCodeIn: string[];
    createResponse() { return new QueryResponse<JB_Resources>(); }
    getTypeName() { return "JB_ResourcesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_StaffsQuery extends QueryDb<JB_Staffs> implements IReturn<QueryResponse<JB_Staffs>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RecNum: string;
    RecNumStartsWith: string;
    RecNumEndsWith: string;
    RecNumContains: string;
    RecNumLike: string;
    RecNumBetween: string[];
    RecNumIn: string[];
    RecDescription: string;
    RecDescriptionStartsWith: string;
    RecDescriptionEndsWith: string;
    RecDescriptionContains: string;
    RecDescriptionLike: string;
    RecDescriptionBetween: string[];
    RecDescriptionIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Charge: number;
    ChargeGreaterThanOrEqualTo: number;
    ChargeGreaterThan: number;
    ChargeLessThan: number;
    ChargeLessThanOrEqualTo: number;
    ChargeNotEqualTo: number;
    ChargeBetween: number[];
    ChargeIn: number[];
    Unit: string;
    UnitStartsWith: string;
    UnitEndsWith: string;
    UnitContains: string;
    UnitLike: string;
    UnitBetween: string[];
    UnitIn: string[];
    IsEnabled: boolean;
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    GLCode: string;
    GLCodeStartsWith: string;
    GLCodeEndsWith: string;
    GLCodeContains: string;
    GLCodeLike: string;
    GLCodeBetween: string[];
    GLCodeIn: string[];
    JB_Groups_RecID: string;
    JB_Groups_RecIDStartsWith: string;
    JB_Groups_RecIDEndsWith: string;
    JB_Groups_RecIDContains: string;
    JB_Groups_RecIDLike: string;
    JB_Groups_RecIDBetween: string[];
    JB_Groups_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_Staffs>(); }
    getTypeName() { return "JB_StaffsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_StagesQuery extends QueryDb<JB_Stages> implements IReturn<QueryResponse<JB_Stages>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    StageNo: string;
    StageNoStartsWith: string;
    StageNoEndsWith: string;
    StageNoContains: string;
    StageNoLike: string;
    StageNoBetween: string[];
    StageNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_Stages>(); }
    getTypeName() { return "JB_StagesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_StatusesQuery extends QueryDb<JB_Statuses> implements IReturn<QueryResponse<JB_Statuses>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<JB_Statuses>(); }
    getTypeName() { return "JB_StatusesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_TimesheetLinesQuery extends QueryDb<JB_TimesheetLines> implements IReturn<QueryResponse<JB_TimesheetLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_Timesheets_RecID: string;
    JB_Timesheets_RecIDStartsWith: string;
    JB_Timesheets_RecIDEndsWith: string;
    JB_Timesheets_RecIDContains: string;
    JB_Timesheets_RecIDLike: string;
    JB_Timesheets_RecIDBetween: string[];
    JB_Timesheets_RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_TimesheetLines>(); }
    getTypeName() { return "JB_TimesheetLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_TimesheetNotesQuery extends QueryDb<JB_TimesheetNotes> implements IReturn<QueryResponse<JB_TimesheetNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_Timesheets_RecID: string;
    JB_Timesheets_RecIDStartsWith: string;
    JB_Timesheets_RecIDEndsWith: string;
    JB_Timesheets_RecIDContains: string;
    JB_Timesheets_RecIDLike: string;
    JB_Timesheets_RecIDBetween: string[];
    JB_Timesheets_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<JB_TimesheetNotes>(); }
    getTypeName() { return "JB_TimesheetNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_TimesheetsQuery extends QueryDb<JB_Timesheets> implements IReturn<QueryResponse<JB_Timesheets>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    JB_Staff_RecID: string;
    JB_Staff_RecIDStartsWith: string;
    JB_Staff_RecIDEndsWith: string;
    JB_Staff_RecIDContains: string;
    JB_Staff_RecIDLike: string;
    JB_Staff_RecIDBetween: string[];
    JB_Staff_RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsActivated: boolean;
    GL_Sets_RecID: string;
    GL_Sets_RecIDStartsWith: string;
    GL_Sets_RecIDEndsWith: string;
    GL_Sets_RecIDContains: string;
    GL_Sets_RecIDLike: string;
    GL_Sets_RecIDBetween: string[];
    GL_Sets_RecIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedBy_HR_Staff_RecID: string;
    LastSavedBy_HR_Staff_RecIDStartsWith: string;
    LastSavedBy_HR_Staff_RecIDEndsWith: string;
    LastSavedBy_HR_Staff_RecIDContains: string;
    LastSavedBy_HR_Staff_RecIDLike: string;
    LastSavedBy_HR_Staff_RecIDBetween: string[];
    LastSavedBy_HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_Timesheets>(); }
    getTypeName() { return "JB_TimesheetsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class KitTaxQuery extends QueryDb<KitTax> implements IReturn<QueryResponse<KitTax>>
{
    Tax: number;
    TaxGreaterThanOrEqualTo: number;
    TaxGreaterThan: number;
    TaxLessThan: number;
    TaxLessThanOrEqualTo: number;
    TaxNotEqualTo: number;
    TaxBetween: number[];
    TaxIn: number[];
    LN: number;
    LNGreaterThanOrEqualTo: number;
    LNGreaterThan: number;
    LNLessThan: number;
    LNLessThanOrEqualTo: number;
    LNNotEqualTo: number;
    LNBetween: number[];
    LNIn: number[];
    InvID: string;
    InvIDStartsWith: string;
    InvIDEndsWith: string;
    InvIDContains: string;
    InvIDLike: string;
    InvIDBetween: string[];
    InvIDIn: string[];
    createResponse() { return new QueryResponse<KitTax>(); }
    getTypeName() { return "KitTaxQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class LastYearProfitQuery extends QueryDb<LastYearProfit> implements IReturn<QueryResponse<LastYearProfit>>
{
    Profit: number;
    ProfitGreaterThanOrEqualTo: number;
    ProfitGreaterThan: number;
    ProfitLessThan: number;
    ProfitLessThanOrEqualTo: number;
    ProfitNotEqualTo: number;
    ProfitBetween: number[];
    ProfitIn: number[];
    createResponse() { return new QueryResponse<LastYearProfit>(); }
    getTypeName() { return "LastYearProfitQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class Magento_IntegrationQuery extends QueryDb<Magento_Integration> implements IReturn<QueryResponse<Magento_Integration>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LogRetentionDays: number;
    LogRetentionDaysGreaterThanOrEqualTo: number;
    LogRetentionDaysGreaterThan: number;
    LogRetentionDaysLessThan: number;
    LogRetentionDaysLessThanOrEqualTo: number;
    LogRetentionDaysNotEqualTo: number;
    LogRetentionDaysBetween: number[];
    LogRetentionDaysIn: number[];
    CompletedQueueRetentionDays: number;
    CompletedQueueRetentionDaysGreaterThanOrEqualTo: number;
    CompletedQueueRetentionDaysGreaterThan: number;
    CompletedQueueRetentionDaysLessThan: number;
    CompletedQueueRetentionDaysLessThanOrEqualTo: number;
    CompletedQueueRetentionDaysNotEqualTo: number;
    CompletedQueueRetentionDaysBetween: number[];
    CompletedQueueRetentionDaysIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<Magento_Integration>(); }
    getTypeName() { return "Magento_IntegrationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class Magento_Integration_ScheduleQuery extends QueryDb<Magento_Integration_Schedule> implements IReturn<QueryResponse<Magento_Integration_Schedule>>
{
    RecID: string;
    RecIDIn: string[];
    Magento_Integration_RecID: string;
    Magento_Integration_RecIDIn: string[];
    SY_PluginSchedule_RecID: string;
    SY_PluginSchedule_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<Magento_Integration_Schedule>(); }
    getTypeName() { return "Magento_Integration_ScheduleQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class Magento_Integration_SelectedActionQuery extends QueryDb<Magento_Integration_SelectedAction> implements IReturn<QueryResponse<Magento_Integration_SelectedAction>>
{
    RecID: string;
    RecIDIn: string[];
    Magento_Integration_RecID: string;
    Magento_Integration_RecIDIn: string[];
    Action_RecID: string;
    Action_RecIDIn: string[];
    ExceptionPolicy: number;
    ExceptionPolicyGreaterThanOrEqualTo: number;
    ExceptionPolicyGreaterThan: number;
    ExceptionPolicyLessThan: number;
    ExceptionPolicyLessThanOrEqualTo: number;
    ExceptionPolicyNotEqualTo: number;
    ExceptionPolicyBetween: number[];
    ExceptionPolicyIn: number[];
    LogPolicy: number;
    LogPolicyGreaterThanOrEqualTo: number;
    LogPolicyGreaterThan: number;
    LogPolicyLessThan: number;
    LogPolicyLessThanOrEqualTo: number;
    LogPolicyNotEqualTo: number;
    LogPolicyBetween: number[];
    LogPolicyIn: number[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<Magento_Integration_SelectedAction>(); }
    getTypeName() { return "Magento_Integration_SelectedActionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class Magento_LogQuery extends QueryDb<Magento_Log> implements IReturn<QueryResponse<Magento_Log>>
{
    id: number;
    idGreaterThanOrEqualTo: number;
    idGreaterThan: number;
    idLessThan: number;
    idLessThanOrEqualTo: number;
    idNotEqualTo: number;
    idBetween: number[];
    idIn: number[];
    Magento_Integration_RecID: string;
    Magento_Integration_RecIDIn: string[];
    LogDateTime: string;
    LogDateTimeGreaterThanOrEqualTo: string;
    LogDateTimeGreaterThan: string;
    LogDateTimeLessThan: string;
    LogDateTimeLessThanOrEqualTo: string;
    LogDateTimeNotEqualTo: string;
    LogDateTimeBetween: string[];
    LogDateTimeIn: string[];
    LogType: number;
    LogTypeGreaterThanOrEqualTo: number;
    LogTypeGreaterThan: number;
    LogTypeLessThan: number;
    LogTypeLessThanOrEqualTo: number;
    LogTypeNotEqualTo: number;
    LogTypeBetween: Uint8Array;
    LogTypeIn: Uint8Array;
    IntegrationActionName: string;
    IntegrationActionNameStartsWith: string;
    IntegrationActionNameEndsWith: string;
    IntegrationActionNameContains: string;
    IntegrationActionNameLike: string;
    IntegrationActionNameBetween: string[];
    IntegrationActionNameIn: string[];
    ElapsedMilliseconds: number;
    ElapsedMillisecondsGreaterThanOrEqualTo: number;
    ElapsedMillisecondsGreaterThan: number;
    ElapsedMillisecondsLessThan: number;
    ElapsedMillisecondsLessThanOrEqualTo: number;
    ElapsedMillisecondsNotEqualTo: number;
    ElapsedMillisecondsBetween: number[];
    ElapsedMillisecondsIn: number[];
    LogMessage: string;
    LogMessageStartsWith: string;
    LogMessageEndsWith: string;
    LogMessageContains: string;
    LogMessageLike: string;
    LogMessageBetween: string[];
    LogMessageIn: string[];
    createResponse() { return new QueryResponse<Magento_Log>(); }
    getTypeName() { return "Magento_LogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class Magento_QueueQuery extends QueryDb<Magento_Queue> implements IReturn<QueryResponse<Magento_Queue>>
{
    RecID: string;
    RecIDIn: string[];
    QueueName: string;
    QueueNameStartsWith: string;
    QueueNameEndsWith: string;
    QueueNameContains: string;
    QueueNameLike: string;
    QueueNameBetween: string[];
    QueueNameIn: string[];
    Identifier: string;
    IdentifierStartsWith: string;
    IdentifierEndsWith: string;
    IdentifierContains: string;
    IdentifierLike: string;
    IdentifierBetween: string[];
    IdentifierIn: string[];
    QueueInsertionDateTime: string;
    QueueInsertionDateTimeGreaterThanOrEqualTo: string;
    QueueInsertionDateTimeGreaterThan: string;
    QueueInsertionDateTimeLessThan: string;
    QueueInsertionDateTimeLessThanOrEqualTo: string;
    QueueInsertionDateTimeNotEqualTo: string;
    QueueInsertionDateTimeBetween: string[];
    QueueInsertionDateTimeIn: string[];
    LastChangedDateTime: string;
    LastChangedDateTimeGreaterThanOrEqualTo: string;
    LastChangedDateTimeGreaterThan: string;
    LastChangedDateTimeLessThan: string;
    LastChangedDateTimeLessThanOrEqualTo: string;
    LastChangedDateTimeNotEqualTo: string;
    LastChangedDateTimeBetween: string[];
    LastChangedDateTimeIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    ExceptionText: string;
    ExceptionTextStartsWith: string;
    ExceptionTextEndsWith: string;
    ExceptionTextContains: string;
    ExceptionTextLike: string;
    ExceptionTextBetween: string[];
    ExceptionTextIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<Magento_Queue>(); }
    getTypeName() { return "Magento_QueueQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_CustomSettingsQuery extends QueryDb<PI_CustomSettings> implements IReturn<QueryResponse<PI_CustomSettings>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<PI_CustomSettings>(); }
    getTypeName() { return "PI_CustomSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_CustomSettingValuesQuery extends QueryDb<PI_CustomSettingValues> implements IReturn<QueryResponse<PI_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    PI_Main_RecID: string;
    PI_Main_RecIDStartsWith: string;
    PI_Main_RecIDEndsWith: string;
    PI_Main_RecIDContains: string;
    PI_Main_RecIDLike: string;
    PI_Main_RecIDBetween: string[];
    PI_Main_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<PI_CustomSettingValues>(); }
    getTypeName() { return "PI_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_DocumentsQuery extends QueryDb<PI_Documents> implements IReturn<QueryResponse<PI_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PI_Main_PI_MainID: string;
    PI_Main_PI_MainIDStartsWith: string;
    PI_Main_PI_MainIDEndsWith: string;
    PI_Main_PI_MainIDContains: string;
    PI_Main_PI_MainIDLike: string;
    PI_Main_PI_MainIDBetween: string[];
    PI_Main_PI_MainIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<PI_Documents>(); }
    getTypeName() { return "PI_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_LineCustomFieldsQuery extends QueryDb<PI_LineCustomFields> implements IReturn<QueryResponse<PI_LineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<PI_LineCustomFields>(); }
    getTypeName() { return "PI_LineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_LineCustomValuesQuery extends QueryDb<PI_LineCustomValues> implements IReturn<QueryResponse<PI_LineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PI_Lines_RecID: string;
    PI_Lines_RecIDStartsWith: string;
    PI_Lines_RecIDEndsWith: string;
    PI_Lines_RecIDContains: string;
    PI_Lines_RecIDLike: string;
    PI_Lines_RecIDBetween: string[];
    PI_Lines_RecIDIn: string[];
    PI_LineCustomFields_RecID: string;
    PI_LineCustomFields_RecIDStartsWith: string;
    PI_LineCustomFields_RecIDEndsWith: string;
    PI_LineCustomFields_RecIDContains: string;
    PI_LineCustomFields_RecIDLike: string;
    PI_LineCustomFields_RecIDBetween: string[];
    PI_LineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<PI_LineCustomValues>(); }
    getTypeName() { return "PI_LineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_LinesQuery extends QueryDb<PI_Lines> implements IReturn<QueryResponse<PI_Lines>>
{
    PI_LinesID: string;
    PI_LinesIDStartsWith: string;
    PI_LinesIDEndsWith: string;
    PI_LinesIDContains: string;
    PI_LinesIDLike: string;
    PI_LinesIDBetween: string[];
    PI_LinesIDIn: string[];
    PI_MainID: string;
    PI_MainIDStartsWith: string;
    PI_MainIDEndsWith: string;
    PI_MainIDContains: string;
    PI_MainIDLike: string;
    PI_MainIDBetween: string[];
    PI_MainIDIn: string[];
    RE_MainID: string;
    RE_MainIDStartsWith: string;
    RE_MainIDEndsWith: string;
    RE_MainIDContains: string;
    RE_MainIDLike: string;
    RE_MainIDBetween: string[];
    RE_MainIDIn: string[];
    RE_LinesID: string;
    RE_LinesIDStartsWith: string;
    RE_LinesIDEndsWith: string;
    RE_LinesIDContains: string;
    RE_LinesIDLike: string;
    RE_LinesIDBetween: string[];
    RE_LinesIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SuppliersCost: number;
    SuppliersCostGreaterThanOrEqualTo: number;
    SuppliersCostGreaterThan: number;
    SuppliersCostLessThan: number;
    SuppliersCostLessThanOrEqualTo: number;
    SuppliersCostNotEqualTo: number;
    SuppliersCostBetween: number[];
    SuppliersCostIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    SuppPartNo: string;
    SuppPartNoStartsWith: string;
    SuppPartNoEndsWith: string;
    SuppPartNoContains: string;
    SuppPartNoLike: string;
    SuppPartNoBetween: string[];
    SuppPartNoIn: string[];
    LineType: number;
    LineTypeGreaterThanOrEqualTo: number;
    LineTypeGreaterThan: number;
    LineTypeLessThan: number;
    LineTypeLessThanOrEqualTo: number;
    LineTypeNotEqualTo: number;
    LineTypeBetween: number[];
    LineTypeIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    InvoiceLineNo: number;
    InvoiceLineNoGreaterThanOrEqualTo: number;
    InvoiceLineNoGreaterThan: number;
    InvoiceLineNoLessThan: number;
    InvoiceLineNoLessThanOrEqualTo: number;
    InvoiceLineNoNotEqualTo: number;
    InvoiceLineNoBetween: number[];
    InvoiceLineNoIn: number[];
    HomeSuppliersCost: number;
    HomeSuppliersCostGreaterThanOrEqualTo: number;
    HomeSuppliersCostGreaterThan: number;
    HomeSuppliersCostLessThan: number;
    HomeSuppliersCostLessThanOrEqualTo: number;
    HomeSuppliersCostNotEqualTo: number;
    HomeSuppliersCostBetween: number[];
    HomeSuppliersCostIn: number[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    CurrencyRateUsed: number;
    CurrencyRateUsedGreaterThanOrEqualTo: number;
    CurrencyRateUsedGreaterThan: number;
    CurrencyRateUsedLessThan: number;
    CurrencyRateUsedLessThanOrEqualTo: number;
    CurrencyRateUsedNotEqualTo: number;
    CurrencyRateUsedBetween: number[];
    CurrencyRateUsedIn: number[];
    POClassID: string;
    POClassIDStartsWith: string;
    POClassIDEndsWith: string;
    POClassIDContains: string;
    POClassIDLike: string;
    POClassIDBetween: string[];
    POClassIDIn: string[];
    LineTotal: number;
    LineTotalGreaterThanOrEqualTo: number;
    LineTotalGreaterThan: number;
    LineTotalLessThan: number;
    LineTotalLessThanOrEqualTo: number;
    LineTotalNotEqualTo: number;
    LineTotalBetween: number[];
    LineTotalIn: number[];
    FXDecimalPlaces: number;
    FXDecimalPlacesGreaterThanOrEqualTo: number;
    FXDecimalPlacesGreaterThan: number;
    FXDecimalPlacesLessThan: number;
    FXDecimalPlacesLessThanOrEqualTo: number;
    FXDecimalPlacesNotEqualTo: number;
    FXDecimalPlacesBetween: number[];
    FXDecimalPlacesIn: number[];
    HomeDecimalPlaces: number;
    HomeDecimalPlacesGreaterThanOrEqualTo: number;
    HomeDecimalPlacesGreaterThan: number;
    HomeDecimalPlacesLessThan: number;
    HomeDecimalPlacesLessThanOrEqualTo: number;
    HomeDecimalPlacesNotEqualTo: number;
    HomeDecimalPlacesBetween: number[];
    HomeDecimalPlacesIn: number[];
    UnitChanged: boolean;
    FXChanged: boolean;
    ExChanged: boolean;
    TaxRateChanged: boolean;
    LineTotalExTax: number;
    LineTotalExTaxGreaterThanOrEqualTo: number;
    LineTotalExTaxGreaterThan: number;
    LineTotalExTaxLessThan: number;
    LineTotalExTaxLessThanOrEqualTo: number;
    LineTotalExTaxNotEqualTo: number;
    LineTotalExTaxBetween: number[];
    LineTotalExTaxIn: number[];
    ChangeSourceIsFromGRNLine: boolean;
    FXLineTotalExTax: number;
    FXLineTotalExTaxGreaterThanOrEqualTo: number;
    FXLineTotalExTaxGreaterThan: number;
    FXLineTotalExTaxLessThan: number;
    FXLineTotalExTaxLessThanOrEqualTo: number;
    FXLineTotalExTaxNotEqualTo: number;
    FXLineTotalExTaxBetween: number[];
    FXLineTotalExTaxIn: number[];
    UnitCostIncTax: number;
    UnitCostIncTaxGreaterThanOrEqualTo: number;
    UnitCostIncTaxGreaterThan: number;
    UnitCostIncTaxLessThan: number;
    UnitCostIncTaxLessThanOrEqualTo: number;
    UnitCostIncTaxNotEqualTo: number;
    UnitCostIncTaxBetween: number[];
    UnitCostIncTaxIn: number[];
    createResponse() { return new QueryResponse<PI_Lines>(); }
    getTypeName() { return "PI_LinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_LinesDetailsQuery extends QueryDb<PI_LinesDetails> implements IReturn<QueryResponse<PI_LinesDetails>>
{
    PI_LinesDetailsID: string;
    PI_LinesDetailsIDStartsWith: string;
    PI_LinesDetailsIDEndsWith: string;
    PI_LinesDetailsIDContains: string;
    PI_LinesDetailsIDLike: string;
    PI_LinesDetailsIDBetween: string[];
    PI_LinesDetailsIDIn: string[];
    PI_LinesID: string;
    PI_LinesIDStartsWith: string;
    PI_LinesIDEndsWith: string;
    PI_LinesIDContains: string;
    PI_LinesIDLike: string;
    PI_LinesIDBetween: string[];
    PI_LinesIDIn: string[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    RowHash: Uint8Array;
    RE_LineDetails_RecID: string;
    RE_LineDetails_RecIDStartsWith: string;
    RE_LineDetails_RecIDEndsWith: string;
    RE_LineDetails_RecIDContains: string;
    RE_LineDetails_RecIDLike: string;
    RE_LineDetails_RecIDBetween: string[];
    RE_LineDetails_RecIDIn: string[];
    IN_SOH_RecID: string;
    IN_SOH_RecIDStartsWith: string;
    IN_SOH_RecIDEndsWith: string;
    IN_SOH_RecIDContains: string;
    IN_SOH_RecIDLike: string;
    IN_SOH_RecIDBetween: string[];
    IN_SOH_RecIDIn: string[];
    createResponse() { return new QueryResponse<PI_LinesDetails>(); }
    getTypeName() { return "PI_LinesDetailsQuery"; }
}

// @Route("/Queries/PI_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_MainQuery extends QueryDb<PI_Main> implements IReturn<QueryResponse<PI_Main>>
{
    PI_MainID: string;
    PI_MainIDStartsWith: string;
    PI_MainIDEndsWith: string;
    PI_MainIDContains: string;
    PI_MainIDLike: string;
    PI_MainIDBetween: string[];
    PI_MainIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    InvoiceDate: string;
    InvoiceDateGreaterThanOrEqualTo: string;
    InvoiceDateGreaterThan: string;
    InvoiceDateLessThan: string;
    InvoiceDateLessThanOrEqualTo: string;
    InvoiceDateNotEqualTo: string;
    InvoiceDateBetween: string[];
    InvoiceDateIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    Freight: number;
    FreightGreaterThanOrEqualTo: number;
    FreightGreaterThan: number;
    FreightLessThan: number;
    FreightLessThanOrEqualTo: number;
    FreightNotEqualTo: number;
    FreightBetween: number[];
    FreightIn: number[];
    Duty: number;
    DutyGreaterThanOrEqualTo: number;
    DutyGreaterThan: number;
    DutyLessThan: number;
    DutyLessThanOrEqualTo: number;
    DutyNotEqualTo: number;
    DutyBetween: number[];
    DutyIn: number[];
    Insurance: number;
    InsuranceGreaterThanOrEqualTo: number;
    InsuranceGreaterThan: number;
    InsuranceLessThan: number;
    InsuranceLessThanOrEqualTo: number;
    InsuranceNotEqualTo: number;
    InsuranceBetween: number[];
    InsuranceIn: number[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    TotalLineTax: number;
    TotalLineTaxGreaterThanOrEqualTo: number;
    TotalLineTaxGreaterThan: number;
    TotalLineTaxLessThan: number;
    TotalLineTaxLessThanOrEqualTo: number;
    TotalLineTaxNotEqualTo: number;
    TotalLineTaxBetween: number[];
    TotalLineTaxIn: number[];
    AdjTax: number;
    AdjTaxGreaterThanOrEqualTo: number;
    AdjTaxGreaterThan: number;
    AdjTaxLessThan: number;
    AdjTaxLessThanOrEqualTo: number;
    AdjTaxNotEqualTo: number;
    AdjTaxBetween: number[];
    AdjTaxIn: number[];
    FreightTaxID: string;
    FreightTaxIDStartsWith: string;
    FreightTaxIDEndsWith: string;
    FreightTaxIDContains: string;
    FreightTaxIDLike: string;
    FreightTaxIDBetween: string[];
    FreightTaxIDIn: string[];
    FreightTaxRate: number;
    FreightTaxRateGreaterThanOrEqualTo: number;
    FreightTaxRateGreaterThan: number;
    FreightTaxRateLessThan: number;
    FreightTaxRateLessThanOrEqualTo: number;
    FreightTaxRateNotEqualTo: number;
    FreightTaxRateBetween: number[];
    FreightTaxRateIn: number[];
    FreightTaxAmount: number;
    FreightTaxAmountGreaterThanOrEqualTo: number;
    FreightTaxAmountGreaterThan: number;
    FreightTaxAmountLessThan: number;
    FreightTaxAmountLessThanOrEqualTo: number;
    FreightTaxAmountNotEqualTo: number;
    FreightTaxAmountBetween: number[];
    FreightTaxAmountIn: number[];
    DutyTaxID: string;
    DutyTaxIDStartsWith: string;
    DutyTaxIDEndsWith: string;
    DutyTaxIDContains: string;
    DutyTaxIDLike: string;
    DutyTaxIDBetween: string[];
    DutyTaxIDIn: string[];
    DutyTaxRate: number;
    DutyTaxRateGreaterThanOrEqualTo: number;
    DutyTaxRateGreaterThan: number;
    DutyTaxRateLessThan: number;
    DutyTaxRateLessThanOrEqualTo: number;
    DutyTaxRateNotEqualTo: number;
    DutyTaxRateBetween: number[];
    DutyTaxRateIn: number[];
    DutyTaxAmount: number;
    DutyTaxAmountGreaterThanOrEqualTo: number;
    DutyTaxAmountGreaterThan: number;
    DutyTaxAmountLessThan: number;
    DutyTaxAmountLessThanOrEqualTo: number;
    DutyTaxAmountNotEqualTo: number;
    DutyTaxAmountBetween: number[];
    DutyTaxAmountIn: number[];
    InsuranceTaxID: string;
    InsuranceTaxIDStartsWith: string;
    InsuranceTaxIDEndsWith: string;
    InsuranceTaxIDContains: string;
    InsuranceTaxIDLike: string;
    InsuranceTaxIDBetween: string[];
    InsuranceTaxIDIn: string[];
    InsuranceTaxRate: number;
    InsuranceTaxRateGreaterThanOrEqualTo: number;
    InsuranceTaxRateGreaterThan: number;
    InsuranceTaxRateLessThan: number;
    InsuranceTaxRateLessThanOrEqualTo: number;
    InsuranceTaxRateNotEqualTo: number;
    InsuranceTaxRateBetween: number[];
    InsuranceTaxRateIn: number[];
    InsuranceTaxAmount: number;
    InsuranceTaxAmountGreaterThanOrEqualTo: number;
    InsuranceTaxAmountGreaterThan: number;
    InsuranceTaxAmountLessThan: number;
    InsuranceTaxAmountLessThanOrEqualTo: number;
    InsuranceTaxAmountNotEqualTo: number;
    InsuranceTaxAmountBetween: number[];
    InsuranceTaxAmountIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    FXDecimalPlaces: number;
    FXDecimalPlacesGreaterThanOrEqualTo: number;
    FXDecimalPlacesGreaterThan: number;
    FXDecimalPlacesLessThan: number;
    FXDecimalPlacesLessThanOrEqualTo: number;
    FXDecimalPlacesNotEqualTo: number;
    FXDecimalPlacesBetween: number[];
    FXDecimalPlacesIn: number[];
    createResponse() { return new QueryResponse<PI_Main>(); }
    getTypeName() { return "PI_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_NotesQuery extends QueryDb<PI_Notes> implements IReturn<QueryResponse<PI_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PI_Main_PI_MainID: string;
    PI_Main_PI_MainIDStartsWith: string;
    PI_Main_PI_MainIDEndsWith: string;
    PI_Main_PI_MainIDContains: string;
    PI_Main_PI_MainIDLike: string;
    PI_Main_PI_MainIDBetween: string[];
    PI_Main_PI_MainIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<PI_Notes>(); }
    getTypeName() { return "PI_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PI_ReceiptsQuery extends QueryDb<PI_Receipts> implements IReturn<QueryResponse<PI_Receipts>>
{
    PI_ReceiptsID: string;
    PI_ReceiptsIDStartsWith: string;
    PI_ReceiptsIDEndsWith: string;
    PI_ReceiptsIDContains: string;
    PI_ReceiptsIDLike: string;
    PI_ReceiptsIDBetween: string[];
    PI_ReceiptsIDIn: string[];
    PI_MainID: string;
    PI_MainIDStartsWith: string;
    PI_MainIDEndsWith: string;
    PI_MainIDContains: string;
    PI_MainIDLike: string;
    PI_MainIDBetween: string[];
    PI_MainIDIn: string[];
    RE_MainID: string;
    RE_MainIDStartsWith: string;
    RE_MainIDEndsWith: string;
    RE_MainIDContains: string;
    RE_MainIDLike: string;
    RE_MainIDBetween: string[];
    RE_MainIDIn: string[];
    createResponse() { return new QueryResponse<PI_Receipts>(); }
    getTypeName() { return "PI_ReceiptsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_BatchHeaderQuery extends QueryDb<PO_BatchHeader> implements IReturn<QueryResponse<PO_BatchHeader>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastModifiedByStaffID: string;
    LastModifiedByStaffIDStartsWith: string;
    LastModifiedByStaffIDEndsWith: string;
    LastModifiedByStaffIDContains: string;
    LastModifiedByStaffIDLike: string;
    LastModifiedByStaffIDBetween: string[];
    LastModifiedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    BatchStatus: number;
    BatchStatusGreaterThanOrEqualTo: number;
    BatchStatusGreaterThan: number;
    BatchStatusLessThan: number;
    BatchStatusLessThanOrEqualTo: number;
    BatchStatusNotEqualTo: number;
    BatchStatusBetween: Uint8Array;
    BatchStatusIn: Uint8Array;
    ReOrderMonth: number;
    ReOrderMonthGreaterThanOrEqualTo: number;
    ReOrderMonthGreaterThan: number;
    ReOrderMonthLessThan: number;
    ReOrderMonthLessThanOrEqualTo: number;
    ReOrderMonthNotEqualTo: number;
    ReOrderMonthBetween: Uint8Array;
    ReOrderMonthIn: Uint8Array;
    IncludeDefaultSuppliersOnly: boolean;
    createResponse() { return new QueryResponse<PO_BatchHeader>(); }
    getTypeName() { return "PO_BatchHeaderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_BatchPurchaseOrderLinesQuery extends QueryDb<PO_BatchPurchaseOrderLines> implements IReturn<QueryResponse<PO_BatchPurchaseOrderLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PO_BatchPurchaseOrders_RecID: string;
    PO_BatchPurchaseOrders_RecIDStartsWith: string;
    PO_BatchPurchaseOrders_RecIDEndsWith: string;
    PO_BatchPurchaseOrders_RecIDContains: string;
    PO_BatchPurchaseOrders_RecIDLike: string;
    PO_BatchPurchaseOrders_RecIDBetween: string[];
    PO_BatchPurchaseOrders_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IN_Main_RecID: string;
    IN_Main_RecIDStartsWith: string;
    IN_Main_RecIDEndsWith: string;
    IN_Main_RecIDContains: string;
    IN_Main_RecIDLike: string;
    IN_Main_RecIDBetween: string[];
    IN_Main_RecIDIn: string[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    FXUnitCost: number;
    FXUnitCostGreaterThanOrEqualTo: number;
    FXUnitCostGreaterThan: number;
    FXUnitCostLessThan: number;
    FXUnitCostLessThanOrEqualTo: number;
    FXUnitCostNotEqualTo: number;
    FXUnitCostBetween: number[];
    FXUnitCostIn: number[];
    SuggestedOrderQuantity: number;
    SuggestedOrderQuantityGreaterThanOrEqualTo: number;
    SuggestedOrderQuantityGreaterThan: number;
    SuggestedOrderQuantityLessThan: number;
    SuggestedOrderQuantityLessThanOrEqualTo: number;
    SuggestedOrderQuantityNotEqualTo: number;
    SuggestedOrderQuantityBetween: number[];
    SuggestedOrderQuantityIn: number[];
    OrderQuantity: number;
    OrderQuantityGreaterThanOrEqualTo: number;
    OrderQuantityGreaterThan: number;
    OrderQuantityLessThan: number;
    OrderQuantityLessThanOrEqualTo: number;
    OrderQuantityNotEqualTo: number;
    OrderQuantityBetween: number[];
    OrderQuantityIn: number[];
    LineCost: number;
    LineCostGreaterThanOrEqualTo: number;
    LineCostGreaterThan: number;
    LineCostLessThan: number;
    LineCostLessThanOrEqualTo: number;
    LineCostNotEqualTo: number;
    LineCostBetween: number[];
    LineCostIn: number[];
    FXLineCost: number;
    FXLineCostGreaterThanOrEqualTo: number;
    FXLineCostGreaterThan: number;
    FXLineCostLessThan: number;
    FXLineCostLessThanOrEqualTo: number;
    FXLineCostNotEqualTo: number;
    FXLineCostBetween: number[];
    FXLineCostIn: number[];
    QuantitySOH: number;
    QuantitySOHGreaterThanOrEqualTo: number;
    QuantitySOHGreaterThan: number;
    QuantitySOHLessThan: number;
    QuantitySOHLessThanOrEqualTo: number;
    QuantitySOHNotEqualTo: number;
    QuantitySOHBetween: number[];
    QuantitySOHIn: number[];
    QuantityMinSOH: number;
    QuantityMinSOHGreaterThanOrEqualTo: number;
    QuantityMinSOHGreaterThan: number;
    QuantityMinSOHLessThan: number;
    QuantityMinSOHLessThanOrEqualTo: number;
    QuantityMinSOHNotEqualTo: number;
    QuantityMinSOHBetween: number[];
    QuantityMinSOHIn: number[];
    QuantityOnPO: number;
    QuantityOnPOGreaterThanOrEqualTo: number;
    QuantityOnPOGreaterThan: number;
    QuantityOnPOLessThan: number;
    QuantityOnPOLessThanOrEqualTo: number;
    QuantityOnPONotEqualTo: number;
    QuantityOnPOBetween: number[];
    QuantityOnPOIn: number[];
    QuantityOnBO: number;
    QuantityOnBOGreaterThanOrEqualTo: number;
    QuantityOnBOGreaterThan: number;
    QuantityOnBOLessThan: number;
    QuantityOnBOLessThanOrEqualTo: number;
    QuantityOnBONotEqualTo: number;
    QuantityOnBOBetween: number[];
    QuantityOnBOIn: number[];
    QuantitySalesForecast: number;
    QuantitySalesForecastGreaterThanOrEqualTo: number;
    QuantitySalesForecastGreaterThan: number;
    QuantitySalesForecastLessThan: number;
    QuantitySalesForecastLessThanOrEqualTo: number;
    QuantitySalesForecastNotEqualTo: number;
    QuantitySalesForecastBetween: number[];
    QuantitySalesForecastIn: number[];
    QuantityLastYearPurchases: number;
    QuantityLastYearPurchasesGreaterThanOrEqualTo: number;
    QuantityLastYearPurchasesGreaterThan: number;
    QuantityLastYearPurchasesLessThan: number;
    QuantityLastYearPurchasesLessThanOrEqualTo: number;
    QuantityLastYearPurchasesNotEqualTo: number;
    QuantityLastYearPurchasesBetween: number[];
    QuantityLastYearPurchasesIn: number[];
    QuantityLastYearSales: number;
    QuantityLastYearSalesGreaterThanOrEqualTo: number;
    QuantityLastYearSalesGreaterThan: number;
    QuantityLastYearSalesLessThan: number;
    QuantityLastYearSalesLessThanOrEqualTo: number;
    QuantityLastYearSalesNotEqualTo: number;
    QuantityLastYearSalesBetween: number[];
    QuantityLastYearSalesIn: number[];
    PO_Lines_RecID: string;
    PO_Lines_RecIDStartsWith: string;
    PO_Lines_RecIDEndsWith: string;
    PO_Lines_RecIDContains: string;
    PO_Lines_RecIDLike: string;
    PO_Lines_RecIDBetween: string[];
    PO_Lines_RecIDIn: string[];
    UnitCubic: number;
    UnitCubicGreaterThanOrEqualTo: number;
    UnitCubicGreaterThan: number;
    UnitCubicLessThan: number;
    UnitCubicLessThanOrEqualTo: number;
    UnitCubicNotEqualTo: number;
    UnitCubicBetween: number[];
    UnitCubicIn: number[];
    UnitWeight: number;
    UnitWeightGreaterThanOrEqualTo: number;
    UnitWeightGreaterThan: number;
    UnitWeightLessThan: number;
    UnitWeightLessThanOrEqualTo: number;
    UnitWeightNotEqualTo: number;
    UnitWeightBetween: number[];
    UnitWeightIn: number[];
    LineCubic: number;
    LineCubicGreaterThanOrEqualTo: number;
    LineCubicGreaterThan: number;
    LineCubicLessThan: number;
    LineCubicLessThanOrEqualTo: number;
    LineCubicNotEqualTo: number;
    LineCubicBetween: number[];
    LineCubicIn: number[];
    LineWeight: number;
    LineWeightGreaterThanOrEqualTo: number;
    LineWeightGreaterThan: number;
    LineWeightLessThan: number;
    LineWeightLessThanOrEqualTo: number;
    LineWeightNotEqualTo: number;
    LineWeightBetween: number[];
    LineWeightIn: number[];
    DeliveryDays: number;
    DeliveryDaysGreaterThanOrEqualTo: number;
    DeliveryDaysGreaterThan: number;
    DeliveryDaysLessThan: number;
    DeliveryDaysLessThanOrEqualTo: number;
    DeliveryDaysNotEqualTo: number;
    DeliveryDaysBetween: number[];
    DeliveryDaysIn: number[];
    OrderUnits: number;
    OrderUnitsGreaterThanOrEqualTo: number;
    OrderUnitsGreaterThan: number;
    OrderUnitsLessThan: number;
    OrderUnitsLessThanOrEqualTo: number;
    OrderUnitsNotEqualTo: number;
    OrderUnitsBetween: number[];
    OrderUnitsIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<PO_BatchPurchaseOrderLines>(); }
    getTypeName() { return "PO_BatchPurchaseOrderLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_BatchPurchaseOrdersQuery extends QueryDb<PO_BatchPurchaseOrders> implements IReturn<QueryResponse<PO_BatchPurchaseOrders>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PO_BatchHeader_RecID: string;
    PO_BatchHeader_RecIDStartsWith: string;
    PO_BatchHeader_RecIDEndsWith: string;
    PO_BatchHeader_RecIDContains: string;
    PO_BatchHeader_RecIDLike: string;
    PO_BatchHeader_RecIDBetween: string[];
    PO_BatchHeader_RecIDIn: string[];
    PO_Main_RecID: string;
    PO_Main_RecIDStartsWith: string;
    PO_Main_RecIDEndsWith: string;
    PO_Main_RecIDContains: string;
    PO_Main_RecIDLike: string;
    PO_Main_RecIDBetween: string[];
    PO_Main_RecIDIn: string[];
    CR_Main_RecID: string;
    CR_Main_RecIDStartsWith: string;
    CR_Main_RecIDEndsWith: string;
    CR_Main_RecIDContains: string;
    CR_Main_RecIDLike: string;
    CR_Main_RecIDBetween: string[];
    CR_Main_RecIDIn: string[];
    FXCurrencyRate: number;
    FXCurrencyRateGreaterThanOrEqualTo: number;
    FXCurrencyRateGreaterThan: number;
    FXCurrencyRateLessThan: number;
    FXCurrencyRateLessThanOrEqualTo: number;
    FXCurrencyRateNotEqualTo: number;
    FXCurrencyRateBetween: number[];
    FXCurrencyRateIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<PO_BatchPurchaseOrders>(); }
    getTypeName() { return "PO_BatchPurchaseOrdersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_ClassificationQuery extends QueryDb<PO_Classification> implements IReturn<QueryResponse<PO_Classification>>
{
    POClassificationID: string;
    POClassificationIDStartsWith: string;
    POClassificationIDEndsWith: string;
    POClassificationIDContains: string;
    POClassificationIDLike: string;
    POClassificationIDBetween: string[];
    POClassificationIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PurchClassLedgerID: string;
    PurchClassLedgerIDStartsWith: string;
    PurchClassLedgerIDEndsWith: string;
    PurchClassLedgerIDContains: string;
    PurchClassLedgerIDLike: string;
    PurchClassLedgerIDBetween: string[];
    PurchClassLedgerIDIn: string[];
    DefaultClass: number;
    DefaultClassGreaterThanOrEqualTo: number;
    DefaultClassGreaterThan: number;
    DefaultClassLessThan: number;
    DefaultClassLessThanOrEqualTo: number;
    DefaultClassNotEqualTo: number;
    DefaultClassBetween: number[];
    DefaultClassIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<PO_Classification>(); }
    getTypeName() { return "PO_ClassificationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_CustomSettingsQuery extends QueryDb<PO_CustomSettings> implements IReturn<QueryResponse<PO_CustomSettings>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<PO_CustomSettings>(); }
    getTypeName() { return "PO_CustomSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_CustomSettingValuesQuery extends QueryDb<PO_CustomSettingValues> implements IReturn<QueryResponse<PO_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    PurchaseOrderID: string;
    PurchaseOrderIDStartsWith: string;
    PurchaseOrderIDEndsWith: string;
    PurchaseOrderIDContains: string;
    PurchaseOrderIDLike: string;
    PurchaseOrderIDBetween: string[];
    PurchaseOrderIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<PO_CustomSettingValues>(); }
    getTypeName() { return "PO_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_DocumentsQuery extends QueryDb<PO_Documents> implements IReturn<QueryResponse<PO_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PurchaseOrderID: string;
    PurchaseOrderIDStartsWith: string;
    PurchaseOrderIDEndsWith: string;
    PurchaseOrderIDContains: string;
    PurchaseOrderIDLike: string;
    PurchaseOrderIDBetween: string[];
    PurchaseOrderIDIn: string[];
    FileID: string;
    FileIDStartsWith: string;
    FileIDEndsWith: string;
    FileIDContains: string;
    FileIDLike: string;
    FileIDBetween: string[];
    FileIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<PO_Documents>(); }
    getTypeName() { return "PO_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_EmailLogQuery extends QueryDb<PO_EmailLog> implements IReturn<QueryResponse<PO_EmailLog>>
{
    EmailLogID: string;
    EmailLogIDStartsWith: string;
    EmailLogIDEndsWith: string;
    EmailLogIDContains: string;
    EmailLogIDLike: string;
    EmailLogIDBetween: string[];
    EmailLogIDIn: string[];
    OrderID: string;
    OrderIDStartsWith: string;
    OrderIDEndsWith: string;
    OrderIDContains: string;
    OrderIDLike: string;
    OrderIDBetween: string[];
    OrderIDIn: string[];
    EmailDateTime: string;
    EmailDateTimeGreaterThanOrEqualTo: string;
    EmailDateTimeGreaterThan: string;
    EmailDateTimeLessThan: string;
    EmailDateTimeLessThanOrEqualTo: string;
    EmailDateTimeNotEqualTo: string;
    EmailDateTimeBetween: string[];
    EmailDateTimeIn: string[];
    From: string;
    FromStartsWith: string;
    FromEndsWith: string;
    FromContains: string;
    FromLike: string;
    FromBetween: string[];
    FromIn: string[];
    To: string;
    ToStartsWith: string;
    ToEndsWith: string;
    ToContains: string;
    ToLike: string;
    ToBetween: string[];
    ToIn: string[];
    CC: string;
    CCStartsWith: string;
    CCEndsWith: string;
    CCContains: string;
    CCLike: string;
    CCBetween: string[];
    CCIn: string[];
    BCC: string;
    BCCStartsWith: string;
    BCCEndsWith: string;
    BCCContains: string;
    BCCLike: string;
    BCCBetween: string[];
    BCCIn: string[];
    Attachments: string;
    AttachmentsStartsWith: string;
    AttachmentsEndsWith: string;
    AttachmentsContains: string;
    AttachmentsLike: string;
    AttachmentsBetween: string[];
    AttachmentsIn: string[];
    FileID: string;
    FileIDStartsWith: string;
    FileIDEndsWith: string;
    FileIDContains: string;
    FileIDLike: string;
    FileIDBetween: string[];
    FileIDIn: string[];
    Subject: string;
    SubjectStartsWith: string;
    SubjectEndsWith: string;
    SubjectContains: string;
    SubjectLike: string;
    SubjectBetween: string[];
    SubjectIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    EM_Main_RecID: string;
    EM_Main_RecIDStartsWith: string;
    EM_Main_RecIDEndsWith: string;
    EM_Main_RecIDContains: string;
    EM_Main_RecIDLike: string;
    EM_Main_RecIDBetween: string[];
    EM_Main_RecIDIn: string[];
    RequestReadReceipt: boolean;
    createResponse() { return new QueryResponse<PO_EmailLog>(); }
    getTypeName() { return "PO_EmailLogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_LineCustomFieldsQuery extends QueryDb<PO_LineCustomFields> implements IReturn<QueryResponse<PO_LineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<PO_LineCustomFields>(); }
    getTypeName() { return "PO_LineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_LineCustomValuesQuery extends QueryDb<PO_LineCustomValues> implements IReturn<QueryResponse<PO_LineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PO_Lines_RecID: string;
    PO_Lines_RecIDStartsWith: string;
    PO_Lines_RecIDEndsWith: string;
    PO_Lines_RecIDContains: string;
    PO_Lines_RecIDLike: string;
    PO_Lines_RecIDBetween: string[];
    PO_Lines_RecIDIn: string[];
    PO_LineCustomFields_RecID: string;
    PO_LineCustomFields_RecIDStartsWith: string;
    PO_LineCustomFields_RecIDEndsWith: string;
    PO_LineCustomFields_RecIDContains: string;
    PO_LineCustomFields_RecIDLike: string;
    PO_LineCustomFields_RecIDBetween: string[];
    PO_LineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<PO_LineCustomValues>(); }
    getTypeName() { return "PO_LineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_LinesQuery extends QueryDb<PO_Lines> implements IReturn<QueryResponse<PO_Lines>>
{
    OrderLineID: string;
    OrderLineIDStartsWith: string;
    OrderLineIDEndsWith: string;
    OrderLineIDContains: string;
    OrderLineIDLike: string;
    OrderLineIDBetween: string[];
    OrderLineIDIn: string[];
    OrderID: string;
    OrderIDStartsWith: string;
    OrderIDEndsWith: string;
    OrderIDContains: string;
    OrderIDLike: string;
    OrderIDBetween: string[];
    OrderIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SuppliersCost: number;
    SuppliersCostGreaterThanOrEqualTo: number;
    SuppliersCostGreaterThan: number;
    SuppliersCostLessThan: number;
    SuppliersCostLessThanOrEqualTo: number;
    SuppliersCostNotEqualTo: number;
    SuppliersCostBetween: number[];
    SuppliersCostIn: number[];
    DeliveryDate: string;
    DeliveryDateGreaterThanOrEqualTo: string;
    DeliveryDateGreaterThan: string;
    DeliveryDateLessThan: string;
    DeliveryDateLessThanOrEqualTo: string;
    DeliveryDateNotEqualTo: string;
    DeliveryDateBetween: string[];
    DeliveryDateIn: string[];
    Delivered: number;
    DeliveredGreaterThanOrEqualTo: number;
    DeliveredGreaterThan: number;
    DeliveredLessThan: number;
    DeliveredLessThanOrEqualTo: number;
    DeliveredNotEqualTo: number;
    DeliveredBetween: number[];
    DeliveredIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    OrderLineNo: number;
    OrderLineNoGreaterThanOrEqualTo: number;
    OrderLineNoGreaterThan: number;
    OrderLineNoLessThan: number;
    OrderLineNoLessThanOrEqualTo: number;
    OrderLineNoNotEqualTo: number;
    OrderLineNoBetween: number[];
    OrderLineNoIn: number[];
    SuppPartNo: string;
    SuppPartNoStartsWith: string;
    SuppPartNoEndsWith: string;
    SuppPartNoContains: string;
    SuppPartNoLike: string;
    SuppPartNoBetween: string[];
    SuppPartNoIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HistoryText_Comment: string;
    HistoryText_CommentStartsWith: string;
    HistoryText_CommentEndsWith: string;
    HistoryText_CommentContains: string;
    HistoryText_CommentLike: string;
    HistoryText_CommentBetween: string[];
    HistoryText_CommentIn: string[];
    OrderUnits: number;
    OrderUnitsGreaterThanOrEqualTo: number;
    OrderUnitsGreaterThan: number;
    OrderUnitsLessThan: number;
    OrderUnitsLessThanOrEqualTo: number;
    OrderUnitsNotEqualTo: number;
    OrderUnitsBetween: number[];
    OrderUnitsIn: number[];
    LineType: number;
    LineTypeGreaterThanOrEqualTo: number;
    LineTypeGreaterThan: number;
    LineTypeLessThan: number;
    LineTypeLessThanOrEqualTo: number;
    LineTypeNotEqualTo: number;
    LineTypeBetween: number[];
    LineTypeIn: number[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DeliveryDays: number;
    DeliveryDaysGreaterThanOrEqualTo: number;
    DeliveryDaysGreaterThan: number;
    DeliveryDaysLessThan: number;
    DeliveryDaysLessThanOrEqualTo: number;
    DeliveryDaysNotEqualTo: number;
    DeliveryDaysBetween: number[];
    DeliveryDaysIn: number[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    HomeSuppliersCost: number;
    HomeSuppliersCostGreaterThanOrEqualTo: number;
    HomeSuppliersCostGreaterThan: number;
    HomeSuppliersCostLessThan: number;
    HomeSuppliersCostLessThanOrEqualTo: number;
    HomeSuppliersCostNotEqualTo: number;
    HomeSuppliersCostBetween: number[];
    HomeSuppliersCostIn: number[];
    CurrencyRateUsed: number;
    CurrencyRateUsedGreaterThanOrEqualTo: number;
    CurrencyRateUsedGreaterThan: number;
    CurrencyRateUsedLessThan: number;
    CurrencyRateUsedLessThanOrEqualTo: number;
    CurrencyRateUsedNotEqualTo: number;
    CurrencyRateUsedBetween: number[];
    CurrencyRateUsedIn: number[];
    POClassID: string;
    POClassIDStartsWith: string;
    POClassIDEndsWith: string;
    POClassIDContains: string;
    POClassIDLike: string;
    POClassIDBetween: string[];
    POClassIDIn: string[];
    IncPrice: number;
    IncPriceGreaterThanOrEqualTo: number;
    IncPriceGreaterThan: number;
    IncPriceLessThan: number;
    IncPriceLessThanOrEqualTo: number;
    IncPriceNotEqualTo: number;
    IncPriceBetween: number[];
    IncPriceIn: number[];
    LineTotal: number;
    LineTotalGreaterThanOrEqualTo: number;
    LineTotalGreaterThan: number;
    LineTotalLessThan: number;
    LineTotalLessThanOrEqualTo: number;
    LineTotalNotEqualTo: number;
    LineTotalBetween: number[];
    LineTotalIn: number[];
    FxDecimalPlaces: number;
    FxDecimalPlacesGreaterThanOrEqualTo: number;
    FxDecimalPlacesGreaterThan: number;
    FxDecimalPlacesLessThan: number;
    FxDecimalPlacesLessThanOrEqualTo: number;
    FxDecimalPlacesNotEqualTo: number;
    FxDecimalPlacesBetween: number[];
    FxDecimalPlacesIn: number[];
    AUDDecimalPlaces: number;
    AUDDecimalPlacesGreaterThanOrEqualTo: number;
    AUDDecimalPlacesGreaterThan: number;
    AUDDecimalPlacesLessThan: number;
    AUDDecimalPlacesLessThanOrEqualTo: number;
    AUDDecimalPlacesNotEqualTo: number;
    AUDDecimalPlacesBetween: number[];
    AUDDecimalPlacesIn: number[];
    FxTotal: number;
    FxTotalGreaterThanOrEqualTo: number;
    FxTotalGreaterThan: number;
    FxTotalLessThan: number;
    FxTotalLessThanOrEqualTo: number;
    FxTotalNotEqualTo: number;
    FxTotalBetween: number[];
    FxTotalIn: number[];
    IN_SupplierWarehouse_RecID: string;
    IN_SupplierWarehouse_RecIDStartsWith: string;
    IN_SupplierWarehouse_RecIDEndsWith: string;
    IN_SupplierWarehouse_RecIDContains: string;
    IN_SupplierWarehouse_RecIDLike: string;
    IN_SupplierWarehouse_RecIDBetween: string[];
    IN_SupplierWarehouse_RecIDIn: string[];
    Unit: string;
    UnitStartsWith: string;
    UnitEndsWith: string;
    UnitContains: string;
    UnitLike: string;
    UnitBetween: string[];
    UnitIn: string[];
    UserDefinedDate3: string;
    UserDefinedDate3GreaterThanOrEqualTo: string;
    UserDefinedDate3GreaterThan: string;
    UserDefinedDate3LessThan: string;
    UserDefinedDate3LessThanOrEqualTo: string;
    UserDefinedDate3NotEqualTo: string;
    UserDefinedDate3Between: string[];
    UserDefinedDate3In: string[];
    UserDefinedString1: string;
    UserDefinedString1StartsWith: string;
    UserDefinedString1EndsWith: string;
    UserDefinedString1Contains: string;
    UserDefinedString1Like: string;
    UserDefinedString1Between: string[];
    UserDefinedString1In: string[];
    UserDefinedString2: string;
    UserDefinedString2StartsWith: string;
    UserDefinedString2EndsWith: string;
    UserDefinedString2Contains: string;
    UserDefinedString2Like: string;
    UserDefinedString2Between: string[];
    UserDefinedString2In: string[];
    UserDefinedString3: string;
    UserDefinedString3StartsWith: string;
    UserDefinedString3EndsWith: string;
    UserDefinedString3Contains: string;
    UserDefinedString3Like: string;
    UserDefinedString3Between: string[];
    UserDefinedString3In: string[];
    UserDefinedFloat1: number;
    UserDefinedFloat1GreaterThanOrEqualTo: number;
    UserDefinedFloat1GreaterThan: number;
    UserDefinedFloat1LessThan: number;
    UserDefinedFloat1LessThanOrEqualTo: number;
    UserDefinedFloat1NotEqualTo: number;
    UserDefinedFloat1Between: number[];
    UserDefinedFloat1In: number[];
    UserDefinedFloat2: number;
    UserDefinedFloat2GreaterThanOrEqualTo: number;
    UserDefinedFloat2GreaterThan: number;
    UserDefinedFloat2LessThan: number;
    UserDefinedFloat2LessThanOrEqualTo: number;
    UserDefinedFloat2NotEqualTo: number;
    UserDefinedFloat2Between: number[];
    UserDefinedFloat2In: number[];
    UserDefinedFloat3: number;
    UserDefinedFloat3GreaterThanOrEqualTo: number;
    UserDefinedFloat3GreaterThan: number;
    UserDefinedFloat3LessThan: number;
    UserDefinedFloat3LessThanOrEqualTo: number;
    UserDefinedFloat3NotEqualTo: number;
    UserDefinedFloat3Between: number[];
    UserDefinedFloat3In: number[];
    UserDefinedDate1: string;
    UserDefinedDate1GreaterThanOrEqualTo: string;
    UserDefinedDate1GreaterThan: string;
    UserDefinedDate1LessThan: string;
    UserDefinedDate1LessThanOrEqualTo: string;
    UserDefinedDate1NotEqualTo: string;
    UserDefinedDate1Between: string[];
    UserDefinedDate1In: string[];
    UserDefinedDate2: string;
    UserDefinedDate2GreaterThanOrEqualTo: string;
    UserDefinedDate2GreaterThan: string;
    UserDefinedDate2LessThan: string;
    UserDefinedDate2LessThanOrEqualTo: string;
    UserDefinedDate2NotEqualTo: string;
    UserDefinedDate2Between: string[];
    UserDefinedDate2In: string[];
    SM_Task_RecID: string;
    SM_Task_RecIDStartsWith: string;
    SM_Task_RecIDEndsWith: string;
    SM_Task_RecIDContains: string;
    SM_Task_RecIDLike: string;
    SM_Task_RecIDBetween: string[];
    SM_Task_RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    LineTotalExTax: number;
    LineTotalExTaxGreaterThanOrEqualTo: number;
    LineTotalExTaxGreaterThan: number;
    LineTotalExTaxLessThan: number;
    LineTotalExTaxLessThanOrEqualTo: number;
    LineTotalExTaxNotEqualTo: number;
    LineTotalExTaxBetween: number[];
    LineTotalExTaxIn: number[];
    IN_UnitOfMeasure_RecID: string;
    IN_UnitOfMeasure_RecIDIn: string[];
    UnitChanged: boolean;
    FXChanged: boolean;
    ExChanged: boolean;
    TaxRateChanged: boolean;
    createResponse() { return new QueryResponse<PO_Lines>(); }
    getTypeName() { return "PO_LinesQuery"; }
}

// @Route("/Queries/PO_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_MainQuery extends QueryDb<PO_Main> implements IReturn<QueryResponse<PO_Main>>
{
    OrderID: string;
    OrderIDStartsWith: string;
    OrderIDEndsWith: string;
    OrderIDContains: string;
    OrderIDLike: string;
    OrderIDBetween: string[];
    OrderIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    OrderedDate: string;
    OrderedDateGreaterThanOrEqualTo: string;
    OrderedDateGreaterThan: string;
    OrderedDateLessThan: string;
    OrderedDateLessThanOrEqualTo: string;
    OrderedDateNotEqualTo: string;
    OrderedDateBetween: string[];
    OrderedDateIn: string[];
    Header1: string;
    Header1StartsWith: string;
    Header1EndsWith: string;
    Header1Contains: string;
    Header1Like: string;
    Header1Between: string[];
    Header1In: string[];
    Header2: string;
    Header2StartsWith: string;
    Header2EndsWith: string;
    Header2Contains: string;
    Header2Like: string;
    Header2Between: string[];
    Header2In: string[];
    Header5: string;
    Header5StartsWith: string;
    Header5EndsWith: string;
    Header5Contains: string;
    Header5Like: string;
    Header5Between: string[];
    Header5In: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    OrderType: number;
    OrderTypeGreaterThanOrEqualTo: number;
    OrderTypeGreaterThan: number;
    OrderTypeLessThan: number;
    OrderTypeLessThanOrEqualTo: number;
    OrderTypeNotEqualTo: number;
    OrderTypeBetween: number[];
    OrderTypeIn: number[];
    OrderTypeInvID: string;
    OrderTypeInvIDStartsWith: string;
    OrderTypeInvIDEndsWith: string;
    OrderTypeInvIDContains: string;
    OrderTypeInvIDLike: string;
    OrderTypeInvIDBetween: string[];
    OrderTypeInvIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    OrderSupplierType: number;
    OrderSupplierTypeGreaterThanOrEqualTo: number;
    OrderSupplierTypeGreaterThan: number;
    OrderSupplierTypeLessThan: number;
    OrderSupplierTypeLessThanOrEqualTo: number;
    OrderSupplierTypeNotEqualTo: number;
    OrderSupplierTypeBetween: number[];
    OrderSupplierTypeIn: number[];
    CentralWarehouseID: string;
    CentralWarehouseIDStartsWith: string;
    CentralWarehouseIDEndsWith: string;
    CentralWarehouseIDContains: string;
    CentralWarehouseIDLike: string;
    CentralWarehouseIDBetween: string[];
    CentralWarehouseIDIn: string[];
    TaxTotal: number;
    TaxTotalGreaterThanOrEqualTo: number;
    TaxTotalGreaterThan: number;
    TaxTotalLessThan: number;
    TaxTotalLessThanOrEqualTo: number;
    TaxTotalNotEqualTo: number;
    TaxTotalBetween: number[];
    TaxTotalIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    InTransitWarehouseID: string;
    InTransitWarehouseIDStartsWith: string;
    InTransitWarehouseIDEndsWith: string;
    InTransitWarehouseIDContains: string;
    InTransitWarehouseIDLike: string;
    InTransitWarehouseIDBetween: string[];
    InTransitWarehouseIDIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    PO_Workflows_RecID: string;
    PO_Workflows_RecIDStartsWith: string;
    PO_Workflows_RecIDEndsWith: string;
    PO_Workflows_RecIDContains: string;
    PO_Workflows_RecIDLike: string;
    PO_Workflows_RecIDBetween: string[];
    PO_Workflows_RecIDIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    CR_Warehouse_WarehouseID: string;
    CR_Warehouse_WarehouseIDStartsWith: string;
    CR_Warehouse_WarehouseIDEndsWith: string;
    CR_Warehouse_WarehouseIDContains: string;
    CR_Warehouse_WarehouseIDLike: string;
    CR_Warehouse_WarehouseIDBetween: string[];
    CR_Warehouse_WarehouseIDIn: string[];
    Freight: number;
    FreightGreaterThanOrEqualTo: number;
    FreightGreaterThan: number;
    FreightLessThan: number;
    FreightLessThanOrEqualTo: number;
    FreightNotEqualTo: number;
    FreightBetween: number[];
    FreightIn: number[];
    Duty: number;
    DutyGreaterThanOrEqualTo: number;
    DutyGreaterThan: number;
    DutyLessThan: number;
    DutyLessThanOrEqualTo: number;
    DutyNotEqualTo: number;
    DutyBetween: number[];
    DutyIn: number[];
    Insurance: number;
    InsuranceGreaterThanOrEqualTo: number;
    InsuranceGreaterThan: number;
    InsuranceLessThan: number;
    InsuranceLessThanOrEqualTo: number;
    InsuranceNotEqualTo: number;
    InsuranceBetween: number[];
    InsuranceIn: number[];
    FreightTaxID: string;
    FreightTaxIDStartsWith: string;
    FreightTaxIDEndsWith: string;
    FreightTaxIDContains: string;
    FreightTaxIDLike: string;
    FreightTaxIDBetween: string[];
    FreightTaxIDIn: string[];
    FreightTaxRate: number;
    FreightTaxRateGreaterThanOrEqualTo: number;
    FreightTaxRateGreaterThan: number;
    FreightTaxRateLessThan: number;
    FreightTaxRateLessThanOrEqualTo: number;
    FreightTaxRateNotEqualTo: number;
    FreightTaxRateBetween: number[];
    FreightTaxRateIn: number[];
    FreightTaxAmount: number;
    FreightTaxAmountGreaterThanOrEqualTo: number;
    FreightTaxAmountGreaterThan: number;
    FreightTaxAmountLessThan: number;
    FreightTaxAmountLessThanOrEqualTo: number;
    FreightTaxAmountNotEqualTo: number;
    FreightTaxAmountBetween: number[];
    FreightTaxAmountIn: number[];
    DutyTaxID: string;
    DutyTaxIDStartsWith: string;
    DutyTaxIDEndsWith: string;
    DutyTaxIDContains: string;
    DutyTaxIDLike: string;
    DutyTaxIDBetween: string[];
    DutyTaxIDIn: string[];
    DutyTaxRate: number;
    DutyTaxRateGreaterThanOrEqualTo: number;
    DutyTaxRateGreaterThan: number;
    DutyTaxRateLessThan: number;
    DutyTaxRateLessThanOrEqualTo: number;
    DutyTaxRateNotEqualTo: number;
    DutyTaxRateBetween: number[];
    DutyTaxRateIn: number[];
    DutyTaxAmount: number;
    DutyTaxAmountGreaterThanOrEqualTo: number;
    DutyTaxAmountGreaterThan: number;
    DutyTaxAmountLessThan: number;
    DutyTaxAmountLessThanOrEqualTo: number;
    DutyTaxAmountNotEqualTo: number;
    DutyTaxAmountBetween: number[];
    DutyTaxAmountIn: number[];
    InsuranceTaxID: string;
    InsuranceTaxIDStartsWith: string;
    InsuranceTaxIDEndsWith: string;
    InsuranceTaxIDContains: string;
    InsuranceTaxIDLike: string;
    InsuranceTaxIDBetween: string[];
    InsuranceTaxIDIn: string[];
    InsuranceTaxRate: number;
    InsuranceTaxRateGreaterThanOrEqualTo: number;
    InsuranceTaxRateGreaterThan: number;
    InsuranceTaxRateLessThan: number;
    InsuranceTaxRateLessThanOrEqualTo: number;
    InsuranceTaxRateNotEqualTo: number;
    InsuranceTaxRateBetween: number[];
    InsuranceTaxRateIn: number[];
    InsuranceTaxAmount: number;
    InsuranceTaxAmountGreaterThanOrEqualTo: number;
    InsuranceTaxAmountGreaterThan: number;
    InsuranceTaxAmountLessThan: number;
    InsuranceTaxAmountLessThanOrEqualTo: number;
    InsuranceTaxAmountNotEqualTo: number;
    InsuranceTaxAmountBetween: number[];
    InsuranceTaxAmountIn: number[];
    createResponse() { return new QueryResponse<PO_Main>(); }
    getTypeName() { return "PO_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_NotesQuery extends QueryDb<PO_Notes> implements IReturn<QueryResponse<PO_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PurchaseOrderID: string;
    PurchaseOrderIDStartsWith: string;
    PurchaseOrderIDEndsWith: string;
    PurchaseOrderIDContains: string;
    PurchaseOrderIDLike: string;
    PurchaseOrderIDBetween: string[];
    PurchaseOrderIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ReminderFlag: boolean;
    ReminderDueDate: string;
    ReminderDueDateGreaterThanOrEqualTo: string;
    ReminderDueDateGreaterThan: string;
    ReminderDueDateLessThan: string;
    ReminderDueDateLessThanOrEqualTo: string;
    ReminderDueDateNotEqualTo: string;
    ReminderDueDateBetween: string[];
    ReminderDueDateIn: string[];
    ReminderStaffID: string;
    ReminderStaffIDStartsWith: string;
    ReminderStaffIDEndsWith: string;
    ReminderStaffIDContains: string;
    ReminderStaffIDLike: string;
    ReminderStaffIDBetween: string[];
    ReminderStaffIDIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<PO_Notes>(); }
    getTypeName() { return "PO_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_OrderQtyQuery extends QueryDb<PO_OrderQty> implements IReturn<QueryResponse<PO_OrderQty>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    Delivered: number;
    DeliveredGreaterThanOrEqualTo: number;
    DeliveredGreaterThan: number;
    DeliveredLessThan: number;
    DeliveredLessThanOrEqualTo: number;
    DeliveredNotEqualTo: number;
    DeliveredBetween: number[];
    DeliveredIn: number[];
    createResponse() { return new QueryResponse<PO_OrderQty>(); }
    getTypeName() { return "PO_OrderQtyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_ShippingAddressQuery extends QueryDb<PO_ShippingAddress> implements IReturn<QueryResponse<PO_ShippingAddress>>
{
    OrderID: string;
    OrderIDStartsWith: string;
    OrderIDEndsWith: string;
    OrderIDContains: string;
    OrderIDLike: string;
    OrderIDBetween: string[];
    OrderIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AddressLine1: string;
    AddressLine1StartsWith: string;
    AddressLine1EndsWith: string;
    AddressLine1Contains: string;
    AddressLine1Like: string;
    AddressLine1Between: string[];
    AddressLine1In: string[];
    AddressLine2: string;
    AddressLine2StartsWith: string;
    AddressLine2EndsWith: string;
    AddressLine2Contains: string;
    AddressLine2Like: string;
    AddressLine2Between: string[];
    AddressLine2In: string[];
    AddressLine3: string;
    AddressLine3StartsWith: string;
    AddressLine3EndsWith: string;
    AddressLine3Contains: string;
    AddressLine3Like: string;
    AddressLine3Between: string[];
    AddressLine3In: string[];
    AddressLine4: string;
    AddressLine4StartsWith: string;
    AddressLine4EndsWith: string;
    AddressLine4Contains: string;
    AddressLine4Like: string;
    AddressLine4Between: string[];
    AddressLine4In: string[];
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    Postcode: string;
    PostcodeStartsWith: string;
    PostcodeEndsWith: string;
    PostcodeContains: string;
    PostcodeLike: string;
    PostcodeBetween: string[];
    PostcodeIn: string[];
    ContactName: string;
    ContactNameStartsWith: string;
    ContactNameEndsWith: string;
    ContactNameContains: string;
    ContactNameLike: string;
    ContactNameBetween: string[];
    ContactNameIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    Spare1: string;
    Spare1StartsWith: string;
    Spare1EndsWith: string;
    Spare1Contains: string;
    Spare1Like: string;
    Spare1Between: string[];
    Spare1In: string[];
    Spare2: string;
    Spare2StartsWith: string;
    Spare2EndsWith: string;
    Spare2Contains: string;
    Spare2Like: string;
    Spare2Between: string[];
    Spare2In: string[];
    Spare3: string;
    Spare3StartsWith: string;
    Spare3EndsWith: string;
    Spare3Contains: string;
    Spare3Like: string;
    Spare3Between: string[];
    Spare3In: string[];
    Spare4: string;
    Spare4StartsWith: string;
    Spare4EndsWith: string;
    Spare4Contains: string;
    Spare4Like: string;
    Spare4Between: string[];
    Spare4In: string[];
    Spare5: string;
    Spare5StartsWith: string;
    Spare5EndsWith: string;
    Spare5Contains: string;
    Spare5Like: string;
    Spare5Between: string[];
    Spare5In: string[];
    createResponse() { return new QueryResponse<PO_ShippingAddress>(); }
    getTypeName() { return "PO_ShippingAddressQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_WorkflowLinesQuery extends QueryDb<PO_WorkflowLines> implements IReturn<QueryResponse<PO_WorkflowLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PO_Workflows_RecID: string;
    PO_Workflows_RecIDStartsWith: string;
    PO_Workflows_RecIDEndsWith: string;
    PO_Workflows_RecIDContains: string;
    PO_Workflows_RecIDLike: string;
    PO_Workflows_RecIDBetween: string[];
    PO_Workflows_RecIDIn: string[];
    StatusValue: number;
    StatusValueGreaterThanOrEqualTo: number;
    StatusValueGreaterThan: number;
    StatusValueLessThan: number;
    StatusValueLessThanOrEqualTo: number;
    StatusValueNotEqualTo: number;
    StatusValueBetween: number[];
    StatusValueIn: number[];
    NextStatusValue: number;
    NextStatusValueGreaterThanOrEqualTo: number;
    NextStatusValueGreaterThan: number;
    NextStatusValueLessThan: number;
    NextStatusValueLessThanOrEqualTo: number;
    NextStatusValueNotEqualTo: number;
    NextStatusValueBetween: number[];
    NextStatusValueIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<PO_WorkflowLines>(); }
    getTypeName() { return "PO_WorkflowLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PO_WorkflowsQuery extends QueryDb<PO_Workflows> implements IReturn<QueryResponse<PO_Workflows>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<PO_Workflows>(); }
    getTypeName() { return "PO_WorkflowsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class PR_ClassificationPricingQuery extends QueryDb<PR_ClassificationPricing> implements IReturn<QueryResponse<PR_ClassificationPricing>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DB_Classification_RecID: string;
    DB_Classification_RecIDStartsWith: string;
    DB_Classification_RecIDEndsWith: string;
    DB_Classification_RecIDContains: string;
    DB_Classification_RecIDLike: string;
    DB_Classification_RecIDBetween: string[];
    DB_Classification_RecIDIn: string[];
    IN_Classification_RecID: string;
    IN_Classification_RecIDStartsWith: string;
    IN_Classification_RecIDEndsWith: string;
    IN_Classification_RecIDContains: string;
    IN_Classification_RecIDLike: string;
    IN_Classification_RecIDBetween: string[];
    IN_Classification_RecIDIn: string[];
    Source: number;
    SourceGreaterThanOrEqualTo: number;
    SourceGreaterThan: number;
    SourceLessThan: number;
    SourceLessThanOrEqualTo: number;
    SourceNotEqualTo: number;
    SourceBetween: Uint8Array;
    SourceIn: Uint8Array;
    Mode: number;
    ModeGreaterThanOrEqualTo: number;
    ModeGreaterThan: number;
    ModeLessThan: number;
    ModeLessThanOrEqualTo: number;
    ModeNotEqualTo: number;
    ModeBetween: Uint8Array;
    ModeIn: Uint8Array;
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    EndDate: string;
    EndDateGreaterThanOrEqualTo: string;
    EndDateGreaterThan: string;
    EndDateLessThan: string;
    EndDateLessThanOrEqualTo: string;
    EndDateNotEqualTo: string;
    EndDateBetween: string[];
    EndDateIn: string[];
    UseQuantityBreak: boolean;
    QuantityBreak: number;
    QuantityBreakGreaterThanOrEqualTo: number;
    QuantityBreakGreaterThan: number;
    QuantityBreakLessThan: number;
    QuantityBreakLessThanOrEqualTo: number;
    QuantityBreakNotEqualTo: number;
    QuantityBreakBetween: number[];
    QuantityBreakIn: number[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<PR_ClassificationPricing>(); }
    getTypeName() { return "PR_ClassificationPricingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_ActivateBatchQuery extends QueryDb<QO_ActivateBatch> implements IReturn<QueryResponse<QO_ActivateBatch>>
{
    BatchID: string;
    BatchIDStartsWith: string;
    BatchIDEndsWith: string;
    BatchIDContains: string;
    BatchIDLike: string;
    BatchIDBetween: string[];
    BatchIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    BatchDateTime: string;
    BatchDateTimeGreaterThanOrEqualTo: string;
    BatchDateTimeGreaterThan: string;
    BatchDateTimeLessThan: string;
    BatchDateTimeLessThanOrEqualTo: string;
    BatchDateTimeNotEqualTo: string;
    BatchDateTimeBetween: string[];
    BatchDateTimeIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    createResponse() { return new QueryResponse<QO_ActivateBatch>(); }
    getTypeName() { return "QO_ActivateBatchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_ActivateBatchLinesQuery extends QueryDb<QO_ActivateBatchLines> implements IReturn<QueryResponse<QO_ActivateBatchLines>>
{
    BatchLineID: string;
    BatchLineIDStartsWith: string;
    BatchLineIDEndsWith: string;
    BatchLineIDContains: string;
    BatchLineIDLike: string;
    BatchLineIDBetween: string[];
    BatchLineIDIn: string[];
    BatchID: string;
    BatchIDStartsWith: string;
    BatchIDEndsWith: string;
    BatchIDContains: string;
    BatchIDLike: string;
    BatchIDBetween: string[];
    BatchIDIn: string[];
    DestInvoiceID: string;
    DestInvoiceIDStartsWith: string;
    DestInvoiceIDEndsWith: string;
    DestInvoiceIDContains: string;
    DestInvoiceIDLike: string;
    DestInvoiceIDBetween: string[];
    DestInvoiceIDIn: string[];
    DestInvoiceNo: string;
    DestInvoiceNoStartsWith: string;
    DestInvoiceNoEndsWith: string;
    DestInvoiceNoContains: string;
    DestInvoiceNoLike: string;
    DestInvoiceNoBetween: string[];
    DestInvoiceNoIn: string[];
    SourceQuoteID: string;
    SourceQuoteIDStartsWith: string;
    SourceQuoteIDEndsWith: string;
    SourceQuoteIDContains: string;
    SourceQuoteIDLike: string;
    SourceQuoteIDBetween: string[];
    SourceQuoteIDIn: string[];
    SourceQuoteNo: string;
    SourceQuoteNoStartsWith: string;
    SourceQuoteNoEndsWith: string;
    SourceQuoteNoContains: string;
    SourceQuoteNoLike: string;
    SourceQuoteNoBetween: string[];
    SourceQuoteNoIn: string[];
    SourceQuoteHistoryID: string;
    SourceQuoteHistoryIDStartsWith: string;
    SourceQuoteHistoryIDEndsWith: string;
    SourceQuoteHistoryIDContains: string;
    SourceQuoteHistoryIDLike: string;
    SourceQuoteHistoryIDBetween: string[];
    SourceQuoteHistoryIDIn: string[];
    SourceQuoteHistoryNo: number;
    SourceQuoteHistoryNoGreaterThanOrEqualTo: number;
    SourceQuoteHistoryNoGreaterThan: number;
    SourceQuoteHistoryNoLessThan: number;
    SourceQuoteHistoryNoLessThanOrEqualTo: number;
    SourceQuoteHistoryNoNotEqualTo: number;
    SourceQuoteHistoryNoBetween: number[];
    SourceQuoteHistoryNoIn: number[];
    SourceQuoteTotal: number;
    SourceQuoteTotalGreaterThanOrEqualTo: number;
    SourceQuoteTotalGreaterThan: number;
    SourceQuoteTotalLessThan: number;
    SourceQuoteTotalLessThanOrEqualTo: number;
    SourceQuoteTotalNotEqualTo: number;
    SourceQuoteTotalBetween: number[];
    SourceQuoteTotalIn: number[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    QuoteInitDate: string;
    QuoteInitDateGreaterThanOrEqualTo: string;
    QuoteInitDateGreaterThan: string;
    QuoteInitDateLessThan: string;
    QuoteInitDateLessThanOrEqualTo: string;
    QuoteInitDateNotEqualTo: string;
    QuoteInitDateBetween: string[];
    QuoteInitDateIn: string[];
    NextActivateDate: string;
    NextActivateDateGreaterThanOrEqualTo: string;
    NextActivateDateGreaterThan: string;
    NextActivateDateLessThan: string;
    NextActivateDateLessThanOrEqualTo: string;
    NextActivateDateNotEqualTo: string;
    NextActivateDateBetween: string[];
    NextActivateDateIn: string[];
    Failed: boolean;
    FailReason: string;
    FailReasonStartsWith: string;
    FailReasonEndsWith: string;
    FailReasonContains: string;
    FailReasonLike: string;
    FailReasonBetween: string[];
    FailReasonIn: string[];
    DocType: number;
    DocTypeGreaterThanOrEqualTo: number;
    DocTypeGreaterThan: number;
    DocTypeLessThan: number;
    DocTypeLessThanOrEqualTo: number;
    DocTypeNotEqualTo: number;
    DocTypeBetween: number[];
    DocTypeIn: number[];
    createResponse() { return new QueryResponse<QO_ActivateBatchLines>(); }
    getTypeName() { return "QO_ActivateBatchLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_CashSaleQuery extends QueryDb<QO_CashSale> implements IReturn<QueryResponse<QO_CashSale>>
{
    InvoiceCashSaleID: string;
    InvoiceCashSaleIDStartsWith: string;
    InvoiceCashSaleIDEndsWith: string;
    InvoiceCashSaleIDContains: string;
    InvoiceCashSaleIDLike: string;
    InvoiceCashSaleIDBetween: string[];
    InvoiceCashSaleIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Company: string;
    CompanyStartsWith: string;
    CompanyEndsWith: string;
    CompanyContains: string;
    CompanyLike: string;
    CompanyBetween: string[];
    CompanyIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    ContactName: string;
    ContactNameStartsWith: string;
    ContactNameEndsWith: string;
    ContactNameContains: string;
    ContactNameLike: string;
    ContactNameBetween: string[];
    ContactNameIn: string[];
    createResponse() { return new QueryResponse<QO_CashSale>(); }
    getTypeName() { return "QO_CashSaleQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_CustomSettingQuery extends QueryDb<QO_CustomSetting> implements IReturn<QueryResponse<QO_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<QO_CustomSetting>(); }
    getTypeName() { return "QO_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_CustomSettingValuesQuery extends QueryDb<QO_CustomSettingValues> implements IReturn<QueryResponse<QO_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    QuoteID: string;
    QuoteIDStartsWith: string;
    QuoteIDEndsWith: string;
    QuoteIDContains: string;
    QuoteIDLike: string;
    QuoteIDBetween: string[];
    QuoteIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<QO_CustomSettingValues>(); }
    getTypeName() { return "QO_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_DocumentsQuery extends QueryDb<QO_Documents> implements IReturn<QueryResponse<QO_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<QO_Documents>(); }
    getTypeName() { return "QO_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_EmailLogQuery extends QueryDb<QO_EmailLog> implements IReturn<QueryResponse<QO_EmailLog>>
{
    EmailLogID: string;
    EmailLogIDStartsWith: string;
    EmailLogIDEndsWith: string;
    EmailLogIDContains: string;
    EmailLogIDLike: string;
    EmailLogIDBetween: string[];
    EmailLogIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    EmailDateTime: string;
    EmailDateTimeGreaterThanOrEqualTo: string;
    EmailDateTimeGreaterThan: string;
    EmailDateTimeLessThan: string;
    EmailDateTimeLessThanOrEqualTo: string;
    EmailDateTimeNotEqualTo: string;
    EmailDateTimeBetween: string[];
    EmailDateTimeIn: string[];
    From: string;
    FromStartsWith: string;
    FromEndsWith: string;
    FromContains: string;
    FromLike: string;
    FromBetween: string[];
    FromIn: string[];
    To: string;
    ToStartsWith: string;
    ToEndsWith: string;
    ToContains: string;
    ToLike: string;
    ToBetween: string[];
    ToIn: string[];
    CC: string;
    CCStartsWith: string;
    CCEndsWith: string;
    CCContains: string;
    CCLike: string;
    CCBetween: string[];
    CCIn: string[];
    BCC: string;
    BCCStartsWith: string;
    BCCEndsWith: string;
    BCCContains: string;
    BCCLike: string;
    BCCBetween: string[];
    BCCIn: string[];
    Attachments: string;
    AttachmentsStartsWith: string;
    AttachmentsEndsWith: string;
    AttachmentsContains: string;
    AttachmentsLike: string;
    AttachmentsBetween: string[];
    AttachmentsIn: string[];
    FileID: string;
    FileIDStartsWith: string;
    FileIDEndsWith: string;
    FileIDContains: string;
    FileIDLike: string;
    FileIDBetween: string[];
    FileIDIn: string[];
    Subject: string;
    SubjectStartsWith: string;
    SubjectEndsWith: string;
    SubjectContains: string;
    SubjectLike: string;
    SubjectBetween: string[];
    SubjectIn: string[];
    Body: string;
    BodyStartsWith: string;
    BodyEndsWith: string;
    BodyContains: string;
    BodyLike: string;
    BodyBetween: string[];
    BodyIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    EM_Main_RecID: string;
    EM_Main_RecIDStartsWith: string;
    EM_Main_RecIDEndsWith: string;
    EM_Main_RecIDContains: string;
    EM_Main_RecIDLike: string;
    EM_Main_RecIDBetween: string[];
    EM_Main_RecIDIn: string[];
    RequestReadReceipt: boolean;
    createResponse() { return new QueryResponse<QO_EmailLog>(); }
    getTypeName() { return "QO_EmailLogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_HistoryQuery extends QueryDb<QO_History> implements IReturn<QueryResponse<QO_History>>
{
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    LastModifiedBy: string;
    LastModifiedByStartsWith: string;
    LastModifiedByEndsWith: string;
    LastModifiedByContains: string;
    LastModifiedByLike: string;
    LastModifiedByBetween: string[];
    LastModifiedByIn: string[];
    RecordDate: string;
    RecordDateGreaterThanOrEqualTo: string;
    RecordDateGreaterThan: string;
    RecordDateLessThan: string;
    RecordDateLessThanOrEqualTo: string;
    RecordDateNotEqualTo: string;
    RecordDateBetween: string[];
    RecordDateIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    HistoryNo: number;
    HistoryNoGreaterThanOrEqualTo: number;
    HistoryNoGreaterThan: number;
    HistoryNoLessThan: number;
    HistoryNoLessThanOrEqualTo: number;
    HistoryNoNotEqualTo: number;
    HistoryNoBetween: number[];
    HistoryNoIn: number[];
    HistoryTotal: number;
    HistoryTotalGreaterThanOrEqualTo: number;
    HistoryTotalGreaterThan: number;
    HistoryTotalLessThan: number;
    HistoryTotalLessThanOrEqualTo: number;
    HistoryTotalNotEqualTo: number;
    HistoryTotalBetween: number[];
    HistoryTotalIn: number[];
    DocketPrinted: boolean;
    DelAddress1: string;
    DelAddress1StartsWith: string;
    DelAddress1EndsWith: string;
    DelAddress1Contains: string;
    DelAddress1Like: string;
    DelAddress1Between: string[];
    DelAddress1In: string[];
    DelAddress2: string;
    DelAddress2StartsWith: string;
    DelAddress2EndsWith: string;
    DelAddress2Contains: string;
    DelAddress2Like: string;
    DelAddress2Between: string[];
    DelAddress2In: string[];
    DelAddress3: string;
    DelAddress3StartsWith: string;
    DelAddress3EndsWith: string;
    DelAddress3Contains: string;
    DelAddress3Like: string;
    DelAddress3Between: string[];
    DelAddress3In: string[];
    DelAddress4: string;
    DelAddress4StartsWith: string;
    DelAddress4EndsWith: string;
    DelAddress4Contains: string;
    DelAddress4Like: string;
    DelAddress4Between: string[];
    DelAddress4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    CourierDetails: string;
    CourierDetailsStartsWith: string;
    CourierDetailsEndsWith: string;
    CourierDetailsContains: string;
    CourierDetailsLike: string;
    CourierDetailsBetween: string[];
    CourierDetailsIn: string[];
    InvoicePrinted: boolean;
    CartageCharge1: number;
    CartageCharge1GreaterThanOrEqualTo: number;
    CartageCharge1GreaterThan: number;
    CartageCharge1LessThan: number;
    CartageCharge1LessThanOrEqualTo: number;
    CartageCharge1NotEqualTo: number;
    CartageCharge1Between: number[];
    CartageCharge1In: number[];
    CartageCharge2: number;
    CartageCharge2GreaterThanOrEqualTo: number;
    CartageCharge2GreaterThan: number;
    CartageCharge2LessThan: number;
    CartageCharge2LessThanOrEqualTo: number;
    CartageCharge2NotEqualTo: number;
    CartageCharge2Between: number[];
    CartageCharge2In: number[];
    CartageCharge3: number;
    CartageCharge3GreaterThanOrEqualTo: number;
    CartageCharge3GreaterThan: number;
    CartageCharge3LessThan: number;
    CartageCharge3LessThanOrEqualTo: number;
    CartageCharge3NotEqualTo: number;
    CartageCharge3Between: number[];
    CartageCharge3In: number[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    Cartage1TaxRateID: string;
    Cartage1TaxRateIDStartsWith: string;
    Cartage1TaxRateIDEndsWith: string;
    Cartage1TaxRateIDContains: string;
    Cartage1TaxRateIDLike: string;
    Cartage1TaxRateIDBetween: string[];
    Cartage1TaxRateIDIn: string[];
    Cartage1TaxRate: number;
    Cartage1TaxRateGreaterThanOrEqualTo: number;
    Cartage1TaxRateGreaterThan: number;
    Cartage1TaxRateLessThan: number;
    Cartage1TaxRateLessThanOrEqualTo: number;
    Cartage1TaxRateNotEqualTo: number;
    Cartage1TaxRateBetween: number[];
    Cartage1TaxRateIn: number[];
    Cartage1TaxAmount: number;
    Cartage1TaxAmountGreaterThanOrEqualTo: number;
    Cartage1TaxAmountGreaterThan: number;
    Cartage1TaxAmountLessThan: number;
    Cartage1TaxAmountLessThanOrEqualTo: number;
    Cartage1TaxAmountNotEqualTo: number;
    Cartage1TaxAmountBetween: number[];
    Cartage1TaxAmountIn: number[];
    Cartage2TaxRateID: string;
    Cartage2TaxRateIDStartsWith: string;
    Cartage2TaxRateIDEndsWith: string;
    Cartage2TaxRateIDContains: string;
    Cartage2TaxRateIDLike: string;
    Cartage2TaxRateIDBetween: string[];
    Cartage2TaxRateIDIn: string[];
    Cartage2TaxRate: number;
    Cartage2TaxRateGreaterThanOrEqualTo: number;
    Cartage2TaxRateGreaterThan: number;
    Cartage2TaxRateLessThan: number;
    Cartage2TaxRateLessThanOrEqualTo: number;
    Cartage2TaxRateNotEqualTo: number;
    Cartage2TaxRateBetween: number[];
    Cartage2TaxRateIn: number[];
    Cartage2TaxAmount: number;
    Cartage2TaxAmountGreaterThanOrEqualTo: number;
    Cartage2TaxAmountGreaterThan: number;
    Cartage2TaxAmountLessThan: number;
    Cartage2TaxAmountLessThanOrEqualTo: number;
    Cartage2TaxAmountNotEqualTo: number;
    Cartage2TaxAmountBetween: number[];
    Cartage2TaxAmountIn: number[];
    Cartage3TaxRateID: string;
    Cartage3TaxRateIDStartsWith: string;
    Cartage3TaxRateIDEndsWith: string;
    Cartage3TaxRateIDContains: string;
    Cartage3TaxRateIDLike: string;
    Cartage3TaxRateIDBetween: string[];
    Cartage3TaxRateIDIn: string[];
    Cartage3TaxRate: number;
    Cartage3TaxRateGreaterThanOrEqualTo: number;
    Cartage3TaxRateGreaterThan: number;
    Cartage3TaxRateLessThan: number;
    Cartage3TaxRateLessThanOrEqualTo: number;
    Cartage3TaxRateNotEqualTo: number;
    Cartage3TaxRateBetween: number[];
    Cartage3TaxRateIn: number[];
    Cartage3TaxAmount: number;
    Cartage3TaxAmountGreaterThanOrEqualTo: number;
    Cartage3TaxAmountGreaterThan: number;
    Cartage3TaxAmountLessThan: number;
    Cartage3TaxAmountLessThanOrEqualTo: number;
    Cartage3TaxAmountNotEqualTo: number;
    Cartage3TaxAmountBetween: number[];
    Cartage3TaxAmountIn: number[];
    DelContactName: string;
    DelContactNameStartsWith: string;
    DelContactNameEndsWith: string;
    DelContactNameContains: string;
    DelContactNameLike: string;
    DelContactNameBetween: string[];
    DelContactNameIn: string[];
    FreightForwardAddress1: string;
    FreightForwardAddress1StartsWith: string;
    FreightForwardAddress1EndsWith: string;
    FreightForwardAddress1Contains: string;
    FreightForwardAddress1Like: string;
    FreightForwardAddress1Between: string[];
    FreightForwardAddress1In: string[];
    FreightForwardAddress2: string;
    FreightForwardAddress2StartsWith: string;
    FreightForwardAddress2EndsWith: string;
    FreightForwardAddress2Contains: string;
    FreightForwardAddress2Like: string;
    FreightForwardAddress2Between: string[];
    FreightForwardAddress2In: string[];
    FreightForwardAddress3: string;
    FreightForwardAddress3StartsWith: string;
    FreightForwardAddress3EndsWith: string;
    FreightForwardAddress3Contains: string;
    FreightForwardAddress3Like: string;
    FreightForwardAddress3Between: string[];
    FreightForwardAddress3In: string[];
    FreightForwardAddress4: string;
    FreightForwardAddress4StartsWith: string;
    FreightForwardAddress4EndsWith: string;
    FreightForwardAddress4Contains: string;
    FreightForwardAddress4Like: string;
    FreightForwardAddress4Between: string[];
    FreightForwardAddress4In: string[];
    FreightForwardNotes: string;
    FreightForwardNotesStartsWith: string;
    FreightForwardNotesEndsWith: string;
    FreightForwardNotesContains: string;
    FreightForwardNotesLike: string;
    FreightForwardNotesBetween: string[];
    FreightForwardNotesIn: string[];
    ExpectedCloseDate: string;
    ExpectedCloseDateGreaterThanOrEqualTo: string;
    ExpectedCloseDateGreaterThan: string;
    ExpectedCloseDateLessThan: string;
    ExpectedCloseDateLessThanOrEqualTo: string;
    ExpectedCloseDateNotEqualTo: string;
    ExpectedCloseDateBetween: string[];
    ExpectedCloseDateIn: string[];
    OpportunityStatus: number;
    OpportunityStatusGreaterThanOrEqualTo: number;
    OpportunityStatusGreaterThan: number;
    OpportunityStatusLessThan: number;
    OpportunityStatusLessThanOrEqualTo: number;
    OpportunityStatusNotEqualTo: number;
    OpportunityStatusBetween: Uint8Array;
    OpportunityStatusIn: Uint8Array;
    SalesStageID: string;
    SalesStageIDStartsWith: string;
    SalesStageIDEndsWith: string;
    SalesStageIDContains: string;
    SalesStageIDLike: string;
    SalesStageIDBetween: string[];
    SalesStageIDIn: string[];
    OpportunityStatusReasonID: string;
    OpportunityStatusReasonIDStartsWith: string;
    OpportunityStatusReasonIDEndsWith: string;
    OpportunityStatusReasonIDContains: string;
    OpportunityStatusReasonIDLike: string;
    OpportunityStatusReasonIDBetween: string[];
    OpportunityStatusReasonIDIn: string[];
    OpportunityNote: string;
    OpportunityNoteStartsWith: string;
    OpportunityNoteEndsWith: string;
    OpportunityNoteContains: string;
    OpportunityNoteLike: string;
    OpportunityNoteBetween: string[];
    OpportunityNoteIn: string[];
    InvoiceEmailed: boolean;
    DropShipment: boolean;
    DeliveryAddressee: string;
    DeliveryAddresseeStartsWith: string;
    DeliveryAddresseeEndsWith: string;
    DeliveryAddresseeContains: string;
    DeliveryAddresseeLike: string;
    DeliveryAddresseeBetween: string[];
    DeliveryAddresseeIn: string[];
    DeliveryAddressCountry: string;
    DeliveryAddressCountryStartsWith: string;
    DeliveryAddressCountryEndsWith: string;
    DeliveryAddressCountryContains: string;
    DeliveryAddressCountryLike: string;
    DeliveryAddressCountryBetween: string[];
    DeliveryAddressCountryIn: string[];
    FreightForwardAddressCountry: string;
    FreightForwardAddressCountryStartsWith: string;
    FreightForwardAddressCountryEndsWith: string;
    FreightForwardAddressCountryContains: string;
    FreightForwardAddressCountryLike: string;
    FreightForwardAddressCountryBetween: string[];
    FreightForwardAddressCountryIn: string[];
    createResponse() { return new QueryResponse<QO_History>(); }
    getTypeName() { return "QO_HistoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_HistoryActivateQuery extends QueryDb<QO_HistoryActivate> implements IReturn<QueryResponse<QO_HistoryActivate>>
{
    QuoteActivateID: string;
    QuoteActivateIDStartsWith: string;
    QuoteActivateIDEndsWith: string;
    QuoteActivateIDContains: string;
    QuoteActivateIDLike: string;
    QuoteActivateIDBetween: string[];
    QuoteActivateIDIn: string[];
    QuoteHistoryID: string;
    QuoteHistoryIDStartsWith: string;
    QuoteHistoryIDEndsWith: string;
    QuoteHistoryIDContains: string;
    QuoteHistoryIDLike: string;
    QuoteHistoryIDBetween: string[];
    QuoteHistoryIDIn: string[];
    LastActivated: string;
    LastActivatedGreaterThanOrEqualTo: string;
    LastActivatedGreaterThan: string;
    LastActivatedLessThan: string;
    LastActivatedLessThanOrEqualTo: string;
    LastActivatedNotEqualTo: string;
    LastActivatedBetween: string[];
    LastActivatedIn: string[];
    RepeatEvery: number;
    RepeatEveryGreaterThanOrEqualTo: number;
    RepeatEveryGreaterThan: number;
    RepeatEveryLessThan: number;
    RepeatEveryLessThanOrEqualTo: number;
    RepeatEveryNotEqualTo: number;
    RepeatEveryBetween: number[];
    RepeatEveryIn: number[];
    RepeatPeriod: number;
    RepeatPeriodGreaterThanOrEqualTo: number;
    RepeatPeriodGreaterThan: number;
    RepeatPeriodLessThan: number;
    RepeatPeriodLessThanOrEqualTo: number;
    RepeatPeriodNotEqualTo: number;
    RepeatPeriodBetween: number[];
    RepeatPeriodIn: number[];
    NextActivate: string;
    NextActivateGreaterThanOrEqualTo: string;
    NextActivateGreaterThan: string;
    NextActivateLessThan: string;
    NextActivateLessThanOrEqualTo: string;
    NextActivateNotEqualTo: string;
    NextActivateBetween: string[];
    NextActivateIn: string[];
    EndingFlag: boolean;
    EndDate: string;
    EndDateGreaterThanOrEqualTo: string;
    EndDateGreaterThan: string;
    EndDateLessThan: string;
    EndDateLessThanOrEqualTo: string;
    EndDateNotEqualTo: string;
    EndDateBetween: string[];
    EndDateIn: string[];
    createResponse() { return new QueryResponse<QO_HistoryActivate>(); }
    getTypeName() { return "QO_HistoryActivateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_LineCustomFieldsQuery extends QueryDb<QO_LineCustomFields> implements IReturn<QueryResponse<QO_LineCustomFields>>
{
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<QO_LineCustomFields>(); }
    getTypeName() { return "QO_LineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_LineCustomValuesQuery extends QueryDb<QO_LineCustomValues> implements IReturn<QueryResponse<QO_LineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<QO_LineCustomValues>(); }
    getTypeName() { return "QO_LineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_LineExtraQuery extends QueryDb<QO_LineExtra> implements IReturn<QueryResponse<QO_LineExtra>>
{
    SOLineExtraRecID: string;
    SOLineExtraRecIDStartsWith: string;
    SOLineExtraRecIDEndsWith: string;
    SOLineExtraRecIDContains: string;
    SOLineExtraRecIDLike: string;
    SOLineExtraRecIDBetween: string[];
    SOLineExtraRecIDIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    LedgerReversePurchaseAccID: string;
    LedgerReversePurchaseAccIDStartsWith: string;
    LedgerReversePurchaseAccIDEndsWith: string;
    LedgerReversePurchaseAccIDContains: string;
    LedgerReversePurchaseAccIDLike: string;
    LedgerReversePurchaseAccIDBetween: string[];
    LedgerReversePurchaseAccIDIn: string[];
    LedgerMovement_COGAccID: string;
    LedgerMovement_COGAccIDStartsWith: string;
    LedgerMovement_COGAccIDEndsWith: string;
    LedgerMovement_COGAccIDContains: string;
    LedgerMovement_COGAccIDLike: string;
    LedgerMovement_COGAccIDBetween: string[];
    LedgerMovement_COGAccIDIn: string[];
    LedgerSalesAccID: string;
    LedgerSalesAccIDStartsWith: string;
    LedgerSalesAccIDEndsWith: string;
    LedgerSalesAccIDContains: string;
    LedgerSalesAccIDLike: string;
    LedgerSalesAccIDBetween: string[];
    LedgerSalesAccIDIn: string[];
    LedgerSalesReturnsAccID: string;
    LedgerSalesReturnsAccIDStartsWith: string;
    LedgerSalesReturnsAccIDEndsWith: string;
    LedgerSalesReturnsAccIDContains: string;
    LedgerSalesReturnsAccIDLike: string;
    LedgerSalesReturnsAccIDBetween: string[];
    LedgerSalesReturnsAccIDIn: string[];
    LedgerTaxLiabAccID: string;
    LedgerTaxLiabAccIDStartsWith: string;
    LedgerTaxLiabAccIDEndsWith: string;
    LedgerTaxLiabAccIDContains: string;
    LedgerTaxLiabAccIDLike: string;
    LedgerTaxLiabAccIDBetween: string[];
    LedgerTaxLiabAccIDIn: string[];
    LedgerTaxExpAccID: string;
    LedgerTaxExpAccIDStartsWith: string;
    LedgerTaxExpAccIDEndsWith: string;
    LedgerTaxExpAccIDContains: string;
    LedgerTaxExpAccIDLike: string;
    LedgerTaxExpAccIDBetween: string[];
    LedgerTaxExpAccIDIn: string[];
    createResponse() { return new QueryResponse<QO_LineExtra>(); }
    getTypeName() { return "QO_LineExtraQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_LinesQuery extends QueryDb<QO_Lines> implements IReturn<QueryResponse<QO_Lines>>
{
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    GroupNo: number;
    GroupNoGreaterThanOrEqualTo: number;
    GroupNoGreaterThan: number;
    GroupNoLessThan: number;
    GroupNoLessThanOrEqualTo: number;
    GroupNoNotEqualTo: number;
    GroupNoBetween: number[];
    GroupNoIn: number[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    CommentLine: boolean;
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalItem: number;
    PhysicalItemGreaterThanOrEqualTo: number;
    PhysicalItemGreaterThan: number;
    PhysicalItemLessThan: number;
    PhysicalItemLessThanOrEqualTo: number;
    PhysicalItemNotEqualTo: number;
    PhysicalItemBetween: number[];
    PhysicalItemIn: number[];
    ItemWeight: number;
    ItemWeightGreaterThanOrEqualTo: number;
    ItemWeightGreaterThan: number;
    ItemWeightLessThan: number;
    ItemWeightLessThanOrEqualTo: number;
    ItemWeightNotEqualTo: number;
    ItemWeightBetween: number[];
    ItemWeightIn: number[];
    ItemCubic: number;
    ItemCubicGreaterThanOrEqualTo: number;
    ItemCubicGreaterThan: number;
    ItemCubicLessThan: number;
    ItemCubicLessThanOrEqualTo: number;
    ItemCubicNotEqualTo: number;
    ItemCubicBetween: number[];
    ItemCubicIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    Cat1Description: string;
    Cat1DescriptionStartsWith: string;
    Cat1DescriptionEndsWith: string;
    Cat1DescriptionContains: string;
    Cat1DescriptionLike: string;
    Cat1DescriptionBetween: string[];
    Cat1DescriptionIn: string[];
    Cat2Description: string;
    Cat2DescriptionStartsWith: string;
    Cat2DescriptionEndsWith: string;
    Cat2DescriptionContains: string;
    Cat2DescriptionLike: string;
    Cat2DescriptionBetween: string[];
    Cat2DescriptionIn: string[];
    Cat3Description: string;
    Cat3DescriptionStartsWith: string;
    Cat3DescriptionEndsWith: string;
    Cat3DescriptionContains: string;
    Cat3DescriptionLike: string;
    Cat3DescriptionBetween: string[];
    Cat3DescriptionIn: string[];
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    CostIn: number;
    CostInGreaterThanOrEqualTo: number;
    CostInGreaterThan: number;
    CostInLessThan: number;
    CostInLessThanOrEqualTo: number;
    CostInNotEqualTo: number;
    CostInBetween: number[];
    CostInIn: number[];
    DefaultPrice: number;
    DefaultPriceGreaterThanOrEqualTo: number;
    DefaultPriceGreaterThan: number;
    DefaultPriceLessThan: number;
    DefaultPriceLessThanOrEqualTo: number;
    DefaultPriceNotEqualTo: number;
    DefaultPriceBetween: number[];
    DefaultPriceIn: number[];
    ItemPrice: number;
    ItemPriceGreaterThanOrEqualTo: number;
    ItemPriceGreaterThan: number;
    ItemPriceLessThan: number;
    ItemPriceLessThanOrEqualTo: number;
    ItemPriceNotEqualTo: number;
    ItemPriceBetween: number[];
    ItemPriceIn: number[];
    Discount: number;
    DiscountGreaterThanOrEqualTo: number;
    DiscountGreaterThan: number;
    DiscountLessThan: number;
    DiscountLessThanOrEqualTo: number;
    DiscountNotEqualTo: number;
    DiscountBetween: number[];
    DiscountIn: number[];
    InvoicePrice: number;
    InvoicePriceGreaterThanOrEqualTo: number;
    InvoicePriceGreaterThan: number;
    InvoicePriceLessThan: number;
    InvoicePriceLessThanOrEqualTo: number;
    InvoicePriceNotEqualTo: number;
    InvoicePriceBetween: number[];
    InvoicePriceIn: number[];
    RRPPrice: number;
    RRPPriceGreaterThanOrEqualTo: number;
    RRPPriceGreaterThan: number;
    RRPPriceLessThan: number;
    RRPPriceLessThanOrEqualTo: number;
    RRPPriceNotEqualTo: number;
    RRPPriceBetween: number[];
    RRPPriceIn: number[];
    TaxToCharge: number;
    TaxToChargeGreaterThanOrEqualTo: number;
    TaxToChargeGreaterThan: number;
    TaxToChargeLessThan: number;
    TaxToChargeLessThanOrEqualTo: number;
    TaxToChargeNotEqualTo: number;
    TaxToChargeBetween: number[];
    TaxToChargeIn: number[];
    CurrentLineTotal: number;
    CurrentLineTotalGreaterThanOrEqualTo: number;
    CurrentLineTotalGreaterThan: number;
    CurrentLineTotalLessThan: number;
    CurrentLineTotalLessThanOrEqualTo: number;
    CurrentLineTotalNotEqualTo: number;
    CurrentLineTotalBetween: number[];
    CurrentLineTotalIn: number[];
    QuantityOrdered: number;
    QuantityOrderedGreaterThanOrEqualTo: number;
    QuantityOrderedGreaterThan: number;
    QuantityOrderedLessThan: number;
    QuantityOrderedLessThanOrEqualTo: number;
    QuantityOrderedNotEqualTo: number;
    QuantityOrderedBetween: number[];
    QuantityOrderedIn: number[];
    HistoryText_Comment: string;
    HistoryText_CommentStartsWith: string;
    HistoryText_CommentEndsWith: string;
    HistoryText_CommentContains: string;
    HistoryText_CommentLike: string;
    HistoryText_CommentBetween: string[];
    HistoryText_CommentIn: string[];
    Discountable: boolean;
    DirectTax: number;
    DirectTaxGreaterThanOrEqualTo: number;
    DirectTaxGreaterThan: number;
    DirectTaxLessThan: number;
    DirectTaxLessThanOrEqualTo: number;
    DirectTaxNotEqualTo: number;
    DirectTaxBetween: number[];
    DirectTaxIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    MinimumGP: number;
    MinimumGPGreaterThanOrEqualTo: number;
    MinimumGPGreaterThan: number;
    MinimumGPLessThan: number;
    MinimumGPLessThanOrEqualTo: number;
    MinimumGPNotEqualTo: number;
    MinimumGPBetween: number[];
    MinimumGPIn: number[];
    DebitLedger: string;
    DebitLedgerStartsWith: string;
    DebitLedgerEndsWith: string;
    DebitLedgerContains: string;
    DebitLedgerLike: string;
    DebitLedgerBetween: string[];
    DebitLedgerIn: string[];
    CreditLedger: string;
    CreditLedgerStartsWith: string;
    CreditLedgerEndsWith: string;
    CreditLedgerContains: string;
    CreditLedgerLike: string;
    CreditLedgerBetween: string[];
    CreditLedgerIn: string[];
    NonStock: boolean;
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    UseSerialNo: boolean;
    Backorderable: boolean;
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    ItemTaxToCharge: number;
    ItemTaxToChargeGreaterThanOrEqualTo: number;
    ItemTaxToChargeGreaterThan: number;
    ItemTaxToChargeLessThan: number;
    ItemTaxToChargeLessThanOrEqualTo: number;
    ItemTaxToChargeNotEqualTo: number;
    ItemTaxToChargeBetween: number[];
    ItemTaxToChargeIn: number[];
    LineLinkID: string;
    LineLinkIDStartsWith: string;
    LineLinkIDEndsWith: string;
    LineLinkIDContains: string;
    LineLinkIDLike: string;
    LineLinkIDBetween: string[];
    LineLinkIDIn: string[];
    KittingStatus: number;
    KittingStatusGreaterThanOrEqualTo: number;
    KittingStatusGreaterThan: number;
    KittingStatusLessThan: number;
    KittingStatusLessThanOrEqualTo: number;
    KittingStatusNotEqualTo: number;
    KittingStatusBetween: number[];
    KittingStatusIn: number[];
    KittingUnits: number;
    KittingUnitsGreaterThanOrEqualTo: number;
    KittingUnitsGreaterThan: number;
    KittingUnitsLessThan: number;
    KittingUnitsLessThanOrEqualTo: number;
    KittingUnitsNotEqualTo: number;
    KittingUnitsBetween: number[];
    KittingUnitsIn: number[];
    JobConnectorID: string;
    JobConnectorIDStartsWith: string;
    JobConnectorIDEndsWith: string;
    JobConnectorIDContains: string;
    JobConnectorIDLike: string;
    JobConnectorIDBetween: string[];
    JobConnectorIDIn: string[];
    KitStyle: number;
    KitStyleGreaterThanOrEqualTo: number;
    KitStyleGreaterThan: number;
    KitStyleLessThan: number;
    KitStyleLessThanOrEqualTo: number;
    KitStyleNotEqualTo: number;
    KitStyleBetween: number[];
    KitStyleIn: number[];
    DiscountPercentage: number;
    DiscountPercentageGreaterThanOrEqualTo: number;
    DiscountPercentageGreaterThan: number;
    DiscountPercentageLessThan: number;
    DiscountPercentageLessThanOrEqualTo: number;
    DiscountPercentageNotEqualTo: number;
    DiscountPercentageBetween: number[];
    DiscountPercentageIn: number[];
    SalesmanCost: number;
    SalesmanCostGreaterThanOrEqualTo: number;
    SalesmanCostGreaterThan: number;
    SalesmanCostLessThan: number;
    SalesmanCostLessThanOrEqualTo: number;
    SalesmanCostNotEqualTo: number;
    SalesmanCostBetween: number[];
    SalesmanCostIn: number[];
    ItemPriceIncGST: number;
    ItemPriceIncGSTGreaterThanOrEqualTo: number;
    ItemPriceIncGSTGreaterThan: number;
    ItemPriceIncGSTLessThan: number;
    ItemPriceIncGSTLessThanOrEqualTo: number;
    ItemPriceIncGSTNotEqualTo: number;
    ItemPriceIncGSTBetween: number[];
    ItemPriceIncGSTIn: number[];
    ItemPriceUnDiscounted: number;
    ItemPriceUnDiscountedGreaterThanOrEqualTo: number;
    ItemPriceUnDiscountedGreaterThan: number;
    ItemPriceUnDiscountedLessThan: number;
    ItemPriceUnDiscountedLessThanOrEqualTo: number;
    ItemPriceUnDiscountedNotEqualTo: number;
    ItemPriceUnDiscountedBetween: number[];
    ItemPriceUnDiscountedIn: number[];
    NonStockLedgerSalesAccID: string;
    NonStockLedgerSalesAccIDStartsWith: string;
    NonStockLedgerSalesAccIDEndsWith: string;
    NonStockLedgerSalesAccIDContains: string;
    NonStockLedgerSalesAccIDLike: string;
    NonStockLedgerSalesAccIDBetween: string[];
    NonStockLedgerSalesAccIDIn: string[];
    KitLineID: string;
    KitLineIDStartsWith: string;
    KitLineIDEndsWith: string;
    KitLineIDContains: string;
    KitLineIDLike: string;
    KitLineIDBetween: string[];
    KitLineIDIn: string[];
    SellPriceIncTax: boolean;
    UserDefinedFloat1: number;
    UserDefinedFloat1GreaterThanOrEqualTo: number;
    UserDefinedFloat1GreaterThan: number;
    UserDefinedFloat1LessThan: number;
    UserDefinedFloat1LessThanOrEqualTo: number;
    UserDefinedFloat1NotEqualTo: number;
    UserDefinedFloat1Between: number[];
    UserDefinedFloat1In: number[];
    UserDefinedFloat2: number;
    UserDefinedFloat2GreaterThanOrEqualTo: number;
    UserDefinedFloat2GreaterThan: number;
    UserDefinedFloat2LessThan: number;
    UserDefinedFloat2LessThanOrEqualTo: number;
    UserDefinedFloat2NotEqualTo: number;
    UserDefinedFloat2Between: number[];
    UserDefinedFloat2In: number[];
    UserDefinedFloat3: number;
    UserDefinedFloat3GreaterThanOrEqualTo: number;
    UserDefinedFloat3GreaterThan: number;
    UserDefinedFloat3LessThan: number;
    UserDefinedFloat3LessThanOrEqualTo: number;
    UserDefinedFloat3NotEqualTo: number;
    UserDefinedFloat3Between: number[];
    UserDefinedFloat3In: number[];
    FixSellPrice: boolean;
    TypeKitRounding: boolean;
    IN_UnitOfMeasure_RecID: string;
    IN_UnitOfMeasure_RecIDIn: string[];
    createResponse() { return new QueryResponse<QO_Lines>(); }
    getTypeName() { return "QO_LinesQuery"; }
}

// @Route("/Queries/QO_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_MainQuery extends QueryDb<QO_Main> implements IReturn<QueryResponse<QO_Main>>
{
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    InvoiceInitDate: string;
    InvoiceInitDateGreaterThanOrEqualTo: string;
    InvoiceInitDateGreaterThan: string;
    InvoiceInitDateLessThan: string;
    InvoiceInitDateLessThanOrEqualTo: string;
    InvoiceInitDateNotEqualTo: string;
    InvoiceInitDateBetween: string[];
    InvoiceInitDateIn: string[];
    InvoiceLastDate: string;
    InvoiceLastDateGreaterThanOrEqualTo: string;
    InvoiceLastDateGreaterThan: string;
    InvoiceLastDateLessThan: string;
    InvoiceLastDateLessThanOrEqualTo: string;
    InvoiceLastDateNotEqualTo: string;
    InvoiceLastDateBetween: string[];
    InvoiceLastDateIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    WholeSaleInvoice: boolean;
    InvoiceTotal: number;
    InvoiceTotalGreaterThanOrEqualTo: number;
    InvoiceTotalGreaterThan: number;
    InvoiceTotalLessThan: number;
    InvoiceTotalLessThanOrEqualTo: number;
    InvoiceTotalNotEqualTo: number;
    InvoiceTotalBetween: number[];
    InvoiceTotalIn: number[];
    InvoicePrinted: boolean;
    CurrentHistoryNo: number;
    CurrentHistoryNoGreaterThanOrEqualTo: number;
    CurrentHistoryNoGreaterThan: number;
    CurrentHistoryNoLessThan: number;
    CurrentHistoryNoLessThanOrEqualTo: number;
    CurrentHistoryNoNotEqualTo: number;
    CurrentHistoryNoBetween: number[];
    CurrentHistoryNoIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    BillWhenComplete: number;
    BillWhenCompleteGreaterThanOrEqualTo: number;
    BillWhenCompleteGreaterThan: number;
    BillWhenCompleteLessThan: number;
    BillWhenCompleteLessThanOrEqualTo: number;
    BillWhenCompleteNotEqualTo: number;
    BillWhenCompleteBetween: number[];
    BillWhenCompleteIn: number[];
    InvoiceType: number;
    InvoiceTypeGreaterThanOrEqualTo: number;
    InvoiceTypeGreaterThan: number;
    InvoiceTypeLessThan: number;
    InvoiceTypeLessThanOrEqualTo: number;
    InvoiceTypeNotEqualTo: number;
    InvoiceTypeBetween: number[];
    InvoiceTypeIn: number[];
    GroupSupplierID: string;
    GroupSupplierIDStartsWith: string;
    GroupSupplierIDEndsWith: string;
    GroupSupplierIDContains: string;
    GroupSupplierIDLike: string;
    GroupSupplierIDBetween: string[];
    GroupSupplierIDIn: string[];
    GroupOrdered: boolean;
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    BranchID: string;
    BranchIDStartsWith: string;
    BranchIDEndsWith: string;
    BranchIDContains: string;
    BranchIDLike: string;
    BranchIDBetween: string[];
    BranchIDIn: string[];
    QOReference: string;
    QOReferenceStartsWith: string;
    QOReferenceEndsWith: string;
    QOReferenceContains: string;
    QOReferenceLike: string;
    QOReferenceBetween: string[];
    QOReferenceIn: string[];
    JobCostID: string;
    JobCostIDStartsWith: string;
    JobCostIDEndsWith: string;
    JobCostIDContains: string;
    JobCostIDLike: string;
    JobCostIDBetween: string[];
    JobCostIDIn: string[];
    DocType: number;
    DocTypeGreaterThanOrEqualTo: number;
    DocTypeGreaterThan: number;
    DocTypeLessThan: number;
    DocTypeLessThanOrEqualTo: number;
    DocTypeNotEqualTo: number;
    DocTypeBetween: number[];
    DocTypeIn: number[];
    BackOrderMode: number;
    BackOrderModeGreaterThanOrEqualTo: number;
    BackOrderModeGreaterThan: number;
    BackOrderModeLessThan: number;
    BackOrderModeLessThanOrEqualTo: number;
    BackOrderModeNotEqualTo: number;
    BackOrderModeBetween: number[];
    BackOrderModeIn: number[];
    ExpectedDeliveryDate: string;
    ExpectedDeliveryDateGreaterThanOrEqualTo: string;
    ExpectedDeliveryDateGreaterThan: string;
    ExpectedDeliveryDateLessThan: string;
    ExpectedDeliveryDateLessThanOrEqualTo: string;
    ExpectedDeliveryDateNotEqualTo: string;
    ExpectedDeliveryDateBetween: string[];
    ExpectedDeliveryDateIn: string[];
    DebtorContactName: string;
    DebtorContactNameStartsWith: string;
    DebtorContactNameEndsWith: string;
    DebtorContactNameContains: string;
    DebtorContactNameLike: string;
    DebtorContactNameBetween: string[];
    DebtorContactNameIn: string[];
    ParentDebtorID: string;
    ParentDebtorIDStartsWith: string;
    ParentDebtorIDEndsWith: string;
    ParentDebtorIDContains: string;
    ParentDebtorIDLike: string;
    ParentDebtorIDBetween: string[];
    ParentDebtorIDIn: string[];
    PriceSchemeID: string;
    PriceSchemeIDStartsWith: string;
    PriceSchemeIDEndsWith: string;
    PriceSchemeIDContains: string;
    PriceSchemeIDLike: string;
    PriceSchemeIDBetween: string[];
    PriceSchemeIDIn: string[];
    InvoiceEmailed: boolean;
    createResponse() { return new QueryResponse<QO_Main>(); }
    getTypeName() { return "QO_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_NotesQuery extends QueryDb<QO_Notes> implements IReturn<QueryResponse<QO_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<QO_Notes>(); }
    getTypeName() { return "QO_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_OpportunityStatusReasonsQuery extends QueryDb<QO_OpportunityStatusReasons> implements IReturn<QueryResponse<QO_OpportunityStatusReasons>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    OpportunityStatusType: number;
    OpportunityStatusTypeGreaterThanOrEqualTo: number;
    OpportunityStatusTypeGreaterThan: number;
    OpportunityStatusTypeLessThan: number;
    OpportunityStatusTypeLessThanOrEqualTo: number;
    OpportunityStatusTypeNotEqualTo: number;
    OpportunityStatusTypeBetween: Uint8Array;
    OpportunityStatusTypeIn: Uint8Array;
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    DefaultOpportunityReason: boolean;
    IsEnabled: boolean;
    createResponse() { return new QueryResponse<QO_OpportunityStatusReasons>(); }
    getTypeName() { return "QO_OpportunityStatusReasonsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_SalesStagesQuery extends QueryDb<QO_SalesStages> implements IReturn<QueryResponse<QO_SalesStages>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PercentComplete: number;
    PercentCompleteGreaterThanOrEqualTo: number;
    PercentCompleteGreaterThan: number;
    PercentCompleteLessThan: number;
    PercentCompleteLessThanOrEqualTo: number;
    PercentCompleteNotEqualTo: number;
    PercentCompleteBetween: number[];
    PercentCompleteIn: number[];
    DefaultSalesStage: boolean;
    IsEnabled: boolean;
    createResponse() { return new QueryResponse<QO_SalesStages>(); }
    getTypeName() { return "QO_SalesStagesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class QO_SOLinkQuery extends QueryDb<QO_SOLink> implements IReturn<QueryResponse<QO_SOLink>>
{
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    QuoteID: string;
    QuoteIDStartsWith: string;
    QuoteIDEndsWith: string;
    QuoteIDContains: string;
    QuoteIDLike: string;
    QuoteIDBetween: string[];
    QuoteIDIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    createResponse() { return new QueryResponse<QO_SOLink>(); }
    getTypeName() { return "QO_SOLinkQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditDocumentsQuery extends QueryDb<RA_CreditDocuments> implements IReturn<QueryResponse<RA_CreditDocuments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_CreditMain_RecID: string;
    RA_CreditMain_RecIDStartsWith: string;
    RA_CreditMain_RecIDEndsWith: string;
    RA_CreditMain_RecIDContains: string;
    RA_CreditMain_RecIDLike: string;
    RA_CreditMain_RecIDBetween: string[];
    RA_CreditMain_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_CreditDocuments>(); }
    getTypeName() { return "RA_CreditDocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditExchangeLineDetailsQuery extends QueryDb<RA_CreditExchangeLineDetails> implements IReturn<QueryResponse<RA_CreditExchangeLineDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_CreditExchangeLineDetails>(); }
    getTypeName() { return "RA_CreditExchangeLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditExchangeLinesQuery extends QueryDb<RA_CreditExchangeLines> implements IReturn<QueryResponse<RA_CreditExchangeLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_CreditMain_RecID: string;
    RA_CreditMain_RecIDStartsWith: string;
    RA_CreditMain_RecIDEndsWith: string;
    RA_CreditMain_RecIDContains: string;
    RA_CreditMain_RecIDLike: string;
    RA_CreditMain_RecIDBetween: string[];
    RA_CreditMain_RecIDIn: string[];
    RA_CreditLines_RecID: string;
    RA_CreditLines_RecIDStartsWith: string;
    RA_CreditLines_RecIDEndsWith: string;
    RA_CreditLines_RecIDContains: string;
    RA_CreditLines_RecIDLike: string;
    RA_CreditLines_RecIDBetween: string[];
    RA_CreditLines_RecIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    TotalCreditValue: number;
    TotalCreditValueGreaterThanOrEqualTo: number;
    TotalCreditValueGreaterThan: number;
    TotalCreditValueLessThan: number;
    TotalCreditValueLessThanOrEqualTo: number;
    TotalCreditValueNotEqualTo: number;
    TotalCreditValueBetween: number[];
    TotalCreditValueIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    FXUnitCreditValue: number;
    FXUnitCreditValueGreaterThanOrEqualTo: number;
    FXUnitCreditValueGreaterThan: number;
    FXUnitCreditValueLessThan: number;
    FXUnitCreditValueLessThanOrEqualTo: number;
    FXUnitCreditValueNotEqualTo: number;
    FXUnitCreditValueBetween: number[];
    FXUnitCreditValueIn: number[];
    FXTotalCreditValue: number;
    FXTotalCreditValueGreaterThanOrEqualTo: number;
    FXTotalCreditValueGreaterThan: number;
    FXTotalCreditValueLessThan: number;
    FXTotalCreditValueLessThanOrEqualTo: number;
    FXTotalCreditValueNotEqualTo: number;
    FXTotalCreditValueBetween: number[];
    FXTotalCreditValueIn: number[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    UnitCreditValue: number;
    UnitCreditValueGreaterThanOrEqualTo: number;
    UnitCreditValueGreaterThan: number;
    UnitCreditValueLessThan: number;
    UnitCreditValueLessThanOrEqualTo: number;
    UnitCreditValueNotEqualTo: number;
    UnitCreditValueBetween: number[];
    UnitCreditValueIn: number[];
    createResponse() { return new QueryResponse<RA_CreditExchangeLines>(); }
    getTypeName() { return "RA_CreditExchangeLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditLineDetailsQuery extends QueryDb<RA_CreditLineDetails> implements IReturn<QueryResponse<RA_CreditLineDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_CreditLineDetails>(); }
    getTypeName() { return "RA_CreditLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditLinesQuery extends QueryDb<RA_CreditLines> implements IReturn<QueryResponse<RA_CreditLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_CreditMain_RecID: string;
    RA_CreditMain_RecIDStartsWith: string;
    RA_CreditMain_RecIDEndsWith: string;
    RA_CreditMain_RecIDContains: string;
    RA_CreditMain_RecIDLike: string;
    RA_CreditMain_RecIDBetween: string[];
    RA_CreditMain_RecIDIn: string[];
    RA_ShipLines_RecID: string;
    RA_ShipLines_RecIDStartsWith: string;
    RA_ShipLines_RecIDEndsWith: string;
    RA_ShipLines_RecIDContains: string;
    RA_ShipLines_RecIDLike: string;
    RA_ShipLines_RecIDBetween: string[];
    RA_ShipLines_RecIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    RA_ReturnCodes_RecID: string;
    RA_ReturnCodes_RecIDStartsWith: string;
    RA_ReturnCodes_RecIDEndsWith: string;
    RA_ReturnCodes_RecIDContains: string;
    RA_ReturnCodes_RecIDLike: string;
    RA_ReturnCodes_RecIDBetween: string[];
    RA_ReturnCodes_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    TotalCreditValue: number;
    TotalCreditValueGreaterThanOrEqualTo: number;
    TotalCreditValueGreaterThan: number;
    TotalCreditValueLessThan: number;
    TotalCreditValueLessThanOrEqualTo: number;
    TotalCreditValueNotEqualTo: number;
    TotalCreditValueBetween: number[];
    TotalCreditValueIn: number[];
    Completed: boolean;
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    LinkLineID: string;
    LinkLineIDStartsWith: string;
    LinkLineIDEndsWith: string;
    LinkLineIDContains: string;
    LinkLineIDLike: string;
    LinkLineIDBetween: string[];
    LinkLineIDIn: string[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    PO_Lines_OrderLineID: string;
    PO_Lines_OrderLineIDStartsWith: string;
    PO_Lines_OrderLineIDEndsWith: string;
    PO_Lines_OrderLineIDContains: string;
    PO_Lines_OrderLineIDLike: string;
    PO_Lines_OrderLineIDBetween: string[];
    PO_Lines_OrderLineIDIn: string[];
    FXUnitCreditValue: number;
    FXUnitCreditValueGreaterThanOrEqualTo: number;
    FXUnitCreditValueGreaterThan: number;
    FXUnitCreditValueLessThan: number;
    FXUnitCreditValueLessThanOrEqualTo: number;
    FXUnitCreditValueNotEqualTo: number;
    FXUnitCreditValueBetween: number[];
    FXUnitCreditValueIn: number[];
    FXTotalCreditValue: number;
    FXTotalCreditValueGreaterThanOrEqualTo: number;
    FXTotalCreditValueGreaterThan: number;
    FXTotalCreditValueLessThan: number;
    FXTotalCreditValueLessThanOrEqualTo: number;
    FXTotalCreditValueNotEqualTo: number;
    FXTotalCreditValueBetween: number[];
    FXTotalCreditValueIn: number[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    UnitCreditValue: number;
    UnitCreditValueGreaterThanOrEqualTo: number;
    UnitCreditValueGreaterThan: number;
    UnitCreditValueLessThan: number;
    UnitCreditValueLessThanOrEqualTo: number;
    UnitCreditValueNotEqualTo: number;
    UnitCreditValueBetween: number[];
    UnitCreditValueIn: number[];
    createResponse() { return new QueryResponse<RA_CreditLines>(); }
    getTypeName() { return "RA_CreditLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditLinesCustomFieldsQuery extends QueryDb<RA_CreditLinesCustomFields> implements IReturn<QueryResponse<RA_CreditLinesCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<RA_CreditLinesCustomFields>(); }
    getTypeName() { return "RA_CreditLinesCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditLinesCustomValuesQuery extends QueryDb<RA_CreditLinesCustomValues> implements IReturn<QueryResponse<RA_CreditLinesCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_CreditLines_RecID: string;
    RA_CreditLines_RecIDStartsWith: string;
    RA_CreditLines_RecIDEndsWith: string;
    RA_CreditLines_RecIDContains: string;
    RA_CreditLines_RecIDLike: string;
    RA_CreditLines_RecIDBetween: string[];
    RA_CreditLines_RecIDIn: string[];
    RA_CreditLinesCustomFields_RecID: string;
    RA_CreditLinesCustomFields_RecIDStartsWith: string;
    RA_CreditLinesCustomFields_RecIDEndsWith: string;
    RA_CreditLinesCustomFields_RecIDContains: string;
    RA_CreditLinesCustomFields_RecIDLike: string;
    RA_CreditLinesCustomFields_RecIDBetween: string[];
    RA_CreditLinesCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<RA_CreditLinesCustomValues>(); }
    getTypeName() { return "RA_CreditLinesCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditMainQuery extends QueryDb<RA_CreditMain> implements IReturn<QueryResponse<RA_CreditMain>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CreditNo: string;
    CreditNoStartsWith: string;
    CreditNoEndsWith: string;
    CreditNoContains: string;
    CreditNoLike: string;
    CreditNoBetween: string[];
    CreditNoIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    WarehouseID: string;
    WarehouseIDStartsWith: string;
    WarehouseIDEndsWith: string;
    WarehouseIDContains: string;
    WarehouseIDLike: string;
    WarehouseIDBetween: string[];
    WarehouseIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    CreatedBy: string;
    CreatedByStartsWith: string;
    CreatedByEndsWith: string;
    CreatedByContains: string;
    CreatedByLike: string;
    CreatedByBetween: string[];
    CreatedByIn: string[];
    CreditDate: string;
    CreditDateGreaterThanOrEqualTo: string;
    CreditDateGreaterThan: string;
    CreditDateLessThan: string;
    CreditDateLessThanOrEqualTo: string;
    CreditDateNotEqualTo: string;
    CreditDateBetween: string[];
    CreditDateIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    CreditorRef: string;
    CreditorRefStartsWith: string;
    CreditorRefEndsWith: string;
    CreditorRefContains: string;
    CreditorRefLike: string;
    CreditorRefBetween: string[];
    CreditorRefIn: string[];
    RowHash: Uint8Array;
    ReturnCode: string;
    ReturnCodeStartsWith: string;
    ReturnCodeEndsWith: string;
    ReturnCodeContains: string;
    ReturnCodeLike: string;
    ReturnCodeBetween: string[];
    ReturnCodeIn: string[];
    createResponse() { return new QueryResponse<RA_CreditMain>(); }
    getTypeName() { return "RA_CreditMainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditMainCustomFieldsQuery extends QueryDb<RA_CreditMainCustomFields> implements IReturn<QueryResponse<RA_CreditMainCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<RA_CreditMainCustomFields>(); }
    getTypeName() { return "RA_CreditMainCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditMainCustomValuesQuery extends QueryDb<RA_CreditMainCustomValues> implements IReturn<QueryResponse<RA_CreditMainCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_CreditMain_RecID: string;
    RA_CreditMain_RecIDStartsWith: string;
    RA_CreditMain_RecIDEndsWith: string;
    RA_CreditMain_RecIDContains: string;
    RA_CreditMain_RecIDLike: string;
    RA_CreditMain_RecIDBetween: string[];
    RA_CreditMain_RecIDIn: string[];
    RA_CreditMainCustomFields_RecID: string;
    RA_CreditMainCustomFields_RecIDStartsWith: string;
    RA_CreditMainCustomFields_RecIDEndsWith: string;
    RA_CreditMainCustomFields_RecIDContains: string;
    RA_CreditMainCustomFields_RecIDLike: string;
    RA_CreditMainCustomFields_RecIDBetween: string[];
    RA_CreditMainCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<RA_CreditMainCustomValues>(); }
    getTypeName() { return "RA_CreditMainCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_CreditNotesQuery extends QueryDb<RA_CreditNotes> implements IReturn<QueryResponse<RA_CreditNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_CreditMain_RecID: string;
    RA_CreditMain_RecIDStartsWith: string;
    RA_CreditMain_RecIDEndsWith: string;
    RA_CreditMain_RecIDContains: string;
    RA_CreditMain_RecIDLike: string;
    RA_CreditMain_RecIDBetween: string[];
    RA_CreditMain_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_CreditNotes>(); }
    getTypeName() { return "RA_CreditNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_DocumentsQuery extends QueryDb<RA_Documents> implements IReturn<QueryResponse<RA_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    FileID: string;
    FileIDStartsWith: string;
    FileIDEndsWith: string;
    FileIDContains: string;
    FileIDLike: string;
    FileIDBetween: string[];
    FileIDIn: string[];
    ParentID: string;
    ParentIDStartsWith: string;
    ParentIDEndsWith: string;
    ParentIDContains: string;
    ParentIDLike: string;
    ParentIDBetween: string[];
    ParentIDIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    UserName: string;
    UserNameStartsWith: string;
    UserNameEndsWith: string;
    UserNameContains: string;
    UserNameLike: string;
    UserNameBetween: string[];
    UserNameIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DocTypeID: string;
    DocTypeIDStartsWith: string;
    DocTypeIDEndsWith: string;
    DocTypeIDContains: string;
    DocTypeIDLike: string;
    DocTypeIDBetween: string[];
    DocTypeIDIn: string[];
    ParentType: number;
    ParentTypeGreaterThanOrEqualTo: number;
    ParentTypeGreaterThan: number;
    ParentTypeLessThan: number;
    ParentTypeLessThanOrEqualTo: number;
    ParentTypeNotEqualTo: number;
    ParentTypeBetween: number[];
    ParentTypeIn: number[];
    createResponse() { return new QueryResponse<RA_Documents>(); }
    getTypeName() { return "RA_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestDocumentsQuery extends QueryDb<RA_RequestDocuments> implements IReturn<QueryResponse<RA_RequestDocuments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_RequestMain_RecID: string;
    RA_RequestMain_RecIDStartsWith: string;
    RA_RequestMain_RecIDEndsWith: string;
    RA_RequestMain_RecIDContains: string;
    RA_RequestMain_RecIDLike: string;
    RA_RequestMain_RecIDBetween: string[];
    RA_RequestMain_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_RequestDocuments>(); }
    getTypeName() { return "RA_RequestDocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestInQuery extends QueryDb<RA_RequestIn> implements IReturn<QueryResponse<RA_RequestIn>>
{
    RA_ShipMain_RecID: string;
    RA_ShipMain_RecIDStartsWith: string;
    RA_ShipMain_RecIDEndsWith: string;
    RA_ShipMain_RecIDContains: string;
    RA_ShipMain_RecIDLike: string;
    RA_ShipMain_RecIDBetween: string[];
    RA_ShipMain_RecIDIn: string[];
    RA_RequestMain_RecID: string;
    RA_RequestMain_RecIDStartsWith: string;
    RA_RequestMain_RecIDEndsWith: string;
    RA_RequestMain_RecIDContains: string;
    RA_RequestMain_RecIDLike: string;
    RA_RequestMain_RecIDBetween: string[];
    RA_RequestMain_RecIDIn: string[];
    createResponse() { return new QueryResponse<RA_RequestIn>(); }
    getTypeName() { return "RA_RequestInQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestLineDetailsQuery extends QueryDb<RA_RequestLineDetails> implements IReturn<QueryResponse<RA_RequestLineDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_RequestLineDetails>(); }
    getTypeName() { return "RA_RequestLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestLinesQuery extends QueryDb<RA_RequestLines> implements IReturn<QueryResponse<RA_RequestLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RA_RequestMain_RecID: string;
    RA_RequestMain_RecIDStartsWith: string;
    RA_RequestMain_RecIDEndsWith: string;
    RA_RequestMain_RecIDContains: string;
    RA_RequestMain_RecIDLike: string;
    RA_RequestMain_RecIDBetween: string[];
    RA_RequestMain_RecIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    RA_ReturnCodes_RecID: string;
    RA_ReturnCodes_RecIDStartsWith: string;
    RA_ReturnCodes_RecIDEndsWith: string;
    RA_ReturnCodes_RecIDContains: string;
    RA_ReturnCodes_RecIDLike: string;
    RA_ReturnCodes_RecIDBetween: string[];
    RA_ReturnCodes_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    UnitReturnValue: number;
    UnitReturnValueGreaterThanOrEqualTo: number;
    UnitReturnValueGreaterThan: number;
    UnitReturnValueLessThan: number;
    UnitReturnValueLessThanOrEqualTo: number;
    UnitReturnValueNotEqualTo: number;
    UnitReturnValueBetween: number[];
    UnitReturnValueIn: number[];
    TotalReturnValue: number;
    TotalReturnValueGreaterThanOrEqualTo: number;
    TotalReturnValueGreaterThan: number;
    TotalReturnValueLessThan: number;
    TotalReturnValueLessThanOrEqualTo: number;
    TotalReturnValueNotEqualTo: number;
    TotalReturnValueBetween: number[];
    TotalReturnValueIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    RowHash: Uint8Array;
    PO_Lines_OrderLineID: string;
    PO_Lines_OrderLineIDStartsWith: string;
    PO_Lines_OrderLineIDEndsWith: string;
    PO_Lines_OrderLineIDContains: string;
    PO_Lines_OrderLineIDLike: string;
    PO_Lines_OrderLineIDBetween: string[];
    PO_Lines_OrderLineIDIn: string[];
    FXUnitReturnValue: number;
    FXUnitReturnValueGreaterThanOrEqualTo: number;
    FXUnitReturnValueGreaterThan: number;
    FXUnitReturnValueLessThan: number;
    FXUnitReturnValueLessThanOrEqualTo: number;
    FXUnitReturnValueNotEqualTo: number;
    FXUnitReturnValueBetween: number[];
    FXUnitReturnValueIn: number[];
    FXTotalReturnValue: number;
    FXTotalReturnValueGreaterThanOrEqualTo: number;
    FXTotalReturnValueGreaterThan: number;
    FXTotalReturnValueLessThan: number;
    FXTotalReturnValueLessThanOrEqualTo: number;
    FXTotalReturnValueNotEqualTo: number;
    FXTotalReturnValueBetween: number[];
    FXTotalReturnValueIn: number[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    createResponse() { return new QueryResponse<RA_RequestLines>(); }
    getTypeName() { return "RA_RequestLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestLinesCustomFieldsQuery extends QueryDb<RA_RequestLinesCustomFields> implements IReturn<QueryResponse<RA_RequestLinesCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<RA_RequestLinesCustomFields>(); }
    getTypeName() { return "RA_RequestLinesCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestLinesCustomValuesQuery extends QueryDb<RA_RequestLinesCustomValues> implements IReturn<QueryResponse<RA_RequestLinesCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_RequestLines_RecID: string;
    RA_RequestLines_RecIDStartsWith: string;
    RA_RequestLines_RecIDEndsWith: string;
    RA_RequestLines_RecIDContains: string;
    RA_RequestLines_RecIDLike: string;
    RA_RequestLines_RecIDBetween: string[];
    RA_RequestLines_RecIDIn: string[];
    RA_RequestLinesCustomFields_RecID: string;
    RA_RequestLinesCustomFields_RecIDStartsWith: string;
    RA_RequestLinesCustomFields_RecIDEndsWith: string;
    RA_RequestLinesCustomFields_RecIDContains: string;
    RA_RequestLinesCustomFields_RecIDLike: string;
    RA_RequestLinesCustomFields_RecIDBetween: string[];
    RA_RequestLinesCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<RA_RequestLinesCustomValues>(); }
    getTypeName() { return "RA_RequestLinesCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestMainQuery extends QueryDb<RA_RequestMain> implements IReturn<QueryResponse<RA_RequestMain>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RequestNo: string;
    RequestNoStartsWith: string;
    RequestNoEndsWith: string;
    RequestNoContains: string;
    RequestNoLike: string;
    RequestNoBetween: string[];
    RequestNoIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    WarehouseID: string;
    WarehouseIDStartsWith: string;
    WarehouseIDEndsWith: string;
    WarehouseIDContains: string;
    WarehouseIDLike: string;
    WarehouseIDBetween: string[];
    WarehouseIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    CreatedBy: string;
    CreatedByStartsWith: string;
    CreatedByEndsWith: string;
    CreatedByContains: string;
    CreatedByLike: string;
    CreatedByBetween: string[];
    CreatedByIn: string[];
    ReturnCode: string;
    ReturnCodeStartsWith: string;
    ReturnCodeEndsWith: string;
    ReturnCodeContains: string;
    ReturnCodeLike: string;
    ReturnCodeBetween: string[];
    ReturnCodeIn: string[];
    DeliveryAddressee: string;
    DeliveryAddresseeStartsWith: string;
    DeliveryAddresseeEndsWith: string;
    DeliveryAddresseeContains: string;
    DeliveryAddresseeLike: string;
    DeliveryAddresseeBetween: string[];
    DeliveryAddresseeIn: string[];
    DeliveryStreetAddress1: string;
    DeliveryStreetAddress1StartsWith: string;
    DeliveryStreetAddress1EndsWith: string;
    DeliveryStreetAddress1Contains: string;
    DeliveryStreetAddress1Like: string;
    DeliveryStreetAddress1Between: string[];
    DeliveryStreetAddress1In: string[];
    DeliveryStreetAddress2: string;
    DeliveryStreetAddress2StartsWith: string;
    DeliveryStreetAddress2EndsWith: string;
    DeliveryStreetAddress2Contains: string;
    DeliveryStreetAddress2Like: string;
    DeliveryStreetAddress2Between: string[];
    DeliveryStreetAddress2In: string[];
    DeliveryLocality: string;
    DeliveryLocalityStartsWith: string;
    DeliveryLocalityEndsWith: string;
    DeliveryLocalityContains: string;
    DeliveryLocalityLike: string;
    DeliveryLocalityBetween: string[];
    DeliveryLocalityIn: string[];
    DeliveryRegion: string;
    DeliveryRegionStartsWith: string;
    DeliveryRegionEndsWith: string;
    DeliveryRegionContains: string;
    DeliveryRegionLike: string;
    DeliveryRegionBetween: string[];
    DeliveryRegionIn: string[];
    DeliveryPostCode: string;
    DeliveryPostCodeStartsWith: string;
    DeliveryPostCodeEndsWith: string;
    DeliveryPostCodeContains: string;
    DeliveryPostCodeLike: string;
    DeliveryPostCodeBetween: string[];
    DeliveryPostCodeIn: string[];
    DeliveryCountry: string;
    DeliveryCountryStartsWith: string;
    DeliveryCountryEndsWith: string;
    DeliveryCountryContains: string;
    DeliveryCountryLike: string;
    DeliveryCountryBetween: string[];
    DeliveryCountryIn: string[];
    DeliveryTelephone: string;
    DeliveryTelephoneStartsWith: string;
    DeliveryTelephoneEndsWith: string;
    DeliveryTelephoneContains: string;
    DeliveryTelephoneLike: string;
    DeliveryTelephoneBetween: string[];
    DeliveryTelephoneIn: string[];
    DeliveryFacsimile: string;
    DeliveryFacsimileStartsWith: string;
    DeliveryFacsimileEndsWith: string;
    DeliveryFacsimileContains: string;
    DeliveryFacsimileLike: string;
    DeliveryFacsimileBetween: string[];
    DeliveryFacsimileIn: string[];
    ContactName: string;
    ContactNameStartsWith: string;
    ContactNameEndsWith: string;
    ContactNameContains: string;
    ContactNameLike: string;
    ContactNameBetween: string[];
    ContactNameIn: string[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    CourierDetails: string;
    CourierDetailsStartsWith: string;
    CourierDetailsEndsWith: string;
    CourierDetailsContains: string;
    CourierDetailsLike: string;
    CourierDetailsBetween: string[];
    CourierDetailsIn: string[];
    RequestDate: string;
    RequestDateGreaterThanOrEqualTo: string;
    RequestDateGreaterThan: string;
    RequestDateLessThan: string;
    RequestDateLessThanOrEqualTo: string;
    RequestDateNotEqualTo: string;
    RequestDateBetween: string[];
    RequestDateIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    ReturnsWarehouseID: string;
    ReturnsWarehouseIDStartsWith: string;
    ReturnsWarehouseIDEndsWith: string;
    ReturnsWarehouseIDContains: string;
    ReturnsWarehouseIDLike: string;
    ReturnsWarehouseIDBetween: string[];
    ReturnsWarehouseIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<RA_RequestMain>(); }
    getTypeName() { return "RA_RequestMainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestMainCustomFieldsQuery extends QueryDb<RA_RequestMainCustomFields> implements IReturn<QueryResponse<RA_RequestMainCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<RA_RequestMainCustomFields>(); }
    getTypeName() { return "RA_RequestMainCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestMainCustomValuesQuery extends QueryDb<RA_RequestMainCustomValues> implements IReturn<QueryResponse<RA_RequestMainCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_RequestMain_RecID: string;
    RA_RequestMain_RecIDStartsWith: string;
    RA_RequestMain_RecIDEndsWith: string;
    RA_RequestMain_RecIDContains: string;
    RA_RequestMain_RecIDLike: string;
    RA_RequestMain_RecIDBetween: string[];
    RA_RequestMain_RecIDIn: string[];
    RA_RequestMainCustomFields_RecID: string;
    RA_RequestMainCustomFields_RecIDStartsWith: string;
    RA_RequestMainCustomFields_RecIDEndsWith: string;
    RA_RequestMainCustomFields_RecIDContains: string;
    RA_RequestMainCustomFields_RecIDLike: string;
    RA_RequestMainCustomFields_RecIDBetween: string[];
    RA_RequestMainCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<RA_RequestMainCustomValues>(); }
    getTypeName() { return "RA_RequestMainCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_RequestNotesQuery extends QueryDb<RA_RequestNotes> implements IReturn<QueryResponse<RA_RequestNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_RequestMain_RecID: string;
    RA_RequestMain_RecIDStartsWith: string;
    RA_RequestMain_RecIDEndsWith: string;
    RA_RequestMain_RecIDContains: string;
    RA_RequestMain_RecIDLike: string;
    RA_RequestMain_RecIDBetween: string[];
    RA_RequestMain_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_RequestNotes>(); }
    getTypeName() { return "RA_RequestNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ReturnCodesQuery extends QueryDb<RA_ReturnCodes> implements IReturn<QueryResponse<RA_ReturnCodes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ReturnCode: string;
    ReturnCodeStartsWith: string;
    ReturnCodeEndsWith: string;
    ReturnCodeContains: string;
    ReturnCodeLike: string;
    ReturnCodeBetween: string[];
    ReturnCodeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsDefault: boolean;
    ReturnType: number;
    ReturnTypeGreaterThanOrEqualTo: number;
    ReturnTypeGreaterThan: number;
    ReturnTypeLessThan: number;
    ReturnTypeLessThanOrEqualTo: number;
    ReturnTypeNotEqualTo: number;
    ReturnTypeBetween: Uint8Array;
    ReturnTypeIn: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    IsEnabled: boolean;
    createResponse() { return new QueryResponse<RA_ReturnCodes>(); }
    getTypeName() { return "RA_ReturnCodesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_SelectedShipLinesQuery extends QueryDb<RA_SelectedShipLines> implements IReturn<QueryResponse<RA_SelectedShipLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CreditID: string;
    CreditIDStartsWith: string;
    CreditIDEndsWith: string;
    CreditIDContains: string;
    CreditIDLike: string;
    CreditIDBetween: string[];
    CreditIDIn: string[];
    CreditLineID: string;
    CreditLineIDStartsWith: string;
    CreditLineIDEndsWith: string;
    CreditLineIDContains: string;
    CreditLineIDLike: string;
    CreditLineIDBetween: string[];
    CreditLineIDIn: string[];
    ShipID: string;
    ShipIDStartsWith: string;
    ShipIDEndsWith: string;
    ShipIDContains: string;
    ShipIDLike: string;
    ShipIDBetween: string[];
    ShipIDIn: string[];
    ShipLineID: string;
    ShipLineIDStartsWith: string;
    ShipLineIDEndsWith: string;
    ShipLineIDContains: string;
    ShipLineIDLike: string;
    ShipLineIDBetween: string[];
    ShipLineIDIn: string[];
    ShipLineDetailID: string;
    ShipLineDetailIDStartsWith: string;
    ShipLineDetailIDEndsWith: string;
    ShipLineDetailIDContains: string;
    ShipLineDetailIDLike: string;
    ShipLineDetailIDBetween: string[];
    ShipLineDetailIDIn: string[];
    InvID: string;
    InvIDStartsWith: string;
    InvIDEndsWith: string;
    InvIDContains: string;
    InvIDLike: string;
    InvIDBetween: string[];
    InvIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SOHID: string;
    SOHIDStartsWith: string;
    SOHIDEndsWith: string;
    SOHIDContains: string;
    SOHIDLike: string;
    SOHIDBetween: string[];
    SOHIDIn: string[];
    createResponse() { return new QueryResponse<RA_SelectedShipLines>(); }
    getTypeName() { return "RA_SelectedShipLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipDocumentsQuery extends QueryDb<RA_ShipDocuments> implements IReturn<QueryResponse<RA_ShipDocuments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_ShipMain_RecID: string;
    RA_ShipMain_RecIDStartsWith: string;
    RA_ShipMain_RecIDEndsWith: string;
    RA_ShipMain_RecIDContains: string;
    RA_ShipMain_RecIDLike: string;
    RA_ShipMain_RecIDBetween: string[];
    RA_ShipMain_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_ShipDocuments>(); }
    getTypeName() { return "RA_ShipDocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipInQuery extends QueryDb<RA_ShipIn> implements IReturn<QueryResponse<RA_ShipIn>>
{
    RA_CreditMain_RecID: string;
    RA_CreditMain_RecIDStartsWith: string;
    RA_CreditMain_RecIDEndsWith: string;
    RA_CreditMain_RecIDContains: string;
    RA_CreditMain_RecIDLike: string;
    RA_CreditMain_RecIDBetween: string[];
    RA_CreditMain_RecIDIn: string[];
    RA_ShipMain_RecID: string;
    RA_ShipMain_RecIDStartsWith: string;
    RA_ShipMain_RecIDEndsWith: string;
    RA_ShipMain_RecIDContains: string;
    RA_ShipMain_RecIDLike: string;
    RA_ShipMain_RecIDBetween: string[];
    RA_ShipMain_RecIDIn: string[];
    createResponse() { return new QueryResponse<RA_ShipIn>(); }
    getTypeName() { return "RA_ShipInQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipLineDetailsQuery extends QueryDb<RA_ShipLineDetails> implements IReturn<QueryResponse<RA_ShipLineDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_ShipLineDetails>(); }
    getTypeName() { return "RA_ShipLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipLinesQuery extends QueryDb<RA_ShipLines> implements IReturn<QueryResponse<RA_ShipLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RA_ShipMain_RecID: string;
    RA_ShipMain_RecIDStartsWith: string;
    RA_ShipMain_RecIDEndsWith: string;
    RA_ShipMain_RecIDContains: string;
    RA_ShipMain_RecIDLike: string;
    RA_ShipMain_RecIDBetween: string[];
    RA_ShipMain_RecIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    RA_ReturnCodes_RecID: string;
    RA_ReturnCodes_RecIDStartsWith: string;
    RA_ReturnCodes_RecIDEndsWith: string;
    RA_ReturnCodes_RecIDContains: string;
    RA_ReturnCodes_RecIDLike: string;
    RA_ReturnCodes_RecIDBetween: string[];
    RA_ReturnCodes_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    UnitReturnValue: number;
    UnitReturnValueGreaterThanOrEqualTo: number;
    UnitReturnValueGreaterThan: number;
    UnitReturnValueLessThan: number;
    UnitReturnValueLessThanOrEqualTo: number;
    UnitReturnValueNotEqualTo: number;
    UnitReturnValueBetween: number[];
    UnitReturnValueIn: number[];
    TotalReturnValue: number;
    TotalReturnValueGreaterThanOrEqualTo: number;
    TotalReturnValueGreaterThan: number;
    TotalReturnValueLessThan: number;
    TotalReturnValueLessThanOrEqualTo: number;
    TotalReturnValueNotEqualTo: number;
    TotalReturnValueBetween: number[];
    TotalReturnValueIn: number[];
    RA_RequestLines_RecID: string;
    RA_RequestLines_RecIDStartsWith: string;
    RA_RequestLines_RecIDEndsWith: string;
    RA_RequestLines_RecIDContains: string;
    RA_RequestLines_RecIDLike: string;
    RA_RequestLines_RecIDBetween: string[];
    RA_RequestLines_RecIDIn: string[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    RowHash: Uint8Array;
    FXUnitReturnValue: number;
    FXUnitReturnValueGreaterThanOrEqualTo: number;
    FXUnitReturnValueGreaterThan: number;
    FXUnitReturnValueLessThan: number;
    FXUnitReturnValueLessThanOrEqualTo: number;
    FXUnitReturnValueNotEqualTo: number;
    FXUnitReturnValueBetween: number[];
    FXUnitReturnValueIn: number[];
    FXTotalReturnValue: number;
    FXTotalReturnValueGreaterThanOrEqualTo: number;
    FXTotalReturnValueGreaterThan: number;
    FXTotalReturnValueLessThan: number;
    FXTotalReturnValueLessThanOrEqualTo: number;
    FXTotalReturnValueNotEqualTo: number;
    FXTotalReturnValueBetween: number[];
    FXTotalReturnValueIn: number[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    PO_Lines_OrderLineID: string;
    PO_Lines_OrderLineIDStartsWith: string;
    PO_Lines_OrderLineIDEndsWith: string;
    PO_Lines_OrderLineIDContains: string;
    PO_Lines_OrderLineIDLike: string;
    PO_Lines_OrderLineIDBetween: string[];
    PO_Lines_OrderLineIDIn: string[];
    createResponse() { return new QueryResponse<RA_ShipLines>(); }
    getTypeName() { return "RA_ShipLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipLinesCustomFieldsQuery extends QueryDb<RA_ShipLinesCustomFields> implements IReturn<QueryResponse<RA_ShipLinesCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<RA_ShipLinesCustomFields>(); }
    getTypeName() { return "RA_ShipLinesCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipLinesCustomValuesQuery extends QueryDb<RA_ShipLinesCustomValues> implements IReturn<QueryResponse<RA_ShipLinesCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_ShipLines_RecID: string;
    RA_ShipLines_RecIDStartsWith: string;
    RA_ShipLines_RecIDEndsWith: string;
    RA_ShipLines_RecIDContains: string;
    RA_ShipLines_RecIDLike: string;
    RA_ShipLines_RecIDBetween: string[];
    RA_ShipLines_RecIDIn: string[];
    RA_ShipLinesCustomFields_RecID: string;
    RA_ShipLinesCustomFields_RecIDStartsWith: string;
    RA_ShipLinesCustomFields_RecIDEndsWith: string;
    RA_ShipLinesCustomFields_RecIDContains: string;
    RA_ShipLinesCustomFields_RecIDLike: string;
    RA_ShipLinesCustomFields_RecIDBetween: string[];
    RA_ShipLinesCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<RA_ShipLinesCustomValues>(); }
    getTypeName() { return "RA_ShipLinesCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipMainQuery extends QueryDb<RA_ShipMain> implements IReturn<QueryResponse<RA_ShipMain>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ShippingNo: string;
    ShippingNoStartsWith: string;
    ShippingNoEndsWith: string;
    ShippingNoContains: string;
    ShippingNoLike: string;
    ShippingNoBetween: string[];
    ShippingNoIn: string[];
    RANumber: string;
    RANumberStartsWith: string;
    RANumberEndsWith: string;
    RANumberContains: string;
    RANumberLike: string;
    RANumberBetween: string[];
    RANumberIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    WarehouseID: string;
    WarehouseIDStartsWith: string;
    WarehouseIDEndsWith: string;
    WarehouseIDContains: string;
    WarehouseIDLike: string;
    WarehouseIDBetween: string[];
    WarehouseIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    CreatedBy: string;
    CreatedByStartsWith: string;
    CreatedByEndsWith: string;
    CreatedByContains: string;
    CreatedByLike: string;
    CreatedByBetween: string[];
    CreatedByIn: string[];
    ReturnCode: string;
    ReturnCodeStartsWith: string;
    ReturnCodeEndsWith: string;
    ReturnCodeContains: string;
    ReturnCodeLike: string;
    ReturnCodeBetween: string[];
    ReturnCodeIn: string[];
    DeliveryStreetAddress1: string;
    DeliveryStreetAddress1StartsWith: string;
    DeliveryStreetAddress1EndsWith: string;
    DeliveryStreetAddress1Contains: string;
    DeliveryStreetAddress1Like: string;
    DeliveryStreetAddress1Between: string[];
    DeliveryStreetAddress1In: string[];
    DeliveryStreetAddress2: string;
    DeliveryStreetAddress2StartsWith: string;
    DeliveryStreetAddress2EndsWith: string;
    DeliveryStreetAddress2Contains: string;
    DeliveryStreetAddress2Like: string;
    DeliveryStreetAddress2Between: string[];
    DeliveryStreetAddress2In: string[];
    DeliveryLocality: string;
    DeliveryLocalityStartsWith: string;
    DeliveryLocalityEndsWith: string;
    DeliveryLocalityContains: string;
    DeliveryLocalityLike: string;
    DeliveryLocalityBetween: string[];
    DeliveryLocalityIn: string[];
    DeliveryRegion: string;
    DeliveryRegionStartsWith: string;
    DeliveryRegionEndsWith: string;
    DeliveryRegionContains: string;
    DeliveryRegionLike: string;
    DeliveryRegionBetween: string[];
    DeliveryRegionIn: string[];
    DeliveryPostCode: string;
    DeliveryPostCodeStartsWith: string;
    DeliveryPostCodeEndsWith: string;
    DeliveryPostCodeContains: string;
    DeliveryPostCodeLike: string;
    DeliveryPostCodeBetween: string[];
    DeliveryPostCodeIn: string[];
    ContactName: string;
    ContactNameStartsWith: string;
    ContactNameEndsWith: string;
    ContactNameContains: string;
    ContactNameLike: string;
    ContactNameBetween: string[];
    ContactNameIn: string[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    CourierDetails: string;
    CourierDetailsStartsWith: string;
    CourierDetailsEndsWith: string;
    CourierDetailsContains: string;
    CourierDetailsLike: string;
    CourierDetailsBetween: string[];
    CourierDetailsIn: string[];
    ShippingDate: string;
    ShippingDateGreaterThanOrEqualTo: string;
    ShippingDateGreaterThan: string;
    ShippingDateLessThan: string;
    ShippingDateLessThanOrEqualTo: string;
    ShippingDateNotEqualTo: string;
    ShippingDateBetween: string[];
    ShippingDateIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    TransitWarehouseID: string;
    TransitWarehouseIDStartsWith: string;
    TransitWarehouseIDEndsWith: string;
    TransitWarehouseIDContains: string;
    TransitWarehouseIDLike: string;
    TransitWarehouseIDBetween: string[];
    TransitWarehouseIDIn: string[];
    RowHash: Uint8Array;
    DeliveryAddressee: string;
    DeliveryAddresseeStartsWith: string;
    DeliveryAddresseeEndsWith: string;
    DeliveryAddresseeContains: string;
    DeliveryAddresseeLike: string;
    DeliveryAddresseeBetween: string[];
    DeliveryAddresseeIn: string[];
    DeliveryCountry: string;
    DeliveryCountryStartsWith: string;
    DeliveryCountryEndsWith: string;
    DeliveryCountryContains: string;
    DeliveryCountryLike: string;
    DeliveryCountryBetween: string[];
    DeliveryCountryIn: string[];
    DeliveryTelephone: string;
    DeliveryTelephoneStartsWith: string;
    DeliveryTelephoneEndsWith: string;
    DeliveryTelephoneContains: string;
    DeliveryTelephoneLike: string;
    DeliveryTelephoneBetween: string[];
    DeliveryTelephoneIn: string[];
    DeliveryFacsimile: string;
    DeliveryFacsimileStartsWith: string;
    DeliveryFacsimileEndsWith: string;
    DeliveryFacsimileContains: string;
    DeliveryFacsimileLike: string;
    DeliveryFacsimileBetween: string[];
    DeliveryFacsimileIn: string[];
    createResponse() { return new QueryResponse<RA_ShipMain>(); }
    getTypeName() { return "RA_ShipMainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipMainCustomFieldsQuery extends QueryDb<RA_ShipMainCustomFields> implements IReturn<QueryResponse<RA_ShipMainCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<RA_ShipMainCustomFields>(); }
    getTypeName() { return "RA_ShipMainCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipMainCustomValuesQuery extends QueryDb<RA_ShipMainCustomValues> implements IReturn<QueryResponse<RA_ShipMainCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_ShipMain_RecID: string;
    RA_ShipMain_RecIDStartsWith: string;
    RA_ShipMain_RecIDEndsWith: string;
    RA_ShipMain_RecIDContains: string;
    RA_ShipMain_RecIDLike: string;
    RA_ShipMain_RecIDBetween: string[];
    RA_ShipMain_RecIDIn: string[];
    RA_ShipMainCustomFields_RecID: string;
    RA_ShipMainCustomFields_RecIDStartsWith: string;
    RA_ShipMainCustomFields_RecIDEndsWith: string;
    RA_ShipMainCustomFields_RecIDContains: string;
    RA_ShipMainCustomFields_RecIDLike: string;
    RA_ShipMainCustomFields_RecIDBetween: string[];
    RA_ShipMainCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<RA_ShipMainCustomValues>(); }
    getTypeName() { return "RA_ShipMainCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RA_ShipNotesQuery extends QueryDb<RA_ShipNotes> implements IReturn<QueryResponse<RA_ShipNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RA_ShipMain_RecID: string;
    RA_ShipMain_RecIDStartsWith: string;
    RA_ShipMain_RecIDEndsWith: string;
    RA_ShipMain_RecIDContains: string;
    RA_ShipMain_RecIDLike: string;
    RA_ShipMain_RecIDBetween: string[];
    RA_ShipMain_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RA_ShipNotes>(); }
    getTypeName() { return "RA_ShipNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_CustomSettingsQuery extends QueryDb<RE_CustomSettings> implements IReturn<QueryResponse<RE_CustomSettings>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<RE_CustomSettings>(); }
    getTypeName() { return "RE_CustomSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_CustomSettingValuesQuery extends QueryDb<RE_CustomSettingValues> implements IReturn<QueryResponse<RE_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    RE_Main_RecID: string;
    RE_Main_RecIDStartsWith: string;
    RE_Main_RecIDEndsWith: string;
    RE_Main_RecIDContains: string;
    RE_Main_RecIDLike: string;
    RE_Main_RecIDBetween: string[];
    RE_Main_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<RE_CustomSettingValues>(); }
    getTypeName() { return "RE_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_LineCustomFieldsQuery extends QueryDb<RE_LineCustomFields> implements IReturn<QueryResponse<RE_LineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<RE_LineCustomFields>(); }
    getTypeName() { return "RE_LineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_LineCustomValuesQuery extends QueryDb<RE_LineCustomValues> implements IReturn<QueryResponse<RE_LineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RE_Lines_RecID: string;
    RE_Lines_RecIDStartsWith: string;
    RE_Lines_RecIDEndsWith: string;
    RE_Lines_RecIDContains: string;
    RE_Lines_RecIDLike: string;
    RE_Lines_RecIDBetween: string[];
    RE_Lines_RecIDIn: string[];
    RE_LineCustomFields_RecID: string;
    RE_LineCustomFields_RecIDStartsWith: string;
    RE_LineCustomFields_RecIDEndsWith: string;
    RE_LineCustomFields_RecIDContains: string;
    RE_LineCustomFields_RecIDLike: string;
    RE_LineCustomFields_RecIDBetween: string[];
    RE_LineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<RE_LineCustomValues>(); }
    getTypeName() { return "RE_LineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_LineDetailsQuery extends QueryDb<RE_LineDetails> implements IReturn<QueryResponse<RE_LineDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RE_Lines_RecID: string;
    RE_Lines_RecIDStartsWith: string;
    RE_Lines_RecIDEndsWith: string;
    RE_Lines_RecIDContains: string;
    RE_Lines_RecIDLike: string;
    RE_Lines_RecIDBetween: string[];
    RE_Lines_RecIDIn: string[];
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    BinLocationDescription: string;
    BinLocationDescriptionStartsWith: string;
    BinLocationDescriptionEndsWith: string;
    BinLocationDescriptionContains: string;
    BinLocationDescriptionLike: string;
    BinLocationDescriptionBetween: string[];
    BinLocationDescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<RE_LineDetails>(); }
    getTypeName() { return "RE_LineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_LinesQuery extends QueryDb<RE_Lines> implements IReturn<QueryResponse<RE_Lines>>
{
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    PackSlipID: string;
    PackSlipIDStartsWith: string;
    PackSlipIDEndsWith: string;
    PackSlipIDContains: string;
    PackSlipIDLike: string;
    PackSlipIDBetween: string[];
    PackSlipIDIn: string[];
    OrderID: string;
    OrderIDStartsWith: string;
    OrderIDEndsWith: string;
    OrderIDContains: string;
    OrderIDLike: string;
    OrderIDBetween: string[];
    OrderIDIn: string[];
    OrderLineID: string;
    OrderLineIDStartsWith: string;
    OrderLineIDEndsWith: string;
    OrderLineIDContains: string;
    OrderLineIDLike: string;
    OrderLineIDBetween: string[];
    OrderLineIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SuppliersCost: number;
    SuppliersCostGreaterThanOrEqualTo: number;
    SuppliersCostGreaterThan: number;
    SuppliersCostLessThan: number;
    SuppliersCostLessThanOrEqualTo: number;
    SuppliersCostNotEqualTo: number;
    SuppliersCostBetween: number[];
    SuppliersCostIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    SuppPartNo: string;
    SuppPartNoStartsWith: string;
    SuppPartNoEndsWith: string;
    SuppPartNoContains: string;
    SuppPartNoLike: string;
    SuppPartNoBetween: string[];
    SuppPartNoIn: string[];
    LineType: number;
    LineTypeGreaterThanOrEqualTo: number;
    LineTypeGreaterThan: number;
    LineTypeLessThan: number;
    LineTypeLessThanOrEqualTo: number;
    LineTypeNotEqualTo: number;
    LineTypeBetween: number[];
    LineTypeIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    HomeSuppliersCost: number;
    HomeSuppliersCostGreaterThanOrEqualTo: number;
    HomeSuppliersCostGreaterThan: number;
    HomeSuppliersCostLessThan: number;
    HomeSuppliersCostLessThanOrEqualTo: number;
    HomeSuppliersCostNotEqualTo: number;
    HomeSuppliersCostBetween: number[];
    HomeSuppliersCostIn: number[];
    CurrencyRateUsed: number;
    CurrencyRateUsedGreaterThanOrEqualTo: number;
    CurrencyRateUsedGreaterThan: number;
    CurrencyRateUsedLessThan: number;
    CurrencyRateUsedLessThanOrEqualTo: number;
    CurrencyRateUsedNotEqualTo: number;
    CurrencyRateUsedBetween: number[];
    CurrencyRateUsedIn: number[];
    POClassID: string;
    POClassIDStartsWith: string;
    POClassIDEndsWith: string;
    POClassIDContains: string;
    POClassIDLike: string;
    POClassIDBetween: string[];
    POClassIDIn: string[];
    PostedToWIP: boolean;
    JobCharge: number;
    JobChargeGreaterThanOrEqualTo: number;
    JobChargeGreaterThan: number;
    JobChargeLessThan: number;
    JobChargeLessThanOrEqualTo: number;
    JobChargeNotEqualTo: number;
    JobChargeBetween: number[];
    JobChargeIn: number[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    FXDecimalPlaces: number;
    FXDecimalPlacesGreaterThanOrEqualTo: number;
    FXDecimalPlacesGreaterThan: number;
    FXDecimalPlacesLessThan: number;
    FXDecimalPlacesLessThanOrEqualTo: number;
    FXDecimalPlacesNotEqualTo: number;
    FXDecimalPlacesBetween: number[];
    FXDecimalPlacesIn: number[];
    HomeDecimalPlaces: number;
    HomeDecimalPlacesGreaterThanOrEqualTo: number;
    HomeDecimalPlacesGreaterThan: number;
    HomeDecimalPlacesLessThan: number;
    HomeDecimalPlacesLessThanOrEqualTo: number;
    HomeDecimalPlacesNotEqualTo: number;
    HomeDecimalPlacesBetween: number[];
    HomeDecimalPlacesIn: number[];
    LineTotalExTax: number;
    LineTotalExTaxGreaterThanOrEqualTo: number;
    LineTotalExTaxGreaterThan: number;
    LineTotalExTaxLessThan: number;
    LineTotalExTaxLessThanOrEqualTo: number;
    LineTotalExTaxNotEqualTo: number;
    LineTotalExTaxBetween: number[];
    LineTotalExTaxIn: number[];
    UnitIncTax: number;
    UnitIncTaxGreaterThanOrEqualTo: number;
    UnitIncTaxGreaterThan: number;
    UnitIncTaxLessThan: number;
    UnitIncTaxLessThanOrEqualTo: number;
    UnitIncTaxNotEqualTo: number;
    UnitIncTaxBetween: number[];
    UnitIncTaxIn: number[];
    LineTotalIncTax: number;
    LineTotalIncTaxGreaterThanOrEqualTo: number;
    LineTotalIncTaxGreaterThan: number;
    LineTotalIncTaxLessThan: number;
    LineTotalIncTaxLessThanOrEqualTo: number;
    LineTotalIncTaxNotEqualTo: number;
    LineTotalIncTaxBetween: number[];
    LineTotalIncTaxIn: number[];
    FXLineTotalExTax: number;
    FXLineTotalExTaxGreaterThanOrEqualTo: number;
    FXLineTotalExTaxGreaterThan: number;
    FXLineTotalExTaxLessThan: number;
    FXLineTotalExTaxLessThanOrEqualTo: number;
    FXLineTotalExTaxNotEqualTo: number;
    FXLineTotalExTaxBetween: number[];
    FXLineTotalExTaxIn: number[];
    UnitChanged: boolean;
    FXChanged: boolean;
    ExChanged: boolean;
    TaxRateChanged: boolean;
    ChangeSourceIsFromPurchaseOrderLine: boolean;
    createResponse() { return new QueryResponse<RE_Lines>(); }
    getTypeName() { return "RE_LinesQuery"; }
}

// @Route("/Queries/RE_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_MainQuery extends QueryDb<RE_Main> implements IReturn<QueryResponse<RE_Main>>
{
    PackSlipID: string;
    PackSlipIDStartsWith: string;
    PackSlipIDEndsWith: string;
    PackSlipIDContains: string;
    PackSlipIDLike: string;
    PackSlipIDBetween: string[];
    PackSlipIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SlipNo: string;
    SlipNoStartsWith: string;
    SlipNoEndsWith: string;
    SlipNoContains: string;
    SlipNoLike: string;
    SlipNoBetween: string[];
    SlipNoIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    SlipDate: string;
    SlipDateGreaterThanOrEqualTo: string;
    SlipDateGreaterThan: string;
    SlipDateLessThan: string;
    SlipDateLessThanOrEqualTo: string;
    SlipDateNotEqualTo: string;
    SlipDateBetween: string[];
    SlipDateIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    Freight: number;
    FreightGreaterThanOrEqualTo: number;
    FreightGreaterThan: number;
    FreightLessThan: number;
    FreightLessThanOrEqualTo: number;
    FreightNotEqualTo: number;
    FreightBetween: number[];
    FreightIn: number[];
    Duty: number;
    DutyGreaterThanOrEqualTo: number;
    DutyGreaterThan: number;
    DutyLessThan: number;
    DutyLessThanOrEqualTo: number;
    DutyNotEqualTo: number;
    DutyBetween: number[];
    DutyIn: number[];
    Invoiced: boolean;
    PI_MainID: string;
    PI_MainIDStartsWith: string;
    PI_MainIDEndsWith: string;
    PI_MainIDContains: string;
    PI_MainIDLike: string;
    PI_MainIDBetween: string[];
    PI_MainIDIn: string[];
    Insurance: number;
    InsuranceGreaterThanOrEqualTo: number;
    InsuranceGreaterThan: number;
    InsuranceLessThan: number;
    InsuranceLessThanOrEqualTo: number;
    InsuranceNotEqualTo: number;
    InsuranceBetween: number[];
    InsuranceIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    TaxTotal: number;
    TaxTotalGreaterThanOrEqualTo: number;
    TaxTotalGreaterThan: number;
    TaxTotalLessThan: number;
    TaxTotalLessThanOrEqualTo: number;
    TaxTotalNotEqualTo: number;
    TaxTotalBetween: number[];
    TaxTotalIn: number[];
    FreightTaxID: string;
    FreightTaxIDStartsWith: string;
    FreightTaxIDEndsWith: string;
    FreightTaxIDContains: string;
    FreightTaxIDLike: string;
    FreightTaxIDBetween: string[];
    FreightTaxIDIn: string[];
    FreightTaxRate: number;
    FreightTaxRateGreaterThanOrEqualTo: number;
    FreightTaxRateGreaterThan: number;
    FreightTaxRateLessThan: number;
    FreightTaxRateLessThanOrEqualTo: number;
    FreightTaxRateNotEqualTo: number;
    FreightTaxRateBetween: number[];
    FreightTaxRateIn: number[];
    FreightTaxAmount: number;
    FreightTaxAmountGreaterThanOrEqualTo: number;
    FreightTaxAmountGreaterThan: number;
    FreightTaxAmountLessThan: number;
    FreightTaxAmountLessThanOrEqualTo: number;
    FreightTaxAmountNotEqualTo: number;
    FreightTaxAmountBetween: number[];
    FreightTaxAmountIn: number[];
    DutyTaxID: string;
    DutyTaxIDStartsWith: string;
    DutyTaxIDEndsWith: string;
    DutyTaxIDContains: string;
    DutyTaxIDLike: string;
    DutyTaxIDBetween: string[];
    DutyTaxIDIn: string[];
    DutyTaxRate: number;
    DutyTaxRateGreaterThanOrEqualTo: number;
    DutyTaxRateGreaterThan: number;
    DutyTaxRateLessThan: number;
    DutyTaxRateLessThanOrEqualTo: number;
    DutyTaxRateNotEqualTo: number;
    DutyTaxRateBetween: number[];
    DutyTaxRateIn: number[];
    DutyTaxAmount: number;
    DutyTaxAmountGreaterThanOrEqualTo: number;
    DutyTaxAmountGreaterThan: number;
    DutyTaxAmountLessThan: number;
    DutyTaxAmountLessThanOrEqualTo: number;
    DutyTaxAmountNotEqualTo: number;
    DutyTaxAmountBetween: number[];
    DutyTaxAmountIn: number[];
    InsuranceTaxID: string;
    InsuranceTaxIDStartsWith: string;
    InsuranceTaxIDEndsWith: string;
    InsuranceTaxIDContains: string;
    InsuranceTaxIDLike: string;
    InsuranceTaxIDBetween: string[];
    InsuranceTaxIDIn: string[];
    InsuranceTaxRate: number;
    InsuranceTaxRateGreaterThanOrEqualTo: number;
    InsuranceTaxRateGreaterThan: number;
    InsuranceTaxRateLessThan: number;
    InsuranceTaxRateLessThanOrEqualTo: number;
    InsuranceTaxRateNotEqualTo: number;
    InsuranceTaxRateBetween: number[];
    InsuranceTaxRateIn: number[];
    InsuranceTaxAmount: number;
    InsuranceTaxAmountGreaterThanOrEqualTo: number;
    InsuranceTaxAmountGreaterThan: number;
    InsuranceTaxAmountLessThan: number;
    InsuranceTaxAmountLessThanOrEqualTo: number;
    InsuranceTaxAmountNotEqualTo: number;
    InsuranceTaxAmountBetween: number[];
    InsuranceTaxAmountIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    createResponse() { return new QueryResponse<RE_Main>(); }
    getTypeName() { return "RE_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_OrdersUsedQuery extends QueryDb<RE_OrdersUsed> implements IReturn<QueryResponse<RE_OrdersUsed>>
{
    OrdersPSOrdersID: string;
    OrdersPSOrdersIDStartsWith: string;
    OrdersPSOrdersIDEndsWith: string;
    OrdersPSOrdersIDContains: string;
    OrdersPSOrdersIDLike: string;
    OrdersPSOrdersIDBetween: string[];
    OrdersPSOrdersIDIn: string[];
    PackSlipID: string;
    PackSlipIDStartsWith: string;
    PackSlipIDEndsWith: string;
    PackSlipIDContains: string;
    PackSlipIDLike: string;
    PackSlipIDBetween: string[];
    PackSlipIDIn: string[];
    OrderID: string;
    OrderIDStartsWith: string;
    OrderIDEndsWith: string;
    OrderIDContains: string;
    OrderIDLike: string;
    OrderIDBetween: string[];
    OrderIDIn: string[];
    TypeReceival: boolean;
    createResponse() { return new QueryResponse<RE_OrdersUsed>(); }
    getTypeName() { return "RE_OrdersUsedQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class RE_ReversalQuery extends QueryDb<RE_Reversal> implements IReturn<QueryResponse<RE_Reversal>>
{
    RecID: string;
    RecIDIn: string[];
    Reversed_RE_Main_RecID: string;
    Reversed_RE_Main_RecIDStartsWith: string;
    Reversed_RE_Main_RecIDEndsWith: string;
    Reversed_RE_Main_RecIDContains: string;
    Reversed_RE_Main_RecIDLike: string;
    Reversed_RE_Main_RecIDBetween: string[];
    Reversed_RE_Main_RecIDIn: string[];
    Reversal_RE_Main_RecID: string;
    Reversal_RE_Main_RecIDStartsWith: string;
    Reversal_RE_Main_RecIDEndsWith: string;
    Reversal_RE_Main_RecIDContains: string;
    Reversal_RE_Main_RecIDLike: string;
    Reversal_RE_Main_RecIDBetween: string[];
    Reversal_RE_Main_RecIDIn: string[];
    createResponse() { return new QueryResponse<RE_Reversal>(); }
    getTypeName() { return "RE_ReversalQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_ApportionedCostsAmountsQuery extends QueryDb<SH_ApportionedCostsAmounts> implements IReturn<QueryResponse<SH_ApportionedCostsAmounts>>
{
    CostsAmountsID: string;
    CostsAmountsIDStartsWith: string;
    CostsAmountsIDEndsWith: string;
    CostsAmountsIDContains: string;
    CostsAmountsIDLike: string;
    CostsAmountsIDBetween: string[];
    CostsAmountsIDIn: string[];
    ShipmentLineID: string;
    ShipmentLineIDStartsWith: string;
    ShipmentLineIDEndsWith: string;
    ShipmentLineIDContains: string;
    ShipmentLineIDLike: string;
    ShipmentLineIDBetween: string[];
    ShipmentLineIDIn: string[];
    CostsID: string;
    CostsIDStartsWith: string;
    CostsIDEndsWith: string;
    CostsIDContains: string;
    CostsIDLike: string;
    CostsIDBetween: string[];
    CostsIDIn: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    IncludeFlag: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SH_ApportionedCostsAmounts>(); }
    getTypeName() { return "SH_ApportionedCostsAmountsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_ApportionedCostsOnPOQuery extends QueryDb<SH_ApportionedCostsOnPO> implements IReturn<QueryResponse<SH_ApportionedCostsOnPO>>
{
    ApportionedID: string;
    ApportionedIDStartsWith: string;
    ApportionedIDEndsWith: string;
    ApportionedIDContains: string;
    ApportionedIDLike: string;
    ApportionedIDBetween: string[];
    ApportionedIDIn: string[];
    CostsID: string;
    CostsIDStartsWith: string;
    CostsIDEndsWith: string;
    CostsIDContains: string;
    CostsIDLike: string;
    CostsIDBetween: string[];
    CostsIDIn: string[];
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    OrdersUsedID: string;
    OrdersUsedIDStartsWith: string;
    OrdersUsedIDEndsWith: string;
    OrdersUsedIDContains: string;
    OrdersUsedIDLike: string;
    OrdersUsedIDBetween: string[];
    OrdersUsedIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SH_ApportionedCostsOnPO>(); }
    getTypeName() { return "SH_ApportionedCostsOnPOQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_BookInDetailLinesQuery extends QueryDb<SH_BookInDetailLines> implements IReturn<QueryResponse<SH_BookInDetailLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    RowHash: Uint8Array;
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SH_BookInDetailLines>(); }
    getTypeName() { return "SH_BookInDetailLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_BookInDetailLinesCostAuditQuery extends QueryDb<SH_BookInDetailLinesCostAudit> implements IReturn<QueryResponse<SH_BookInDetailLinesCostAudit>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BookInDetailLineID: string;
    BookInDetailLineIDStartsWith: string;
    BookInDetailLineIDEndsWith: string;
    BookInDetailLineIDContains: string;
    BookInDetailLineIDLike: string;
    BookInDetailLineIDBetween: string[];
    BookInDetailLineIDIn: string[];
    DateCostChanged: string;
    DateCostChangedGreaterThanOrEqualTo: string;
    DateCostChangedGreaterThan: string;
    DateCostChangedLessThan: string;
    DateCostChangedLessThanOrEqualTo: string;
    DateCostChangedNotEqualTo: string;
    DateCostChangedBetween: string[];
    DateCostChangedIn: string[];
    CostBefore: number;
    CostBeforeGreaterThanOrEqualTo: number;
    CostBeforeGreaterThan: number;
    CostBeforeLessThan: number;
    CostBeforeLessThanOrEqualTo: number;
    CostBeforeNotEqualTo: number;
    CostBeforeBetween: number[];
    CostBeforeIn: number[];
    CostAfter: number;
    CostAfterGreaterThanOrEqualTo: number;
    CostAfterGreaterThan: number;
    CostAfterLessThan: number;
    CostAfterLessThanOrEqualTo: number;
    CostAfterNotEqualTo: number;
    CostAfterBetween: number[];
    CostAfterIn: number[];
    createResponse() { return new QueryResponse<SH_BookInDetailLinesCostAudit>(); }
    getTypeName() { return "SH_BookInDetailLinesCostAuditQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_BookInLineCustomFieldsQuery extends QueryDb<SH_BookInLineCustomFields> implements IReturn<QueryResponse<SH_BookInLineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<SH_BookInLineCustomFields>(); }
    getTypeName() { return "SH_BookInLineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_BookInLineCustomValuesQuery extends QueryDb<SH_BookInLineCustomValues> implements IReturn<QueryResponse<SH_BookInLineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SH_BookInLines_RecID: string;
    SH_BookInLines_RecIDStartsWith: string;
    SH_BookInLines_RecIDEndsWith: string;
    SH_BookInLines_RecIDContains: string;
    SH_BookInLines_RecIDLike: string;
    SH_BookInLines_RecIDBetween: string[];
    SH_BookInLines_RecIDIn: string[];
    SH_BookInLineCustomFields_RecID: string;
    SH_BookInLineCustomFields_RecIDStartsWith: string;
    SH_BookInLineCustomFields_RecIDEndsWith: string;
    SH_BookInLineCustomFields_RecIDContains: string;
    SH_BookInLineCustomFields_RecIDLike: string;
    SH_BookInLineCustomFields_RecIDBetween: string[];
    SH_BookInLineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SH_BookInLineCustomValues>(); }
    getTypeName() { return "SH_BookInLineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_BookInLinesQuery extends QueryDb<SH_BookInLines> implements IReturn<QueryResponse<SH_BookInLines>>
{
    BookInLineID: string;
    BookInLineIDStartsWith: string;
    BookInLineIDEndsWith: string;
    BookInLineIDContains: string;
    BookInLineIDLike: string;
    BookInLineIDBetween: string[];
    BookInLineIDIn: string[];
    BookInID: string;
    BookInIDStartsWith: string;
    BookInIDEndsWith: string;
    BookInIDContains: string;
    BookInIDLike: string;
    BookInIDBetween: string[];
    BookInIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    ShipmentLineID: string;
    ShipmentLineIDStartsWith: string;
    ShipmentLineIDEndsWith: string;
    ShipmentLineIDContains: string;
    ShipmentLineIDLike: string;
    ShipmentLineIDBetween: string[];
    ShipmentLineIDIn: string[];
    UseSerialNo: boolean;
    UseExpiry: boolean;
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    POClassID: string;
    POClassIDStartsWith: string;
    POClassIDEndsWith: string;
    POClassIDContains: string;
    POClassIDLike: string;
    POClassIDBetween: string[];
    POClassIDIn: string[];
    DeliveryDays: number;
    DeliveryDaysGreaterThanOrEqualTo: number;
    DeliveryDaysGreaterThan: number;
    DeliveryDaysLessThan: number;
    DeliveryDaysLessThanOrEqualTo: number;
    DeliveryDaysNotEqualTo: number;
    DeliveryDaysBetween: number[];
    DeliveryDaysIn: number[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    OrderUnits: number;
    OrderUnitsGreaterThanOrEqualTo: number;
    OrderUnitsGreaterThan: number;
    OrderUnitsLessThan: number;
    OrderUnitsLessThanOrEqualTo: number;
    OrderUnitsNotEqualTo: number;
    OrderUnitsBetween: number[];
    OrderUnitsIn: number[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    SupplierPartNo: string;
    SupplierPartNoStartsWith: string;
    SupplierPartNoEndsWith: string;
    SupplierPartNoContains: string;
    SupplierPartNoLike: string;
    SupplierPartNoBetween: string[];
    SupplierPartNoIn: string[];
    OrderedCost: number;
    OrderedCostGreaterThanOrEqualTo: number;
    OrderedCostGreaterThan: number;
    OrderedCostLessThan: number;
    OrderedCostLessThanOrEqualTo: number;
    OrderedCostNotEqualTo: number;
    OrderedCostBetween: number[];
    OrderedCostIn: number[];
    GSTRate: number;
    GSTRateGreaterThanOrEqualTo: number;
    GSTRateGreaterThan: number;
    GSTRateLessThan: number;
    GSTRateLessThanOrEqualTo: number;
    GSTRateNotEqualTo: number;
    GSTRateBetween: number[];
    GSTRateIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    GSTID: string;
    GSTIDStartsWith: string;
    GSTIDEndsWith: string;
    GSTIDContains: string;
    GSTIDLike: string;
    GSTIDBetween: string[];
    GSTIDIn: string[];
    JobCostID: string;
    JobCostIDStartsWith: string;
    JobCostIDEndsWith: string;
    JobCostIDContains: string;
    JobCostIDLike: string;
    JobCostIDBetween: string[];
    JobCostIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    Weight: number;
    WeightGreaterThanOrEqualTo: number;
    WeightGreaterThan: number;
    WeightLessThan: number;
    WeightLessThanOrEqualTo: number;
    WeightNotEqualTo: number;
    WeightBetween: number[];
    WeightIn: number[];
    Volume: number;
    VolumeGreaterThanOrEqualTo: number;
    VolumeGreaterThan: number;
    VolumeLessThan: number;
    VolumeLessThanOrEqualTo: number;
    VolumeNotEqualTo: number;
    VolumeBetween: number[];
    VolumeIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    PhysicalItem: boolean;
    FXOrderedCost: number;
    FXOrderedCostGreaterThanOrEqualTo: number;
    FXOrderedCostGreaterThan: number;
    FXOrderedCostLessThan: number;
    FXOrderedCostLessThanOrEqualTo: number;
    FXOrderedCostNotEqualTo: number;
    FXOrderedCostBetween: number[];
    FXOrderedCostIn: number[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<SH_BookInLines>(); }
    getTypeName() { return "SH_BookInLinesQuery"; }
}

// @Route("/Queries/SH_BookInMain", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_BookInMainQuery extends QueryDb<SH_BookInMain> implements IReturn<QueryResponse<SH_BookInMain>>
{
    BookInID: string;
    BookInIDStartsWith: string;
    BookInIDEndsWith: string;
    BookInIDContains: string;
    BookInIDLike: string;
    BookInIDBetween: string[];
    BookInIDIn: string[];
    BookInNo: string;
    BookInNoStartsWith: string;
    BookInNoEndsWith: string;
    BookInNoContains: string;
    BookInNoLike: string;
    BookInNoBetween: string[];
    BookInNoIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    BookInDate: string;
    BookInDateGreaterThanOrEqualTo: string;
    BookInDateGreaterThan: string;
    BookInDateLessThan: string;
    BookInDateLessThanOrEqualTo: string;
    BookInDateNotEqualTo: string;
    BookInDateBetween: string[];
    BookInDateIn: string[];
    Status: boolean;
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    SETID: string;
    SETIDStartsWith: string;
    SETIDEndsWith: string;
    SETIDContains: string;
    SETIDLike: string;
    SETIDBetween: string[];
    SETIDIn: string[];
    createResponse() { return new QueryResponse<SH_BookInMain>(); }
    getTypeName() { return "SH_BookInMainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_CostsQuery extends QueryDb<SH_Costs> implements IReturn<QueryResponse<SH_Costs>>
{
    CostsID: string;
    CostsIDStartsWith: string;
    CostsIDEndsWith: string;
    CostsIDContains: string;
    CostsIDLike: string;
    CostsIDBetween: string[];
    CostsIDIn: string[];
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    CostType: string;
    CostTypeStartsWith: string;
    CostTypeEndsWith: string;
    CostTypeContains: string;
    CostTypeLike: string;
    CostTypeBetween: string[];
    CostTypeIn: string[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    HomeAmount: number;
    HomeAmountGreaterThanOrEqualTo: number;
    HomeAmountGreaterThan: number;
    HomeAmountLessThan: number;
    HomeAmountLessThanOrEqualTo: number;
    HomeAmountNotEqualTo: number;
    HomeAmountBetween: number[];
    HomeAmountIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    GSTRate: number;
    GSTRateGreaterThanOrEqualTo: number;
    GSTRateGreaterThan: number;
    GSTRateLessThan: number;
    GSTRateLessThanOrEqualTo: number;
    GSTRateNotEqualTo: number;
    GSTRateBetween: number[];
    GSTRateIn: number[];
    GSTID: string;
    GSTIDStartsWith: string;
    GSTIDEndsWith: string;
    GSTIDContains: string;
    GSTIDLike: string;
    GSTIDBetween: string[];
    GSTIDIn: string[];
    TotalAmount: number;
    TotalAmountGreaterThanOrEqualTo: number;
    TotalAmountGreaterThan: number;
    TotalAmountLessThan: number;
    TotalAmountLessThanOrEqualTo: number;
    TotalAmountNotEqualTo: number;
    TotalAmountBetween: number[];
    TotalAmountIn: number[];
    ApportionMethod: number;
    ApportionMethodGreaterThanOrEqualTo: number;
    ApportionMethodGreaterThan: number;
    ApportionMethodLessThan: number;
    ApportionMethodLessThanOrEqualTo: number;
    ApportionMethodNotEqualTo: number;
    ApportionMethodBetween: number[];
    ApportionMethodIn: number[];
    Apportioned: boolean;
    Invoiced: boolean;
    CR_TransID: string;
    CR_TransIDStartsWith: string;
    CR_TransIDEndsWith: string;
    CR_TransIDContains: string;
    CR_TransIDLike: string;
    CR_TransIDBetween: string[];
    CR_TransIDIn: string[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    CreditorLedgerID: string;
    CreditorLedgerIDStartsWith: string;
    CreditorLedgerIDEndsWith: string;
    CreditorLedgerIDContains: string;
    CreditorLedgerIDLike: string;
    CreditorLedgerIDBetween: string[];
    CreditorLedgerIDIn: string[];
    LedgerID: string;
    LedgerIDStartsWith: string;
    LedgerIDEndsWith: string;
    LedgerIDContains: string;
    LedgerIDLike: string;
    LedgerIDBetween: string[];
    LedgerIDIn: string[];
    UserField1: string;
    UserField1StartsWith: string;
    UserField1EndsWith: string;
    UserField1Contains: string;
    UserField1Like: string;
    UserField1Between: string[];
    UserField1In: string[];
    UserField2: string;
    UserField2StartsWith: string;
    UserField2EndsWith: string;
    UserField2Contains: string;
    UserField2Like: string;
    UserField2Between: string[];
    UserField2In: string[];
    UserField3: string;
    UserField3StartsWith: string;
    UserField3EndsWith: string;
    UserField3Contains: string;
    UserField3Like: string;
    UserField3Between: string[];
    UserField3In: string[];
    UserField4: string;
    UserField4StartsWith: string;
    UserField4EndsWith: string;
    UserField4Contains: string;
    UserField4Like: string;
    UserField4Between: string[];
    UserField4In: string[];
    UserField5: string;
    UserField5StartsWith: string;
    UserField5EndsWith: string;
    UserField5Contains: string;
    UserField5Like: string;
    UserField5Between: string[];
    UserField5In: string[];
    UserField6: string;
    UserField6StartsWith: string;
    UserField6EndsWith: string;
    UserField6Contains: string;
    UserField6Like: string;
    UserField6Between: string[];
    UserField6In: string[];
    UserField7: string;
    UserField7StartsWith: string;
    UserField7EndsWith: string;
    UserField7Contains: string;
    UserField7Like: string;
    UserField7Between: string[];
    UserField7In: string[];
    UserField8: string;
    UserField8StartsWith: string;
    UserField8EndsWith: string;
    UserField8Contains: string;
    UserField8Like: string;
    UserField8Between: string[];
    UserField8In: string[];
    UserField9: string;
    UserField9StartsWith: string;
    UserField9EndsWith: string;
    UserField9Contains: string;
    UserField9Like: string;
    UserField9Between: string[];
    UserField9In: string[];
    UserField10: string;
    UserField10StartsWith: string;
    UserField10EndsWith: string;
    UserField10Contains: string;
    UserField10Like: string;
    UserField10Between: string[];
    UserField10In: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AUDDecimalPlaces: number;
    AUDDecimalPlacesGreaterThanOrEqualTo: number;
    AUDDecimalPlacesGreaterThan: number;
    AUDDecimalPlacesLessThan: number;
    AUDDecimalPlacesLessThanOrEqualTo: number;
    AUDDecimalPlacesNotEqualTo: number;
    AUDDecimalPlacesBetween: number[];
    AUDDecimalPlacesIn: number[];
    FXDecimalPlaces: number;
    FXDecimalPlacesGreaterThanOrEqualTo: number;
    FXDecimalPlacesGreaterThan: number;
    FXDecimalPlacesLessThan: number;
    FXDecimalPlacesLessThanOrEqualTo: number;
    FXDecimalPlacesNotEqualTo: number;
    FXDecimalPlacesBetween: number[];
    FXDecimalPlacesIn: number[];
    InvoiceDate: string;
    InvoiceDateGreaterThanOrEqualTo: string;
    InvoiceDateGreaterThan: string;
    InvoiceDateLessThan: string;
    InvoiceDateLessThanOrEqualTo: string;
    InvoiceDateNotEqualTo: string;
    InvoiceDateBetween: string[];
    InvoiceDateIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    SH_CostTypes_RecID: string;
    SH_CostTypes_RecIDStartsWith: string;
    SH_CostTypes_RecIDEndsWith: string;
    SH_CostTypes_RecIDContains: string;
    SH_CostTypes_RecIDLike: string;
    SH_CostTypes_RecIDBetween: string[];
    SH_CostTypes_RecIDIn: string[];
    createResponse() { return new QueryResponse<SH_Costs>(); }
    getTypeName() { return "SH_CostsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_CostTypesQuery extends QueryDb<SH_CostTypes> implements IReturn<QueryResponse<SH_CostTypes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    IsEnabled: boolean;
    IsDefault: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<SH_CostTypes>(); }
    getTypeName() { return "SH_CostTypesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_CustomSettingsQuery extends QueryDb<SH_CustomSettings> implements IReturn<QueryResponse<SH_CustomSettings>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<SH_CustomSettings>(); }
    getTypeName() { return "SH_CustomSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_CustomSettingValuesQuery extends QueryDb<SH_CustomSettingValues> implements IReturn<QueryResponse<SH_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    SH_Main_RecID: string;
    SH_Main_RecIDStartsWith: string;
    SH_Main_RecIDEndsWith: string;
    SH_Main_RecIDContains: string;
    SH_Main_RecIDLike: string;
    SH_Main_RecIDBetween: string[];
    SH_Main_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<SH_CustomSettingValues>(); }
    getTypeName() { return "SH_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_InvoicesQuery extends QueryDb<SH_Invoices> implements IReturn<QueryResponse<SH_Invoices>>
{
    InvoicesID: string;
    InvoicesIDStartsWith: string;
    InvoicesIDEndsWith: string;
    InvoicesIDContains: string;
    InvoicesIDLike: string;
    InvoicesIDBetween: string[];
    InvoicesIDIn: string[];
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    HomeAmount: number;
    HomeAmountGreaterThanOrEqualTo: number;
    HomeAmountGreaterThan: number;
    HomeAmountLessThan: number;
    HomeAmountLessThanOrEqualTo: number;
    HomeAmountNotEqualTo: number;
    HomeAmountBetween: number[];
    HomeAmountIn: number[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    CR_TransID: string;
    CR_TransIDStartsWith: string;
    CR_TransIDEndsWith: string;
    CR_TransIDContains: string;
    CR_TransIDLike: string;
    CR_TransIDBetween: string[];
    CR_TransIDIn: string[];
    CreditorLedgerID: string;
    CreditorLedgerIDStartsWith: string;
    CreditorLedgerIDEndsWith: string;
    CreditorLedgerIDContains: string;
    CreditorLedgerIDLike: string;
    CreditorLedgerIDBetween: string[];
    CreditorLedgerIDIn: string[];
    UserField1: string;
    UserField1StartsWith: string;
    UserField1EndsWith: string;
    UserField1Contains: string;
    UserField1Like: string;
    UserField1Between: string[];
    UserField1In: string[];
    UserField2: string;
    UserField2StartsWith: string;
    UserField2EndsWith: string;
    UserField2Contains: string;
    UserField2Like: string;
    UserField2Between: string[];
    UserField2In: string[];
    UserField3: string;
    UserField3StartsWith: string;
    UserField3EndsWith: string;
    UserField3Contains: string;
    UserField3Like: string;
    UserField3Between: string[];
    UserField3In: string[];
    UserField4: string;
    UserField4StartsWith: string;
    UserField4EndsWith: string;
    UserField4Contains: string;
    UserField4Like: string;
    UserField4Between: string[];
    UserField4In: string[];
    UserField5: string;
    UserField5StartsWith: string;
    UserField5EndsWith: string;
    UserField5Contains: string;
    UserField5Like: string;
    UserField5Between: string[];
    UserField5In: string[];
    UserField6: string;
    UserField6StartsWith: string;
    UserField6EndsWith: string;
    UserField6Contains: string;
    UserField6Like: string;
    UserField6Between: string[];
    UserField6In: string[];
    UserField7: string;
    UserField7StartsWith: string;
    UserField7EndsWith: string;
    UserField7Contains: string;
    UserField7Like: string;
    UserField7Between: string[];
    UserField7In: string[];
    UserField8: string;
    UserField8StartsWith: string;
    UserField8EndsWith: string;
    UserField8Contains: string;
    UserField8Like: string;
    UserField8Between: string[];
    UserField8In: string[];
    UserField9: string;
    UserField9StartsWith: string;
    UserField9EndsWith: string;
    UserField9Contains: string;
    UserField9Like: string;
    UserField9Between: string[];
    UserField9In: string[];
    UserField10: string;
    UserField10StartsWith: string;
    UserField10EndsWith: string;
    UserField10Contains: string;
    UserField10Like: string;
    UserField10Between: string[];
    UserField10In: string[];
    ExpectedHomeAmount: number;
    ExpectedHomeAmountGreaterThanOrEqualTo: number;
    ExpectedHomeAmountGreaterThan: number;
    ExpectedHomeAmountLessThan: number;
    ExpectedHomeAmountLessThanOrEqualTo: number;
    ExpectedHomeAmountNotEqualTo: number;
    ExpectedHomeAmountBetween: number[];
    ExpectedHomeAmountIn: number[];
    ExpectedFXAmount: number;
    ExpectedFXAmountGreaterThanOrEqualTo: number;
    ExpectedFXAmountGreaterThan: number;
    ExpectedFXAmountLessThan: number;
    ExpectedFXAmountLessThanOrEqualTo: number;
    ExpectedFXAmountNotEqualTo: number;
    ExpectedFXAmountBetween: number[];
    ExpectedFXAmountIn: number[];
    Invoiced: boolean;
    InvoiceDate: string;
    InvoiceDateGreaterThanOrEqualTo: string;
    InvoiceDateGreaterThan: string;
    InvoiceDateLessThan: string;
    InvoiceDateLessThanOrEqualTo: string;
    InvoiceDateNotEqualTo: string;
    InvoiceDateBetween: string[];
    InvoiceDateIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    AmountIncTax: number;
    AmountIncTaxGreaterThanOrEqualTo: number;
    AmountIncTaxGreaterThan: number;
    AmountIncTaxLessThan: number;
    AmountIncTaxLessThanOrEqualTo: number;
    AmountIncTaxNotEqualTo: number;
    AmountIncTaxBetween: number[];
    AmountIncTaxIn: number[];
    createResponse() { return new QueryResponse<SH_Invoices>(); }
    getTypeName() { return "SH_InvoicesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class SH_LinesQuery extends QueryDb<SH_Lines> implements IReturn<QueryResponse<SH_Lines>>
{
    ShipmentLineID: string;
    ShipmentLineIDStartsWith: string;
    ShipmentLineIDEndsWith: string;
    ShipmentLineIDContains: string;
    ShipmentLineIDLike: string;
    ShipmentLineIDBetween: string[];
    ShipmentLineIDIn: string[];
    ShipmentID: string;
    ShipmentIDStartsWith: string;
    ShipmentIDEndsWith: string;
    ShipmentIDContains: string;
    ShipmentIDLike: string;
    ShipmentIDBetween: string[];
    ShipmentIDIn: string[];
    PurchaseOrdersID: string;
    PurchaseOrdersIDStartsWith: string;
    PurchaseOrdersIDEndsWith: string;
    PurchaseOrdersIDContains: string;
    PurchaseOrdersIDLike: string;
    PurchaseOrdersIDBetween: string[];
    PurchaseOrdersIDIn: string[];
    PurchaseOrderLineID: string;
    PurchaseOrderLineIDStartsWith: string;
    PurchaseOrderLineIDEndsWith: string;
    PurchaseOrderLineIDContains: string;
    PurchaseOrderLineIDLike: string;
    PurchaseOrderLineIDBetween: string[];
    PurchaseOrderLineIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    SupplierPartNo: string;
    SupplierPartNoStartsWith: string;
    SupplierPartNoEndsWith: string;
    SupplierPartNoContains: string;
    SupplierPartNoLike: string;
    SupplierPartNoBetween: string[];
    SupplierPartNoIn: string[];
    QuantityOrdered: number;
    QuantityOrderedGreaterThanOrEqualTo: number;
    QuantityOrderedGreaterThan: number;
    QuantityOrderedLessThan: number;
    QuantityOrderedLessThanOrEqualTo: number;
    QuantityOrderedNotEqualTo: number;
    QuantityOrderedBetween: number[];
    QuantityOrderedIn: number[];
    QuantityThisShipment: number;
    QuantityThisShipmentGreaterThanOrEqualTo: number;
    QuantityThisShipmentGreaterThan: number;
    QuantityThisShipmentLessThan: number;
    QuantityThisShipmentLessThanOrEqualTo: number;
    QuantityThisShipmentNotEqualTo: number;
    QuantityThisShipmentBetween: number[];
    QuantityThisShipmentIn: number[];
    OrderedCost: number;
    OrderedCostGreaterThanOrEqualTo: number;
    OrderedCostGreaterThan: number;
    OrderedCostLessThan: number;
    OrderedCostLessThanOrEqualTo: number;
    OrderedCostNotEqualTo: number;
    OrderedCostBetween: number[];
    OrderedCostIn: number[];
    ShipUnitCostExGST: number;
    ShipUnitCostExGSTGreaterThanOrEqualTo: number;
    ShipUnitCostExGSTGreaterThan: number;
    ShipUnitCostExGSTLessThan: number;
    ShipUnitCostExGSTLessThanOrEqualTo: number;
    ShipUnitCostExGSTNotEqualTo: number;
    ShipUnitCostExGSTBetween: number[];
    ShipUnitCostExGSTIn: number[];
    ShipUnitCostIncGST: number;
    ShipUnitCostIncGSTGreaterThanOrEqualTo: number;
    ShipUnitCostIncGSTGreaterThan: number;
    ShipUnitCostIncGSTLessThan: number;
    ShipUnitCostIncGSTLessThanOrEqualTo: number;
    ShipUnitCostIncGSTNotEqualTo: number;
    ShipUnitCostIncGSTBetween: number[];
    ShipUnitCostIncGSTIn: number[];
    FXShipUnitCostExGST: number;
    FXShipUnitCostExGSTGreaterThanOrEqualTo: number;
    FXShipUnitCostExGSTGreaterThan: number;
    FXShipUnitCostExGSTLessThan: number;
    FXShipUnitCostExGSTLessThanOrEqualTo: number;
    FXShipUnitCostExGSTNotEqualTo: number;
    FXShipUnitCostExGSTBetween: number[];
    FXShipUnitCostExGSTIn: number[];
    AdjustedUnitCost: number;
    AdjustedUnitCostGreaterThanOrEqualTo: number;
    AdjustedUnitCostGreaterThan: number;
    AdjustedUnitCostLessThan: number;
    AdjustedUnitCostLessThanOrEqualTo: number;
    AdjustedUnitCostNotEqualTo: number;
    AdjustedUnitCostBetween: number[];
    AdjustedUnitCostIn: number[];
    GSTRate: number;
    GSTRateGreaterThanOrEqualTo: number;
    GSTRateGreaterThan: number;
    GSTRateLessThan: number;
    GSTRateLessThanOrEqualTo: number;
    GSTRateNotEqualTo: number;
    GSTRateBetween: number[];
    GSTRateIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    GSTID: string;
    GSTIDStartsWith: string;
    GSTIDEndsWith: string;
    GSTIDContains: string;
    GSTIDLike: string;
    GSTIDBetween: string[];
    GSTIDIn: string[];
    UseSerialNo: boolean;
    UseExpiry: boolean;
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    POClassID: string;
    POClassIDStartsWith: string;
    POClassIDEndsWith: string;
    POClassIDContains: string;
    POClassIDLike: string;
    POClassIDBetween: string[];
    POClassIDIn: string[];
    InvoicesID: string;
    InvoicesIDStartsWith: string;
    InvoicesIDEndsWith: string;
    InvoicesIDContains: string;
    InvoicesIDLike: string;
    InvoicesIDBetween: string[];
    InvoicesIDIn: string[];
    DeliveryDays: number;
    DeliveryDaysGreaterThanOrEqualTo: number;
    DeliveryDaysGreaterThan: number;
    DeliveryDaysLessThan: number;
    DeliveryDaysLessThanOrEqualTo: number;
    DeliveryDaysNotEqualTo: number;
    DeliveryDaysBetween: number[];
    DeliveryDaysIn: number[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    OrderUnits: number;
    OrderUnitsGreaterThanOrEqualTo: number;
    OrderUnitsGreaterThan: number;
    OrderUnitsLessThan: number;
    OrderUnitsLessThanOrEqualTo: number;
    OrderUnitsNotEqualTo: number;
    OrderUnitsBetween: number[];
    OrderUnitsIn: number[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    JobCostID: string;
    JobCostIDStartsWith: string;
    JobCostIDEndsWith: string;
    JobCostIDContains: string;
    JobCostIDLike: string;
    JobCostIDBetween: string[];
    JobCostIDIn: string[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    Weight: number;
    WeightGreaterThanOrEqualTo: number;
    WeightGreaterThan: number;
    WeightLessThan: number;
    WeightLessThanOrEqualTo: number;
    WeightNotEqualTo: number;
    WeightBetween: number[];
    WeightIn: number[];
    Volume: number;
    VolumeGreaterThanOrEqualTo: number;
    VolumeGreaterThan: number;
    VolumeLessThan: number;
    VolumeLessThanOrEqualTo: number;
    VolumeNotEqualTo: number;
    VolumeBetween: number[];
    VolumeIn: number[];
    LineTotalExGST: number;
    LineTotalExGSTGreaterThanOrEqualTo: number;
    LineTotalExGSTGreaterThan: number;
    LineTotalExGSTLessThan: number;
    LineTotalExGSTLessThanOrEqualTo: number;
    LineTotalExGSTNotEqualTo: number;
    LineTotalExGSTBetween: number[];
    LineTotalExGSTIn: number[];
    FXLineTotalExGST: number;
    FXLineTotalExGSTGreaterThanOrEqualTo: number;
    FXLineTotalExGSTGreaterThan: number;
    FXLineTotalExGSTLessThan: number;
    FXLineTotalExGSTLessThanOrEqualTo: number;
    FXLineTotalExGSTNotEqualTo: number;
    FXLineTotalExGSTBetween: number[];
    FXLineTotalExGSTIn: number[];
    LineTotalIncGST: number;
    LineTotalIncGSTGreaterThanOrEqualTo: number;
    LineTotalIncGSTGreaterThan: number;
    LineTotalIncGSTLessThan: number;
    LineTotalIncGSTLessThanOrEqualTo: number;
    LineTotalIncGSTNotEqualTo: number;
    LineTotalIncGSTBetween: number[];
    LineTotalIncGSTIn: number[];
    LandedCostTotal: number;
    LandedCostTotalGreaterThanOrEqualTo: number;
    LandedCostTotalGreaterThan: number;
    LandedCostTotalLessThan: number;
    LandedCostTotalLessThanOrEqualTo: number;
    LandedCostTotalNotEqualTo: number;
    LandedCostTotalBetween: number[];
    LandedCostTotalIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    UserField1: string;
    UserField1StartsWith: string;
    UserField1EndsWith: string;
    UserField1Contains: string;
    UserField1Like: string;
    UserField1Between: string[];
    UserField1In: string[];
    UserField2: string;
    UserField2StartsWith: string;
    UserField2EndsWith: string;
    UserField2Contains: string;
    UserField2Like: string;
    UserField2Between: string[];
    UserField2In: string[];
    UserField3: string;
    UserField3StartsWith: string;
    UserField3EndsWith: string;
    UserField3Contains: string;
    UserField3Like: string;
    UserField3Between: string[];
    UserField3In: string[];
    UserField4: string;
    UserField4StartsWith: string;
    UserField4EndsWith: string;
    UserField4Contains: string;
    UserField4Like: string;
    UserField4Between: string[];
    UserField4In: string[];
    UserField5: string;
    UserField5StartsWith: string;
    UserField5EndsWith: string;
    UserField5Contains: string;
    UserField5Like: string;
    UserField5Between: string[];
    UserField5In: string[];
    UserField6: string;
    UserField6StartsWith: string;
    UserField6EndsWith: string;
    UserField6Contains: string;
    UserField6Like: string;
    UserField6Between: string[];
    UserField6In: string[];
    UserField7: string;
    UserField7StartsWith: string;
    UserField7EndsWith: string;
    UserField7Contains: string;
    UserField7Like: string;
    UserField7Between: string[];
    UserField7In: string[];
    UserField8: string;
    UserField8StartsWith: string;
    UserField8EndsWith: string;
    UserField8Contains: string;
    UserField8Like: string;
    UserField8Between: string[];
    UserField8In: string[];
    UserField9: string;
    UserField9StartsWith: string;
    UserField9EndsWith: string;
    UserField9Contains: string;
    UserField9Like: string;
    UserField9Between: string[];
    UserField9In: string[];
    UserField10: string;
    UserField10StartsWith: string;
    UserField10EndsWith: string;
    UserField10Contains: string;
    UserField10Like: string;
    UserField10Between: string[];
    UserField10In: string[];
    PhysicalItem: boolean;
    FXOrderedCost: number;
    FXOrderedCostGreaterThanOrEqualTo: number;
    FXOrderedCostGreaterThan: number;
    FXOrderedCostLessThan: number;
    FXOrderedCostLessThanOrEqualTo: number;
    FXOrderedCostNotEqualTo: number;
    FXOrderedCostBetween: number[];
    FXOrderedCostIn: number[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    IN_SupplierWarehouse_RecID: string;
    IN_SupplierWarehouse_RecIDStartsWith: string;
    IN_SupplierWarehouse_RecIDEndsWith: string;
    IN_SupplierWarehouse_RecIDContains: string;
    IN_SupplierWarehouse_RecIDLike: string;
    IN_SupplierWarehouse_RecIDBetween: string[];
    IN_SupplierWarehouse_RecIDIn: string[];
    IN_Creditor_RecID: string;
    IN_Creditor_RecIDStartsWith: string;
    IN_Creditor_RecIDEndsWith: string;
    IN_Creditor_RecIDContains: string;
    IN_Creditor_RecIDLike: string;
    IN_Creditor_RecIDBetween: string[];
    IN_Creditor_RecIDIn: string[];
    RowHash: Uint8Array;
    UnitChanged: boolean;
    FXChanged: boolean;
    ExChanged: boolean;
    TaxRateChanged: boolean;
    ChangeSourceIsFromPurchaseOrderLine: boolean;
    createResponse() { return new QueryResponse<SH_Lines>(); }
    getTypeName() { return "SH_LinesQuery"; }
}

// @Route("/Queries/IN_BinLocationLookup", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BinLocationLookupQuery extends QueryDb<IN_BinLocationLookup> implements IReturn<QueryResponse<IN_BinLocationLookup>>
{
    INBinLookupID: string;
    INBinLookupIDStartsWith: string;
    INBinLookupIDEndsWith: string;
    INBinLookupIDContains: string;
    INBinLookupIDLike: string;
    INBinLookupIDBetween: string[];
    INBinLookupIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    INLogicalID: string;
    INLogicalIDStartsWith: string;
    INLogicalIDEndsWith: string;
    INLogicalIDContains: string;
    INLogicalIDLike: string;
    INLogicalIDBetween: string[];
    INLogicalIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ShortName: string;
    ShortNameStartsWith: string;
    ShortNameEndsWith: string;
    ShortNameContains: string;
    ShortNameLike: string;
    ShortNameBetween: string[];
    ShortNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsDefault: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_BinLocationLookup>(); }
    getTypeName() { return "IN_BinLocationLookupQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BinLocationLookupCustomFieldsQuery extends QueryDb<IN_BinLocationLookupCustomFields> implements IReturn<QueryResponse<IN_BinLocationLookupCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_BinLocationLookupCustomFields>(); }
    getTypeName() { return "IN_BinLocationLookupCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BinLocationLookupCustomValuesQuery extends QueryDb<IN_BinLocationLookupCustomValues> implements IReturn<QueryResponse<IN_BinLocationLookupCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_BinLocationLookup_RecID: string;
    IN_BinLocationLookup_RecIDStartsWith: string;
    IN_BinLocationLookup_RecIDEndsWith: string;
    IN_BinLocationLookup_RecIDContains: string;
    IN_BinLocationLookup_RecIDLike: string;
    IN_BinLocationLookup_RecIDBetween: string[];
    IN_BinLocationLookup_RecIDIn: string[];
    IN_BinLocationLookupCustomFields_RecID: string;
    IN_BinLocationLookupCustomFields_RecIDStartsWith: string;
    IN_BinLocationLookupCustomFields_RecIDEndsWith: string;
    IN_BinLocationLookupCustomFields_RecIDContains: string;
    IN_BinLocationLookupCustomFields_RecIDLike: string;
    IN_BinLocationLookupCustomFields_RecIDBetween: string[];
    IN_BinLocationLookupCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_BinLocationLookupCustomValues>(); }
    getTypeName() { return "IN_BinLocationLookupCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BOQtyQuery extends QueryDb<IN_BOQty> implements IReturn<QueryResponse<IN_BOQty>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    Price: number;
    PriceGreaterThanOrEqualTo: number;
    PriceGreaterThan: number;
    PriceLessThan: number;
    PriceLessThanOrEqualTo: number;
    PriceNotEqualTo: number;
    PriceBetween: number[];
    PriceIn: number[];
    EstBOValue: number;
    EstBOValueGreaterThanOrEqualTo: number;
    EstBOValueGreaterThan: number;
    EstBOValueLessThan: number;
    EstBOValueLessThanOrEqualTo: number;
    EstBOValueNotEqualTo: number;
    EstBOValueBetween: number[];
    EstBOValueIn: number[];
    createResponse() { return new QueryResponse<IN_BOQty>(); }
    getTypeName() { return "IN_BOQtyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BudgetQuery extends QueryDb<IN_Budget> implements IReturn<QueryResponse<IN_Budget>>
{
    InventoryBudgetID: string;
    InventoryBudgetIDStartsWith: string;
    InventoryBudgetIDEndsWith: string;
    InventoryBudgetIDContains: string;
    InventoryBudgetIDLike: string;
    InventoryBudgetIDBetween: string[];
    InventoryBudgetIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Quantity1: number;
    Quantity1GreaterThanOrEqualTo: number;
    Quantity1GreaterThan: number;
    Quantity1LessThan: number;
    Quantity1LessThanOrEqualTo: number;
    Quantity1NotEqualTo: number;
    Quantity1Between: number[];
    Quantity1In: number[];
    Dollars1: number;
    Dollars1GreaterThanOrEqualTo: number;
    Dollars1GreaterThan: number;
    Dollars1LessThan: number;
    Dollars1LessThanOrEqualTo: number;
    Dollars1NotEqualTo: number;
    Dollars1Between: number[];
    Dollars1In: number[];
    Quantity2: number;
    Quantity2GreaterThanOrEqualTo: number;
    Quantity2GreaterThan: number;
    Quantity2LessThan: number;
    Quantity2LessThanOrEqualTo: number;
    Quantity2NotEqualTo: number;
    Quantity2Between: number[];
    Quantity2In: number[];
    Dollars2: number;
    Dollars2GreaterThanOrEqualTo: number;
    Dollars2GreaterThan: number;
    Dollars2LessThan: number;
    Dollars2LessThanOrEqualTo: number;
    Dollars2NotEqualTo: number;
    Dollars2Between: number[];
    Dollars2In: number[];
    Quantity3: number;
    Quantity3GreaterThanOrEqualTo: number;
    Quantity3GreaterThan: number;
    Quantity3LessThan: number;
    Quantity3LessThanOrEqualTo: number;
    Quantity3NotEqualTo: number;
    Quantity3Between: number[];
    Quantity3In: number[];
    Dollars3: number;
    Dollars3GreaterThanOrEqualTo: number;
    Dollars3GreaterThan: number;
    Dollars3LessThan: number;
    Dollars3LessThanOrEqualTo: number;
    Dollars3NotEqualTo: number;
    Dollars3Between: number[];
    Dollars3In: number[];
    Quantity4: number;
    Quantity4GreaterThanOrEqualTo: number;
    Quantity4GreaterThan: number;
    Quantity4LessThan: number;
    Quantity4LessThanOrEqualTo: number;
    Quantity4NotEqualTo: number;
    Quantity4Between: number[];
    Quantity4In: number[];
    Dollars4: number;
    Dollars4GreaterThanOrEqualTo: number;
    Dollars4GreaterThan: number;
    Dollars4LessThan: number;
    Dollars4LessThanOrEqualTo: number;
    Dollars4NotEqualTo: number;
    Dollars4Between: number[];
    Dollars4In: number[];
    Quantity5: number;
    Quantity5GreaterThanOrEqualTo: number;
    Quantity5GreaterThan: number;
    Quantity5LessThan: number;
    Quantity5LessThanOrEqualTo: number;
    Quantity5NotEqualTo: number;
    Quantity5Between: number[];
    Quantity5In: number[];
    Dollars5: number;
    Dollars5GreaterThanOrEqualTo: number;
    Dollars5GreaterThan: number;
    Dollars5LessThan: number;
    Dollars5LessThanOrEqualTo: number;
    Dollars5NotEqualTo: number;
    Dollars5Between: number[];
    Dollars5In: number[];
    Quantity6: number;
    Quantity6GreaterThanOrEqualTo: number;
    Quantity6GreaterThan: number;
    Quantity6LessThan: number;
    Quantity6LessThanOrEqualTo: number;
    Quantity6NotEqualTo: number;
    Quantity6Between: number[];
    Quantity6In: number[];
    Dollars6: number;
    Dollars6GreaterThanOrEqualTo: number;
    Dollars6GreaterThan: number;
    Dollars6LessThan: number;
    Dollars6LessThanOrEqualTo: number;
    Dollars6NotEqualTo: number;
    Dollars6Between: number[];
    Dollars6In: number[];
    Quantity7: number;
    Quantity7GreaterThanOrEqualTo: number;
    Quantity7GreaterThan: number;
    Quantity7LessThan: number;
    Quantity7LessThanOrEqualTo: number;
    Quantity7NotEqualTo: number;
    Quantity7Between: number[];
    Quantity7In: number[];
    Dollars7: number;
    Dollars7GreaterThanOrEqualTo: number;
    Dollars7GreaterThan: number;
    Dollars7LessThan: number;
    Dollars7LessThanOrEqualTo: number;
    Dollars7NotEqualTo: number;
    Dollars7Between: number[];
    Dollars7In: number[];
    Quantity8: number;
    Quantity8GreaterThanOrEqualTo: number;
    Quantity8GreaterThan: number;
    Quantity8LessThan: number;
    Quantity8LessThanOrEqualTo: number;
    Quantity8NotEqualTo: number;
    Quantity8Between: number[];
    Quantity8In: number[];
    Dollars8: number;
    Dollars8GreaterThanOrEqualTo: number;
    Dollars8GreaterThan: number;
    Dollars8LessThan: number;
    Dollars8LessThanOrEqualTo: number;
    Dollars8NotEqualTo: number;
    Dollars8Between: number[];
    Dollars8In: number[];
    Quantity9: number;
    Quantity9GreaterThanOrEqualTo: number;
    Quantity9GreaterThan: number;
    Quantity9LessThan: number;
    Quantity9LessThanOrEqualTo: number;
    Quantity9NotEqualTo: number;
    Quantity9Between: number[];
    Quantity9In: number[];
    Dollars9: number;
    Dollars9GreaterThanOrEqualTo: number;
    Dollars9GreaterThan: number;
    Dollars9LessThan: number;
    Dollars9LessThanOrEqualTo: number;
    Dollars9NotEqualTo: number;
    Dollars9Between: number[];
    Dollars9In: number[];
    Quantity10: number;
    Quantity10GreaterThanOrEqualTo: number;
    Quantity10GreaterThan: number;
    Quantity10LessThan: number;
    Quantity10LessThanOrEqualTo: number;
    Quantity10NotEqualTo: number;
    Quantity10Between: number[];
    Quantity10In: number[];
    Dollars10: number;
    Dollars10GreaterThanOrEqualTo: number;
    Dollars10GreaterThan: number;
    Dollars10LessThan: number;
    Dollars10LessThanOrEqualTo: number;
    Dollars10NotEqualTo: number;
    Dollars10Between: number[];
    Dollars10In: number[];
    Quantity11: number;
    Quantity11GreaterThanOrEqualTo: number;
    Quantity11GreaterThan: number;
    Quantity11LessThan: number;
    Quantity11LessThanOrEqualTo: number;
    Quantity11NotEqualTo: number;
    Quantity11Between: number[];
    Quantity11In: number[];
    Dollars11: number;
    Dollars11GreaterThanOrEqualTo: number;
    Dollars11GreaterThan: number;
    Dollars11LessThan: number;
    Dollars11LessThanOrEqualTo: number;
    Dollars11NotEqualTo: number;
    Dollars11Between: number[];
    Dollars11In: number[];
    Quantity12: number;
    Quantity12GreaterThanOrEqualTo: number;
    Quantity12GreaterThan: number;
    Quantity12LessThan: number;
    Quantity12LessThanOrEqualTo: number;
    Quantity12NotEqualTo: number;
    Quantity12Between: number[];
    Quantity12In: number[];
    Dollars12: number;
    Dollars12GreaterThanOrEqualTo: number;
    Dollars12GreaterThan: number;
    Dollars12LessThan: number;
    Dollars12LessThanOrEqualTo: number;
    Dollars12NotEqualTo: number;
    Dollars12Between: number[];
    Dollars12In: number[];
    Quantity13: number;
    Quantity13GreaterThanOrEqualTo: number;
    Quantity13GreaterThan: number;
    Quantity13LessThan: number;
    Quantity13LessThanOrEqualTo: number;
    Quantity13NotEqualTo: number;
    Quantity13Between: number[];
    Quantity13In: number[];
    Dollars13: number;
    Dollars13GreaterThanOrEqualTo: number;
    Dollars13GreaterThan: number;
    Dollars13LessThan: number;
    Dollars13LessThanOrEqualTo: number;
    Dollars13NotEqualTo: number;
    Dollars13Between: number[];
    Dollars13In: number[];
    Quantity14: number;
    Quantity14GreaterThanOrEqualTo: number;
    Quantity14GreaterThan: number;
    Quantity14LessThan: number;
    Quantity14LessThanOrEqualTo: number;
    Quantity14NotEqualTo: number;
    Quantity14Between: number[];
    Quantity14In: number[];
    Dollars14: number;
    Dollars14GreaterThanOrEqualTo: number;
    Dollars14GreaterThan: number;
    Dollars14LessThan: number;
    Dollars14LessThanOrEqualTo: number;
    Dollars14NotEqualTo: number;
    Dollars14Between: number[];
    Dollars14In: number[];
    Quantity15: number;
    Quantity15GreaterThanOrEqualTo: number;
    Quantity15GreaterThan: number;
    Quantity15LessThan: number;
    Quantity15LessThanOrEqualTo: number;
    Quantity15NotEqualTo: number;
    Quantity15Between: number[];
    Quantity15In: number[];
    Dollars15: number;
    Dollars15GreaterThanOrEqualTo: number;
    Dollars15GreaterThan: number;
    Dollars15LessThan: number;
    Dollars15LessThanOrEqualTo: number;
    Dollars15NotEqualTo: number;
    Dollars15Between: number[];
    Dollars15In: number[];
    Quantity16: number;
    Quantity16GreaterThanOrEqualTo: number;
    Quantity16GreaterThan: number;
    Quantity16LessThan: number;
    Quantity16LessThanOrEqualTo: number;
    Quantity16NotEqualTo: number;
    Quantity16Between: number[];
    Quantity16In: number[];
    Dollars16: number;
    Dollars16GreaterThanOrEqualTo: number;
    Dollars16GreaterThan: number;
    Dollars16LessThan: number;
    Dollars16LessThanOrEqualTo: number;
    Dollars16NotEqualTo: number;
    Dollars16Between: number[];
    Dollars16In: number[];
    Quantity17: number;
    Quantity17GreaterThanOrEqualTo: number;
    Quantity17GreaterThan: number;
    Quantity17LessThan: number;
    Quantity17LessThanOrEqualTo: number;
    Quantity17NotEqualTo: number;
    Quantity17Between: number[];
    Quantity17In: number[];
    Dollars17: number;
    Dollars17GreaterThanOrEqualTo: number;
    Dollars17GreaterThan: number;
    Dollars17LessThan: number;
    Dollars17LessThanOrEqualTo: number;
    Dollars17NotEqualTo: number;
    Dollars17Between: number[];
    Dollars17In: number[];
    Quantity18: number;
    Quantity18GreaterThanOrEqualTo: number;
    Quantity18GreaterThan: number;
    Quantity18LessThan: number;
    Quantity18LessThanOrEqualTo: number;
    Quantity18NotEqualTo: number;
    Quantity18Between: number[];
    Quantity18In: number[];
    Dollars18: number;
    Dollars18GreaterThanOrEqualTo: number;
    Dollars18GreaterThan: number;
    Dollars18LessThan: number;
    Dollars18LessThanOrEqualTo: number;
    Dollars18NotEqualTo: number;
    Dollars18Between: number[];
    Dollars18In: number[];
    Quantity19: number;
    Quantity19GreaterThanOrEqualTo: number;
    Quantity19GreaterThan: number;
    Quantity19LessThan: number;
    Quantity19LessThanOrEqualTo: number;
    Quantity19NotEqualTo: number;
    Quantity19Between: number[];
    Quantity19In: number[];
    Dollars19: number;
    Dollars19GreaterThanOrEqualTo: number;
    Dollars19GreaterThan: number;
    Dollars19LessThan: number;
    Dollars19LessThanOrEqualTo: number;
    Dollars19NotEqualTo: number;
    Dollars19Between: number[];
    Dollars19In: number[];
    Quantity20: number;
    Quantity20GreaterThanOrEqualTo: number;
    Quantity20GreaterThan: number;
    Quantity20LessThan: number;
    Quantity20LessThanOrEqualTo: number;
    Quantity20NotEqualTo: number;
    Quantity20Between: number[];
    Quantity20In: number[];
    Dollars20: number;
    Dollars20GreaterThanOrEqualTo: number;
    Dollars20GreaterThan: number;
    Dollars20LessThan: number;
    Dollars20LessThanOrEqualTo: number;
    Dollars20NotEqualTo: number;
    Dollars20Between: number[];
    Dollars20In: number[];
    Quantity21: number;
    Quantity21GreaterThanOrEqualTo: number;
    Quantity21GreaterThan: number;
    Quantity21LessThan: number;
    Quantity21LessThanOrEqualTo: number;
    Quantity21NotEqualTo: number;
    Quantity21Between: number[];
    Quantity21In: number[];
    Dollars21: number;
    Dollars21GreaterThanOrEqualTo: number;
    Dollars21GreaterThan: number;
    Dollars21LessThan: number;
    Dollars21LessThanOrEqualTo: number;
    Dollars21NotEqualTo: number;
    Dollars21Between: number[];
    Dollars21In: number[];
    Quantity22: number;
    Quantity22GreaterThanOrEqualTo: number;
    Quantity22GreaterThan: number;
    Quantity22LessThan: number;
    Quantity22LessThanOrEqualTo: number;
    Quantity22NotEqualTo: number;
    Quantity22Between: number[];
    Quantity22In: number[];
    Dollars22: number;
    Dollars22GreaterThanOrEqualTo: number;
    Dollars22GreaterThan: number;
    Dollars22LessThan: number;
    Dollars22LessThanOrEqualTo: number;
    Dollars22NotEqualTo: number;
    Dollars22Between: number[];
    Dollars22In: number[];
    Quantity23: number;
    Quantity23GreaterThanOrEqualTo: number;
    Quantity23GreaterThan: number;
    Quantity23LessThan: number;
    Quantity23LessThanOrEqualTo: number;
    Quantity23NotEqualTo: number;
    Quantity23Between: number[];
    Quantity23In: number[];
    Dollars23: number;
    Dollars23GreaterThanOrEqualTo: number;
    Dollars23GreaterThan: number;
    Dollars23LessThan: number;
    Dollars23LessThanOrEqualTo: number;
    Dollars23NotEqualTo: number;
    Dollars23Between: number[];
    Dollars23In: number[];
    Quantity24: number;
    Quantity24GreaterThanOrEqualTo: number;
    Quantity24GreaterThan: number;
    Quantity24LessThan: number;
    Quantity24LessThanOrEqualTo: number;
    Quantity24NotEqualTo: number;
    Quantity24Between: number[];
    Quantity24In: number[];
    Dollars24: number;
    Dollars24GreaterThanOrEqualTo: number;
    Dollars24GreaterThan: number;
    Dollars24LessThan: number;
    Dollars24LessThanOrEqualTo: number;
    Dollars24NotEqualTo: number;
    Dollars24Between: number[];
    Dollars24In: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<IN_Budget>(); }
    getTypeName() { return "IN_BudgetQuery"; }
}

// @Route("/Queries/IN_Categories", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CategoriesQuery extends QueryDb<IN_Categories> implements IReturn<QueryResponse<IN_Categories>>
{
    CategoryNo: number;
    CategoryNoGreaterThanOrEqualTo: number;
    CategoryNoGreaterThan: number;
    CategoryNoLessThan: number;
    CategoryNoLessThanOrEqualTo: number;
    CategoryNoNotEqualTo: number;
    CategoryNoBetween: number[];
    CategoryNoIn: number[];
    CategoryID: string;
    CategoryIDStartsWith: string;
    CategoryIDEndsWith: string;
    CategoryIDContains: string;
    CategoryIDLike: string;
    CategoryIDBetween: string[];
    CategoryIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Picture: Uint8Array;
    createResponse() { return new QueryResponse<IN_Categories>(); }
    getTypeName() { return "IN_CategoriesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category1Query extends QueryDb<IN_Category1> implements IReturn<QueryResponse<IN_Category1>>
{
    Category1ID: string;
    Category1IDStartsWith: string;
    Category1IDEndsWith: string;
    Category1IDContains: string;
    Category1IDLike: string;
    Category1IDBetween: string[];
    Category1IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Picture: Uint8Array;
    createResponse() { return new QueryResponse<IN_Category1>(); }
    getTypeName() { return "IN_Category1Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category1CustomFieldsQuery extends QueryDb<IN_Category1CustomFields> implements IReturn<QueryResponse<IN_Category1CustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_Category1CustomFields>(); }
    getTypeName() { return "IN_Category1CustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category1CustomValuesQuery extends QueryDb<IN_Category1CustomValues> implements IReturn<QueryResponse<IN_Category1CustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Category1_RecID: string;
    IN_Category1_RecIDStartsWith: string;
    IN_Category1_RecIDEndsWith: string;
    IN_Category1_RecIDContains: string;
    IN_Category1_RecIDLike: string;
    IN_Category1_RecIDBetween: string[];
    IN_Category1_RecIDIn: string[];
    IN_Category1CustomFields_RecID: string;
    IN_Category1CustomFields_RecIDStartsWith: string;
    IN_Category1CustomFields_RecIDEndsWith: string;
    IN_Category1CustomFields_RecIDContains: string;
    IN_Category1CustomFields_RecIDLike: string;
    IN_Category1CustomFields_RecIDBetween: string[];
    IN_Category1CustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_Category1CustomValues>(); }
    getTypeName() { return "IN_Category1CustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category2Query extends QueryDb<IN_Category2> implements IReturn<QueryResponse<IN_Category2>>
{
    Category2ID: string;
    Category2IDStartsWith: string;
    Category2IDEndsWith: string;
    Category2IDContains: string;
    Category2IDLike: string;
    Category2IDBetween: string[];
    Category2IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Picture: Uint8Array;
    createResponse() { return new QueryResponse<IN_Category2>(); }
    getTypeName() { return "IN_Category2Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category2CustomFieldsQuery extends QueryDb<IN_Category2CustomFields> implements IReturn<QueryResponse<IN_Category2CustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_Category2CustomFields>(); }
    getTypeName() { return "IN_Category2CustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category2CustomValuesQuery extends QueryDb<IN_Category2CustomValues> implements IReturn<QueryResponse<IN_Category2CustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Category2_RecID: string;
    IN_Category2_RecIDStartsWith: string;
    IN_Category2_RecIDEndsWith: string;
    IN_Category2_RecIDContains: string;
    IN_Category2_RecIDLike: string;
    IN_Category2_RecIDBetween: string[];
    IN_Category2_RecIDIn: string[];
    IN_Category2CustomFields_RecID: string;
    IN_Category2CustomFields_RecIDStartsWith: string;
    IN_Category2CustomFields_RecIDEndsWith: string;
    IN_Category2CustomFields_RecIDContains: string;
    IN_Category2CustomFields_RecIDLike: string;
    IN_Category2CustomFields_RecIDBetween: string[];
    IN_Category2CustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_Category2CustomValues>(); }
    getTypeName() { return "IN_Category2CustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category3Query extends QueryDb<IN_Category3> implements IReturn<QueryResponse<IN_Category3>>
{
    Category3ID: string;
    Category3IDStartsWith: string;
    Category3IDEndsWith: string;
    Category3IDContains: string;
    Category3IDLike: string;
    Category3IDBetween: string[];
    Category3IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Picture: Uint8Array;
    createResponse() { return new QueryResponse<IN_Category3>(); }
    getTypeName() { return "IN_Category3Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category3CustomFieldsQuery extends QueryDb<IN_Category3CustomFields> implements IReturn<QueryResponse<IN_Category3CustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_Category3CustomFields>(); }
    getTypeName() { return "IN_Category3CustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category3CustomValuesQuery extends QueryDb<IN_Category3CustomValues> implements IReturn<QueryResponse<IN_Category3CustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Category3_RecID: string;
    IN_Category3_RecIDStartsWith: string;
    IN_Category3_RecIDEndsWith: string;
    IN_Category3_RecIDContains: string;
    IN_Category3_RecIDLike: string;
    IN_Category3_RecIDBetween: string[];
    IN_Category3_RecIDIn: string[];
    IN_Category3CustomFields_RecID: string;
    IN_Category3CustomFields_RecIDStartsWith: string;
    IN_Category3CustomFields_RecIDEndsWith: string;
    IN_Category3CustomFields_RecIDContains: string;
    IN_Category3CustomFields_RecIDLike: string;
    IN_Category3CustomFields_RecIDBetween: string[];
    IN_Category3CustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_Category3CustomValues>(); }
    getTypeName() { return "IN_Category3CustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category4Query extends QueryDb<IN_Category4> implements IReturn<QueryResponse<IN_Category4>>
{
    Category4ID: string;
    Category4IDStartsWith: string;
    Category4IDEndsWith: string;
    Category4IDContains: string;
    Category4IDLike: string;
    Category4IDBetween: string[];
    Category4IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Picture: Uint8Array;
    createResponse() { return new QueryResponse<IN_Category4>(); }
    getTypeName() { return "IN_Category4Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category4CustomFieldsQuery extends QueryDb<IN_Category4CustomFields> implements IReturn<QueryResponse<IN_Category4CustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_Category4CustomFields>(); }
    getTypeName() { return "IN_Category4CustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category4CustomValuesQuery extends QueryDb<IN_Category4CustomValues> implements IReturn<QueryResponse<IN_Category4CustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Category4_RecID: string;
    IN_Category4_RecIDStartsWith: string;
    IN_Category4_RecIDEndsWith: string;
    IN_Category4_RecIDContains: string;
    IN_Category4_RecIDLike: string;
    IN_Category4_RecIDBetween: string[];
    IN_Category4_RecIDIn: string[];
    IN_Category4CustomFields_RecID: string;
    IN_Category4CustomFields_RecIDStartsWith: string;
    IN_Category4CustomFields_RecIDEndsWith: string;
    IN_Category4CustomFields_RecIDContains: string;
    IN_Category4CustomFields_RecIDLike: string;
    IN_Category4CustomFields_RecIDBetween: string[];
    IN_Category4CustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_Category4CustomValues>(); }
    getTypeName() { return "IN_Category4CustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category5Query extends QueryDb<IN_Category5> implements IReturn<QueryResponse<IN_Category5>>
{
    Category5ID: string;
    Category5IDStartsWith: string;
    Category5IDEndsWith: string;
    Category5IDContains: string;
    Category5IDLike: string;
    Category5IDBetween: string[];
    Category5IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Picture: Uint8Array;
    createResponse() { return new QueryResponse<IN_Category5>(); }
    getTypeName() { return "IN_Category5Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category5CustomFieldsQuery extends QueryDb<IN_Category5CustomFields> implements IReturn<QueryResponse<IN_Category5CustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_Category5CustomFields>(); }
    getTypeName() { return "IN_Category5CustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Category5CustomValuesQuery extends QueryDb<IN_Category5CustomValues> implements IReturn<QueryResponse<IN_Category5CustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Category5_RecID: string;
    IN_Category5_RecIDStartsWith: string;
    IN_Category5_RecIDEndsWith: string;
    IN_Category5_RecIDContains: string;
    IN_Category5_RecIDLike: string;
    IN_Category5_RecIDBetween: string[];
    IN_Category5_RecIDIn: string[];
    IN_Category5CustomFields_RecID: string;
    IN_Category5CustomFields_RecIDStartsWith: string;
    IN_Category5CustomFields_RecIDEndsWith: string;
    IN_Category5CustomFields_RecIDContains: string;
    IN_Category5CustomFields_RecIDLike: string;
    IN_Category5CustomFields_RecIDBetween: string[];
    IN_Category5CustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_Category5CustomValues>(); }
    getTypeName() { return "IN_Category5CustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_ClassQuery extends QueryDb<IN_Class> implements IReturn<QueryResponse<IN_Class>>
{
    Class: string;
    ClassStartsWith: string;
    ClassEndsWith: string;
    ClassContains: string;
    ClassLike: string;
    ClassBetween: string[];
    ClassIn: string[];
    createResponse() { return new QueryResponse<IN_Class>(); }
    getTypeName() { return "IN_ClassQuery"; }
}

// @Route("/Queries/IN_Classification", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_ClassificationQuery extends QueryDb<IN_Classification> implements IReturn<QueryResponse<IN_Classification>>
{
    InventoryClassificationID: string;
    InventoryClassificationIDStartsWith: string;
    InventoryClassificationIDEndsWith: string;
    InventoryClassificationIDContains: string;
    InventoryClassificationIDLike: string;
    InventoryClassificationIDBetween: string[];
    InventoryClassificationIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LedgerInvValue: string;
    LedgerInvValueStartsWith: string;
    LedgerInvValueEndsWith: string;
    LedgerInvValueContains: string;
    LedgerInvValueLike: string;
    LedgerInvValueBetween: string[];
    LedgerInvValueIn: string[];
    LedgerMovement_COG: string;
    LedgerMovement_COGStartsWith: string;
    LedgerMovement_COGEndsWith: string;
    LedgerMovement_COGContains: string;
    LedgerMovement_COGLike: string;
    LedgerMovement_COGBetween: string[];
    LedgerMovement_COGIn: string[];
    LedgerExpAsset: string;
    LedgerExpAssetStartsWith: string;
    LedgerExpAssetEndsWith: string;
    LedgerExpAssetContains: string;
    LedgerExpAssetLike: string;
    LedgerExpAssetBetween: string[];
    LedgerExpAssetIn: string[];
    LedgerExpLiab: string;
    LedgerExpLiabStartsWith: string;
    LedgerExpLiabEndsWith: string;
    LedgerExpLiabContains: string;
    LedgerExpLiabLike: string;
    LedgerExpLiabBetween: string[];
    LedgerExpLiabIn: string[];
    LedgerDelAsset: string;
    LedgerDelAssetStartsWith: string;
    LedgerDelAssetEndsWith: string;
    LedgerDelAssetContains: string;
    LedgerDelAssetLike: string;
    LedgerDelAssetBetween: string[];
    LedgerDelAssetIn: string[];
    LedgerDelLiab: string;
    LedgerDelLiabStartsWith: string;
    LedgerDelLiabEndsWith: string;
    LedgerDelLiabContains: string;
    LedgerDelLiabLike: string;
    LedgerDelLiabBetween: string[];
    LedgerDelLiabIn: string[];
    LedgerAssignedValue: string;
    LedgerAssignedValueStartsWith: string;
    LedgerAssignedValueEndsWith: string;
    LedgerAssignedValueContains: string;
    LedgerAssignedValueLike: string;
    LedgerAssignedValueBetween: string[];
    LedgerAssignedValueIn: string[];
    LedgerCogVariance: string;
    LedgerCogVarianceStartsWith: string;
    LedgerCogVarianceEndsWith: string;
    LedgerCogVarianceContains: string;
    LedgerCogVarianceLike: string;
    LedgerCogVarianceBetween: string[];
    LedgerCogVarianceIn: string[];
    LedgerInvSales: string;
    LedgerInvSalesStartsWith: string;
    LedgerInvSalesEndsWith: string;
    LedgerInvSalesContains: string;
    LedgerInvSalesLike: string;
    LedgerInvSalesBetween: string[];
    LedgerInvSalesIn: string[];
    LedgerAccumulator: string;
    LedgerAccumulatorStartsWith: string;
    LedgerAccumulatorEndsWith: string;
    LedgerAccumulatorContains: string;
    LedgerAccumulatorLike: string;
    LedgerAccumulatorBetween: string[];
    LedgerAccumulatorIn: string[];
    LedgerPurchases: string;
    LedgerPurchasesStartsWith: string;
    LedgerPurchasesEndsWith: string;
    LedgerPurchasesContains: string;
    LedgerPurchasesLike: string;
    LedgerPurchasesBetween: string[];
    LedgerPurchasesIn: string[];
    LedgerShipComplete: string;
    LedgerShipCompleteStartsWith: string;
    LedgerShipCompleteEndsWith: string;
    LedgerShipCompleteContains: string;
    LedgerShipCompleteLike: string;
    LedgerShipCompleteBetween: string[];
    LedgerShipCompleteIn: string[];
    LedgerWriteOn: string;
    LedgerWriteOnStartsWith: string;
    LedgerWriteOnEndsWith: string;
    LedgerWriteOnContains: string;
    LedgerWriteOnLike: string;
    LedgerWriteOnBetween: string[];
    LedgerWriteOnIn: string[];
    LedgerWriteOff: string;
    LedgerWriteOffStartsWith: string;
    LedgerWriteOffEndsWith: string;
    LedgerWriteOffContains: string;
    LedgerWriteOffLike: string;
    LedgerWriteOffBetween: string[];
    LedgerWriteOffIn: string[];
    LedgerCostPriceAdj: string;
    LedgerCostPriceAdjStartsWith: string;
    LedgerCostPriceAdjEndsWith: string;
    LedgerCostPriceAdjContains: string;
    LedgerCostPriceAdjLike: string;
    LedgerCostPriceAdjBetween: string[];
    LedgerCostPriceAdjIn: string[];
    GSTInwardsID: string;
    GSTInwardsIDStartsWith: string;
    GSTInwardsIDEndsWith: string;
    GSTInwardsIDContains: string;
    GSTInwardsIDLike: string;
    GSTInwardsIDBetween: string[];
    GSTInwardsIDIn: string[];
    GSTOutwardsID: string;
    GSTOutwardsIDStartsWith: string;
    GSTOutwardsIDEndsWith: string;
    GSTOutwardsIDContains: string;
    GSTOutwardsIDLike: string;
    GSTOutwardsIDBetween: string[];
    GSTOutwardsIDIn: string[];
    GSTAdjustmentsINID: string;
    GSTAdjustmentsINIDStartsWith: string;
    GSTAdjustmentsINIDEndsWith: string;
    GSTAdjustmentsINIDContains: string;
    GSTAdjustmentsINIDLike: string;
    GSTAdjustmentsINIDBetween: string[];
    GSTAdjustmentsINIDIn: string[];
    GSTAdjustmentsOUTID: string;
    GSTAdjustmentsOUTIDStartsWith: string;
    GSTAdjustmentsOUTIDEndsWith: string;
    GSTAdjustmentsOUTIDContains: string;
    GSTAdjustmentsOUTIDLike: string;
    GSTAdjustmentsOUTIDBetween: string[];
    GSTAdjustmentsOUTIDIn: string[];
    WebEnabled: boolean;
    DefaultClassification: boolean;
    PricingGroupID: string;
    PricingGroupIDStartsWith: string;
    PricingGroupIDEndsWith: string;
    PricingGroupIDContains: string;
    PricingGroupIDLike: string;
    PricingGroupIDBetween: string[];
    PricingGroupIDIn: string[];
    createResponse() { return new QueryResponse<IN_Classification>(); }
    getTypeName() { return "IN_ClassificationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_ClassificationCustomSettingQuery extends QueryDb<IN_ClassificationCustomSetting> implements IReturn<QueryResponse<IN_ClassificationCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_ClassificationCustomSetting>(); }
    getTypeName() { return "IN_ClassificationCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_ClassificationCustomValuesQuery extends QueryDb<IN_ClassificationCustomValues> implements IReturn<QueryResponse<IN_ClassificationCustomValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    IN_Classification_RecID: string;
    IN_Classification_RecIDStartsWith: string;
    IN_Classification_RecIDEndsWith: string;
    IN_Classification_RecIDContains: string;
    IN_Classification_RecIDLike: string;
    IN_Classification_RecIDBetween: string[];
    IN_Classification_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_ClassificationCustomValues>(); }
    getTypeName() { return "IN_ClassificationCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CollectionOfGroupsQuery extends QueryDb<IN_CollectionOfGroups> implements IReturn<QueryResponse<IN_CollectionOfGroups>>
{
    InventoryGroupCollectionID: string;
    InventoryGroupCollectionIDStartsWith: string;
    InventoryGroupCollectionIDEndsWith: string;
    InventoryGroupCollectionIDContains: string;
    InventoryGroupCollectionIDLike: string;
    InventoryGroupCollectionIDBetween: string[];
    InventoryGroupCollectionIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<IN_CollectionOfGroups>(); }
    getTypeName() { return "IN_CollectionOfGroupsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_ColoursQuery extends QueryDb<IN_Colours> implements IReturn<QueryResponse<IN_Colours>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ColourCode: string;
    ColourCodeStartsWith: string;
    ColourCodeEndsWith: string;
    ColourCodeContains: string;
    ColourCodeLike: string;
    ColourCodeBetween: string[];
    ColourCodeIn: string[];
    StyleID: string;
    StyleIDStartsWith: string;
    StyleIDEndsWith: string;
    StyleIDContains: string;
    StyleIDLike: string;
    StyleIDBetween: string[];
    StyleIDIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_Colours>(); }
    getTypeName() { return "IN_ColoursQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_ComponentsQuery extends QueryDb<IN_Components> implements IReturn<QueryResponse<IN_Components>>
{
    INComponentRecID: string;
    INComponentRecIDStartsWith: string;
    INComponentRecIDEndsWith: string;
    INComponentRecIDContains: string;
    INComponentRecIDLike: string;
    INComponentRecIDBetween: string[];
    INComponentRecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    ComponentID: string;
    ComponentIDStartsWith: string;
    ComponentIDEndsWith: string;
    ComponentIDContains: string;
    ComponentIDLike: string;
    ComponentIDBetween: string[];
    ComponentIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    createResponse() { return new QueryResponse<IN_Components>(); }
    getTypeName() { return "IN_ComponentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CostChangeQuery extends QueryDb<IN_CostChange> implements IReturn<QueryResponse<IN_CostChange>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ChangeNo: string;
    ChangeNoStartsWith: string;
    ChangeNoEndsWith: string;
    ChangeNoContains: string;
    ChangeNoLike: string;
    ChangeNoBetween: string[];
    ChangeNoIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    LastSaved_HR_Staff_RecID: string;
    LastSaved_HR_Staff_RecIDStartsWith: string;
    LastSaved_HR_Staff_RecIDEndsWith: string;
    LastSaved_HR_Staff_RecIDContains: string;
    LastSaved_HR_Staff_RecIDLike: string;
    LastSaved_HR_Staff_RecIDBetween: string[];
    LastSaved_HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    createResponse() { return new QueryResponse<IN_CostChange>(); }
    getTypeName() { return "IN_CostChangeQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CostChangeLinesQuery extends QueryDb<IN_CostChangeLines> implements IReturn<QueryResponse<IN_CostChangeLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_CostChange_RecID: string;
    IN_CostChange_RecIDStartsWith: string;
    IN_CostChange_RecIDEndsWith: string;
    IN_CostChange_RecIDContains: string;
    IN_CostChange_RecIDLike: string;
    IN_CostChange_RecIDBetween: string[];
    IN_CostChange_RecIDIn: string[];
    Old_IN_SOH_RecID: string;
    Old_IN_SOH_RecIDStartsWith: string;
    Old_IN_SOH_RecIDEndsWith: string;
    Old_IN_SOH_RecIDContains: string;
    Old_IN_SOH_RecIDLike: string;
    Old_IN_SOH_RecIDBetween: string[];
    Old_IN_SOH_RecIDIn: string[];
    NewCost: number;
    NewCostGreaterThanOrEqualTo: number;
    NewCostGreaterThan: number;
    NewCostLessThan: number;
    NewCostLessThanOrEqualTo: number;
    NewCostNotEqualTo: number;
    NewCostBetween: number[];
    NewCostIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    New_IN_SOH_RecID: string;
    New_IN_SOH_RecIDStartsWith: string;
    New_IN_SOH_RecIDEndsWith: string;
    New_IN_SOH_RecIDContains: string;
    New_IN_SOH_RecIDLike: string;
    New_IN_SOH_RecIDBetween: string[];
    New_IN_SOH_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_CostChangeLines>(); }
    getTypeName() { return "IN_CostChangeLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CreditorQuery extends QueryDb<IN_Creditor> implements IReturn<QueryResponse<IN_Creditor>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    SupplierUPC: string;
    SupplierUPCStartsWith: string;
    SupplierUPCEndsWith: string;
    SupplierUPCContains: string;
    SupplierUPCLike: string;
    SupplierUPCBetween: string[];
    SupplierUPCIn: string[];
    SpareFloat1: number;
    SpareFloat1GreaterThanOrEqualTo: number;
    SpareFloat1GreaterThan: number;
    SpareFloat1LessThan: number;
    SpareFloat1LessThanOrEqualTo: number;
    SpareFloat1NotEqualTo: number;
    SpareFloat1Between: number[];
    SpareFloat1In: number[];
    SpareFloat2: number;
    SpareFloat2GreaterThanOrEqualTo: number;
    SpareFloat2GreaterThan: number;
    SpareFloat2LessThan: number;
    SpareFloat2LessThanOrEqualTo: number;
    SpareFloat2NotEqualTo: number;
    SpareFloat2Between: number[];
    SpareFloat2In: number[];
    SpareFloat3: number;
    SpareFloat3GreaterThanOrEqualTo: number;
    SpareFloat3GreaterThan: number;
    SpareFloat3LessThan: number;
    SpareFloat3LessThanOrEqualTo: number;
    SpareFloat3NotEqualTo: number;
    SpareFloat3Between: number[];
    SpareFloat3In: number[];
    SpareString1: string;
    SpareString1StartsWith: string;
    SpareString1EndsWith: string;
    SpareString1Contains: string;
    SpareString1Like: string;
    SpareString1Between: string[];
    SpareString1In: string[];
    SpareString2: string;
    SpareString2StartsWith: string;
    SpareString2EndsWith: string;
    SpareString2Contains: string;
    SpareString2Like: string;
    SpareString2Between: string[];
    SpareString2In: string[];
    SpareString3: string;
    SpareString3StartsWith: string;
    SpareString3EndsWith: string;
    SpareString3Contains: string;
    SpareString3Like: string;
    SpareString3Between: string[];
    SpareString3In: string[];
    SpareDate1: string;
    SpareDate1GreaterThanOrEqualTo: string;
    SpareDate1GreaterThan: string;
    SpareDate1LessThan: string;
    SpareDate1LessThanOrEqualTo: string;
    SpareDate1NotEqualTo: string;
    SpareDate1Between: string[];
    SpareDate1In: string[];
    SpareDate2: string;
    SpareDate2GreaterThanOrEqualTo: string;
    SpareDate2GreaterThan: string;
    SpareDate2LessThan: string;
    SpareDate2LessThanOrEqualTo: string;
    SpareDate2NotEqualTo: string;
    SpareDate2Between: string[];
    SpareDate2In: string[];
    SpareDate3: string;
    SpareDate3GreaterThanOrEqualTo: string;
    SpareDate3GreaterThan: string;
    SpareDate3LessThan: string;
    SpareDate3LessThanOrEqualTo: string;
    SpareDate3NotEqualTo: string;
    SpareDate3Between: string[];
    SpareDate3In: string[];
    DefaultSupplier: boolean;
    IN_Region_RecID: string;
    IN_Region_RecIDStartsWith: string;
    IN_Region_RecIDEndsWith: string;
    IN_Region_RecIDContains: string;
    IN_Region_RecIDLike: string;
    IN_Region_RecIDBetween: string[];
    IN_Region_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<IN_Creditor>(); }
    getTypeName() { return "IN_CreditorQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_Creditor_QuantityPriceBreakQuery extends QueryDb<IN_Creditor_QuantityPriceBreak> implements IReturn<QueryResponse<IN_Creditor_QuantityPriceBreak>>
{
    RecID: string;
    RecIDIn: string[];
    IN_Creditor_RecID: string;
    IN_Creditor_RecIDStartsWith: string;
    IN_Creditor_RecIDEndsWith: string;
    IN_Creditor_RecIDContains: string;
    IN_Creditor_RecIDLike: string;
    IN_Creditor_RecIDBetween: string[];
    IN_Creditor_RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    RowHash: Uint8Array;
    QuantityBreak: number;
    QuantityBreakGreaterThanOrEqualTo: number;
    QuantityBreakGreaterThan: number;
    QuantityBreakLessThan: number;
    QuantityBreakLessThanOrEqualTo: number;
    QuantityBreakNotEqualTo: number;
    QuantityBreakBetween: number[];
    QuantityBreakIn: number[];
    Price: number;
    PriceGreaterThanOrEqualTo: number;
    PriceGreaterThan: number;
    PriceLessThan: number;
    PriceLessThanOrEqualTo: number;
    PriceNotEqualTo: number;
    PriceBetween: number[];
    PriceIn: number[];
    createResponse() { return new QueryResponse<IN_Creditor_QuantityPriceBreak>(); }
    getTypeName() { return "IN_Creditor_QuantityPriceBreakQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CreditorCustomFieldsQuery extends QueryDb<IN_CreditorCustomFields> implements IReturn<QueryResponse<IN_CreditorCustomFields>>
{
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_CreditorCustomFields>(); }
    getTypeName() { return "IN_CreditorCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CreditorCustomValuesQuery extends QueryDb<IN_CreditorCustomValues> implements IReturn<QueryResponse<IN_CreditorCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InvSuppID: string;
    InvSuppIDStartsWith: string;
    InvSuppIDEndsWith: string;
    InvSuppIDContains: string;
    InvSuppIDLike: string;
    InvSuppIDBetween: string[];
    InvSuppIDIn: string[];
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_CreditorCustomValues>(); }
    getTypeName() { return "IN_CreditorCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CustomSettingQuery extends QueryDb<IN_CustomSetting> implements IReturn<QueryResponse<IN_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_CustomSetting>(); }
    getTypeName() { return "IN_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_CustomSettingValuesQuery extends QueryDb<IN_CustomSettingValues> implements IReturn<QueryResponse<IN_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_CustomSettingValues>(); }
    getTypeName() { return "IN_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_DebtorClassificationSpecificPriceQuery extends QueryDb<IN_DebtorClassificationSpecificPrice> implements IReturn<QueryResponse<IN_DebtorClassificationSpecificPrice>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    DebtorClassificationID: string;
    DebtorClassificationIDStartsWith: string;
    DebtorClassificationIDEndsWith: string;
    DebtorClassificationIDContains: string;
    DebtorClassificationIDLike: string;
    DebtorClassificationIDBetween: string[];
    DebtorClassificationIDIn: string[];
    Source: number;
    SourceGreaterThanOrEqualTo: number;
    SourceGreaterThan: number;
    SourceLessThan: number;
    SourceLessThanOrEqualTo: number;
    SourceNotEqualTo: number;
    SourceBetween: number[];
    SourceIn: number[];
    OPMode: number;
    OPModeGreaterThanOrEqualTo: number;
    OPModeGreaterThan: number;
    OPModeLessThan: number;
    OPModeLessThanOrEqualTo: number;
    OPModeNotEqualTo: number;
    OPModeBetween: number[];
    OPModeIn: number[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    EndDate: string;
    EndDateGreaterThanOrEqualTo: string;
    EndDateGreaterThan: string;
    EndDateLessThan: string;
    EndDateLessThanOrEqualTo: string;
    EndDateNotEqualTo: string;
    EndDateBetween: string[];
    EndDateIn: string[];
    UseQuantityBreak: boolean;
    QuantityBreak: number;
    QuantityBreakGreaterThanOrEqualTo: number;
    QuantityBreakGreaterThan: number;
    QuantityBreakLessThan: number;
    QuantityBreakLessThanOrEqualTo: number;
    QuantityBreakNotEqualTo: number;
    QuantityBreakBetween: number[];
    QuantityBreakIn: number[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_DebtorClassificationSpecificPrice>(); }
    getTypeName() { return "IN_DebtorClassificationSpecificPriceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_DebtorPartNumbersQuery extends QueryDb<IN_DebtorPartNumbers> implements IReturn<QueryResponse<IN_DebtorPartNumbers>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorPartNo: string;
    DebtorPartNoStartsWith: string;
    DebtorPartNoEndsWith: string;
    DebtorPartNoContains: string;
    DebtorPartNoLike: string;
    DebtorPartNoBetween: string[];
    DebtorPartNoIn: string[];
    DebtorBarcode: string;
    DebtorBarcodeStartsWith: string;
    DebtorBarcodeEndsWith: string;
    DebtorBarcodeContains: string;
    DebtorBarcodeLike: string;
    DebtorBarcodeBetween: string[];
    DebtorBarcodeIn: string[];
    createResponse() { return new QueryResponse<IN_DebtorPartNumbers>(); }
    getTypeName() { return "IN_DebtorPartNumbersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_DebtorPricingGroupSpecificPriceQuery extends QueryDb<IN_DebtorPricingGroupSpecificPrice> implements IReturn<QueryResponse<IN_DebtorPricingGroupSpecificPrice>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    DB_PricingGroups_RecID: string;
    DB_PricingGroups_RecIDStartsWith: string;
    DB_PricingGroups_RecIDEndsWith: string;
    DB_PricingGroups_RecIDContains: string;
    DB_PricingGroups_RecIDLike: string;
    DB_PricingGroups_RecIDBetween: string[];
    DB_PricingGroups_RecIDIn: string[];
    Source: number;
    SourceGreaterThanOrEqualTo: number;
    SourceGreaterThan: number;
    SourceLessThan: number;
    SourceLessThanOrEqualTo: number;
    SourceNotEqualTo: number;
    SourceBetween: number[];
    SourceIn: number[];
    OPMode: number;
    OPModeGreaterThanOrEqualTo: number;
    OPModeGreaterThan: number;
    OPModeLessThan: number;
    OPModeLessThanOrEqualTo: number;
    OPModeNotEqualTo: number;
    OPModeBetween: number[];
    OPModeIn: number[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    EndDate: string;
    EndDateGreaterThanOrEqualTo: string;
    EndDateGreaterThan: string;
    EndDateLessThan: string;
    EndDateLessThanOrEqualTo: string;
    EndDateNotEqualTo: string;
    EndDateBetween: string[];
    EndDateIn: string[];
    UseQuantityBreak: boolean;
    QuantityBreak: number;
    QuantityBreakGreaterThanOrEqualTo: number;
    QuantityBreakGreaterThan: number;
    QuantityBreakLessThan: number;
    QuantityBreakLessThanOrEqualTo: number;
    QuantityBreakNotEqualTo: number;
    QuantityBreakBetween: number[];
    QuantityBreakIn: number[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_DebtorPricingGroupSpecificPrice>(); }
    getTypeName() { return "IN_DebtorPricingGroupSpecificPriceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_DebtorSpecificPriceQuery extends QueryDb<IN_DebtorSpecificPrice> implements IReturn<QueryResponse<IN_DebtorSpecificPrice>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    Source: number;
    SourceGreaterThanOrEqualTo: number;
    SourceGreaterThan: number;
    SourceLessThan: number;
    SourceLessThanOrEqualTo: number;
    SourceNotEqualTo: number;
    SourceBetween: number[];
    SourceIn: number[];
    OPMode: number;
    OPModeGreaterThanOrEqualTo: number;
    OPModeGreaterThan: number;
    OPModeLessThan: number;
    OPModeLessThanOrEqualTo: number;
    OPModeNotEqualTo: number;
    OPModeBetween: number[];
    OPModeIn: number[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    EndDate: string;
    EndDateGreaterThanOrEqualTo: string;
    EndDateGreaterThan: string;
    EndDateLessThan: string;
    EndDateLessThanOrEqualTo: string;
    EndDateNotEqualTo: string;
    EndDateBetween: string[];
    EndDateIn: string[];
    UseQuantityBreak: boolean;
    QuantityBreak: number;
    QuantityBreakGreaterThanOrEqualTo: number;
    QuantityBreakGreaterThan: number;
    QuantityBreakLessThan: number;
    QuantityBreakLessThanOrEqualTo: number;
    QuantityBreakNotEqualTo: number;
    QuantityBreakBetween: number[];
    QuantityBreakIn: number[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    createResponse() { return new QueryResponse<IN_DebtorSpecificPrice>(); }
    getTypeName() { return "IN_DebtorSpecificPriceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_DescriptionQuery extends QueryDb<IN_Description> implements IReturn<QueryResponse<IN_Description>>
{
    DescriptionID: string;
    DescriptionIDStartsWith: string;
    DescriptionIDEndsWith: string;
    DescriptionIDContains: string;
    DescriptionIDLike: string;
    DescriptionIDBetween: string[];
    DescriptionIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    SY_Language_RecID: string;
    SY_Language_RecIDStartsWith: string;
    SY_Language_RecIDEndsWith: string;
    SY_Language_RecIDContains: string;
    SY_Language_RecIDLike: string;
    SY_Language_RecIDBetween: string[];
    SY_Language_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_Description>(); }
    getTypeName() { return "IN_DescriptionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_DocumentsQuery extends QueryDb<IN_Documents> implements IReturn<QueryResponse<IN_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<IN_Documents>(); }
    getTypeName() { return "IN_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_DutyQuery extends QueryDb<IN_Duty> implements IReturn<QueryResponse<IN_Duty>>
{
    DutyID: string;
    DutyIDStartsWith: string;
    DutyIDEndsWith: string;
    DutyIDContains: string;
    DutyIDLike: string;
    DutyIDBetween: string[];
    DutyIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Value: number;
    ValueGreaterThanOrEqualTo: number;
    ValueGreaterThan: number;
    ValueLessThan: number;
    ValueLessThanOrEqualTo: number;
    ValueNotEqualTo: number;
    ValueBetween: number[];
    ValueIn: number[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<IN_Duty>(); }
    getTypeName() { return "IN_DutyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_FreightQuery extends QueryDb<IN_Freight> implements IReturn<QueryResponse<IN_Freight>>
{
    FreightInID: string;
    FreightInIDStartsWith: string;
    FreightInIDEndsWith: string;
    FreightInIDContains: string;
    FreightInIDLike: string;
    FreightInIDBetween: string[];
    FreightInIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    FreightValue: number;
    FreightValueGreaterThanOrEqualTo: number;
    FreightValueGreaterThan: number;
    FreightValueLessThan: number;
    FreightValueLessThanOrEqualTo: number;
    FreightValueNotEqualTo: number;
    FreightValueBetween: number[];
    FreightValueIn: number[];
    FreightType: number;
    FreightTypeGreaterThanOrEqualTo: number;
    FreightTypeGreaterThan: number;
    FreightTypeLessThan: number;
    FreightTypeLessThanOrEqualTo: number;
    FreightTypeNotEqualTo: number;
    FreightTypeBetween: number[];
    FreightTypeIn: number[];
    FreightFactor: boolean;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<IN_Freight>(); }
    getTypeName() { return "IN_FreightQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_GroupQuery extends QueryDb<IN_Group> implements IReturn<QueryResponse<IN_Group>>
{
    InventoryGroupID: string;
    InventoryGroupIDStartsWith: string;
    InventoryGroupIDEndsWith: string;
    InventoryGroupIDContains: string;
    InventoryGroupIDLike: string;
    InventoryGroupIDBetween: string[];
    InventoryGroupIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    InventoryGroupCollectionID: string;
    InventoryGroupCollectionIDStartsWith: string;
    InventoryGroupCollectionIDEndsWith: string;
    InventoryGroupCollectionIDContains: string;
    InventoryGroupCollectionIDLike: string;
    InventoryGroupCollectionIDBetween: string[];
    InventoryGroupCollectionIDIn: string[];
    createResponse() { return new QueryResponse<IN_Group>(); }
    getTypeName() { return "IN_GroupQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_GroupLinkQuery extends QueryDb<IN_GroupLink> implements IReturn<QueryResponse<IN_GroupLink>>
{
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    InventoryGroupID: string;
    InventoryGroupIDStartsWith: string;
    InventoryGroupIDEndsWith: string;
    InventoryGroupIDContains: string;
    InventoryGroupIDLike: string;
    InventoryGroupIDBetween: string[];
    InventoryGroupIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    createResponse() { return new QueryResponse<IN_GroupLink>(); }
    getTypeName() { return "IN_GroupLinkQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_InTransitWHQuery extends QueryDb<IN_InTransitWH> implements IReturn<QueryResponse<IN_InTransitWH>>
{
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    IN_PhysicalID: string;
    IN_PhysicalIDStartsWith: string;
    IN_PhysicalIDEndsWith: string;
    IN_PhysicalIDContains: string;
    IN_PhysicalIDLike: string;
    IN_PhysicalIDBetween: string[];
    IN_PhysicalIDIn: string[];
    IsDefault: number;
    IsDefaultGreaterThanOrEqualTo: number;
    IsDefaultGreaterThan: number;
    IsDefaultLessThan: number;
    IsDefaultLessThanOrEqualTo: number;
    IsDefaultNotEqualTo: number;
    IsDefaultBetween: number[];
    IsDefaultIn: number[];
    createResponse() { return new QueryResponse<IN_InTransitWH>(); }
    getTypeName() { return "IN_InTransitWHQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_KitStockTakeLineKitComponentsQuery extends QueryDb<IN_KitStockTakeLineKitComponents> implements IReturn<QueryResponse<IN_KitStockTakeLineKitComponents>>
{
    KitStockTakeLineComponentID: string;
    KitStockTakeLineComponentIDStartsWith: string;
    KitStockTakeLineComponentIDEndsWith: string;
    KitStockTakeLineComponentIDContains: string;
    KitStockTakeLineComponentIDLike: string;
    KitStockTakeLineComponentIDBetween: string[];
    KitStockTakeLineComponentIDIn: string[];
    KitStockTakeLineID: string;
    KitStockTakeLineIDStartsWith: string;
    KitStockTakeLineIDEndsWith: string;
    KitStockTakeLineIDContains: string;
    KitStockTakeLineIDLike: string;
    KitStockTakeLineIDBetween: string[];
    KitStockTakeLineIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    BOMObject: number;
    BOMObjectGreaterThanOrEqualTo: number;
    BOMObjectGreaterThan: number;
    BOMObjectLessThan: number;
    BOMObjectLessThanOrEqualTo: number;
    BOMObjectNotEqualTo: number;
    BOMObjectBetween: number[];
    BOMObjectIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    KitRatioQuantity: number;
    KitRatioQuantityGreaterThanOrEqualTo: number;
    KitRatioQuantityGreaterThan: number;
    KitRatioQuantityLessThan: number;
    KitRatioQuantityLessThanOrEqualTo: number;
    KitRatioQuantityNotEqualTo: number;
    KitRatioQuantityBetween: number[];
    KitRatioQuantityIn: number[];
    QuantityCounted: number;
    QuantityCountedGreaterThanOrEqualTo: number;
    QuantityCountedGreaterThan: number;
    QuantityCountedLessThan: number;
    QuantityCountedLessThanOrEqualTo: number;
    QuantityCountedNotEqualTo: number;
    QuantityCountedBetween: number[];
    QuantityCountedIn: number[];
    createResponse() { return new QueryResponse<IN_KitStockTakeLineKitComponents>(); }
    getTypeName() { return "IN_KitStockTakeLineKitComponentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_KitStockTakeLineKitsQuery extends QueryDb<IN_KitStockTakeLineKits> implements IReturn<QueryResponse<IN_KitStockTakeLineKits>>
{
    KitStockTakeLineID: string;
    KitStockTakeLineIDStartsWith: string;
    KitStockTakeLineIDEndsWith: string;
    KitStockTakeLineIDContains: string;
    KitStockTakeLineIDLike: string;
    KitStockTakeLineIDBetween: string[];
    KitStockTakeLineIDIn: string[];
    KitStockTakeID: string;
    KitStockTakeIDStartsWith: string;
    KitStockTakeIDEndsWith: string;
    KitStockTakeIDContains: string;
    KitStockTakeIDLike: string;
    KitStockTakeIDBetween: string[];
    KitStockTakeIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    BOMObject: number;
    BOMObjectGreaterThanOrEqualTo: number;
    BOMObjectGreaterThan: number;
    BOMObjectLessThan: number;
    BOMObjectLessThanOrEqualTo: number;
    BOMObjectNotEqualTo: number;
    BOMObjectBetween: number[];
    BOMObjectIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_KitStockTakeLineKits>(); }
    getTypeName() { return "IN_KitStockTakeLineKitsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_KitStockTakeMainQuery extends QueryDb<IN_KitStockTakeMain> implements IReturn<QueryResponse<IN_KitStockTakeMain>>
{
    KitStockTakeID: string;
    KitStockTakeIDStartsWith: string;
    KitStockTakeIDEndsWith: string;
    KitStockTakeIDContains: string;
    KitStockTakeIDLike: string;
    KitStockTakeIDBetween: string[];
    KitStockTakeIDIn: string[];
    KitStockTakeNo: string;
    KitStockTakeNoStartsWith: string;
    KitStockTakeNoEndsWith: string;
    KitStockTakeNoContains: string;
    KitStockTakeNoLike: string;
    KitStockTakeNoBetween: string[];
    KitStockTakeNoIn: string[];
    KitStockTakeNotes: string;
    KitStockTakeNotesStartsWith: string;
    KitStockTakeNotesEndsWith: string;
    KitStockTakeNotesContains: string;
    KitStockTakeNotesLike: string;
    KitStockTakeNotesBetween: string[];
    KitStockTakeNotesIn: string[];
    KitStockTakeStatus: boolean;
    KitStockTakeDate: string;
    KitStockTakeDateGreaterThanOrEqualTo: string;
    KitStockTakeDateGreaterThan: string;
    KitStockTakeDateLessThan: string;
    KitStockTakeDateLessThanOrEqualTo: string;
    KitStockTakeDateNotEqualTo: string;
    KitStockTakeDateBetween: string[];
    KitStockTakeDateIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_KitStockTakeMain>(); }
    getTypeName() { return "IN_KitStockTakeMainQuery"; }
}

// @Route("/Queries/IN_Logical", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_LogicalQuery extends QueryDb<IN_Logical> implements IReturn<QueryResponse<IN_Logical>>
{
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    IN_PhysicalID: string;
    IN_PhysicalIDStartsWith: string;
    IN_PhysicalIDEndsWith: string;
    IN_PhysicalIDContains: string;
    IN_PhysicalIDLike: string;
    IN_PhysicalIDBetween: string[];
    IN_PhysicalIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LedgerMask: string;
    LedgerMaskStartsWith: string;
    LedgerMaskEndsWith: string;
    LedgerMaskContains: string;
    LedgerMaskLike: string;
    LedgerMaskBetween: string[];
    LedgerMaskIn: string[];
    WarehouseCode: string;
    WarehouseCodeStartsWith: string;
    WarehouseCodeEndsWith: string;
    WarehouseCodeContains: string;
    WarehouseCodeLike: string;
    WarehouseCodeBetween: string[];
    WarehouseCodeIn: string[];
    InTransit: boolean;
    DefaultInTransit: boolean;
    IN_Region_RecID: string;
    IN_Region_RecIDStartsWith: string;
    IN_Region_RecIDEndsWith: string;
    IN_Region_RecIDContains: string;
    IN_Region_RecIDLike: string;
    IN_Region_RecIDBetween: string[];
    IN_Region_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    Colour: number;
    ColourGreaterThanOrEqualTo: number;
    ColourGreaterThan: number;
    ColourLessThan: number;
    ColourLessThanOrEqualTo: number;
    ColourNotEqualTo: number;
    ColourBetween: number[];
    ColourIn: number[];
    createResponse() { return new QueryResponse<IN_Logical>(); }
    getTypeName() { return "IN_LogicalQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_LogicalOrderQuery extends QueryDb<IN_LogicalOrder> implements IReturn<QueryResponse<IN_LogicalOrder>>
{
    IN_LogicalOrderID: string;
    IN_LogicalOrderIDStartsWith: string;
    IN_LogicalOrderIDEndsWith: string;
    IN_LogicalOrderIDContains: string;
    IN_LogicalOrderIDLike: string;
    IN_LogicalOrderIDBetween: string[];
    IN_LogicalOrderIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    CentralWarehouseID: string;
    CentralWarehouseIDStartsWith: string;
    CentralWarehouseIDEndsWith: string;
    CentralWarehouseIDContains: string;
    CentralWarehouseIDLike: string;
    CentralWarehouseIDBetween: string[];
    CentralWarehouseIDIn: string[];
    createResponse() { return new QueryResponse<IN_LogicalOrder>(); }
    getTypeName() { return "IN_LogicalOrderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_LogicalWarehouseCustomFieldsQuery extends QueryDb<IN_LogicalWarehouseCustomFields> implements IReturn<QueryResponse<IN_LogicalWarehouseCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_LogicalWarehouseCustomFields>(); }
    getTypeName() { return "IN_LogicalWarehouseCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_LogicalWarehouseCustomValuesQuery extends QueryDb<IN_LogicalWarehouseCustomValues> implements IReturn<QueryResponse<IN_LogicalWarehouseCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Logical_RecID: string;
    IN_Logical_RecIDStartsWith: string;
    IN_Logical_RecIDEndsWith: string;
    IN_Logical_RecIDContains: string;
    IN_Logical_RecIDLike: string;
    IN_Logical_RecIDBetween: string[];
    IN_Logical_RecIDIn: string[];
    IN_LogicalWarehouseCustomFields_RecID: string;
    IN_LogicalWarehouseCustomFields_RecIDStartsWith: string;
    IN_LogicalWarehouseCustomFields_RecIDEndsWith: string;
    IN_LogicalWarehouseCustomFields_RecIDContains: string;
    IN_LogicalWarehouseCustomFields_RecIDLike: string;
    IN_LogicalWarehouseCustomFields_RecIDBetween: string[];
    IN_LogicalWarehouseCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_LogicalWarehouseCustomValues>(); }
    getTypeName() { return "IN_LogicalWarehouseCustomValuesQuery"; }
}

// @Route("/Queries/IN_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_MainQuery extends QueryDb<IN_Main> implements IReturn<QueryResponse<IN_Main>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    PhysicalItem: boolean;
    Discountable: boolean;
    DirectTax: number;
    DirectTaxGreaterThanOrEqualTo: number;
    DirectTaxGreaterThan: number;
    DirectTaxLessThan: number;
    DirectTaxLessThanOrEqualTo: number;
    DirectTaxNotEqualTo: number;
    DirectTaxBetween: number[];
    DirectTaxIn: number[];
    Catagory1ID: string;
    Catagory1IDStartsWith: string;
    Catagory1IDEndsWith: string;
    Catagory1IDContains: string;
    Catagory1IDLike: string;
    Catagory1IDBetween: string[];
    Catagory1IDIn: string[];
    Catagory2ID: string;
    Catagory2IDStartsWith: string;
    Catagory2IDEndsWith: string;
    Catagory2IDContains: string;
    Catagory2IDLike: string;
    Catagory2IDBetween: string[];
    Catagory2IDIn: string[];
    Catagory3ID: string;
    Catagory3IDStartsWith: string;
    Catagory3IDEndsWith: string;
    Catagory3IDContains: string;
    Catagory3IDLike: string;
    Catagory3IDBetween: string[];
    Catagory3IDIn: string[];
    Catagory4ID: string;
    Catagory4IDStartsWith: string;
    Catagory4IDEndsWith: string;
    Catagory4IDContains: string;
    Catagory4IDLike: string;
    Catagory4IDBetween: string[];
    Catagory4IDIn: string[];
    Catagory5ID: string;
    Catagory5IDStartsWith: string;
    Catagory5IDEndsWith: string;
    Catagory5IDContains: string;
    Catagory5IDLike: string;
    Catagory5IDBetween: string[];
    Catagory5IDIn: string[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    DefaultPrice: number;
    DefaultPriceGreaterThanOrEqualTo: number;
    DefaultPriceGreaterThan: number;
    DefaultPriceLessThan: number;
    DefaultPriceLessThanOrEqualTo: number;
    DefaultPriceNotEqualTo: number;
    DefaultPriceBetween: number[];
    DefaultPriceIn: number[];
    RRPPrice: number;
    RRPPriceGreaterThanOrEqualTo: number;
    RRPPriceGreaterThan: number;
    RRPPriceLessThan: number;
    RRPPriceLessThanOrEqualTo: number;
    RRPPriceNotEqualTo: number;
    RRPPriceBetween: number[];
    RRPPriceIn: number[];
    LCost: number;
    LCostGreaterThanOrEqualTo: number;
    LCostGreaterThan: number;
    LCostLessThan: number;
    LCostLessThanOrEqualTo: number;
    LCostNotEqualTo: number;
    LCostBetween: number[];
    LCostIn: number[];
    SCost: number;
    SCostGreaterThanOrEqualTo: number;
    SCostGreaterThan: number;
    SCostLessThan: number;
    SCostLessThanOrEqualTo: number;
    SCostNotEqualTo: number;
    SCostBetween: number[];
    SCostIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    MinimumGP: number;
    MinimumGPGreaterThanOrEqualTo: number;
    MinimumGPGreaterThan: number;
    MinimumGPLessThan: number;
    MinimumGPLessThanOrEqualTo: number;
    MinimumGPNotEqualTo: number;
    MinimumGPBetween: number[];
    MinimumGPIn: number[];
    Weight: number;
    WeightGreaterThanOrEqualTo: number;
    WeightGreaterThan: number;
    WeightLessThan: number;
    WeightLessThanOrEqualTo: number;
    WeightNotEqualTo: number;
    WeightBetween: number[];
    WeightIn: number[];
    Cubic: number;
    CubicGreaterThanOrEqualTo: number;
    CubicGreaterThan: number;
    CubicLessThan: number;
    CubicLessThanOrEqualTo: number;
    CubicNotEqualTo: number;
    CubicBetween: number[];
    CubicIn: number[];
    UseSerialNo: boolean;
    Aux1: string;
    Aux1StartsWith: string;
    Aux1EndsWith: string;
    Aux1Contains: string;
    Aux1Like: string;
    Aux1Between: string[];
    Aux1In: string[];
    Aux2: string;
    Aux2StartsWith: string;
    Aux2EndsWith: string;
    Aux2Contains: string;
    Aux2Like: string;
    Aux2Between: string[];
    Aux2In: string[];
    Aux3: string;
    Aux3StartsWith: string;
    Aux3EndsWith: string;
    Aux3Contains: string;
    Aux3Like: string;
    Aux3Between: string[];
    Aux3In: string[];
    Aux4: string;
    Aux4StartsWith: string;
    Aux4EndsWith: string;
    Aux4Contains: string;
    Aux4Like: string;
    Aux4Between: string[];
    Aux4In: string[];
    Aux5: string;
    Aux5StartsWith: string;
    Aux5EndsWith: string;
    Aux5Contains: string;
    Aux5Like: string;
    Aux5Between: string[];
    Aux5In: string[];
    BackOrderable: boolean;
    LedgerInvValue: string;
    LedgerInvValueStartsWith: string;
    LedgerInvValueEndsWith: string;
    LedgerInvValueContains: string;
    LedgerInvValueLike: string;
    LedgerInvValueBetween: string[];
    LedgerInvValueIn: string[];
    LedgerMovement_COG: string;
    LedgerMovement_COGStartsWith: string;
    LedgerMovement_COGEndsWith: string;
    LedgerMovement_COGContains: string;
    LedgerMovement_COGLike: string;
    LedgerMovement_COGBetween: string[];
    LedgerMovement_COGIn: string[];
    LedgerExpAsset: string;
    LedgerExpAssetStartsWith: string;
    LedgerExpAssetEndsWith: string;
    LedgerExpAssetContains: string;
    LedgerExpAssetLike: string;
    LedgerExpAssetBetween: string[];
    LedgerExpAssetIn: string[];
    LedgerExpLiab: string;
    LedgerExpLiabStartsWith: string;
    LedgerExpLiabEndsWith: string;
    LedgerExpLiabContains: string;
    LedgerExpLiabLike: string;
    LedgerExpLiabBetween: string[];
    LedgerExpLiabIn: string[];
    LedgerDelAsset: string;
    LedgerDelAssetStartsWith: string;
    LedgerDelAssetEndsWith: string;
    LedgerDelAssetContains: string;
    LedgerDelAssetLike: string;
    LedgerDelAssetBetween: string[];
    LedgerDelAssetIn: string[];
    LedgerDelLiab: string;
    LedgerDelLiabStartsWith: string;
    LedgerDelLiabEndsWith: string;
    LedgerDelLiabContains: string;
    LedgerDelLiabLike: string;
    LedgerDelLiabBetween: string[];
    LedgerDelLiabIn: string[];
    SalesManCost: number;
    SalesManCostGreaterThanOrEqualTo: number;
    SalesManCostGreaterThan: number;
    SalesManCostLessThan: number;
    SalesManCostLessThanOrEqualTo: number;
    SalesManCostNotEqualTo: number;
    SalesManCostBetween: number[];
    SalesManCostIn: number[];
    LedgerAssignedValue: string;
    LedgerAssignedValueStartsWith: string;
    LedgerAssignedValueEndsWith: string;
    LedgerAssignedValueContains: string;
    LedgerAssignedValueLike: string;
    LedgerAssignedValueBetween: string[];
    LedgerAssignedValueIn: string[];
    LedgerCogVariance: string;
    LedgerCogVarianceStartsWith: string;
    LedgerCogVarianceEndsWith: string;
    LedgerCogVarianceContains: string;
    LedgerCogVarianceLike: string;
    LedgerCogVarianceBetween: string[];
    LedgerCogVarianceIn: string[];
    LedgerInvSales: string;
    LedgerInvSalesStartsWith: string;
    LedgerInvSalesEndsWith: string;
    LedgerInvSalesContains: string;
    LedgerInvSalesLike: string;
    LedgerInvSalesBetween: string[];
    LedgerInvSalesIn: string[];
    LedgerAccumulator: string;
    LedgerAccumulatorStartsWith: string;
    LedgerAccumulatorEndsWith: string;
    LedgerAccumulatorContains: string;
    LedgerAccumulatorLike: string;
    LedgerAccumulatorBetween: string[];
    LedgerAccumulatorIn: string[];
    LedgerPurchases: string;
    LedgerPurchasesStartsWith: string;
    LedgerPurchasesEndsWith: string;
    LedgerPurchasesContains: string;
    LedgerPurchasesLike: string;
    LedgerPurchasesBetween: string[];
    LedgerPurchasesIn: string[];
    LedgerShipComplete: string;
    LedgerShipCompleteStartsWith: string;
    LedgerShipCompleteEndsWith: string;
    LedgerShipCompleteContains: string;
    LedgerShipCompleteLike: string;
    LedgerShipCompleteBetween: string[];
    LedgerShipCompleteIn: string[];
    LedgerWriteOn: string;
    LedgerWriteOnStartsWith: string;
    LedgerWriteOnEndsWith: string;
    LedgerWriteOnContains: string;
    LedgerWriteOnLike: string;
    LedgerWriteOnBetween: string[];
    LedgerWriteOnIn: string[];
    LedgerWriteOff: string;
    LedgerWriteOffStartsWith: string;
    LedgerWriteOffEndsWith: string;
    LedgerWriteOffContains: string;
    LedgerWriteOffLike: string;
    LedgerWriteOffBetween: string[];
    LedgerWriteOffIn: string[];
    LedgerCostPriceAdj: string;
    LedgerCostPriceAdjStartsWith: string;
    LedgerCostPriceAdjEndsWith: string;
    LedgerCostPriceAdjContains: string;
    LedgerCostPriceAdjLike: string;
    LedgerCostPriceAdjBetween: string[];
    LedgerCostPriceAdjIn: string[];
    BOMObject: number;
    BOMObjectGreaterThanOrEqualTo: number;
    BOMObjectGreaterThan: number;
    BOMObjectLessThan: number;
    BOMObjectLessThanOrEqualTo: number;
    BOMObjectNotEqualTo: number;
    BOMObjectBetween: number[];
    BOMObjectIn: number[];
    UseExpiryDate: boolean;
    UseStandardCost: boolean;
    StandardCost: number;
    StandardCostGreaterThanOrEqualTo: number;
    StandardCostGreaterThan: number;
    StandardCostLessThan: number;
    StandardCostLessThanOrEqualTo: number;
    StandardCostNotEqualTo: number;
    StandardCostBetween: number[];
    StandardCostIn: number[];
    WebEnabled: boolean;
    GSTInwardsID: string;
    GSTInwardsIDStartsWith: string;
    GSTInwardsIDEndsWith: string;
    GSTInwardsIDContains: string;
    GSTInwardsIDLike: string;
    GSTInwardsIDBetween: string[];
    GSTInwardsIDIn: string[];
    GSTOutwardsID: string;
    GSTOutwardsIDStartsWith: string;
    GSTOutwardsIDEndsWith: string;
    GSTOutwardsIDContains: string;
    GSTOutwardsIDLike: string;
    GSTOutwardsIDBetween: string[];
    GSTOutwardsIDIn: string[];
    GSTAdjustmentsINID: string;
    GSTAdjustmentsINIDStartsWith: string;
    GSTAdjustmentsINIDEndsWith: string;
    GSTAdjustmentsINIDContains: string;
    GSTAdjustmentsINIDLike: string;
    GSTAdjustmentsINIDBetween: string[];
    GSTAdjustmentsINIDIn: string[];
    GSTAdjustmentsOUTID: string;
    GSTAdjustmentsOUTIDStartsWith: string;
    GSTAdjustmentsOUTIDEndsWith: string;
    GSTAdjustmentsOUTIDContains: string;
    GSTAdjustmentsOUTIDLike: string;
    GSTAdjustmentsOUTIDBetween: string[];
    GSTAdjustmentsOUTIDIn: string[];
    SellPriceIncTax: boolean;
    StyleID: string;
    StyleIDStartsWith: string;
    StyleIDEndsWith: string;
    StyleIDContains: string;
    StyleIDLike: string;
    StyleIDBetween: string[];
    StyleIDIn: string[];
    ColourID: string;
    ColourIDStartsWith: string;
    ColourIDEndsWith: string;
    ColourIDContains: string;
    ColourIDLike: string;
    ColourIDBetween: string[];
    ColourIDIn: string[];
    SizeID: string;
    SizeIDStartsWith: string;
    SizeIDEndsWith: string;
    SizeIDContains: string;
    SizeIDLike: string;
    SizeIDBetween: string[];
    SizeIDIn: string[];
    PartEncodeOrder: number;
    PartEncodeOrderGreaterThanOrEqualTo: number;
    PartEncodeOrderGreaterThan: number;
    PartEncodeOrderLessThan: number;
    PartEncodeOrderLessThanOrEqualTo: number;
    PartEncodeOrderNotEqualTo: number;
    PartEncodeOrderBetween: number[];
    PartEncodeOrderIn: number[];
    TypeStyle: boolean;
    MatrixDescription: string;
    MatrixDescriptionStartsWith: string;
    MatrixDescriptionEndsWith: string;
    MatrixDescriptionContains: string;
    MatrixDescriptionLike: string;
    MatrixDescriptionBetween: string[];
    MatrixDescriptionIn: string[];
    SecondaryCost: number;
    SecondaryCostGreaterThanOrEqualTo: number;
    SecondaryCostGreaterThan: number;
    SecondaryCostLessThan: number;
    SecondaryCostLessThanOrEqualTo: number;
    SecondaryCostNotEqualTo: number;
    SecondaryCostBetween: number[];
    SecondaryCostIn: number[];
    PricingGroupID: string;
    PricingGroupIDStartsWith: string;
    PricingGroupIDEndsWith: string;
    PricingGroupIDContains: string;
    PricingGroupIDLike: string;
    PricingGroupIDBetween: string[];
    PricingGroupIDIn: string[];
    ShipWithPhysicalItem: boolean;
    RowHash: Uint8Array;
    Picture: Uint8Array;
    createResponse() { return new QueryResponse<IN_Main>(); }
    getTypeName() { return "IN_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_NotesQuery extends QueryDb<IN_Notes> implements IReturn<QueryResponse<IN_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<IN_Notes>(); }
    getTypeName() { return "IN_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_OnBackOrderQuery extends QueryDb<IN_OnBackOrder> implements IReturn<QueryResponse<IN_OnBackOrder>>
{
    OrdersOnBackID: string;
    OrdersOnBackIDStartsWith: string;
    OrdersOnBackIDEndsWith: string;
    OrdersOnBackIDContains: string;
    OrdersOnBackIDLike: string;
    OrdersOnBackIDBetween: string[];
    OrdersOnBackIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    InvoiceType: number;
    InvoiceTypeGreaterThanOrEqualTo: number;
    InvoiceTypeGreaterThan: number;
    InvoiceTypeLessThan: number;
    InvoiceTypeLessThanOrEqualTo: number;
    InvoiceTypeNotEqualTo: number;
    InvoiceTypeBetween: number[];
    InvoiceTypeIn: number[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    OrderID: string;
    OrderIDStartsWith: string;
    OrderIDEndsWith: string;
    OrderIDContains: string;
    OrderIDLike: string;
    OrderIDBetween: string[];
    OrderIDIn: string[];
    OrderLineID: string;
    OrderLineIDStartsWith: string;
    OrderLineIDEndsWith: string;
    OrderLineIDContains: string;
    OrderLineIDLike: string;
    OrderLineIDBetween: string[];
    OrderLineIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    Price: number;
    PriceGreaterThanOrEqualTo: number;
    PriceGreaterThan: number;
    PriceLessThan: number;
    PriceLessThanOrEqualTo: number;
    PriceNotEqualTo: number;
    PriceBetween: number[];
    PriceIn: number[];
    EstBOValue: number;
    EstBOValueGreaterThanOrEqualTo: number;
    EstBOValueGreaterThan: number;
    EstBOValueLessThan: number;
    EstBOValueLessThanOrEqualTo: number;
    EstBOValueNotEqualTo: number;
    EstBOValueBetween: number[];
    EstBOValueIn: number[];
    Priority: string;
    PriorityStartsWith: string;
    PriorityEndsWith: string;
    PriorityContains: string;
    PriorityLike: string;
    PriorityBetween: string[];
    PriorityIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    ForLogicalID: string;
    ForLogicalIDStartsWith: string;
    ForLogicalIDEndsWith: string;
    ForLogicalIDContains: string;
    ForLogicalIDLike: string;
    ForLogicalIDBetween: string[];
    ForLogicalIDIn: string[];
    ForAnotherWarehouse: number;
    ForAnotherWarehouseGreaterThanOrEqualTo: number;
    ForAnotherWarehouseGreaterThan: number;
    ForAnotherWarehouseLessThan: number;
    ForAnotherWarehouseLessThanOrEqualTo: number;
    ForAnotherWarehouseNotEqualTo: number;
    ForAnotherWarehouseBetween: number[];
    ForAnotherWarehouseIn: number[];
    INAssemblyID: string;
    INAssemblyIDStartsWith: string;
    INAssemblyIDEndsWith: string;
    INAssemblyIDContains: string;
    INAssemblyIDLike: string;
    INAssemblyIDBetween: string[];
    INAssemblyIDIn: string[];
    BackOrderMode: number;
    BackOrderModeGreaterThanOrEqualTo: number;
    BackOrderModeGreaterThan: number;
    BackOrderModeLessThan: number;
    BackOrderModeLessThanOrEqualTo: number;
    BackOrderModeNotEqualTo: number;
    BackOrderModeBetween: number[];
    BackOrderModeIn: number[];
    PriorityWeight: number;
    PriorityWeightGreaterThanOrEqualTo: number;
    PriorityWeightGreaterThan: number;
    PriorityWeightLessThan: number;
    PriorityWeightLessThanOrEqualTo: number;
    PriorityWeightNotEqualTo: number;
    PriorityWeightBetween: number[];
    PriorityWeightIn: number[];
    createResponse() { return new QueryResponse<IN_OnBackOrder>(); }
    getTypeName() { return "IN_OnBackOrderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_OrderLevelsQuery extends QueryDb<IN_OrderLevels> implements IReturn<QueryResponse<IN_OrderLevels>>
{
    InventoryLevelsID: string;
    InventoryLevelsIDStartsWith: string;
    InventoryLevelsIDEndsWith: string;
    InventoryLevelsIDContains: string;
    InventoryLevelsIDLike: string;
    InventoryLevelsIDBetween: string[];
    InventoryLevelsIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Quantity1: number;
    Quantity1GreaterThanOrEqualTo: number;
    Quantity1GreaterThan: number;
    Quantity1LessThan: number;
    Quantity1LessThanOrEqualTo: number;
    Quantity1NotEqualTo: number;
    Quantity1Between: number[];
    Quantity1In: number[];
    Quantity2: number;
    Quantity2GreaterThanOrEqualTo: number;
    Quantity2GreaterThan: number;
    Quantity2LessThan: number;
    Quantity2LessThanOrEqualTo: number;
    Quantity2NotEqualTo: number;
    Quantity2Between: number[];
    Quantity2In: number[];
    Quantity3: number;
    Quantity3GreaterThanOrEqualTo: number;
    Quantity3GreaterThan: number;
    Quantity3LessThan: number;
    Quantity3LessThanOrEqualTo: number;
    Quantity3NotEqualTo: number;
    Quantity3Between: number[];
    Quantity3In: number[];
    Quantity4: number;
    Quantity4GreaterThanOrEqualTo: number;
    Quantity4GreaterThan: number;
    Quantity4LessThan: number;
    Quantity4LessThanOrEqualTo: number;
    Quantity4NotEqualTo: number;
    Quantity4Between: number[];
    Quantity4In: number[];
    Quantity5: number;
    Quantity5GreaterThanOrEqualTo: number;
    Quantity5GreaterThan: number;
    Quantity5LessThan: number;
    Quantity5LessThanOrEqualTo: number;
    Quantity5NotEqualTo: number;
    Quantity5Between: number[];
    Quantity5In: number[];
    Quantity6: number;
    Quantity6GreaterThanOrEqualTo: number;
    Quantity6GreaterThan: number;
    Quantity6LessThan: number;
    Quantity6LessThanOrEqualTo: number;
    Quantity6NotEqualTo: number;
    Quantity6Between: number[];
    Quantity6In: number[];
    Quantity7: number;
    Quantity7GreaterThanOrEqualTo: number;
    Quantity7GreaterThan: number;
    Quantity7LessThan: number;
    Quantity7LessThanOrEqualTo: number;
    Quantity7NotEqualTo: number;
    Quantity7Between: number[];
    Quantity7In: number[];
    Quantity8: number;
    Quantity8GreaterThanOrEqualTo: number;
    Quantity8GreaterThan: number;
    Quantity8LessThan: number;
    Quantity8LessThanOrEqualTo: number;
    Quantity8NotEqualTo: number;
    Quantity8Between: number[];
    Quantity8In: number[];
    Quantity9: number;
    Quantity9GreaterThanOrEqualTo: number;
    Quantity9GreaterThan: number;
    Quantity9LessThan: number;
    Quantity9LessThanOrEqualTo: number;
    Quantity9NotEqualTo: number;
    Quantity9Between: number[];
    Quantity9In: number[];
    Quantity10: number;
    Quantity10GreaterThanOrEqualTo: number;
    Quantity10GreaterThan: number;
    Quantity10LessThan: number;
    Quantity10LessThanOrEqualTo: number;
    Quantity10NotEqualTo: number;
    Quantity10Between: number[];
    Quantity10In: number[];
    Quantity11: number;
    Quantity11GreaterThanOrEqualTo: number;
    Quantity11GreaterThan: number;
    Quantity11LessThan: number;
    Quantity11LessThanOrEqualTo: number;
    Quantity11NotEqualTo: number;
    Quantity11Between: number[];
    Quantity11In: number[];
    Quantity12: number;
    Quantity12GreaterThanOrEqualTo: number;
    Quantity12GreaterThan: number;
    Quantity12LessThan: number;
    Quantity12LessThanOrEqualTo: number;
    Quantity12NotEqualTo: number;
    Quantity12Between: number[];
    Quantity12In: number[];
    Quantity13: number;
    Quantity13GreaterThanOrEqualTo: number;
    Quantity13GreaterThan: number;
    Quantity13LessThan: number;
    Quantity13LessThanOrEqualTo: number;
    Quantity13NotEqualTo: number;
    Quantity13Between: number[];
    Quantity13In: number[];
    Quantity14: number;
    Quantity14GreaterThanOrEqualTo: number;
    Quantity14GreaterThan: number;
    Quantity14LessThan: number;
    Quantity14LessThanOrEqualTo: number;
    Quantity14NotEqualTo: number;
    Quantity14Between: number[];
    Quantity14In: number[];
    Quantity15: number;
    Quantity15GreaterThanOrEqualTo: number;
    Quantity15GreaterThan: number;
    Quantity15LessThan: number;
    Quantity15LessThanOrEqualTo: number;
    Quantity15NotEqualTo: number;
    Quantity15Between: number[];
    Quantity15In: number[];
    Quantity16: number;
    Quantity16GreaterThanOrEqualTo: number;
    Quantity16GreaterThan: number;
    Quantity16LessThan: number;
    Quantity16LessThanOrEqualTo: number;
    Quantity16NotEqualTo: number;
    Quantity16Between: number[];
    Quantity16In: number[];
    Quantity17: number;
    Quantity17GreaterThanOrEqualTo: number;
    Quantity17GreaterThan: number;
    Quantity17LessThan: number;
    Quantity17LessThanOrEqualTo: number;
    Quantity17NotEqualTo: number;
    Quantity17Between: number[];
    Quantity17In: number[];
    Quantity18: number;
    Quantity18GreaterThanOrEqualTo: number;
    Quantity18GreaterThan: number;
    Quantity18LessThan: number;
    Quantity18LessThanOrEqualTo: number;
    Quantity18NotEqualTo: number;
    Quantity18Between: number[];
    Quantity18In: number[];
    Quantity19: number;
    Quantity19GreaterThanOrEqualTo: number;
    Quantity19GreaterThan: number;
    Quantity19LessThan: number;
    Quantity19LessThanOrEqualTo: number;
    Quantity19NotEqualTo: number;
    Quantity19Between: number[];
    Quantity19In: number[];
    Quantity20: number;
    Quantity20GreaterThanOrEqualTo: number;
    Quantity20GreaterThan: number;
    Quantity20LessThan: number;
    Quantity20LessThanOrEqualTo: number;
    Quantity20NotEqualTo: number;
    Quantity20Between: number[];
    Quantity20In: number[];
    Quantity21: number;
    Quantity21GreaterThanOrEqualTo: number;
    Quantity21GreaterThan: number;
    Quantity21LessThan: number;
    Quantity21LessThanOrEqualTo: number;
    Quantity21NotEqualTo: number;
    Quantity21Between: number[];
    Quantity21In: number[];
    Quantity22: number;
    Quantity22GreaterThanOrEqualTo: number;
    Quantity22GreaterThan: number;
    Quantity22LessThan: number;
    Quantity22LessThanOrEqualTo: number;
    Quantity22NotEqualTo: number;
    Quantity22Between: number[];
    Quantity22In: number[];
    Quantity23: number;
    Quantity23GreaterThanOrEqualTo: number;
    Quantity23GreaterThan: number;
    Quantity23LessThan: number;
    Quantity23LessThanOrEqualTo: number;
    Quantity23NotEqualTo: number;
    Quantity23Between: number[];
    Quantity23In: number[];
    Quantity24: number;
    Quantity24GreaterThanOrEqualTo: number;
    Quantity24GreaterThan: number;
    Quantity24LessThan: number;
    Quantity24LessThanOrEqualTo: number;
    Quantity24NotEqualTo: number;
    Quantity24Between: number[];
    Quantity24In: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    SafetyMinQuantity1: number;
    SafetyMinQuantity1GreaterThanOrEqualTo: number;
    SafetyMinQuantity1GreaterThan: number;
    SafetyMinQuantity1LessThan: number;
    SafetyMinQuantity1LessThanOrEqualTo: number;
    SafetyMinQuantity1NotEqualTo: number;
    SafetyMinQuantity1Between: number[];
    SafetyMinQuantity1In: number[];
    SafetyMinQuantity2: number;
    SafetyMinQuantity2GreaterThanOrEqualTo: number;
    SafetyMinQuantity2GreaterThan: number;
    SafetyMinQuantity2LessThan: number;
    SafetyMinQuantity2LessThanOrEqualTo: number;
    SafetyMinQuantity2NotEqualTo: number;
    SafetyMinQuantity2Between: number[];
    SafetyMinQuantity2In: number[];
    SafetyMinQuantity3: number;
    SafetyMinQuantity3GreaterThanOrEqualTo: number;
    SafetyMinQuantity3GreaterThan: number;
    SafetyMinQuantity3LessThan: number;
    SafetyMinQuantity3LessThanOrEqualTo: number;
    SafetyMinQuantity3NotEqualTo: number;
    SafetyMinQuantity3Between: number[];
    SafetyMinQuantity3In: number[];
    SafetyMinQuantity4: number;
    SafetyMinQuantity4GreaterThanOrEqualTo: number;
    SafetyMinQuantity4GreaterThan: number;
    SafetyMinQuantity4LessThan: number;
    SafetyMinQuantity4LessThanOrEqualTo: number;
    SafetyMinQuantity4NotEqualTo: number;
    SafetyMinQuantity4Between: number[];
    SafetyMinQuantity4In: number[];
    SafetyMinQuantity5: number;
    SafetyMinQuantity5GreaterThanOrEqualTo: number;
    SafetyMinQuantity5GreaterThan: number;
    SafetyMinQuantity5LessThan: number;
    SafetyMinQuantity5LessThanOrEqualTo: number;
    SafetyMinQuantity5NotEqualTo: number;
    SafetyMinQuantity5Between: number[];
    SafetyMinQuantity5In: number[];
    SafetyMinQuantity6: number;
    SafetyMinQuantity6GreaterThanOrEqualTo: number;
    SafetyMinQuantity6GreaterThan: number;
    SafetyMinQuantity6LessThan: number;
    SafetyMinQuantity6LessThanOrEqualTo: number;
    SafetyMinQuantity6NotEqualTo: number;
    SafetyMinQuantity6Between: number[];
    SafetyMinQuantity6In: number[];
    SafetyMinQuantity7: number;
    SafetyMinQuantity7GreaterThanOrEqualTo: number;
    SafetyMinQuantity7GreaterThan: number;
    SafetyMinQuantity7LessThan: number;
    SafetyMinQuantity7LessThanOrEqualTo: number;
    SafetyMinQuantity7NotEqualTo: number;
    SafetyMinQuantity7Between: number[];
    SafetyMinQuantity7In: number[];
    SafetyMinQuantity8: number;
    SafetyMinQuantity8GreaterThanOrEqualTo: number;
    SafetyMinQuantity8GreaterThan: number;
    SafetyMinQuantity8LessThan: number;
    SafetyMinQuantity8LessThanOrEqualTo: number;
    SafetyMinQuantity8NotEqualTo: number;
    SafetyMinQuantity8Between: number[];
    SafetyMinQuantity8In: number[];
    SafetyMinQuantity9: number;
    SafetyMinQuantity9GreaterThanOrEqualTo: number;
    SafetyMinQuantity9GreaterThan: number;
    SafetyMinQuantity9LessThan: number;
    SafetyMinQuantity9LessThanOrEqualTo: number;
    SafetyMinQuantity9NotEqualTo: number;
    SafetyMinQuantity9Between: number[];
    SafetyMinQuantity9In: number[];
    SafetyMinQuantity10: number;
    SafetyMinQuantity10GreaterThanOrEqualTo: number;
    SafetyMinQuantity10GreaterThan: number;
    SafetyMinQuantity10LessThan: number;
    SafetyMinQuantity10LessThanOrEqualTo: number;
    SafetyMinQuantity10NotEqualTo: number;
    SafetyMinQuantity10Between: number[];
    SafetyMinQuantity10In: number[];
    SafetyMinQuantity11: number;
    SafetyMinQuantity11GreaterThanOrEqualTo: number;
    SafetyMinQuantity11GreaterThan: number;
    SafetyMinQuantity11LessThan: number;
    SafetyMinQuantity11LessThanOrEqualTo: number;
    SafetyMinQuantity11NotEqualTo: number;
    SafetyMinQuantity11Between: number[];
    SafetyMinQuantity11In: number[];
    SafetyMinQuantity12: number;
    SafetyMinQuantity12GreaterThanOrEqualTo: number;
    SafetyMinQuantity12GreaterThan: number;
    SafetyMinQuantity12LessThan: number;
    SafetyMinQuantity12LessThanOrEqualTo: number;
    SafetyMinQuantity12NotEqualTo: number;
    SafetyMinQuantity12Between: number[];
    SafetyMinQuantity12In: number[];
    SafetyMaxQuantity1: number;
    SafetyMaxQuantity1GreaterThanOrEqualTo: number;
    SafetyMaxQuantity1GreaterThan: number;
    SafetyMaxQuantity1LessThan: number;
    SafetyMaxQuantity1LessThanOrEqualTo: number;
    SafetyMaxQuantity1NotEqualTo: number;
    SafetyMaxQuantity1Between: number[];
    SafetyMaxQuantity1In: number[];
    SafetyMaxQuantity2: number;
    SafetyMaxQuantity2GreaterThanOrEqualTo: number;
    SafetyMaxQuantity2GreaterThan: number;
    SafetyMaxQuantity2LessThan: number;
    SafetyMaxQuantity2LessThanOrEqualTo: number;
    SafetyMaxQuantity2NotEqualTo: number;
    SafetyMaxQuantity2Between: number[];
    SafetyMaxQuantity2In: number[];
    SafetyMaxQuantity3: number;
    SafetyMaxQuantity3GreaterThanOrEqualTo: number;
    SafetyMaxQuantity3GreaterThan: number;
    SafetyMaxQuantity3LessThan: number;
    SafetyMaxQuantity3LessThanOrEqualTo: number;
    SafetyMaxQuantity3NotEqualTo: number;
    SafetyMaxQuantity3Between: number[];
    SafetyMaxQuantity3In: number[];
    SafetyMaxQuantity4: number;
    SafetyMaxQuantity4GreaterThanOrEqualTo: number;
    SafetyMaxQuantity4GreaterThan: number;
    SafetyMaxQuantity4LessThan: number;
    SafetyMaxQuantity4LessThanOrEqualTo: number;
    SafetyMaxQuantity4NotEqualTo: number;
    SafetyMaxQuantity4Between: number[];
    SafetyMaxQuantity4In: number[];
    SafetyMaxQuantity5: number;
    SafetyMaxQuantity5GreaterThanOrEqualTo: number;
    SafetyMaxQuantity5GreaterThan: number;
    SafetyMaxQuantity5LessThan: number;
    SafetyMaxQuantity5LessThanOrEqualTo: number;
    SafetyMaxQuantity5NotEqualTo: number;
    SafetyMaxQuantity5Between: number[];
    SafetyMaxQuantity5In: number[];
    SafetyMaxQuantity6: number;
    SafetyMaxQuantity6GreaterThanOrEqualTo: number;
    SafetyMaxQuantity6GreaterThan: number;
    SafetyMaxQuantity6LessThan: number;
    SafetyMaxQuantity6LessThanOrEqualTo: number;
    SafetyMaxQuantity6NotEqualTo: number;
    SafetyMaxQuantity6Between: number[];
    SafetyMaxQuantity6In: number[];
    SafetyMaxQuantity7: number;
    SafetyMaxQuantity7GreaterThanOrEqualTo: number;
    SafetyMaxQuantity7GreaterThan: number;
    SafetyMaxQuantity7LessThan: number;
    SafetyMaxQuantity7LessThanOrEqualTo: number;
    SafetyMaxQuantity7NotEqualTo: number;
    SafetyMaxQuantity7Between: number[];
    SafetyMaxQuantity7In: number[];
    SafetyMaxQuantity8: number;
    SafetyMaxQuantity8GreaterThanOrEqualTo: number;
    SafetyMaxQuantity8GreaterThan: number;
    SafetyMaxQuantity8LessThan: number;
    SafetyMaxQuantity8LessThanOrEqualTo: number;
    SafetyMaxQuantity8NotEqualTo: number;
    SafetyMaxQuantity8Between: number[];
    SafetyMaxQuantity8In: number[];
    SafetyMaxQuantity9: number;
    SafetyMaxQuantity9GreaterThanOrEqualTo: number;
    SafetyMaxQuantity9GreaterThan: number;
    SafetyMaxQuantity9LessThan: number;
    SafetyMaxQuantity9LessThanOrEqualTo: number;
    SafetyMaxQuantity9NotEqualTo: number;
    SafetyMaxQuantity9Between: number[];
    SafetyMaxQuantity9In: number[];
    SafetyMaxQuantity10: number;
    SafetyMaxQuantity10GreaterThanOrEqualTo: number;
    SafetyMaxQuantity10GreaterThan: number;
    SafetyMaxQuantity10LessThan: number;
    SafetyMaxQuantity10LessThanOrEqualTo: number;
    SafetyMaxQuantity10NotEqualTo: number;
    SafetyMaxQuantity10Between: number[];
    SafetyMaxQuantity10In: number[];
    SafetyMaxQuantity11: number;
    SafetyMaxQuantity11GreaterThanOrEqualTo: number;
    SafetyMaxQuantity11GreaterThan: number;
    SafetyMaxQuantity11LessThan: number;
    SafetyMaxQuantity11LessThanOrEqualTo: number;
    SafetyMaxQuantity11NotEqualTo: number;
    SafetyMaxQuantity11Between: number[];
    SafetyMaxQuantity11In: number[];
    SafetyMaxQuantity12: number;
    SafetyMaxQuantity12GreaterThanOrEqualTo: number;
    SafetyMaxQuantity12GreaterThan: number;
    SafetyMaxQuantity12LessThan: number;
    SafetyMaxQuantity12LessThanOrEqualTo: number;
    SafetyMaxQuantity12NotEqualTo: number;
    SafetyMaxQuantity12Between: number[];
    SafetyMaxQuantity12In: number[];
    createResponse() { return new QueryResponse<IN_OrderLevels>(); }
    getTypeName() { return "IN_OrderLevelsQuery"; }
}

// @Route("/Queries/IN_Physical", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PhysicalQuery extends QueryDb<IN_Physical> implements IReturn<QueryResponse<IN_Physical>>
{
    IN_PhysicalID: string;
    IN_PhysicalIDStartsWith: string;
    IN_PhysicalIDEndsWith: string;
    IN_PhysicalIDContains: string;
    IN_PhysicalIDLike: string;
    IN_PhysicalIDBetween: string[];
    IN_PhysicalIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    RefComment: string;
    RefCommentStartsWith: string;
    RefCommentEndsWith: string;
    RefCommentContains: string;
    RefCommentLike: string;
    RefCommentBetween: string[];
    RefCommentIn: string[];
    createResponse() { return new QueryResponse<IN_Physical>(); }
    getTypeName() { return "IN_PhysicalQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PhysicalWarehouseCustomSettingQuery extends QueryDb<IN_PhysicalWarehouseCustomSetting> implements IReturn<QueryResponse<IN_PhysicalWarehouseCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_PhysicalWarehouseCustomSetting>(); }
    getTypeName() { return "IN_PhysicalWarehouseCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PhysicalWarehouseCustomValuesQuery extends QueryDb<IN_PhysicalWarehouseCustomValues> implements IReturn<QueryResponse<IN_PhysicalWarehouseCustomValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    IN_Physical_RecID: string;
    IN_Physical_RecIDStartsWith: string;
    IN_Physical_RecIDEndsWith: string;
    IN_Physical_RecIDContains: string;
    IN_Physical_RecIDLike: string;
    IN_Physical_RecIDBetween: string[];
    IN_Physical_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_PhysicalWarehouseCustomValues>(); }
    getTypeName() { return "IN_PhysicalWarehouseCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PriceQuery extends QueryDb<IN_Price> implements IReturn<QueryResponse<IN_Price>>
{
    PriceID: string;
    PriceIDStartsWith: string;
    PriceIDEndsWith: string;
    PriceIDContains: string;
    PriceIDLike: string;
    PriceIDBetween: string[];
    PriceIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    QuantityBreak: number;
    QuantityBreakGreaterThanOrEqualTo: number;
    QuantityBreakGreaterThan: number;
    QuantityBreakLessThan: number;
    QuantityBreakLessThanOrEqualTo: number;
    QuantityBreakNotEqualTo: number;
    QuantityBreakBetween: number[];
    QuantityBreakIn: number[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    createResponse() { return new QueryResponse<IN_Price>(); }
    getTypeName() { return "IN_PriceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PriceLinkQuery extends QueryDb<IN_PriceLink> implements IReturn<QueryResponse<IN_PriceLink>>
{
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    PriceID: string;
    PriceIDStartsWith: string;
    PriceIDEndsWith: string;
    PriceIDContains: string;
    PriceIDLike: string;
    PriceIDBetween: string[];
    PriceIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Price: number;
    PriceGreaterThanOrEqualTo: number;
    PriceGreaterThan: number;
    PriceLessThan: number;
    PriceLessThanOrEqualTo: number;
    PriceNotEqualTo: number;
    PriceBetween: number[];
    PriceIn: number[];
    createResponse() { return new QueryResponse<IN_PriceLink>(); }
    getTypeName() { return "IN_PriceLinkQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PriceSchemePriceQuery extends QueryDb<IN_PriceSchemePrice> implements IReturn<QueryResponse<IN_PriceSchemePrice>>
{
    PriceSchemePriceID: string;
    PriceSchemePriceIDStartsWith: string;
    PriceSchemePriceIDEndsWith: string;
    PriceSchemePriceIDContains: string;
    PriceSchemePriceIDLike: string;
    PriceSchemePriceIDBetween: string[];
    PriceSchemePriceIDIn: string[];
    PriceDescription: string;
    PriceDescriptionStartsWith: string;
    PriceDescriptionEndsWith: string;
    PriceDescriptionContains: string;
    PriceDescriptionLike: string;
    PriceDescriptionBetween: string[];
    PriceDescriptionIn: string[];
    PriceIsStoredProc: boolean;
    PriceStoredProcName: string;
    PriceStoredProcNameStartsWith: string;
    PriceStoredProcNameEndsWith: string;
    PriceStoredProcNameContains: string;
    PriceStoredProcNameLike: string;
    PriceStoredProcNameBetween: string[];
    PriceStoredProcNameIn: string[];
    PriceActive: boolean;
    PriceVBScript: string;
    PriceVBScriptStartsWith: string;
    PriceVBScriptEndsWith: string;
    PriceVBScriptContains: string;
    PriceVBScriptLike: string;
    PriceVBScriptBetween: string[];
    PriceVBScriptIn: string[];
    UseZeroPrice: boolean;
    createResponse() { return new QueryResponse<IN_PriceSchemePrice>(); }
    getTypeName() { return "IN_PriceSchemePriceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PriceSchemePriorityQuery extends QueryDb<IN_PriceSchemePriority> implements IReturn<QueryResponse<IN_PriceSchemePriority>>
{
    PriceSchemePriorityID: string;
    PriceSchemePriorityIDStartsWith: string;
    PriceSchemePriorityIDEndsWith: string;
    PriceSchemePriorityIDContains: string;
    PriceSchemePriorityIDLike: string;
    PriceSchemePriorityIDBetween: string[];
    PriceSchemePriorityIDIn: string[];
    PriceSchemeID: string;
    PriceSchemeIDStartsWith: string;
    PriceSchemeIDEndsWith: string;
    PriceSchemeIDContains: string;
    PriceSchemeIDLike: string;
    PriceSchemeIDBetween: string[];
    PriceSchemeIDIn: string[];
    PriceSchemePriceID: string;
    PriceSchemePriceIDStartsWith: string;
    PriceSchemePriceIDEndsWith: string;
    PriceSchemePriceIDContains: string;
    PriceSchemePriceIDLike: string;
    PriceSchemePriceIDBetween: string[];
    PriceSchemePriceIDIn: string[];
    SchemePriority: number;
    SchemePriorityGreaterThanOrEqualTo: number;
    SchemePriorityGreaterThan: number;
    SchemePriorityLessThan: number;
    SchemePriorityLessThanOrEqualTo: number;
    SchemePriorityNotEqualTo: number;
    SchemePriorityBetween: number[];
    SchemePriorityIn: number[];
    createResponse() { return new QueryResponse<IN_PriceSchemePriority>(); }
    getTypeName() { return "IN_PriceSchemePriorityQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PriceSchemesQuery extends QueryDb<IN_PriceSchemes> implements IReturn<QueryResponse<IN_PriceSchemes>>
{
    PriceSchemeID: string;
    PriceSchemeIDStartsWith: string;
    PriceSchemeIDEndsWith: string;
    PriceSchemeIDContains: string;
    PriceSchemeIDLike: string;
    PriceSchemeIDBetween: string[];
    PriceSchemeIDIn: string[];
    PriceSchemeDescription: string;
    PriceSchemeDescriptionStartsWith: string;
    PriceSchemeDescriptionEndsWith: string;
    PriceSchemeDescriptionContains: string;
    PriceSchemeDescriptionLike: string;
    PriceSchemeDescriptionBetween: string[];
    PriceSchemeDescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SchemeActive: boolean;
    FindTheCheapest: boolean;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<IN_PriceSchemes>(); }
    getTypeName() { return "IN_PriceSchemesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PricingGroupMatrixQuery extends QueryDb<IN_PricingGroupMatrix> implements IReturn<QueryResponse<IN_PricingGroupMatrix>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_PricingGroups_RecID: string;
    IN_PricingGroups_RecIDStartsWith: string;
    IN_PricingGroups_RecIDEndsWith: string;
    IN_PricingGroups_RecIDContains: string;
    IN_PricingGroups_RecIDLike: string;
    IN_PricingGroups_RecIDBetween: string[];
    IN_PricingGroups_RecIDIn: string[];
    DB_PricingGroups_RecID: string;
    DB_PricingGroups_RecIDStartsWith: string;
    DB_PricingGroups_RecIDEndsWith: string;
    DB_PricingGroups_RecIDContains: string;
    DB_PricingGroups_RecIDLike: string;
    DB_PricingGroups_RecIDBetween: string[];
    DB_PricingGroups_RecIDIn: string[];
    SourcePrice: number;
    SourcePriceGreaterThanOrEqualTo: number;
    SourcePriceGreaterThan: number;
    SourcePriceLessThan: number;
    SourcePriceLessThanOrEqualTo: number;
    SourcePriceNotEqualTo: number;
    SourcePriceBetween: number[];
    SourcePriceIn: number[];
    Mode: number;
    ModeGreaterThanOrEqualTo: number;
    ModeGreaterThan: number;
    ModeLessThan: number;
    ModeLessThanOrEqualTo: number;
    ModeNotEqualTo: number;
    ModeBetween: number[];
    ModeIn: number[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    UseQuantityBreak: boolean;
    QuantityBreak: number;
    QuantityBreakGreaterThanOrEqualTo: number;
    QuantityBreakGreaterThan: number;
    QuantityBreakLessThan: number;
    QuantityBreakLessThanOrEqualTo: number;
    QuantityBreakNotEqualTo: number;
    QuantityBreakBetween: number[];
    QuantityBreakIn: number[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    EndDate: string;
    EndDateGreaterThanOrEqualTo: string;
    EndDateGreaterThan: string;
    EndDateLessThan: string;
    EndDateLessThanOrEqualTo: string;
    EndDateNotEqualTo: string;
    EndDateBetween: string[];
    EndDateIn: string[];
    createResponse() { return new QueryResponse<IN_PricingGroupMatrix>(); }
    getTypeName() { return "IN_PricingGroupMatrixQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_PricingGroupsQuery extends QueryDb<IN_PricingGroups> implements IReturn<QueryResponse<IN_PricingGroups>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultPriceGroup: boolean;
    createResponse() { return new QueryResponse<IN_PricingGroups>(); }
    getTypeName() { return "IN_PricingGroupsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_ProductAvailabilityQuery extends QueryDb<IN_ProductAvailability> implements IReturn<QueryResponse<IN_ProductAvailability>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    LogicalID: string;
    LogicalIDStartsWith: string;
    LogicalIDEndsWith: string;
    LogicalIDContains: string;
    LogicalIDLike: string;
    LogicalIDBetween: string[];
    LogicalIDIn: string[];
    Available: boolean;
    createResponse() { return new QueryResponse<IN_ProductAvailability>(); }
    getTypeName() { return "IN_ProductAvailabilityQuery"; }
}

// @Route("/Queries/IN_Region", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_RegionQuery extends QueryDb<IN_Region> implements IReturn<QueryResponse<IN_Region>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsDefault: boolean;
    HR_Staff_RecID_CreatedBy: string;
    HR_Staff_RecID_CreatedByStartsWith: string;
    HR_Staff_RecID_CreatedByEndsWith: string;
    HR_Staff_RecID_CreatedByContains: string;
    HR_Staff_RecID_CreatedByLike: string;
    HR_Staff_RecID_CreatedByBetween: string[];
    HR_Staff_RecID_CreatedByIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    HR_Staff_RecID_LastSavedBy: string;
    HR_Staff_RecID_LastSavedByStartsWith: string;
    HR_Staff_RecID_LastSavedByEndsWith: string;
    HR_Staff_RecID_LastSavedByContains: string;
    HR_Staff_RecID_LastSavedByLike: string;
    HR_Staff_RecID_LastSavedByBetween: string[];
    HR_Staff_RecID_LastSavedByIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_Region>(); }
    getTypeName() { return "IN_RegionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_RegionSupplierOrderingQuery extends QueryDb<IN_RegionSupplierOrdering> implements IReturn<QueryResponse<IN_RegionSupplierOrdering>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Region_RecID: string;
    IN_Region_RecIDStartsWith: string;
    IN_Region_RecIDEndsWith: string;
    IN_Region_RecIDContains: string;
    IN_Region_RecIDLike: string;
    IN_Region_RecIDBetween: string[];
    IN_Region_RecIDIn: string[];
    IN_Main_InventoryID: string;
    IN_Main_InventoryIDStartsWith: string;
    IN_Main_InventoryIDEndsWith: string;
    IN_Main_InventoryIDContains: string;
    IN_Main_InventoryIDLike: string;
    IN_Main_InventoryIDBetween: string[];
    IN_Main_InventoryIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    OrderEnabled: boolean;
    createResponse() { return new QueryResponse<IN_RegionSupplierOrdering>(); }
    getTypeName() { return "IN_RegionSupplierOrderingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_SellingPricesQuery extends QueryDb<IN_SellingPrices> implements IReturn<QueryResponse<IN_SellingPrices>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    ForwardPriceDate: string;
    ForwardPriceDateGreaterThanOrEqualTo: string;
    ForwardPriceDateGreaterThan: string;
    ForwardPriceDateLessThan: string;
    ForwardPriceDateLessThanOrEqualTo: string;
    ForwardPriceDateNotEqualTo: string;
    ForwardPriceDateBetween: string[];
    ForwardPriceDateIn: string[];
    CurrentPriceDate: string;
    CurrentPriceDateGreaterThanOrEqualTo: string;
    CurrentPriceDateGreaterThan: string;
    CurrentPriceDateLessThan: string;
    CurrentPriceDateLessThanOrEqualTo: string;
    CurrentPriceDateNotEqualTo: string;
    CurrentPriceDateBetween: string[];
    CurrentPriceDateIn: string[];
    Price1: number;
    Price1GreaterThanOrEqualTo: number;
    Price1GreaterThan: number;
    Price1LessThan: number;
    Price1LessThanOrEqualTo: number;
    Price1NotEqualTo: number;
    Price1Between: number[];
    Price1In: number[];
    ForwardPrice1: number;
    ForwardPrice1GreaterThanOrEqualTo: number;
    ForwardPrice1GreaterThan: number;
    ForwardPrice1LessThan: number;
    ForwardPrice1LessThanOrEqualTo: number;
    ForwardPrice1NotEqualTo: number;
    ForwardPrice1Between: number[];
    ForwardPrice1In: number[];
    Price1IsIncTax: boolean;
    Price2: number;
    Price2GreaterThanOrEqualTo: number;
    Price2GreaterThan: number;
    Price2LessThan: number;
    Price2LessThanOrEqualTo: number;
    Price2NotEqualTo: number;
    Price2Between: number[];
    Price2In: number[];
    ForwardPrice2: number;
    ForwardPrice2GreaterThanOrEqualTo: number;
    ForwardPrice2GreaterThan: number;
    ForwardPrice2LessThan: number;
    ForwardPrice2LessThanOrEqualTo: number;
    ForwardPrice2NotEqualTo: number;
    ForwardPrice2Between: number[];
    ForwardPrice2In: number[];
    Price2IsIncTax: boolean;
    Price3: number;
    Price3GreaterThanOrEqualTo: number;
    Price3GreaterThan: number;
    Price3LessThan: number;
    Price3LessThanOrEqualTo: number;
    Price3NotEqualTo: number;
    Price3Between: number[];
    Price3In: number[];
    ForwardPrice3: number;
    ForwardPrice3GreaterThanOrEqualTo: number;
    ForwardPrice3GreaterThan: number;
    ForwardPrice3LessThan: number;
    ForwardPrice3LessThanOrEqualTo: number;
    ForwardPrice3NotEqualTo: number;
    ForwardPrice3Between: number[];
    ForwardPrice3In: number[];
    Price3IsIncTax: boolean;
    Price4: number;
    Price4GreaterThanOrEqualTo: number;
    Price4GreaterThan: number;
    Price4LessThan: number;
    Price4LessThanOrEqualTo: number;
    Price4NotEqualTo: number;
    Price4Between: number[];
    Price4In: number[];
    ForwardPrice4: number;
    ForwardPrice4GreaterThanOrEqualTo: number;
    ForwardPrice4GreaterThan: number;
    ForwardPrice4LessThan: number;
    ForwardPrice4LessThanOrEqualTo: number;
    ForwardPrice4NotEqualTo: number;
    ForwardPrice4Between: number[];
    ForwardPrice4In: number[];
    Price4IsIncTax: boolean;
    Price5: number;
    Price5GreaterThanOrEqualTo: number;
    Price5GreaterThan: number;
    Price5LessThan: number;
    Price5LessThanOrEqualTo: number;
    Price5NotEqualTo: number;
    Price5Between: number[];
    Price5In: number[];
    ForwardPrice5: number;
    ForwardPrice5GreaterThanOrEqualTo: number;
    ForwardPrice5GreaterThan: number;
    ForwardPrice5LessThan: number;
    ForwardPrice5LessThanOrEqualTo: number;
    ForwardPrice5NotEqualTo: number;
    ForwardPrice5Between: number[];
    ForwardPrice5In: number[];
    Price5IsIncTax: boolean;
    Price6: number;
    Price6GreaterThanOrEqualTo: number;
    Price6GreaterThan: number;
    Price6LessThan: number;
    Price6LessThanOrEqualTo: number;
    Price6NotEqualTo: number;
    Price6Between: number[];
    Price6In: number[];
    ForwardPrice6: number;
    ForwardPrice6GreaterThanOrEqualTo: number;
    ForwardPrice6GreaterThan: number;
    ForwardPrice6LessThan: number;
    ForwardPrice6LessThanOrEqualTo: number;
    ForwardPrice6NotEqualTo: number;
    ForwardPrice6Between: number[];
    ForwardPrice6In: number[];
    Price6IsIncTax: boolean;
    Price7: number;
    Price7GreaterThanOrEqualTo: number;
    Price7GreaterThan: number;
    Price7LessThan: number;
    Price7LessThanOrEqualTo: number;
    Price7NotEqualTo: number;
    Price7Between: number[];
    Price7In: number[];
    ForwardPrice7: number;
    ForwardPrice7GreaterThanOrEqualTo: number;
    ForwardPrice7GreaterThan: number;
    ForwardPrice7LessThan: number;
    ForwardPrice7LessThanOrEqualTo: number;
    ForwardPrice7NotEqualTo: number;
    ForwardPrice7Between: number[];
    ForwardPrice7In: number[];
    Price7IsIncTax: boolean;
    Price8: number;
    Price8GreaterThanOrEqualTo: number;
    Price8GreaterThan: number;
    Price8LessThan: number;
    Price8LessThanOrEqualTo: number;
    Price8NotEqualTo: number;
    Price8Between: number[];
    Price8In: number[];
    ForwardPrice8: number;
    ForwardPrice8GreaterThanOrEqualTo: number;
    ForwardPrice8GreaterThan: number;
    ForwardPrice8LessThan: number;
    ForwardPrice8LessThanOrEqualTo: number;
    ForwardPrice8NotEqualTo: number;
    ForwardPrice8Between: number[];
    ForwardPrice8In: number[];
    Price8IsIncTax: boolean;
    Price9: number;
    Price9GreaterThanOrEqualTo: number;
    Price9GreaterThan: number;
    Price9LessThan: number;
    Price9LessThanOrEqualTo: number;
    Price9NotEqualTo: number;
    Price9Between: number[];
    Price9In: number[];
    ForwardPrice9: number;
    ForwardPrice9GreaterThanOrEqualTo: number;
    ForwardPrice9GreaterThan: number;
    ForwardPrice9LessThan: number;
    ForwardPrice9LessThanOrEqualTo: number;
    ForwardPrice9NotEqualTo: number;
    ForwardPrice9Between: number[];
    ForwardPrice9In: number[];
    Price9IsIncTax: boolean;
    Price10: number;
    Price10GreaterThanOrEqualTo: number;
    Price10GreaterThan: number;
    Price10LessThan: number;
    Price10LessThanOrEqualTo: number;
    Price10NotEqualTo: number;
    Price10Between: number[];
    Price10In: number[];
    ForwardPrice10: number;
    ForwardPrice10GreaterThanOrEqualTo: number;
    ForwardPrice10GreaterThan: number;
    ForwardPrice10LessThan: number;
    ForwardPrice10LessThanOrEqualTo: number;
    ForwardPrice10NotEqualTo: number;
    ForwardPrice10Between: number[];
    ForwardPrice10In: number[];
    Price10IsIncTax: boolean;
    createResponse() { return new QueryResponse<IN_SellingPrices>(); }
    getTypeName() { return "IN_SellingPricesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_SizesQuery extends QueryDb<IN_Sizes> implements IReturn<QueryResponse<IN_Sizes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    SizeCode: string;
    SizeCodeStartsWith: string;
    SizeCodeEndsWith: string;
    SizeCodeContains: string;
    SizeCodeLike: string;
    SizeCodeBetween: string[];
    SizeCodeIn: string[];
    StyleID: string;
    StyleIDStartsWith: string;
    StyleIDEndsWith: string;
    StyleIDContains: string;
    StyleIDLike: string;
    StyleIDBetween: string[];
    StyleIDIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_Sizes>(); }
    getTypeName() { return "IN_SizesQuery"; }
}

// @Route("/Queries/IN_SOH", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_SOHQuery extends QueryDb<IN_SOH> implements IReturn<QueryResponse<IN_SOH>>
{
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    DateIn: string;
    DateInGreaterThanOrEqualTo: string;
    DateInGreaterThan: string;
    DateInLessThan: string;
    DateInLessThanOrEqualTo: string;
    DateInNotEqualTo: string;
    DateInBetween: string[];
    DateInIn: string[];
    QuantityIn: number;
    QuantityInGreaterThanOrEqualTo: number;
    QuantityInGreaterThan: number;
    QuantityInLessThan: number;
    QuantityInLessThanOrEqualTo: number;
    QuantityInNotEqualTo: number;
    QuantityInBetween: number[];
    QuantityInIn: number[];
    LCostIn: number;
    LCostInGreaterThanOrEqualTo: number;
    LCostInGreaterThan: number;
    LCostInLessThan: number;
    LCostInLessThanOrEqualTo: number;
    LCostInNotEqualTo: number;
    LCostInBetween: number[];
    LCostInIn: number[];
    SCostIn: number;
    SCostInGreaterThanOrEqualTo: number;
    SCostInGreaterThan: number;
    SCostInLessThan: number;
    SCostInLessThanOrEqualTo: number;
    SCostInNotEqualTo: number;
    SCostInBetween: number[];
    SCostInIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    QuantityLeft: number;
    QuantityLeftGreaterThanOrEqualTo: number;
    QuantityLeftGreaterThan: number;
    QuantityLeftLessThan: number;
    QuantityLeftLessThanOrEqualTo: number;
    QuantityLeftNotEqualTo: number;
    QuantityLeftBetween: number[];
    QuantityLeftIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    HistoryText: string;
    HistoryTextStartsWith: string;
    HistoryTextEndsWith: string;
    HistoryTextContains: string;
    HistoryTextLike: string;
    HistoryTextBetween: string[];
    HistoryTextIn: string[];
    QuantityAllocated: number;
    QuantityAllocatedGreaterThanOrEqualTo: number;
    QuantityAllocatedGreaterThan: number;
    QuantityAllocatedLessThan: number;
    QuantityAllocatedLessThanOrEqualTo: number;
    QuantityAllocatedNotEqualTo: number;
    QuantityAllocatedBetween: number[];
    QuantityAllocatedIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    BinLocationDesc: string;
    BinLocationDescStartsWith: string;
    BinLocationDescEndsWith: string;
    BinLocationDescContains: string;
    BinLocationDescLike: string;
    BinLocationDescBetween: string[];
    BinLocationDescIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    createResponse() { return new QueryResponse<IN_SOH>(); }
    getTypeName() { return "IN_SOHQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_SOHManualSplitAuditQuery extends QueryDb<IN_SOHManualSplitAudit> implements IReturn<QueryResponse<IN_SOHManualSplitAudit>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SplitFromSOHID: string;
    SplitFromSOHIDStartsWith: string;
    SplitFromSOHIDEndsWith: string;
    SplitFromSOHIDContains: string;
    SplitFromSOHIDLike: string;
    SplitFromSOHIDBetween: string[];
    SplitFromSOHIDIn: string[];
    SplitToSOHID: string;
    SplitToSOHIDStartsWith: string;
    SplitToSOHIDEndsWith: string;
    SplitToSOHIDContains: string;
    SplitToSOHIDLike: string;
    SplitToSOHIDBetween: string[];
    SplitToSOHIDIn: string[];
    QuantitySplit: number;
    QuantitySplitGreaterThanOrEqualTo: number;
    QuantitySplitGreaterThan: number;
    QuantitySplitLessThan: number;
    QuantitySplitLessThanOrEqualTo: number;
    QuantitySplitNotEqualTo: number;
    QuantitySplitBetween: number[];
    QuantitySplitIn: number[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    SplitDateTime: string;
    SplitDateTimeGreaterThanOrEqualTo: string;
    SplitDateTimeGreaterThan: string;
    SplitDateTimeLessThan: string;
    SplitDateTimeLessThanOrEqualTo: string;
    SplitDateTimeNotEqualTo: string;
    SplitDateTimeBetween: string[];
    SplitDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_SOHManualSplitAudit>(); }
    getTypeName() { return "IN_SOHManualSplitAuditQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_StandCostQuery extends QueryDb<IN_StandCost> implements IReturn<QueryResponse<IN_StandCost>>
{
    INStandCostID: string;
    INStandCostIDStartsWith: string;
    INStandCostIDEndsWith: string;
    INStandCostIDContains: string;
    INStandCostIDLike: string;
    INStandCostIDBetween: string[];
    INStandCostIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DocumentNo: string;
    DocumentNoStartsWith: string;
    DocumentNoEndsWith: string;
    DocumentNoContains: string;
    DocumentNoLike: string;
    DocumentNoBetween: string[];
    DocumentNoIn: string[];
    InitDate: string;
    InitDateGreaterThanOrEqualTo: string;
    InitDateGreaterThan: string;
    InitDateLessThan: string;
    InitDateLessThanOrEqualTo: string;
    InitDateNotEqualTo: string;
    InitDateBetween: string[];
    InitDateIn: string[];
    UsageDate: string;
    UsageDateGreaterThanOrEqualTo: string;
    UsageDateGreaterThan: string;
    UsageDateLessThan: string;
    UsageDateLessThanOrEqualTo: string;
    UsageDateNotEqualTo: string;
    UsageDateBetween: string[];
    UsageDateIn: string[];
    Formula: string;
    FormulaStartsWith: string;
    FormulaEndsWith: string;
    FormulaContains: string;
    FormulaLike: string;
    FormulaBetween: string[];
    FormulaIn: string[];
    Status: boolean;
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    FromPartNo: string;
    FromPartNoStartsWith: string;
    FromPartNoEndsWith: string;
    FromPartNoContains: string;
    FromPartNoLike: string;
    FromPartNoBetween: string[];
    FromPartNoIn: string[];
    ToPartNo: string;
    ToPartNoStartsWith: string;
    ToPartNoEndsWith: string;
    ToPartNoContains: string;
    ToPartNoLike: string;
    ToPartNoBetween: string[];
    ToPartNoIn: string[];
    FromSupplier: string;
    FromSupplierStartsWith: string;
    FromSupplierEndsWith: string;
    FromSupplierContains: string;
    FromSupplierLike: string;
    FromSupplierBetween: string[];
    FromSupplierIn: string[];
    ToSupplier: string;
    ToSupplierStartsWith: string;
    ToSupplierEndsWith: string;
    ToSupplierContains: string;
    ToSupplierLike: string;
    ToSupplierBetween: string[];
    ToSupplierIn: string[];
    FromClass: string;
    FromClassStartsWith: string;
    FromClassEndsWith: string;
    FromClassContains: string;
    FromClassLike: string;
    FromClassBetween: string[];
    FromClassIn: string[];
    ToClass: string;
    ToClassStartsWith: string;
    ToClassEndsWith: string;
    ToClassContains: string;
    ToClassLike: string;
    ToClassBetween: string[];
    ToClassIn: string[];
    FromCat1: string;
    FromCat1StartsWith: string;
    FromCat1EndsWith: string;
    FromCat1Contains: string;
    FromCat1Like: string;
    FromCat1Between: string[];
    FromCat1In: string[];
    ToCat1: string;
    ToCat1StartsWith: string;
    ToCat1EndsWith: string;
    ToCat1Contains: string;
    ToCat1Like: string;
    ToCat1Between: string[];
    ToCat1In: string[];
    FromCat2: string;
    FromCat2StartsWith: string;
    FromCat2EndsWith: string;
    FromCat2Contains: string;
    FromCat2Like: string;
    FromCat2Between: string[];
    FromCat2In: string[];
    ToCat2: string;
    ToCat2StartsWith: string;
    ToCat2EndsWith: string;
    ToCat2Contains: string;
    ToCat2Like: string;
    ToCat2Between: string[];
    ToCat2In: string[];
    FromCat3: string;
    FromCat3StartsWith: string;
    FromCat3EndsWith: string;
    FromCat3Contains: string;
    FromCat3Like: string;
    FromCat3Between: string[];
    FromCat3In: string[];
    ToCat3: string;
    ToCat3StartsWith: string;
    ToCat3EndsWith: string;
    ToCat3Contains: string;
    ToCat3Like: string;
    ToCat3Between: string[];
    ToCat3In: string[];
    FromCat4: string;
    FromCat4StartsWith: string;
    FromCat4EndsWith: string;
    FromCat4Contains: string;
    FromCat4Like: string;
    FromCat4Between: string[];
    FromCat4In: string[];
    ToCat4: string;
    ToCat4StartsWith: string;
    ToCat4EndsWith: string;
    ToCat4Contains: string;
    ToCat4Like: string;
    ToCat4Between: string[];
    ToCat4In: string[];
    FromCat5: string;
    FromCat5StartsWith: string;
    FromCat5EndsWith: string;
    FromCat5Contains: string;
    FromCat5Like: string;
    FromCat5Between: string[];
    FromCat5In: string[];
    ToCat5: string;
    ToCat5StartsWith: string;
    ToCat5EndsWith: string;
    ToCat5Contains: string;
    ToCat5Like: string;
    ToCat5Between: string[];
    ToCat5In: string[];
    createResponse() { return new QueryResponse<IN_StandCost>(); }
    getTypeName() { return "IN_StandCostQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_StandCostLineQuery extends QueryDb<IN_StandCostLine> implements IReturn<QueryResponse<IN_StandCostLine>>
{
    INStandCostLineID: string;
    INStandCostLineIDStartsWith: string;
    INStandCostLineIDEndsWith: string;
    INStandCostLineIDContains: string;
    INStandCostLineIDLike: string;
    INStandCostLineIDBetween: string[];
    INStandCostLineIDIn: string[];
    INStandCostID: string;
    INStandCostIDStartsWith: string;
    INStandCostIDEndsWith: string;
    INStandCostIDContains: string;
    INStandCostIDLike: string;
    INStandCostIDBetween: string[];
    INStandCostIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    OldCost: number;
    OldCostGreaterThanOrEqualTo: number;
    OldCostGreaterThan: number;
    OldCostLessThan: number;
    OldCostLessThanOrEqualTo: number;
    OldCostNotEqualTo: number;
    OldCostBetween: number[];
    OldCostIn: number[];
    NewCost: number;
    NewCostGreaterThanOrEqualTo: number;
    NewCostGreaterThan: number;
    NewCostLessThan: number;
    NewCostLessThanOrEqualTo: number;
    NewCostNotEqualTo: number;
    NewCostBetween: number[];
    NewCostIn: number[];
    LastHomeCost: number;
    LastHomeCostGreaterThanOrEqualTo: number;
    LastHomeCostGreaterThan: number;
    LastHomeCostLessThan: number;
    LastHomeCostLessThanOrEqualTo: number;
    LastHomeCostNotEqualTo: number;
    LastHomeCostBetween: number[];
    LastHomeCostIn: number[];
    LastSupplierCost: number;
    LastSupplierCostGreaterThanOrEqualTo: number;
    LastSupplierCostGreaterThan: number;
    LastSupplierCostLessThan: number;
    LastSupplierCostLessThanOrEqualTo: number;
    LastSupplierCostNotEqualTo: number;
    LastSupplierCostBetween: number[];
    LastSupplierCostIn: number[];
    StandardDuty: number;
    StandardDutyGreaterThanOrEqualTo: number;
    StandardDutyGreaterThan: number;
    StandardDutyLessThan: number;
    StandardDutyLessThanOrEqualTo: number;
    StandardDutyNotEqualTo: number;
    StandardDutyBetween: number[];
    StandardDutyIn: number[];
    StandardFreight: number;
    StandardFreightGreaterThanOrEqualTo: number;
    StandardFreightGreaterThan: number;
    StandardFreightLessThan: number;
    StandardFreightLessThanOrEqualTo: number;
    StandardFreightNotEqualTo: number;
    StandardFreightBetween: number[];
    StandardFreightIn: number[];
    FXRate: number;
    FXRateGreaterThanOrEqualTo: number;
    FXRateGreaterThan: number;
    FXRateLessThan: number;
    FXRateLessThanOrEqualTo: number;
    FXRateNotEqualTo: number;
    FXRateBetween: number[];
    FXRateIn: number[];
    UserValue: number;
    UserValueGreaterThanOrEqualTo: number;
    UserValueGreaterThan: number;
    UserValueLessThan: number;
    UserValueLessThanOrEqualTo: number;
    UserValueNotEqualTo: number;
    UserValueBetween: number[];
    UserValueIn: number[];
    TotalSOH: number;
    TotalSOHGreaterThanOrEqualTo: number;
    TotalSOHGreaterThan: number;
    TotalSOHLessThan: number;
    TotalSOHLessThanOrEqualTo: number;
    TotalSOHNotEqualTo: number;
    TotalSOHBetween: number[];
    TotalSOHIn: number[];
    CurrentValue: number;
    CurrentValueGreaterThanOrEqualTo: number;
    CurrentValueGreaterThan: number;
    CurrentValueLessThan: number;
    CurrentValueLessThanOrEqualTo: number;
    CurrentValueNotEqualTo: number;
    CurrentValueBetween: number[];
    CurrentValueIn: number[];
    NewValue: number;
    NewValueGreaterThanOrEqualTo: number;
    NewValueGreaterThan: number;
    NewValueLessThan: number;
    NewValueLessThanOrEqualTo: number;
    NewValueNotEqualTo: number;
    NewValueBetween: number[];
    NewValueIn: number[];
    Variance: number;
    VarianceGreaterThanOrEqualTo: number;
    VarianceGreaterThan: number;
    VarianceLessThan: number;
    VarianceLessThanOrEqualTo: number;
    VarianceNotEqualTo: number;
    VarianceBetween: number[];
    VarianceIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    FXCapitalRate: number;
    FXCapitalRateGreaterThanOrEqualTo: number;
    FXCapitalRateGreaterThan: number;
    FXCapitalRateLessThan: number;
    FXCapitalRateLessThanOrEqualTo: number;
    FXCapitalRateNotEqualTo: number;
    FXCapitalRateBetween: number[];
    FXCapitalRateIn: number[];
    createResponse() { return new QueryResponse<IN_StandCostLine>(); }
    getTypeName() { return "IN_StandCostLineQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_StockTakeLineDetailsQuery extends QueryDb<IN_StockTakeLineDetails> implements IReturn<QueryResponse<IN_StockTakeLineDetails>>
{
    StockTakeDetailsID: string;
    StockTakeDetailsIDStartsWith: string;
    StockTakeDetailsIDEndsWith: string;
    StockTakeDetailsIDContains: string;
    StockTakeDetailsIDLike: string;
    StockTakeDetailsIDBetween: string[];
    StockTakeDetailsIDIn: string[];
    StockTakeLineID: string;
    StockTakeLineIDStartsWith: string;
    StockTakeLineIDEndsWith: string;
    StockTakeLineIDContains: string;
    StockTakeLineIDLike: string;
    StockTakeLineIDBetween: string[];
    StockTakeLineIDIn: string[];
    SerialNumber: string;
    SerialNumberStartsWith: string;
    SerialNumberEndsWith: string;
    SerialNumberContains: string;
    SerialNumberLike: string;
    SerialNumberBetween: string[];
    SerialNumberIn: string[];
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    QtyFound: number;
    QtyFoundGreaterThanOrEqualTo: number;
    QtyFoundGreaterThan: number;
    QtyFoundLessThan: number;
    QtyFoundLessThanOrEqualTo: number;
    QtyFoundNotEqualTo: number;
    QtyFoundBetween: number[];
    QtyFoundIn: number[];
    QtyNotFound: number;
    QtyNotFoundGreaterThanOrEqualTo: number;
    QtyNotFoundGreaterThan: number;
    QtyNotFoundLessThan: number;
    QtyNotFoundLessThanOrEqualTo: number;
    QtyNotFoundNotEqualTo: number;
    QtyNotFoundBetween: number[];
    QtyNotFoundIn: number[];
    QtyAdded: number;
    QtyAddedGreaterThanOrEqualTo: number;
    QtyAddedGreaterThan: number;
    QtyAddedLessThan: number;
    QtyAddedLessThanOrEqualTo: number;
    QtyAddedNotEqualTo: number;
    QtyAddedBetween: number[];
    QtyAddedIn: number[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    IN_BinLocationLookup_RecID: string;
    IN_BinLocationLookup_RecIDStartsWith: string;
    IN_BinLocationLookup_RecIDEndsWith: string;
    IN_BinLocationLookup_RecIDContains: string;
    IN_BinLocationLookup_RecIDLike: string;
    IN_BinLocationLookup_RecIDBetween: string[];
    IN_BinLocationLookup_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<IN_StockTakeLineDetails>(); }
    getTypeName() { return "IN_StockTakeLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_StockTakeLinesQuery extends QueryDb<IN_StockTakeLines> implements IReturn<QueryResponse<IN_StockTakeLines>>
{
    StockTakeLineID: string;
    StockTakeLineIDStartsWith: string;
    StockTakeLineIDEndsWith: string;
    StockTakeLineIDContains: string;
    StockTakeLineIDLike: string;
    StockTakeLineIDBetween: string[];
    StockTakeLineIDIn: string[];
    StockTakeID: string;
    StockTakeIDStartsWith: string;
    StockTakeIDEndsWith: string;
    StockTakeIDContains: string;
    StockTakeIDLike: string;
    StockTakeIDBetween: string[];
    StockTakeIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    QtyOnHand: number;
    QtyOnHandGreaterThanOrEqualTo: number;
    QtyOnHandGreaterThan: number;
    QtyOnHandLessThan: number;
    QtyOnHandLessThanOrEqualTo: number;
    QtyOnHandNotEqualTo: number;
    QtyOnHandBetween: number[];
    QtyOnHandIn: number[];
    QtyFound: number;
    QtyFoundGreaterThanOrEqualTo: number;
    QtyFoundGreaterThan: number;
    QtyFoundLessThan: number;
    QtyFoundLessThanOrEqualTo: number;
    QtyFoundNotEqualTo: number;
    QtyFoundBetween: number[];
    QtyFoundIn: number[];
    AmountVar: number;
    AmountVarGreaterThanOrEqualTo: number;
    AmountVarGreaterThan: number;
    AmountVarLessThan: number;
    AmountVarLessThanOrEqualTo: number;
    AmountVarNotEqualTo: number;
    AmountVarBetween: number[];
    AmountVarIn: number[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    DefaultBin: string;
    DefaultBinStartsWith: string;
    DefaultBinEndsWith: string;
    DefaultBinContains: string;
    DefaultBinLike: string;
    DefaultBinBetween: string[];
    DefaultBinIn: string[];
    Comment: string;
    CommentStartsWith: string;
    CommentEndsWith: string;
    CommentContains: string;
    CommentLike: string;
    CommentBetween: string[];
    CommentIn: string[];
    createResponse() { return new QueryResponse<IN_StockTakeLines>(); }
    getTypeName() { return "IN_StockTakeLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_StockTakeMainQuery extends QueryDb<IN_StockTakeMain> implements IReturn<QueryResponse<IN_StockTakeMain>>
{
    StockTakeID: string;
    StockTakeIDStartsWith: string;
    StockTakeIDEndsWith: string;
    StockTakeIDContains: string;
    StockTakeIDLike: string;
    StockTakeIDBetween: string[];
    StockTakeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    StockTakeNumber: string;
    StockTakeNumberStartsWith: string;
    StockTakeNumberEndsWith: string;
    StockTakeNumberContains: string;
    StockTakeNumberLike: string;
    StockTakeNumberBetween: string[];
    StockTakeNumberIn: string[];
    DateCreated: string;
    DateCreatedGreaterThanOrEqualTo: string;
    DateCreatedGreaterThan: string;
    DateCreatedLessThan: string;
    DateCreatedLessThanOrEqualTo: string;
    DateCreatedNotEqualTo: string;
    DateCreatedBetween: string[];
    DateCreatedIn: string[];
    UserID: string;
    UserIDStartsWith: string;
    UserIDEndsWith: string;
    UserIDContains: string;
    UserIDLike: string;
    UserIDBetween: string[];
    UserIDIn: string[];
    WarehouseID: string;
    WarehouseIDStartsWith: string;
    WarehouseIDEndsWith: string;
    WarehouseIDContains: string;
    WarehouseIDLike: string;
    WarehouseIDBetween: string[];
    WarehouseIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    Mode: boolean;
    createResponse() { return new QueryResponse<IN_StockTakeMain>(); }
    getTypeName() { return "IN_StockTakeMainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_StyleColourSizeMatrixQuery extends QueryDb<IN_StyleColourSizeMatrix> implements IReturn<QueryResponse<IN_StyleColourSizeMatrix>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    StyleID: string;
    StyleIDStartsWith: string;
    StyleIDEndsWith: string;
    StyleIDContains: string;
    StyleIDLike: string;
    StyleIDBetween: string[];
    StyleIDIn: string[];
    ColourID: string;
    ColourIDStartsWith: string;
    ColourIDEndsWith: string;
    ColourIDContains: string;
    ColourIDLike: string;
    ColourIDBetween: string[];
    ColourIDIn: string[];
    SizeID: string;
    SizeIDStartsWith: string;
    SizeIDEndsWith: string;
    SizeIDContains: string;
    SizeIDLike: string;
    SizeIDBetween: string[];
    SizeIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    createResponse() { return new QueryResponse<IN_StyleColourSizeMatrix>(); }
    getTypeName() { return "IN_StyleColourSizeMatrixQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_StylesQuery extends QueryDb<IN_Styles> implements IReturn<QueryResponse<IN_Styles>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    StyleCode: string;
    StyleCodeStartsWith: string;
    StyleCodeEndsWith: string;
    StyleCodeContains: string;
    StyleCodeLike: string;
    StyleCodeBetween: string[];
    StyleCodeIn: string[];
    createResponse() { return new QueryResponse<IN_Styles>(); }
    getTypeName() { return "IN_StylesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_SupplierWarehouseQuery extends QueryDb<IN_SupplierWarehouse> implements IReturn<QueryResponse<IN_SupplierWarehouse>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Creditor_RecID: string;
    IN_Creditor_RecIDStartsWith: string;
    IN_Creditor_RecIDEndsWith: string;
    IN_Creditor_RecIDContains: string;
    IN_Creditor_RecIDLike: string;
    IN_Creditor_RecIDBetween: string[];
    IN_Creditor_RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    WarehouseID: string;
    WarehouseIDStartsWith: string;
    WarehouseIDEndsWith: string;
    WarehouseIDContains: string;
    WarehouseIDLike: string;
    WarehouseIDBetween: string[];
    WarehouseIDIn: string[];
    FreightInID: string;
    FreightInIDStartsWith: string;
    FreightInIDEndsWith: string;
    FreightInIDContains: string;
    FreightInIDLike: string;
    FreightInIDBetween: string[];
    FreightInIDIn: string[];
    OrderUnits: number;
    OrderUnitsGreaterThanOrEqualTo: number;
    OrderUnitsGreaterThan: number;
    OrderUnitsLessThan: number;
    OrderUnitsLessThanOrEqualTo: number;
    OrderUnitsNotEqualTo: number;
    OrderUnitsBetween: number[];
    OrderUnitsIn: number[];
    DeliveryDays: number;
    DeliveryDaysGreaterThanOrEqualTo: number;
    DeliveryDaysGreaterThan: number;
    DeliveryDaysLessThan: number;
    DeliveryDaysLessThanOrEqualTo: number;
    DeliveryDaysNotEqualTo: number;
    DeliveryDaysBetween: number[];
    DeliveryDaysIn: number[];
    SuppliersCost: number;
    SuppliersCostGreaterThanOrEqualTo: number;
    SuppliersCostGreaterThan: number;
    SuppliersCostLessThan: number;
    SuppliersCostLessThanOrEqualTo: number;
    SuppliersCostNotEqualTo: number;
    SuppliersCostBetween: number[];
    SuppliersCostIn: number[];
    HomeSuppliersCost: number;
    HomeSuppliersCostGreaterThanOrEqualTo: number;
    HomeSuppliersCostGreaterThan: number;
    HomeSuppliersCostLessThan: number;
    HomeSuppliersCostLessThanOrEqualTo: number;
    HomeSuppliersCostNotEqualTo: number;
    HomeSuppliersCostBetween: number[];
    HomeSuppliersCostIn: number[];
    DutyID: string;
    DutyIDStartsWith: string;
    DutyIDEndsWith: string;
    DutyIDContains: string;
    DutyIDLike: string;
    DutyIDBetween: string[];
    DutyIDIn: string[];
    SupplierSOH: number;
    SupplierSOHGreaterThanOrEqualTo: number;
    SupplierSOHGreaterThan: number;
    SupplierSOHLessThan: number;
    SupplierSOHLessThanOrEqualTo: number;
    SupplierSOHNotEqualTo: number;
    SupplierSOHBetween: number[];
    SupplierSOHIn: number[];
    SuppliersCost2: number;
    SuppliersCost2GreaterThanOrEqualTo: number;
    SuppliersCost2GreaterThan: number;
    SuppliersCost2LessThan: number;
    SuppliersCost2LessThanOrEqualTo: number;
    SuppliersCost2NotEqualTo: number;
    SuppliersCost2Between: number[];
    SuppliersCost2In: number[];
    HomeSuppliersCost2: number;
    HomeSuppliersCost2GreaterThanOrEqualTo: number;
    HomeSuppliersCost2GreaterThan: number;
    HomeSuppliersCost2LessThan: number;
    HomeSuppliersCost2LessThanOrEqualTo: number;
    HomeSuppliersCost2NotEqualTo: number;
    HomeSuppliersCost2Between: number[];
    HomeSuppliersCost2In: number[];
    SpareFloat1: number;
    SpareFloat1GreaterThanOrEqualTo: number;
    SpareFloat1GreaterThan: number;
    SpareFloat1LessThan: number;
    SpareFloat1LessThanOrEqualTo: number;
    SpareFloat1NotEqualTo: number;
    SpareFloat1Between: number[];
    SpareFloat1In: number[];
    SpareFloat2: number;
    SpareFloat2GreaterThanOrEqualTo: number;
    SpareFloat2GreaterThan: number;
    SpareFloat2LessThan: number;
    SpareFloat2LessThanOrEqualTo: number;
    SpareFloat2NotEqualTo: number;
    SpareFloat2Between: number[];
    SpareFloat2In: number[];
    SpareFloat3: number;
    SpareFloat3GreaterThanOrEqualTo: number;
    SpareFloat3GreaterThan: number;
    SpareFloat3LessThan: number;
    SpareFloat3LessThanOrEqualTo: number;
    SpareFloat3NotEqualTo: number;
    SpareFloat3Between: number[];
    SpareFloat3In: number[];
    SpareString1: string;
    SpareString1StartsWith: string;
    SpareString1EndsWith: string;
    SpareString1Contains: string;
    SpareString1Like: string;
    SpareString1Between: string[];
    SpareString1In: string[];
    SpareString2: string;
    SpareString2StartsWith: string;
    SpareString2EndsWith: string;
    SpareString2Contains: string;
    SpareString2Like: string;
    SpareString2Between: string[];
    SpareString2In: string[];
    SpareString3: string;
    SpareString3StartsWith: string;
    SpareString3EndsWith: string;
    SpareString3Contains: string;
    SpareString3Like: string;
    SpareString3Between: string[];
    SpareString3In: string[];
    SpareDate1: string;
    SpareDate1GreaterThanOrEqualTo: string;
    SpareDate1GreaterThan: string;
    SpareDate1LessThan: string;
    SpareDate1LessThanOrEqualTo: string;
    SpareDate1NotEqualTo: string;
    SpareDate1Between: string[];
    SpareDate1In: string[];
    SpareDate2: string;
    SpareDate2GreaterThanOrEqualTo: string;
    SpareDate2GreaterThan: string;
    SpareDate2LessThan: string;
    SpareDate2LessThanOrEqualTo: string;
    SpareDate2NotEqualTo: string;
    SpareDate2Between: string[];
    SpareDate2In: string[];
    SpareDate3: string;
    SpareDate3GreaterThanOrEqualTo: string;
    SpareDate3GreaterThan: string;
    SpareDate3LessThan: string;
    SpareDate3LessThanOrEqualTo: string;
    SpareDate3NotEqualTo: string;
    SpareDate3Between: string[];
    SpareDate3In: string[];
    DefaultSupplierWarehouse: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IN_UnitOfMeasure_RecID: string;
    IN_UnitOfMeasure_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_SupplierWarehouse>(); }
    getTypeName() { return "IN_SupplierWarehouseQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_SupplierWarehouseCustomFieldsQuery extends QueryDb<IN_SupplierWarehouseCustomFields> implements IReturn<QueryResponse<IN_SupplierWarehouseCustomFields>>
{
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_SupplierWarehouseCustomFields>(); }
    getTypeName() { return "IN_SupplierWarehouseCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_SupplierWarehouseCustomValuesQuery extends QueryDb<IN_SupplierWarehouseCustomValues> implements IReturn<QueryResponse<IN_SupplierWarehouseCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InvSuppSourceID: string;
    InvSuppSourceIDStartsWith: string;
    InvSuppSourceIDEndsWith: string;
    InvSuppSourceIDContains: string;
    InvSuppSourceIDLike: string;
    InvSuppSourceIDBetween: string[];
    InvSuppSourceIDIn: string[];
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_SupplierWarehouseCustomValues>(); }
    getTypeName() { return "IN_SupplierWarehouseCustomValuesQuery"; }
}

// @Route("/Queries/IN_Transfer", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferQuery extends QueryDb<IN_Transfer> implements IReturn<QueryResponse<IN_Transfer>>
{
    TransferID: string;
    TransferIDStartsWith: string;
    TransferIDEndsWith: string;
    TransferIDContains: string;
    TransferIDLike: string;
    TransferIDBetween: string[];
    TransferIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    TransferNo: string;
    TransferNoStartsWith: string;
    TransferNoEndsWith: string;
    TransferNoContains: string;
    TransferNoLike: string;
    TransferNoBetween: string[];
    TransferNoIn: string[];
    TransferDate: string;
    TransferDateGreaterThanOrEqualTo: string;
    TransferDateGreaterThan: string;
    TransferDateLessThan: string;
    TransferDateLessThanOrEqualTo: string;
    TransferDateNotEqualTo: string;
    TransferDateBetween: string[];
    TransferDateIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    IN_TransferReasons_RecID: string;
    IN_TransferReasons_RecIDStartsWith: string;
    IN_TransferReasons_RecIDEndsWith: string;
    IN_TransferReasons_RecIDContains: string;
    IN_TransferReasons_RecIDLike: string;
    IN_TransferReasons_RecIDBetween: string[];
    IN_TransferReasons_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_Transfer>(); }
    getTypeName() { return "IN_TransferQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferCustomSettingQuery extends QueryDb<IN_TransferCustomSetting> implements IReturn<QueryResponse<IN_TransferCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_TransferCustomSetting>(); }
    getTypeName() { return "IN_TransferCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferCustomSettingValuesQuery extends QueryDb<IN_TransferCustomSettingValues> implements IReturn<QueryResponse<IN_TransferCustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    TransferID: string;
    TransferIDStartsWith: string;
    TransferIDEndsWith: string;
    TransferIDContains: string;
    TransferIDLike: string;
    TransferIDBetween: string[];
    TransferIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_TransferCustomSettingValues>(); }
    getTypeName() { return "IN_TransferCustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferDocumentsQuery extends QueryDb<IN_TransferDocuments> implements IReturn<QueryResponse<IN_TransferDocuments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    TransferID: string;
    TransferIDStartsWith: string;
    TransferIDEndsWith: string;
    TransferIDContains: string;
    TransferIDLike: string;
    TransferIDBetween: string[];
    TransferIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<IN_TransferDocuments>(); }
    getTypeName() { return "IN_TransferDocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferLineCustomFieldQuery extends QueryDb<IN_TransferLineCustomField> implements IReturn<QueryResponse<IN_TransferLineCustomField>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_TransferLineCustomField>(); }
    getTypeName() { return "IN_TransferLineCustomFieldQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferLineCustomValueQuery extends QueryDb<IN_TransferLineCustomValue> implements IReturn<QueryResponse<IN_TransferLineCustomValue>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_TransferLines_TransferLineID: string;
    IN_TransferLines_TransferLineIDStartsWith: string;
    IN_TransferLines_TransferLineIDEndsWith: string;
    IN_TransferLines_TransferLineIDContains: string;
    IN_TransferLines_TransferLineIDLike: string;
    IN_TransferLines_TransferLineIDBetween: string[];
    IN_TransferLines_TransferLineIDIn: string[];
    IN_TransferLineCustomField_RecID: string;
    IN_TransferLineCustomField_RecIDStartsWith: string;
    IN_TransferLineCustomField_RecIDEndsWith: string;
    IN_TransferLineCustomField_RecIDContains: string;
    IN_TransferLineCustomField_RecIDLike: string;
    IN_TransferLineCustomField_RecIDBetween: string[];
    IN_TransferLineCustomField_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_TransferLineCustomValue>(); }
    getTypeName() { return "IN_TransferLineCustomValueQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferLinesQuery extends QueryDb<IN_TransferLines> implements IReturn<QueryResponse<IN_TransferLines>>
{
    TransferLineID: string;
    TransferLineIDStartsWith: string;
    TransferLineIDEndsWith: string;
    TransferLineIDContains: string;
    TransferLineIDLike: string;
    TransferLineIDBetween: string[];
    TransferLineIDIn: string[];
    TransferID: string;
    TransferIDStartsWith: string;
    TransferIDEndsWith: string;
    TransferIDContains: string;
    TransferIDLike: string;
    TransferIDBetween: string[];
    TransferIDIn: string[];
    FromPartInventoryID: string;
    FromPartInventoryIDStartsWith: string;
    FromPartInventoryIDEndsWith: string;
    FromPartInventoryIDContains: string;
    FromPartInventoryIDLike: string;
    FromPartInventoryIDBetween: string[];
    FromPartInventoryIDIn: string[];
    FromPartInventorySOHID: string;
    FromPartInventorySOHIDStartsWith: string;
    FromPartInventorySOHIDEndsWith: string;
    FromPartInventorySOHIDContains: string;
    FromPartInventorySOHIDLike: string;
    FromPartInventorySOHIDBetween: string[];
    FromPartInventorySOHIDIn: string[];
    FromPartNo: string;
    FromPartNoStartsWith: string;
    FromPartNoEndsWith: string;
    FromPartNoContains: string;
    FromPartNoLike: string;
    FromPartNoBetween: string[];
    FromPartNoIn: string[];
    FromPartDescription: string;
    FromPartDescriptionStartsWith: string;
    FromPartDescriptionEndsWith: string;
    FromPartDescriptionContains: string;
    FromPartDescriptionLike: string;
    FromPartDescriptionBetween: string[];
    FromPartDescriptionIn: string[];
    FromPartOriginalQuantity: number;
    FromPartOriginalQuantityGreaterThanOrEqualTo: number;
    FromPartOriginalQuantityGreaterThan: number;
    FromPartOriginalQuantityLessThan: number;
    FromPartOriginalQuantityLessThanOrEqualTo: number;
    FromPartOriginalQuantityNotEqualTo: number;
    FromPartOriginalQuantityBetween: number[];
    FromPartOriginalQuantityIn: number[];
    TransferQuantity: number;
    TransferQuantityGreaterThanOrEqualTo: number;
    TransferQuantityGreaterThan: number;
    TransferQuantityLessThan: number;
    TransferQuantityLessThanOrEqualTo: number;
    TransferQuantityNotEqualTo: number;
    TransferQuantityBetween: number[];
    TransferQuantityIn: number[];
    ToPartInventoryID: string;
    ToPartInventoryIDStartsWith: string;
    ToPartInventoryIDEndsWith: string;
    ToPartInventoryIDContains: string;
    ToPartInventoryIDLike: string;
    ToPartInventoryIDBetween: string[];
    ToPartInventoryIDIn: string[];
    ToPartNo: string;
    ToPartNoStartsWith: string;
    ToPartNoEndsWith: string;
    ToPartNoContains: string;
    ToPartNoLike: string;
    ToPartNoBetween: string[];
    ToPartNoIn: string[];
    ToPartDescription: string;
    ToPartDescriptionStartsWith: string;
    ToPartDescriptionEndsWith: string;
    ToPartDescriptionContains: string;
    ToPartDescriptionLike: string;
    ToPartDescriptionBetween: string[];
    ToPartDescriptionIn: string[];
    TransferLineNo: number;
    TransferLineNoGreaterThanOrEqualTo: number;
    TransferLineNoGreaterThan: number;
    TransferLineNoLessThan: number;
    TransferLineNoLessThanOrEqualTo: number;
    TransferLineNoNotEqualTo: number;
    TransferLineNoBetween: number[];
    TransferLineNoIn: number[];
    ToPartSerialNo: string;
    ToPartSerialNoStartsWith: string;
    ToPartSerialNoEndsWith: string;
    ToPartSerialNoContains: string;
    ToPartSerialNoLike: string;
    ToPartSerialNoBetween: string[];
    ToPartSerialNoIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    ToPartInventorySOHID: string;
    ToPartInventorySOHIDStartsWith: string;
    ToPartInventorySOHIDEndsWith: string;
    ToPartInventorySOHIDContains: string;
    ToPartInventorySOHIDLike: string;
    ToPartInventorySOHIDBetween: string[];
    ToPartInventorySOHIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FromPartDecimalPlaces: number;
    FromPartDecimalPlacesGreaterThanOrEqualTo: number;
    FromPartDecimalPlacesGreaterThan: number;
    FromPartDecimalPlacesLessThan: number;
    FromPartDecimalPlacesLessThanOrEqualTo: number;
    FromPartDecimalPlacesNotEqualTo: number;
    FromPartDecimalPlacesBetween: number[];
    FromPartDecimalPlacesIn: number[];
    ToPartDecimalPlaces: number;
    ToPartDecimalPlacesGreaterThanOrEqualTo: number;
    ToPartDecimalPlacesGreaterThan: number;
    ToPartDecimalPlacesLessThan: number;
    ToPartDecimalPlacesLessThanOrEqualTo: number;
    ToPartDecimalPlacesNotEqualTo: number;
    ToPartDecimalPlacesBetween: number[];
    ToPartDecimalPlacesIn: number[];
    FromPartInventoryValueAccountID: string;
    FromPartInventoryValueAccountIDStartsWith: string;
    FromPartInventoryValueAccountIDEndsWith: string;
    FromPartInventoryValueAccountIDContains: string;
    FromPartInventoryValueAccountIDLike: string;
    FromPartInventoryValueAccountIDBetween: string[];
    FromPartInventoryValueAccountIDIn: string[];
    ToPartInventoryValueAccountID: string;
    ToPartInventoryValueAccountIDStartsWith: string;
    ToPartInventoryValueAccountIDEndsWith: string;
    ToPartInventoryValueAccountIDContains: string;
    ToPartInventoryValueAccountIDLike: string;
    ToPartInventoryValueAccountIDBetween: string[];
    ToPartInventoryValueAccountIDIn: string[];
    FromPartWriteOnAccountID: string;
    FromPartWriteOnAccountIDStartsWith: string;
    FromPartWriteOnAccountIDEndsWith: string;
    FromPartWriteOnAccountIDContains: string;
    FromPartWriteOnAccountIDLike: string;
    FromPartWriteOnAccountIDBetween: string[];
    FromPartWriteOnAccountIDIn: string[];
    ToPartWriteOnAccountID: string;
    ToPartWriteOnAccountIDStartsWith: string;
    ToPartWriteOnAccountIDEndsWith: string;
    ToPartWriteOnAccountIDContains: string;
    ToPartWriteOnAccountIDLike: string;
    ToPartWriteOnAccountIDBetween: string[];
    ToPartWriteOnAccountIDIn: string[];
    FromPartWriteOffAccountID: string;
    FromPartWriteOffAccountIDStartsWith: string;
    FromPartWriteOffAccountIDEndsWith: string;
    FromPartWriteOffAccountIDContains: string;
    FromPartWriteOffAccountIDLike: string;
    FromPartWriteOffAccountIDBetween: string[];
    FromPartWriteOffAccountIDIn: string[];
    ToPartWriteOffAccountID: string;
    ToPartWriteOffAccountIDStartsWith: string;
    ToPartWriteOffAccountIDEndsWith: string;
    ToPartWriteOffAccountIDContains: string;
    ToPartWriteOffAccountIDLike: string;
    ToPartWriteOffAccountIDBetween: string[];
    ToPartWriteOffAccountIDIn: string[];
    FromPartLastCost: number;
    FromPartLastCostGreaterThanOrEqualTo: number;
    FromPartLastCostGreaterThan: number;
    FromPartLastCostLessThan: number;
    FromPartLastCostLessThanOrEqualTo: number;
    FromPartLastCostNotEqualTo: number;
    FromPartLastCostBetween: number[];
    FromPartLastCostIn: number[];
    ToPartLastCost: number;
    ToPartLastCostGreaterThanOrEqualTo: number;
    ToPartLastCostGreaterThan: number;
    ToPartLastCostLessThan: number;
    ToPartLastCostLessThanOrEqualTo: number;
    ToPartLastCostNotEqualTo: number;
    ToPartLastCostBetween: number[];
    ToPartLastCostIn: number[];
    ToPartBinLocation: string;
    ToPartBinLocationStartsWith: string;
    ToPartBinLocationEndsWith: string;
    ToPartBinLocationContains: string;
    ToPartBinLocationLike: string;
    ToPartBinLocationBetween: string[];
    ToPartBinLocationIn: string[];
    ToPartComment: string;
    ToPartCommentStartsWith: string;
    ToPartCommentEndsWith: string;
    ToPartCommentContains: string;
    ToPartCommentLike: string;
    ToPartCommentBetween: string[];
    ToPartCommentIn: string[];
    ToPartExpiryDate: string;
    ToPartExpiryDateGreaterThanOrEqualTo: string;
    ToPartExpiryDateGreaterThan: string;
    ToPartExpiryDateLessThan: string;
    ToPartExpiryDateLessThanOrEqualTo: string;
    ToPartExpiryDateNotEqualTo: string;
    ToPartExpiryDateBetween: string[];
    ToPartExpiryDateIn: string[];
    IN_TransferReasons_RecID: string;
    IN_TransferReasons_RecIDStartsWith: string;
    IN_TransferReasons_RecIDEndsWith: string;
    IN_TransferReasons_RecIDContains: string;
    IN_TransferReasons_RecIDLike: string;
    IN_TransferReasons_RecIDBetween: string[];
    IN_TransferReasons_RecIDIn: string[];
    createResponse() { return new QueryResponse<IN_TransferLines>(); }
    getTypeName() { return "IN_TransferLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferNotesQuery extends QueryDb<IN_TransferNotes> implements IReturn<QueryResponse<IN_TransferNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    TransferID: string;
    TransferIDStartsWith: string;
    TransferIDEndsWith: string;
    TransferIDContains: string;
    TransferIDLike: string;
    TransferIDBetween: string[];
    TransferIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<IN_TransferNotes>(); }
    getTypeName() { return "IN_TransferNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_TransferReasonsQuery extends QueryDb<IN_TransferReasons> implements IReturn<QueryResponse<IN_TransferReasons>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    WriteOffAccountOverride: boolean;
    WriteOffAccountID: string;
    WriteOffAccountIDStartsWith: string;
    WriteOffAccountIDEndsWith: string;
    WriteOffAccountIDContains: string;
    WriteOffAccountIDLike: string;
    WriteOffAccountIDBetween: string[];
    WriteOffAccountIDIn: string[];
    WriteOnAccountOverride: boolean;
    WriteOnAccountID: string;
    WriteOnAccountIDStartsWith: string;
    WriteOnAccountIDEndsWith: string;
    WriteOnAccountIDContains: string;
    WriteOnAccountIDLike: string;
    WriteOnAccountIDBetween: string[];
    WriteOnAccountIDIn: string[];
    DefaultReason: boolean;
    ReadOnly: boolean;
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_TransferReasons>(); }
    getTypeName() { return "IN_TransferReasonsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_UnitOfMeasureQuery extends QueryDb<IN_UnitOfMeasure> implements IReturn<QueryResponse<IN_UnitOfMeasure>>
{
    RecID: string;
    RecIDIn: string[];
    IN_Main_InventoryID: string;
    IN_Main_InventoryIDStartsWith: string;
    IN_Main_InventoryIDEndsWith: string;
    IN_Main_InventoryIDContains: string;
    IN_Main_InventoryIDLike: string;
    IN_Main_InventoryIDBetween: string[];
    IN_Main_InventoryIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Inner_IN_UnitOfMeasure_RecID: string;
    Inner_IN_UnitOfMeasure_RecIDIn: string[];
    QuantityInnersPerUnitOfMeasure: number;
    QuantityInnersPerUnitOfMeasureGreaterThanOrEqualTo: number;
    QuantityInnersPerUnitOfMeasureGreaterThan: number;
    QuantityInnersPerUnitOfMeasureLessThan: number;
    QuantityInnersPerUnitOfMeasureLessThanOrEqualTo: number;
    QuantityInnersPerUnitOfMeasureNotEqualTo: number;
    QuantityInnersPerUnitOfMeasureBetween: number[];
    QuantityInnersPerUnitOfMeasureIn: number[];
    IsSell: boolean;
    IsPurchase: boolean;
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Barcode: string;
    BarcodeStartsWith: string;
    BarcodeEndsWith: string;
    BarcodeContains: string;
    BarcodeLike: string;
    BarcodeBetween: string[];
    BarcodeIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_UnitOfMeasure>(); }
    getTypeName() { return "IN_UnitOfMeasureQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_UpSellQuery extends QueryDb<IN_UpSell> implements IReturn<QueryResponse<IN_UpSell>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    UpSellInventoryID: string;
    UpSellInventoryIDStartsWith: string;
    UpSellInventoryIDEndsWith: string;
    UpSellInventoryIDContains: string;
    UpSellInventoryIDLike: string;
    UpSellInventoryIDBetween: string[];
    UpSellInventoryIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PrimaryCategoryID: string;
    PrimaryCategoryIDStartsWith: string;
    PrimaryCategoryIDEndsWith: string;
    PrimaryCategoryIDContains: string;
    PrimaryCategoryIDLike: string;
    PrimaryCategoryIDBetween: string[];
    PrimaryCategoryIDIn: string[];
    SecondaryCategoryID: string;
    SecondaryCategoryIDStartsWith: string;
    SecondaryCategoryIDEndsWith: string;
    SecondaryCategoryIDContains: string;
    SecondaryCategoryIDLike: string;
    SecondaryCategoryIDBetween: string[];
    SecondaryCategoryIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    createResponse() { return new QueryResponse<IN_UpSell>(); }
    getTypeName() { return "IN_UpSellQuery"; }
}

// @Route("/Queries/IN_WarehouseSOH", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_WarehouseSOHQuery extends QueryDb<IN_WarehouseSOH> implements IReturn<QueryResponse<IN_WarehouseSOH>>
{
    IN_WarehouseSOHID: string;
    IN_WarehouseSOHIDStartsWith: string;
    IN_WarehouseSOHIDEndsWith: string;
    IN_WarehouseSOHIDContains: string;
    IN_WarehouseSOHIDLike: string;
    IN_WarehouseSOHIDBetween: string[];
    IN_WarehouseSOHIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    QuantityLeft: number;
    QuantityLeftGreaterThanOrEqualTo: number;
    QuantityLeftGreaterThan: number;
    QuantityLeftLessThan: number;
    QuantityLeftLessThanOrEqualTo: number;
    QuantityLeftNotEqualTo: number;
    QuantityLeftBetween: number[];
    QuantityLeftIn: number[];
    QuantityAllocated: number;
    QuantityAllocatedGreaterThanOrEqualTo: number;
    QuantityAllocatedGreaterThan: number;
    QuantityAllocatedLessThan: number;
    QuantityAllocatedLessThanOrEqualTo: number;
    QuantityAllocatedNotEqualTo: number;
    QuantityAllocatedBetween: number[];
    QuantityAllocatedIn: number[];
    PickAllocated: number;
    PickAllocatedGreaterThanOrEqualTo: number;
    PickAllocatedGreaterThan: number;
    PickAllocatedLessThan: number;
    PickAllocatedLessThanOrEqualTo: number;
    PickAllocatedNotEqualTo: number;
    PickAllocatedBetween: number[];
    PickAllocatedIn: number[];
    ShipAllocated: number;
    ShipAllocatedGreaterThanOrEqualTo: number;
    ShipAllocatedGreaterThan: number;
    ShipAllocatedLessThan: number;
    ShipAllocatedLessThanOrEqualTo: number;
    ShipAllocatedNotEqualTo: number;
    ShipAllocatedBetween: number[];
    ShipAllocatedIn: number[];
    ForwardRequirements: number;
    ForwardRequirementsGreaterThanOrEqualTo: number;
    ForwardRequirementsGreaterThan: number;
    ForwardRequirementsLessThan: number;
    ForwardRequirementsLessThanOrEqualTo: number;
    ForwardRequirementsNotEqualTo: number;
    ForwardRequirementsBetween: number[];
    ForwardRequirementsIn: number[];
    TransferAllocated: number;
    TransferAllocatedGreaterThanOrEqualTo: number;
    TransferAllocatedGreaterThan: number;
    TransferAllocatedLessThan: number;
    TransferAllocatedLessThanOrEqualTo: number;
    TransferAllocatedNotEqualTo: number;
    TransferAllocatedBetween: number[];
    TransferAllocatedIn: number[];
    BOMAllocated: number;
    BOMAllocatedGreaterThanOrEqualTo: number;
    BOMAllocatedGreaterThan: number;
    BOMAllocatedLessThan: number;
    BOMAllocatedLessThanOrEqualTo: number;
    BOMAllocatedNotEqualTo: number;
    BOMAllocatedBetween: number[];
    BOMAllocatedIn: number[];
    createResponse() { return new QueryResponse<IN_WarehouseSOH>(); }
    getTypeName() { return "IN_WarehouseSOHQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_WHQtyLeftQuery extends QueryDb<IN_WHQtyLeft> implements IReturn<QueryResponse<IN_WHQtyLeft>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    QtyLeft: number;
    QtyLeftGreaterThanOrEqualTo: number;
    QtyLeftGreaterThan: number;
    QtyLeftLessThan: number;
    QtyLeftLessThanOrEqualTo: number;
    QtyLeftNotEqualTo: number;
    QtyLeftBetween: number[];
    QtyLeftIn: number[];
    createResponse() { return new QueryResponse<IN_WHQtyLeft>(); }
    getTypeName() { return "IN_WHQtyLeftQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INMGT020BOQTYQuery extends QueryDb<INMGT020BOQTY> implements IReturn<QueryResponse<INMGT020BOQTY>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    Price: number;
    PriceGreaterThanOrEqualTo: number;
    PriceGreaterThan: number;
    PriceLessThan: number;
    PriceLessThanOrEqualTo: number;
    PriceNotEqualTo: number;
    PriceBetween: number[];
    PriceIn: number[];
    EstBOValue: number;
    EstBOValueGreaterThanOrEqualTo: number;
    EstBOValueGreaterThan: number;
    EstBOValueLessThan: number;
    EstBOValueLessThanOrEqualTo: number;
    EstBOValueNotEqualTo: number;
    EstBOValueBetween: number[];
    EstBOValueIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<INMGT020BOQTY>(); }
    getTypeName() { return "INMGT020BOQTYQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INMGT020POQtyQuery extends QueryDb<INMGT020POQty> implements IReturn<QueryResponse<INMGT020POQty>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    Delivered: number;
    DeliveredGreaterThanOrEqualTo: number;
    DeliveredGreaterThan: number;
    DeliveredLessThan: number;
    DeliveredLessThanOrEqualTo: number;
    DeliveredNotEqualTo: number;
    DeliveredBetween: number[];
    DeliveredIn: number[];
    UnactQty: number;
    UnactQtyGreaterThanOrEqualTo: number;
    UnactQtyGreaterThan: number;
    UnactQtyLessThan: number;
    UnactQtyLessThanOrEqualTo: number;
    UnactQtyNotEqualTo: number;
    UnactQtyBetween: number[];
    UnactQtyIn: number[];
    ActQty: number;
    ActQtyGreaterThanOrEqualTo: number;
    ActQtyGreaterThan: number;
    ActQtyLessThan: number;
    ActQtyLessThanOrEqualTo: number;
    ActQtyNotEqualTo: number;
    ActQtyBetween: number[];
    ActQtyIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<INMGT020POQty>(); }
    getTypeName() { return "INMGT020POQtyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_AssemblyQuery extends QueryDb<INV_Assembly> implements IReturn<QueryResponse<INV_Assembly>>
{
    AssemblyNO: string;
    AssemblyNOStartsWith: string;
    AssemblyNOEndsWith: string;
    AssemblyNOContains: string;
    AssemblyNOLike: string;
    AssemblyNOBetween: string[];
    AssemblyNOIn: string[];
    AssembleTo: string;
    AssembleToStartsWith: string;
    AssembleToEndsWith: string;
    AssembleToContains: string;
    AssembleToLike: string;
    AssembleToBetween: string[];
    AssembleToIn: string[];
    AssemblyType: string;
    AssemblyTypeStartsWith: string;
    AssemblyTypeEndsWith: string;
    AssemblyTypeContains: string;
    AssemblyTypeLike: string;
    AssemblyTypeBetween: string[];
    AssemblyTypeIn: string[];
    AssembleFrom: string;
    AssembleFromStartsWith: string;
    AssembleFromEndsWith: string;
    AssembleFromContains: string;
    AssembleFromLike: string;
    AssembleFromBetween: string[];
    AssembleFromIn: string[];
    INAssemblyHistoryID: string;
    INAssemblyHistoryIDStartsWith: string;
    INAssemblyHistoryIDEndsWith: string;
    INAssemblyHistoryIDContains: string;
    INAssemblyHistoryIDLike: string;
    INAssemblyHistoryIDBetween: string[];
    INAssemblyHistoryIDIn: string[];
    INAssemblyLineID: string;
    INAssemblyLineIDStartsWith: string;
    INAssemblyLineIDEndsWith: string;
    INAssemblyLineIDContains: string;
    INAssemblyLineIDLike: string;
    INAssemblyLineIDBetween: string[];
    INAssemblyLineIDIn: string[];
    createResponse() { return new QueryResponse<INV_Assembly>(); }
    getTypeName() { return "INV_AssemblyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_BOQTYQuery extends QueryDb<INV_BOQTY> implements IReturn<QueryResponse<INV_BOQTY>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    ManualQty: number;
    ManualQtyGreaterThanOrEqualTo: number;
    ManualQtyGreaterThan: number;
    ManualQtyLessThan: number;
    ManualQtyLessThanOrEqualTo: number;
    ManualQtyNotEqualTo: number;
    ManualQtyBetween: number[];
    ManualQtyIn: number[];
    AutoQty: number;
    AutoQtyGreaterThanOrEqualTo: number;
    AutoQtyGreaterThan: number;
    AutoQtyLessThan: number;
    AutoQtyLessThanOrEqualTo: number;
    AutoQtyNotEqualTo: number;
    AutoQtyBetween: number[];
    AutoQtyIn: number[];
    Price: number;
    PriceGreaterThanOrEqualTo: number;
    PriceGreaterThan: number;
    PriceLessThan: number;
    PriceLessThanOrEqualTo: number;
    PriceNotEqualTo: number;
    PriceBetween: number[];
    PriceIn: number[];
    EstBOValue: number;
    EstBOValueGreaterThanOrEqualTo: number;
    EstBOValueGreaterThan: number;
    EstBOValueLessThan: number;
    EstBOValueLessThanOrEqualTo: number;
    EstBOValueNotEqualTo: number;
    EstBOValueBetween: number[];
    EstBOValueIn: number[];
    In_logicalID: string;
    In_logicalIDStartsWith: string;
    In_logicalIDEndsWith: string;
    In_logicalIDContains: string;
    In_logicalIDLike: string;
    In_logicalIDBetween: string[];
    In_logicalIDIn: string[];
    createResponse() { return new QueryResponse<INV_BOQTY>(); }
    getTypeName() { return "INV_BOQTYQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_OnOrderQuery extends QueryDb<INV_OnOrder> implements IReturn<QueryResponse<INV_OnOrder>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    OnOrder: number;
    OnOrderGreaterThanOrEqualTo: number;
    OnOrderGreaterThan: number;
    OnOrderLessThan: number;
    OnOrderLessThanOrEqualTo: number;
    OnOrderNotEqualTo: number;
    OnOrderBetween: number[];
    OnOrderIn: number[];
    IN_logicalID: string;
    IN_logicalIDStartsWith: string;
    IN_logicalIDEndsWith: string;
    IN_logicalIDContains: string;
    IN_logicalIDLike: string;
    IN_logicalIDBetween: string[];
    IN_logicalIDIn: string[];
    createResponse() { return new QueryResponse<INV_OnOrder>(); }
    getTypeName() { return "INV_OnOrderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_OnOrderStatusQuery extends QueryDb<INV_OnOrderStatus> implements IReturn<QueryResponse<INV_OnOrderStatus>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    OnOrder: number;
    OnOrderGreaterThanOrEqualTo: number;
    OnOrderGreaterThan: number;
    OnOrderLessThan: number;
    OnOrderLessThanOrEqualTo: number;
    OnOrderNotEqualTo: number;
    OnOrderBetween: number[];
    OnOrderIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    createResponse() { return new QueryResponse<INV_OnOrderStatus>(); }
    getTypeName() { return "INV_OnOrderStatusQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_PIQuery extends QueryDb<INV_PI> implements IReturn<QueryResponse<INV_PI>>
{
    InvoiceNO: string;
    InvoiceNOStartsWith: string;
    InvoiceNOEndsWith: string;
    InvoiceNOContains: string;
    InvoiceNOLike: string;
    InvoiceNOBetween: string[];
    InvoiceNOIn: string[];
    SuppPart: string;
    SuppPartStartsWith: string;
    SuppPartEndsWith: string;
    SuppPartContains: string;
    SuppPartLike: string;
    SuppPartBetween: string[];
    SuppPartIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    BinLoc: string;
    BinLocStartsWith: string;
    BinLocEndsWith: string;
    BinLocContains: string;
    BinLocLike: string;
    BinLocBetween: string[];
    BinLocIn: string[];
    PI_LinesDetailsID: string;
    PI_LinesDetailsIDStartsWith: string;
    PI_LinesDetailsIDEndsWith: string;
    PI_LinesDetailsIDContains: string;
    PI_LinesDetailsIDLike: string;
    PI_LinesDetailsIDBetween: string[];
    PI_LinesDetailsIDIn: string[];
    createResponse() { return new QueryResponse<INV_PI>(); }
    getTypeName() { return "INV_PIQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_ReceivalQuery extends QueryDb<INV_Receival> implements IReturn<QueryResponse<INV_Receival>>
{
    SlipNo: string;
    SlipNoStartsWith: string;
    SlipNoEndsWith: string;
    SlipNoContains: string;
    SlipNoLike: string;
    SlipNoBetween: string[];
    SlipNoIn: string[];
    SuppPart: string;
    SuppPartStartsWith: string;
    SuppPartEndsWith: string;
    SuppPartContains: string;
    SuppPartLike: string;
    SuppPartBetween: string[];
    SuppPartIn: string[];
    AccountNO: string;
    AccountNOStartsWith: string;
    AccountNOEndsWith: string;
    AccountNOContains: string;
    AccountNOLike: string;
    AccountNOBetween: string[];
    AccountNOIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    createResponse() { return new QueryResponse<INV_Receival>(); }
    getTypeName() { return "INV_ReceivalQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class Inv_SalesQuery extends QueryDb<Inv_Sales> implements IReturn<QueryResponse<Inv_Sales>>
{
    FullInvNo: string;
    FullInvNoStartsWith: string;
    FullInvNoEndsWith: string;
    FullInvNoContains: string;
    FullInvNoLike: string;
    FullInvNoBetween: string[];
    FullInvNoIn: string[];
    orderno: string;
    ordernoStartsWith: string;
    ordernoEndsWith: string;
    ordernoContains: string;
    ordernoLike: string;
    ordernoBetween: string[];
    ordernoIn: string[];
    Accountno: string;
    AccountnoStartsWith: string;
    AccountnoEndsWith: string;
    AccountnoContains: string;
    AccountnoLike: string;
    AccountnoBetween: string[];
    AccountnoIn: string[];
    QtyOrd: string;
    QtyOrdStartsWith: string;
    QtyOrdEndsWith: string;
    QtyOrdContains: string;
    QtyOrdLike: string;
    QtyOrdBetween: string[];
    QtyOrdIn: string[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    createResponse() { return new QueryResponse<Inv_Sales>(); }
    getTypeName() { return "Inv_SalesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_SOH_ConQuery extends QueryDb<INV_SOH_Con> implements IReturn<QueryResponse<INV_SOH_Con>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    SOH: number;
    SOHGreaterThanOrEqualTo: number;
    SOHGreaterThan: number;
    SOHLessThan: number;
    SOHLessThanOrEqualTo: number;
    SOHNotEqualTo: number;
    SOHBetween: number[];
    SOHIn: number[];
    createResponse() { return new QueryResponse<INV_SOH_Con>(); }
    getTypeName() { return "INV_SOH_ConQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_SOH1Query extends QueryDb<INV_SOH1> implements IReturn<QueryResponse<INV_SOH1>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    SOH: number;
    SOHGreaterThanOrEqualTo: number;
    SOHGreaterThan: number;
    SOHLessThan: number;
    SOHLessThanOrEqualTo: number;
    SOHNotEqualTo: number;
    SOHBetween: number[];
    SOHIn: number[];
    Tax: number;
    TaxGreaterThanOrEqualTo: number;
    TaxGreaterThan: number;
    TaxLessThan: number;
    TaxLessThanOrEqualTo: number;
    TaxNotEqualTo: number;
    TaxBetween: number[];
    TaxIn: number[];
    VOH: number;
    VOHGreaterThanOrEqualTo: number;
    VOHGreaterThan: number;
    VOHLessThan: number;
    VOHLessThanOrEqualTo: number;
    VOHNotEqualTo: number;
    VOHBetween: number[];
    VOHIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<INV_SOH1>(); }
    getTypeName() { return "INV_SOH1Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_UnProcessedQTYQuery extends QueryDb<INV_UnProcessedQTY> implements IReturn<QueryResponse<INV_UnProcessedQTY>>
{
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    QTY: number;
    QTYGreaterThanOrEqualTo: number;
    QTYGreaterThan: number;
    QTYLessThan: number;
    QTYLessThanOrEqualTo: number;
    QTYNotEqualTo: number;
    QTYBetween: number[];
    QTYIn: number[];
    Value: number;
    ValueGreaterThanOrEqualTo: number;
    ValueGreaterThan: number;
    ValueLessThan: number;
    ValueLessThanOrEqualTo: number;
    ValueNotEqualTo: number;
    ValueBetween: number[];
    ValueIn: number[];
    Tax: number;
    TaxGreaterThanOrEqualTo: number;
    TaxGreaterThan: number;
    TaxLessThan: number;
    TaxLessThanOrEqualTo: number;
    TaxNotEqualTo: number;
    TaxBetween: number[];
    TaxIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<INV_UnProcessedQTY>(); }
    getTypeName() { return "INV_UnProcessedQTYQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class INV_WHTransferQuery extends QueryDb<INV_WHTransfer> implements IReturn<QueryResponse<INV_WHTransfer>>
{
    TransferNo: string;
    TransferNoStartsWith: string;
    TransferNoEndsWith: string;
    TransferNoContains: string;
    TransferNoLike: string;
    TransferNoBetween: string[];
    TransferNoIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    FromWH: string;
    FromWHStartsWith: string;
    FromWHEndsWith: string;
    FromWHContains: string;
    FromWHLike: string;
    FromWHBetween: string[];
    FromWHIn: string[];
    ToWH: string;
    ToWHStartsWith: string;
    ToWHEndsWith: string;
    ToWHContains: string;
    ToWHLike: string;
    ToWHBetween: string[];
    ToWHIn: string[];
    WH_TransferLineID: string;
    WH_TransferLineIDStartsWith: string;
    WH_TransferLineIDEndsWith: string;
    WH_TransferLineIDContains: string;
    WH_TransferLineIDLike: string;
    WH_TransferLineIDBetween: string[];
    WH_TransferLineIDIn: string[];
    WH_TransferLineDetailsID: string;
    WH_TransferLineDetailsIDStartsWith: string;
    WH_TransferLineDetailsIDEndsWith: string;
    WH_TransferLineDetailsIDContains: string;
    WH_TransferLineDetailsIDLike: string;
    WH_TransferLineDetailsIDBetween: string[];
    WH_TransferLineDetailsIDIn: string[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    createResponse() { return new QueryResponse<INV_WHTransfer>(); }
    getTypeName() { return "INV_WHTransferQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_BudgetQuery extends QueryDb<JB_Budget> implements IReturn<QueryResponse<JB_Budget>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    PurchaseQty: number;
    PurchaseQtyGreaterThanOrEqualTo: number;
    PurchaseQtyGreaterThan: number;
    PurchaseQtyLessThan: number;
    PurchaseQtyLessThanOrEqualTo: number;
    PurchaseQtyNotEqualTo: number;
    PurchaseQtyBetween: number[];
    PurchaseQtyIn: number[];
    PurchaseCost: number;
    PurchaseCostGreaterThanOrEqualTo: number;
    PurchaseCostGreaterThan: number;
    PurchaseCostLessThan: number;
    PurchaseCostLessThanOrEqualTo: number;
    PurchaseCostNotEqualTo: number;
    PurchaseCostBetween: number[];
    PurchaseCostIn: number[];
    PurchaseCharge: number;
    PurchaseChargeGreaterThanOrEqualTo: number;
    PurchaseChargeGreaterThan: number;
    PurchaseChargeLessThan: number;
    PurchaseChargeLessThanOrEqualTo: number;
    PurchaseChargeNotEqualTo: number;
    PurchaseChargeBetween: number[];
    PurchaseChargeIn: number[];
    PurchaseNote: string;
    PurchaseNoteStartsWith: string;
    PurchaseNoteEndsWith: string;
    PurchaseNoteContains: string;
    PurchaseNoteLike: string;
    PurchaseNoteBetween: string[];
    PurchaseNoteIn: string[];
    MaterialQty: number;
    MaterialQtyGreaterThanOrEqualTo: number;
    MaterialQtyGreaterThan: number;
    MaterialQtyLessThan: number;
    MaterialQtyLessThanOrEqualTo: number;
    MaterialQtyNotEqualTo: number;
    MaterialQtyBetween: number[];
    MaterialQtyIn: number[];
    MaterialCost: number;
    MaterialCostGreaterThanOrEqualTo: number;
    MaterialCostGreaterThan: number;
    MaterialCostLessThan: number;
    MaterialCostLessThanOrEqualTo: number;
    MaterialCostNotEqualTo: number;
    MaterialCostBetween: number[];
    MaterialCostIn: number[];
    MaterialCharge: number;
    MaterialChargeGreaterThanOrEqualTo: number;
    MaterialChargeGreaterThan: number;
    MaterialChargeLessThan: number;
    MaterialChargeLessThanOrEqualTo: number;
    MaterialChargeNotEqualTo: number;
    MaterialChargeBetween: number[];
    MaterialChargeIn: number[];
    MaterialNote: string;
    MaterialNoteStartsWith: string;
    MaterialNoteEndsWith: string;
    MaterialNoteContains: string;
    MaterialNoteLike: string;
    MaterialNoteBetween: string[];
    MaterialNoteIn: string[];
    LabourQty: number;
    LabourQtyGreaterThanOrEqualTo: number;
    LabourQtyGreaterThan: number;
    LabourQtyLessThan: number;
    LabourQtyLessThanOrEqualTo: number;
    LabourQtyNotEqualTo: number;
    LabourQtyBetween: number[];
    LabourQtyIn: number[];
    LabourCost: number;
    LabourCostGreaterThanOrEqualTo: number;
    LabourCostGreaterThan: number;
    LabourCostLessThan: number;
    LabourCostLessThanOrEqualTo: number;
    LabourCostNotEqualTo: number;
    LabourCostBetween: number[];
    LabourCostIn: number[];
    LabourCharge: number;
    LabourChargeGreaterThanOrEqualTo: number;
    LabourChargeGreaterThan: number;
    LabourChargeLessThan: number;
    LabourChargeLessThanOrEqualTo: number;
    LabourChargeNotEqualTo: number;
    LabourChargeBetween: number[];
    LabourChargeIn: number[];
    LabourNote: string;
    LabourNoteStartsWith: string;
    LabourNoteEndsWith: string;
    LabourNoteContains: string;
    LabourNoteLike: string;
    LabourNoteBetween: string[];
    LabourNoteIn: string[];
    CashBookQty: number;
    CashBookQtyGreaterThanOrEqualTo: number;
    CashBookQtyGreaterThan: number;
    CashBookQtyLessThan: number;
    CashBookQtyLessThanOrEqualTo: number;
    CashBookQtyNotEqualTo: number;
    CashBookQtyBetween: number[];
    CashBookQtyIn: number[];
    CashBookCost: number;
    CashBookCostGreaterThanOrEqualTo: number;
    CashBookCostGreaterThan: number;
    CashBookCostLessThan: number;
    CashBookCostLessThanOrEqualTo: number;
    CashBookCostNotEqualTo: number;
    CashBookCostBetween: number[];
    CashBookCostIn: number[];
    CashBookCharge: number;
    CashBookChargeGreaterThanOrEqualTo: number;
    CashBookChargeGreaterThan: number;
    CashBookChargeLessThan: number;
    CashBookChargeLessThanOrEqualTo: number;
    CashBookChargeNotEqualTo: number;
    CashBookChargeBetween: number[];
    CashBookChargeIn: number[];
    CashBookNote: string;
    CashBookNoteStartsWith: string;
    CashBookNoteEndsWith: string;
    CashBookNoteContains: string;
    CashBookNoteLike: string;
    CashBookNoteBetween: string[];
    CashBookNoteIn: string[];
    ResourceQty: number;
    ResourceQtyGreaterThanOrEqualTo: number;
    ResourceQtyGreaterThan: number;
    ResourceQtyLessThan: number;
    ResourceQtyLessThanOrEqualTo: number;
    ResourceQtyNotEqualTo: number;
    ResourceQtyBetween: number[];
    ResourceQtyIn: number[];
    ResourceCost: number;
    ResourceCostGreaterThanOrEqualTo: number;
    ResourceCostGreaterThan: number;
    ResourceCostLessThan: number;
    ResourceCostLessThanOrEqualTo: number;
    ResourceCostNotEqualTo: number;
    ResourceCostBetween: number[];
    ResourceCostIn: number[];
    ResourceCharge: number;
    ResourceChargeGreaterThanOrEqualTo: number;
    ResourceChargeGreaterThan: number;
    ResourceChargeLessThan: number;
    ResourceChargeLessThanOrEqualTo: number;
    ResourceChargeNotEqualTo: number;
    ResourceChargeBetween: number[];
    ResourceChargeIn: number[];
    ResourceNote: string;
    ResourceNoteStartsWith: string;
    ResourceNoteEndsWith: string;
    ResourceNoteContains: string;
    ResourceNoteLike: string;
    ResourceNoteBetween: string[];
    ResourceNoteIn: string[];
    JournalQty: number;
    JournalQtyGreaterThanOrEqualTo: number;
    JournalQtyGreaterThan: number;
    JournalQtyLessThan: number;
    JournalQtyLessThanOrEqualTo: number;
    JournalQtyNotEqualTo: number;
    JournalQtyBetween: number[];
    JournalQtyIn: number[];
    JournalCost: number;
    JournalCostGreaterThanOrEqualTo: number;
    JournalCostGreaterThan: number;
    JournalCostLessThan: number;
    JournalCostLessThanOrEqualTo: number;
    JournalCostNotEqualTo: number;
    JournalCostBetween: number[];
    JournalCostIn: number[];
    JournalCharge: number;
    JournalChargeGreaterThanOrEqualTo: number;
    JournalChargeGreaterThan: number;
    JournalChargeLessThan: number;
    JournalChargeLessThanOrEqualTo: number;
    JournalChargeNotEqualTo: number;
    JournalChargeBetween: number[];
    JournalChargeIn: number[];
    JournalNote: string;
    JournalNoteStartsWith: string;
    JournalNoteEndsWith: string;
    JournalNoteContains: string;
    JournalNoteLike: string;
    JournalNoteBetween: string[];
    JournalNoteIn: string[];
    MaterialCreditorQty: number;
    MaterialCreditorQtyGreaterThanOrEqualTo: number;
    MaterialCreditorQtyGreaterThan: number;
    MaterialCreditorQtyLessThan: number;
    MaterialCreditorQtyLessThanOrEqualTo: number;
    MaterialCreditorQtyNotEqualTo: number;
    MaterialCreditorQtyBetween: number[];
    MaterialCreditorQtyIn: number[];
    MaterialCreditorCost: number;
    MaterialCreditorCostGreaterThanOrEqualTo: number;
    MaterialCreditorCostGreaterThan: number;
    MaterialCreditorCostLessThan: number;
    MaterialCreditorCostLessThanOrEqualTo: number;
    MaterialCreditorCostNotEqualTo: number;
    MaterialCreditorCostBetween: number[];
    MaterialCreditorCostIn: number[];
    MaterialCreditorCharge: number;
    MaterialCreditorChargeGreaterThanOrEqualTo: number;
    MaterialCreditorChargeGreaterThan: number;
    MaterialCreditorChargeLessThan: number;
    MaterialCreditorChargeLessThanOrEqualTo: number;
    MaterialCreditorChargeNotEqualTo: number;
    MaterialCreditorChargeBetween: number[];
    MaterialCreditorChargeIn: number[];
    MaterialCreditorNote: string;
    MaterialCreditorNoteStartsWith: string;
    MaterialCreditorNoteEndsWith: string;
    MaterialCreditorNoteContains: string;
    MaterialCreditorNoteLike: string;
    MaterialCreditorNoteBetween: string[];
    MaterialCreditorNoteIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_Budget>(); }
    getTypeName() { return "JB_BudgetQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_ClassificationQuery extends QueryDb<JB_Classification> implements IReturn<QueryResponse<JB_Classification>>
{
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    WIPExpectedAsset: string;
    WIPExpectedAssetStartsWith: string;
    WIPExpectedAssetEndsWith: string;
    WIPExpectedAssetContains: string;
    WIPExpectedAssetLike: string;
    WIPExpectedAssetBetween: string[];
    WIPExpectedAssetIn: string[];
    WIPExpectedLiability: string;
    WIPExpectedLiabilityStartsWith: string;
    WIPExpectedLiabilityEndsWith: string;
    WIPExpectedLiabilityContains: string;
    WIPExpectedLiabilityLike: string;
    WIPExpectedLiabilityBetween: string[];
    WIPExpectedLiabilityIn: string[];
    WIPDeliveredAsett: string;
    WIPDeliveredAsettStartsWith: string;
    WIPDeliveredAsettEndsWith: string;
    WIPDeliveredAsettContains: string;
    WIPDeliveredAsettLike: string;
    WIPDeliveredAsettBetween: string[];
    WIPDeliveredAsettIn: string[];
    WIPDeliveredLiability: string;
    WIPDeliveredLiabilityStartsWith: string;
    WIPDeliveredLiabilityEndsWith: string;
    WIPDeliveredLiabilityContains: string;
    WIPDeliveredLiabilityLike: string;
    WIPDeliveredLiabilityBetween: string[];
    WIPDeliveredLiabilityIn: string[];
    WorkInProgress: string;
    WorkInProgressStartsWith: string;
    WorkInProgressEndsWith: string;
    WorkInProgressContains: string;
    WorkInProgressLike: string;
    WorkInProgressBetween: string[];
    WorkInProgressIn: string[];
    JobRevenue: string;
    JobRevenueStartsWith: string;
    JobRevenueEndsWith: string;
    JobRevenueContains: string;
    JobRevenueLike: string;
    JobRevenueBetween: string[];
    JobRevenueIn: string[];
    JobCostOfGoods: string;
    JobCostOfGoodsStartsWith: string;
    JobCostOfGoodsEndsWith: string;
    JobCostOfGoodsContains: string;
    JobCostOfGoodsLike: string;
    JobCostOfGoodsBetween: string[];
    JobCostOfGoodsIn: string[];
    Wages: string;
    WagesStartsWith: string;
    WagesEndsWith: string;
    WagesContains: string;
    WagesLike: string;
    WagesBetween: string[];
    WagesIn: string[];
    Resources: string;
    ResourcesStartsWith: string;
    ResourcesEndsWith: string;
    ResourcesContains: string;
    ResourcesLike: string;
    ResourcesBetween: string[];
    ResourcesIn: string[];
    WriteOn: string;
    WriteOnStartsWith: string;
    WriteOnEndsWith: string;
    WriteOnContains: string;
    WriteOnLike: string;
    WriteOnBetween: string[];
    WriteOnIn: string[];
    WriteOff: string;
    WriteOffStartsWith: string;
    WriteOffEndsWith: string;
    WriteOffContains: string;
    WriteOffLike: string;
    WriteOffBetween: string[];
    WriteOffIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_Classification>(); }
    getTypeName() { return "JB_ClassificationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_CostCentresQuery extends QueryDb<JB_CostCentres> implements IReturn<QueryResponse<JB_CostCentres>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CostCentreNo: string;
    CostCentreNoStartsWith: string;
    CostCentreNoEndsWith: string;
    CostCentreNoContains: string;
    CostCentreNoLike: string;
    CostCentreNoBetween: string[];
    CostCentreNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<JB_CostCentres>(); }
    getTypeName() { return "JB_CostCentresQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_CostEntryQuery extends QueryDb<JB_CostEntry> implements IReturn<QueryResponse<JB_CostEntry>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    RecNum: string;
    RecNumStartsWith: string;
    RecNumEndsWith: string;
    RecNumContains: string;
    RecNumLike: string;
    RecNumBetween: string[];
    RecNumIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    WarehouseID: string;
    WarehouseIDStartsWith: string;
    WarehouseIDEndsWith: string;
    WarehouseIDContains: string;
    WarehouseIDLike: string;
    WarehouseIDBetween: string[];
    WarehouseIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    EntryType: number;
    EntryTypeGreaterThanOrEqualTo: number;
    EntryTypeGreaterThan: number;
    EntryTypeLessThan: number;
    EntryTypeLessThanOrEqualTo: number;
    EntryTypeNotEqualTo: number;
    EntryTypeBetween: number[];
    EntryTypeIn: number[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    JrnlSetID: string;
    JrnlSetIDStartsWith: string;
    JrnlSetIDEndsWith: string;
    JrnlSetIDContains: string;
    JrnlSetIDLike: string;
    JrnlSetIDBetween: string[];
    JrnlSetIDIn: string[];
    createResponse() { return new QueryResponse<JB_CostEntry>(); }
    getTypeName() { return "JB_CostEntryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_CostEntryLinesQuery extends QueryDb<JB_CostEntryLines> implements IReturn<QueryResponse<JB_CostEntryLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JobEntryID: string;
    JobEntryIDStartsWith: string;
    JobEntryIDEndsWith: string;
    JobEntryIDContains: string;
    JobEntryIDLike: string;
    JobEntryIDBetween: string[];
    JobEntryIDIn: string[];
    JobCode: string;
    JobCodeStartsWith: string;
    JobCodeEndsWith: string;
    JobCodeContains: string;
    JobCodeLike: string;
    JobCodeBetween: string[];
    JobCodeIn: string[];
    JobID: string;
    JobIDStartsWith: string;
    JobIDEndsWith: string;
    JobIDContains: string;
    JobIDLike: string;
    JobIDBetween: string[];
    JobIDIn: string[];
    CostCentreID: string;
    CostCentreIDStartsWith: string;
    CostCentreIDEndsWith: string;
    CostCentreIDContains: string;
    CostCentreIDLike: string;
    CostCentreIDBetween: string[];
    CostCentreIDIn: string[];
    StageID: string;
    StageIDStartsWith: string;
    StageIDEndsWith: string;
    StageIDContains: string;
    StageIDLike: string;
    StageIDBetween: string[];
    StageIDIn: string[];
    Qty: number;
    QtyGreaterThanOrEqualTo: number;
    QtyGreaterThan: number;
    QtyLessThan: number;
    QtyLessThanOrEqualTo: number;
    QtyNotEqualTo: number;
    QtyBetween: number[];
    QtyIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    MarkUp: number;
    MarkUpGreaterThanOrEqualTo: number;
    MarkUpGreaterThan: number;
    MarkUpLessThan: number;
    MarkUpLessThanOrEqualTo: number;
    MarkUpNotEqualTo: number;
    MarkUpBetween: number[];
    MarkUpIn: number[];
    ComponentID: string;
    ComponentIDStartsWith: string;
    ComponentIDEndsWith: string;
    ComponentIDContains: string;
    ComponentIDLike: string;
    ComponentIDBetween: string[];
    ComponentIDIn: string[];
    ComponentNo: string;
    ComponentNoStartsWith: string;
    ComponentNoEndsWith: string;
    ComponentNoContains: string;
    ComponentNoLike: string;
    ComponentNoBetween: string[];
    ComponentNoIn: string[];
    ComponentDesc: string;
    ComponentDescStartsWith: string;
    ComponentDescEndsWith: string;
    ComponentDescContains: string;
    ComponentDescLike: string;
    ComponentDescBetween: string[];
    ComponentDescIn: string[];
    ComponentType: number;
    ComponentTypeGreaterThanOrEqualTo: number;
    ComponentTypeGreaterThan: number;
    ComponentTypeLessThan: number;
    ComponentTypeLessThanOrEqualTo: number;
    ComponentTypeNotEqualTo: number;
    ComponentTypeBetween: number[];
    ComponentTypeIn: number[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    TranType: number;
    TranTypeGreaterThanOrEqualTo: number;
    TranTypeGreaterThan: number;
    TranTypeLessThan: number;
    TranTypeLessThanOrEqualTo: number;
    TranTypeNotEqualTo: number;
    TranTypeBetween: number[];
    TranTypeIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    InvoicedAmount: number;
    InvoicedAmountGreaterThanOrEqualTo: number;
    InvoicedAmountGreaterThan: number;
    InvoicedAmountLessThan: number;
    InvoicedAmountLessThanOrEqualTo: number;
    InvoicedAmountNotEqualTo: number;
    InvoicedAmountBetween: number[];
    InvoicedAmountIn: number[];
    Unit: string;
    UnitStartsWith: string;
    UnitEndsWith: string;
    UnitContains: string;
    UnitLike: string;
    UnitBetween: string[];
    UnitIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    ServiceNo: string;
    ServiceNoStartsWith: string;
    ServiceNoEndsWith: string;
    ServiceNoContains: string;
    ServiceNoLike: string;
    ServiceNoBetween: string[];
    ServiceNoIn: string[];
    BackOrderQty: number;
    BackOrderQtyGreaterThanOrEqualTo: number;
    BackOrderQtyGreaterThan: number;
    BackOrderQtyLessThan: number;
    BackOrderQtyLessThanOrEqualTo: number;
    BackOrderQtyNotEqualTo: number;
    BackOrderQtyBetween: number[];
    BackOrderQtyIn: number[];
    QtyDelivered: number;
    QtyDeliveredGreaterThanOrEqualTo: number;
    QtyDeliveredGreaterThan: number;
    QtyDeliveredLessThan: number;
    QtyDeliveredLessThanOrEqualTo: number;
    QtyDeliveredNotEqualTo: number;
    QtyDeliveredBetween: number[];
    QtyDeliveredIn: number[];
    QtyDecimalPlaces: number;
    QtyDecimalPlacesGreaterThanOrEqualTo: number;
    QtyDecimalPlacesGreaterThan: number;
    QtyDecimalPlacesLessThan: number;
    QtyDecimalPlacesLessThanOrEqualTo: number;
    QtyDecimalPlacesNotEqualTo: number;
    QtyDecimalPlacesBetween: number[];
    QtyDecimalPlacesIn: number[];
    createResponse() { return new QueryResponse<JB_CostEntryLines>(); }
    getTypeName() { return "JB_CostEntryLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_CostLineDetailsQuery extends QueryDb<JB_CostLineDetails> implements IReturn<QueryResponse<JB_CostLineDetails>>
{
    DetailsLineID: string;
    DetailsLineIDStartsWith: string;
    DetailsLineIDEndsWith: string;
    DetailsLineIDContains: string;
    DetailsLineIDLike: string;
    DetailsLineIDBetween: string[];
    DetailsLineIDIn: string[];
    CostEntryLineID: string;
    CostEntryLineIDStartsWith: string;
    CostEntryLineIDEndsWith: string;
    CostEntryLineIDContains: string;
    CostEntryLineIDLike: string;
    CostEntryLineIDBetween: string[];
    CostEntryLineIDIn: string[];
    SOHID: string;
    SOHIDStartsWith: string;
    SOHIDEndsWith: string;
    SOHIDContains: string;
    SOHIDLike: string;
    SOHIDBetween: string[];
    SOHIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    DateIn: string;
    DateInGreaterThanOrEqualTo: string;
    DateInGreaterThan: string;
    DateInLessThan: string;
    DateInLessThanOrEqualTo: string;
    DateInNotEqualTo: string;
    DateInBetween: string[];
    DateInIn: string[];
    DeliveredDate: string;
    DeliveredDateGreaterThanOrEqualTo: string;
    DeliveredDateGreaterThan: string;
    DeliveredDateLessThan: string;
    DeliveredDateLessThanOrEqualTo: string;
    DeliveredDateNotEqualTo: string;
    DeliveredDateBetween: string[];
    DeliveredDateIn: string[];
    createResponse() { return new QueryResponse<JB_CostLineDetails>(); }
    getTypeName() { return "JB_CostLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_CustomSettingsQuery extends QueryDb<JB_CustomSettings> implements IReturn<QueryResponse<JB_CustomSettings>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_CustomSettings>(); }
    getTypeName() { return "JB_CustomSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_CustomSettingValuesQuery extends QueryDb<JB_CustomSettingValues> implements IReturn<QueryResponse<JB_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    JB_Main_RecID: string;
    JB_Main_RecIDStartsWith: string;
    JB_Main_RecIDEndsWith: string;
    JB_Main_RecIDContains: string;
    JB_Main_RecIDLike: string;
    JB_Main_RecIDBetween: string[];
    JB_Main_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<JB_CustomSettingValues>(); }
    getTypeName() { return "JB_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_DocumentsQuery extends QueryDb<JB_Documents> implements IReturn<QueryResponse<JB_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_Main_RecID: string;
    JB_Main_RecIDStartsWith: string;
    JB_Main_RecIDEndsWith: string;
    JB_Main_RecIDContains: string;
    JB_Main_RecIDLike: string;
    JB_Main_RecIDBetween: string[];
    JB_Main_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<JB_Documents>(); }
    getTypeName() { return "JB_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateCashBookLinesQuery extends QueryDb<JB_EstimateCashBookLines> implements IReturn<QueryResponse<JB_EstimateCashBookLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    CR_Main_RecID: string;
    CR_Main_RecIDStartsWith: string;
    CR_Main_RecIDEndsWith: string;
    CR_Main_RecIDContains: string;
    CR_Main_RecIDLike: string;
    CR_Main_RecIDBetween: string[];
    CR_Main_RecIDIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    JB_EstimateLines_RecID: string;
    JB_EstimateLines_RecIDStartsWith: string;
    JB_EstimateLines_RecIDEndsWith: string;
    JB_EstimateLines_RecIDContains: string;
    JB_EstimateLines_RecIDLike: string;
    JB_EstimateLines_RecIDBetween: string[];
    JB_EstimateLines_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateCashBookLines>(); }
    getTypeName() { return "JB_EstimateCashBookLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateCustomSettingQuery extends QueryDb<JB_EstimateCustomSetting> implements IReturn<QueryResponse<JB_EstimateCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateCustomSetting>(); }
    getTypeName() { return "JB_EstimateCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateCustomSettingValuesQuery extends QueryDb<JB_EstimateCustomSettingValues> implements IReturn<QueryResponse<JB_EstimateCustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    JB_Estimates_RecID: string;
    JB_Estimates_RecIDStartsWith: string;
    JB_Estimates_RecIDEndsWith: string;
    JB_Estimates_RecIDContains: string;
    JB_Estimates_RecIDLike: string;
    JB_Estimates_RecIDBetween: string[];
    JB_Estimates_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateCustomSettingValues>(); }
    getTypeName() { return "JB_EstimateCustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateFinishedGoodLinesQuery extends QueryDb<JB_EstimateFinishedGoodLines> implements IReturn<QueryResponse<JB_EstimateFinishedGoodLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_Estimates_RecID: string;
    JB_Estimates_RecIDStartsWith: string;
    JB_Estimates_RecIDEndsWith: string;
    JB_Estimates_RecIDContains: string;
    JB_Estimates_RecIDLike: string;
    JB_Estimates_RecIDBetween: string[];
    JB_Estimates_RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    IN_Main_RecID: string;
    IN_Main_RecIDStartsWith: string;
    IN_Main_RecIDEndsWith: string;
    IN_Main_RecIDContains: string;
    IN_Main_RecIDLike: string;
    IN_Main_RecIDBetween: string[];
    IN_Main_RecIDIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    JB_EstimateLines_RecID: string;
    JB_EstimateLines_RecIDStartsWith: string;
    JB_EstimateLines_RecIDEndsWith: string;
    JB_EstimateLines_RecIDContains: string;
    JB_EstimateLines_RecIDLike: string;
    JB_EstimateLines_RecIDBetween: string[];
    JB_EstimateLines_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateFinishedGoodLines>(); }
    getTypeName() { return "JB_EstimateFinishedGoodLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateInventoryLinesQuery extends QueryDb<JB_EstimateInventoryLines> implements IReturn<QueryResponse<JB_EstimateInventoryLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    IN_Main_RecID: string;
    IN_Main_RecIDStartsWith: string;
    IN_Main_RecIDEndsWith: string;
    IN_Main_RecIDContains: string;
    IN_Main_RecIDLike: string;
    IN_Main_RecIDBetween: string[];
    IN_Main_RecIDIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    JB_EstimateLines_RecID: string;
    JB_EstimateLines_RecIDStartsWith: string;
    JB_EstimateLines_RecIDEndsWith: string;
    JB_EstimateLines_RecIDContains: string;
    JB_EstimateLines_RecIDLike: string;
    JB_EstimateLines_RecIDBetween: string[];
    JB_EstimateLines_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateInventoryLines>(); }
    getTypeName() { return "JB_EstimateInventoryLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateJournalSetLinesQuery extends QueryDb<JB_EstimateJournalSetLines> implements IReturn<QueryResponse<JB_EstimateJournalSetLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    GL_Main_RecID: string;
    GL_Main_RecIDStartsWith: string;
    GL_Main_RecIDEndsWith: string;
    GL_Main_RecIDContains: string;
    GL_Main_RecIDLike: string;
    GL_Main_RecIDBetween: string[];
    GL_Main_RecIDIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    JB_EstimateLines_RecID: string;
    JB_EstimateLines_RecIDStartsWith: string;
    JB_EstimateLines_RecIDEndsWith: string;
    JB_EstimateLines_RecIDContains: string;
    JB_EstimateLines_RecIDLike: string;
    JB_EstimateLines_RecIDBetween: string[];
    JB_EstimateLines_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateJournalSetLines>(); }
    getTypeName() { return "JB_EstimateJournalSetLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateLabourLinesQuery extends QueryDb<JB_EstimateLabourLines> implements IReturn<QueryResponse<JB_EstimateLabourLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    JB_Staff_RecID: string;
    JB_Staff_RecIDStartsWith: string;
    JB_Staff_RecIDEndsWith: string;
    JB_Staff_RecIDContains: string;
    JB_Staff_RecIDLike: string;
    JB_Staff_RecIDBetween: string[];
    JB_Staff_RecIDIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    UnitCharge: number;
    UnitChargeGreaterThanOrEqualTo: number;
    UnitChargeGreaterThan: number;
    UnitChargeLessThan: number;
    UnitChargeLessThanOrEqualTo: number;
    UnitChargeNotEqualTo: number;
    UnitChargeBetween: number[];
    UnitChargeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    Units: string;
    UnitsStartsWith: string;
    UnitsEndsWith: string;
    UnitsContains: string;
    UnitsLike: string;
    UnitsBetween: string[];
    UnitsIn: string[];
    JB_EstimateLines_RecID: string;
    JB_EstimateLines_RecIDStartsWith: string;
    JB_EstimateLines_RecIDEndsWith: string;
    JB_EstimateLines_RecIDContains: string;
    JB_EstimateLines_RecIDLike: string;
    JB_EstimateLines_RecIDBetween: string[];
    JB_EstimateLines_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateLabourLines>(); }
    getTypeName() { return "JB_EstimateLabourLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class JB_EstimateLinesQuery extends QueryDb<JB_EstimateLines> implements IReturn<QueryResponse<JB_EstimateLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    JB_Estimates_RecID: string;
    JB_Estimates_RecIDStartsWith: string;
    JB_Estimates_RecIDEndsWith: string;
    JB_Estimates_RecIDContains: string;
    JB_Estimates_RecIDLike: string;
    JB_Estimates_RecIDBetween: string[];
    JB_Estimates_RecIDIn: string[];
    createResponse() { return new QueryResponse<JB_EstimateLines>(); }
    getTypeName() { return "JB_EstimateLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_DocumentsQuery extends QueryDb<CR_Documents> implements IReturn<QueryResponse<CR_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CR_Documents>(); }
    getTypeName() { return "CR_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_ForwardCoverQuery extends QueryDb<CR_ForwardCover> implements IReturn<QueryResponse<CR_ForwardCover>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ContractNo: string;
    ContractNoStartsWith: string;
    ContractNoEndsWith: string;
    ContractNoContains: string;
    ContractNoLike: string;
    ContractNoBetween: string[];
    ContractNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    FX_Main_RecID: string;
    FX_Main_RecIDStartsWith: string;
    FX_Main_RecIDEndsWith: string;
    FX_Main_RecIDContains: string;
    FX_Main_RecIDLike: string;
    FX_Main_RecIDBetween: string[];
    FX_Main_RecIDIn: string[];
    CurrencyDecimalPlaces: number;
    CurrencyDecimalPlacesGreaterThanOrEqualTo: number;
    CurrencyDecimalPlacesGreaterThan: number;
    CurrencyDecimalPlacesLessThan: number;
    CurrencyDecimalPlacesLessThanOrEqualTo: number;
    CurrencyDecimalPlacesNotEqualTo: number;
    CurrencyDecimalPlacesBetween: number[];
    CurrencyDecimalPlacesIn: number[];
    CurrencyRate: number;
    CurrencyRateGreaterThanOrEqualTo: number;
    CurrencyRateGreaterThan: number;
    CurrencyRateLessThan: number;
    CurrencyRateLessThanOrEqualTo: number;
    CurrencyRateNotEqualTo: number;
    CurrencyRateBetween: number[];
    CurrencyRateIn: number[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    HomeAmount: number;
    HomeAmountGreaterThanOrEqualTo: number;
    HomeAmountGreaterThan: number;
    HomeAmountLessThan: number;
    HomeAmountLessThanOrEqualTo: number;
    HomeAmountNotEqualTo: number;
    HomeAmountBetween: number[];
    HomeAmountIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    InitiatedDate: string;
    InitiatedDateGreaterThanOrEqualTo: string;
    InitiatedDateGreaterThan: string;
    InitiatedDateLessThan: string;
    InitiatedDateLessThanOrEqualTo: string;
    InitiatedDateNotEqualTo: string;
    InitiatedDateBetween: string[];
    InitiatedDateIn: string[];
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    EndDate: string;
    EndDateGreaterThanOrEqualTo: string;
    EndDateGreaterThan: string;
    EndDateLessThan: string;
    EndDateLessThanOrEqualTo: string;
    EndDateNotEqualTo: string;
    EndDateBetween: string[];
    EndDateIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    AutoCloseContract: number;
    AutoCloseContractGreaterThanOrEqualTo: number;
    AutoCloseContractGreaterThan: number;
    AutoCloseContractLessThan: number;
    AutoCloseContractLessThanOrEqualTo: number;
    AutoCloseContractNotEqualTo: number;
    AutoCloseContractBetween: Uint8Array;
    AutoCloseContractIn: Uint8Array;
    HR_Staff_RecID_CreatedBy: string;
    HR_Staff_RecID_CreatedByStartsWith: string;
    HR_Staff_RecID_CreatedByEndsWith: string;
    HR_Staff_RecID_CreatedByContains: string;
    HR_Staff_RecID_CreatedByLike: string;
    HR_Staff_RecID_CreatedByBetween: string[];
    HR_Staff_RecID_CreatedByIn: string[];
    HR_Staff_RecID_LastSavedBy: string;
    HR_Staff_RecID_LastSavedByStartsWith: string;
    HR_Staff_RecID_LastSavedByEndsWith: string;
    HR_Staff_RecID_LastSavedByContains: string;
    HR_Staff_RecID_LastSavedByLike: string;
    HR_Staff_RecID_LastSavedByBetween: string[];
    HR_Staff_RecID_LastSavedByIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<CR_ForwardCover>(); }
    getTypeName() { return "CR_ForwardCoverQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_ForwardCoverNotesQuery extends QueryDb<CR_ForwardCoverNotes> implements IReturn<QueryResponse<CR_ForwardCoverNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_ForwardCover_RecID: string;
    CR_ForwardCover_RecIDStartsWith: string;
    CR_ForwardCover_RecIDEndsWith: string;
    CR_ForwardCover_RecIDContains: string;
    CR_ForwardCover_RecIDLike: string;
    CR_ForwardCover_RecIDBetween: string[];
    CR_ForwardCover_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CR_ForwardCoverNotes>(); }
    getTypeName() { return "CR_ForwardCoverNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_ForwardCoverTransactionsQuery extends QueryDb<CR_ForwardCoverTransactions> implements IReturn<QueryResponse<CR_ForwardCoverTransactions>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_ForwardCover_RecID: string;
    CR_ForwardCover_RecIDStartsWith: string;
    CR_ForwardCover_RecIDEndsWith: string;
    CR_ForwardCover_RecIDContains: string;
    CR_ForwardCover_RecIDLike: string;
    CR_ForwardCover_RecIDBetween: string[];
    CR_ForwardCover_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    TransactionDate: string;
    TransactionDateGreaterThanOrEqualTo: string;
    TransactionDateGreaterThan: string;
    TransactionDateLessThan: string;
    TransactionDateLessThanOrEqualTo: string;
    TransactionDateNotEqualTo: string;
    TransactionDateBetween: string[];
    TransactionDateIn: string[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    HomeAmount: number;
    HomeAmountGreaterThanOrEqualTo: number;
    HomeAmountGreaterThan: number;
    HomeAmountLessThan: number;
    HomeAmountLessThanOrEqualTo: number;
    HomeAmountNotEqualTo: number;
    HomeAmountBetween: number[];
    HomeAmountIn: number[];
    SourceType: number;
    SourceTypeGreaterThanOrEqualTo: number;
    SourceTypeGreaterThan: number;
    SourceTypeLessThan: number;
    SourceTypeLessThanOrEqualTo: number;
    SourceTypeNotEqualTo: number;
    SourceTypeBetween: Uint8Array;
    SourceTypeIn: Uint8Array;
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    SourceReference: string;
    SourceReferenceStartsWith: string;
    SourceReferenceEndsWith: string;
    SourceReferenceContains: string;
    SourceReferenceLike: string;
    SourceReferenceBetween: string[];
    SourceReferenceIn: string[];
    CRTrans_RecID: string;
    CRTrans_RecIDStartsWith: string;
    CRTrans_RecIDEndsWith: string;
    CRTrans_RecIDContains: string;
    CRTrans_RecIDLike: string;
    CRTrans_RecIDBetween: string[];
    CRTrans_RecIDIn: string[];
    TransactionType: number;
    TransactionTypeGreaterThanOrEqualTo: number;
    TransactionTypeGreaterThan: number;
    TransactionTypeLessThan: number;
    TransactionTypeLessThanOrEqualTo: number;
    TransactionTypeNotEqualTo: number;
    TransactionTypeBetween: Uint8Array;
    TransactionTypeIn: Uint8Array;
    createResponse() { return new QueryResponse<CR_ForwardCoverTransactions>(); }
    getTypeName() { return "CR_ForwardCoverTransactionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_GLAuditQuery extends QueryDb<CR_GLAudit> implements IReturn<QueryResponse<CR_GLAudit>>
{
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    LedgerValue: number;
    LedgerValueGreaterThanOrEqualTo: number;
    LedgerValueGreaterThan: number;
    LedgerValueLessThan: number;
    LedgerValueLessThanOrEqualTo: number;
    LedgerValueNotEqualTo: number;
    LedgerValueBetween: number[];
    LedgerValueIn: number[];
    ReportGroup: string;
    ReportGroupStartsWith: string;
    ReportGroupEndsWith: string;
    ReportGroupContains: string;
    ReportGroupLike: string;
    ReportGroupBetween: string[];
    ReportGroupIn: string[];
    createResponse() { return new QueryResponse<CR_GLAudit>(); }
    getTypeName() { return "CR_GLAuditQuery"; }
}

// @Route("/Queries/CR_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_MainQuery extends QueryDb<CR_Main> implements IReturn<QueryResponse<CR_Main>>
{
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAcc: string;
    BankAccStartsWith: string;
    BankAccEndsWith: string;
    BankAccContains: string;
    BankAccLike: string;
    BankAccBetween: string[];
    BankAccIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    AccountName: string;
    AccountNameStartsWith: string;
    AccountNameEndsWith: string;
    AccountNameContains: string;
    AccountNameLike: string;
    AccountNameBetween: string[];
    AccountNameIn: string[];
    DefaultPaymentType: number;
    DefaultPaymentTypeGreaterThanOrEqualTo: number;
    DefaultPaymentTypeGreaterThan: number;
    DefaultPaymentTypeLessThan: number;
    DefaultPaymentTypeLessThanOrEqualTo: number;
    DefaultPaymentTypeNotEqualTo: number;
    DefaultPaymentTypeBetween: Uint8Array;
    DefaultPaymentTypeIn: Uint8Array;
    CreditLimit: number;
    CreditLimitGreaterThanOrEqualTo: number;
    CreditLimitGreaterThan: number;
    CreditLimitLessThan: number;
    CreditLimitLessThanOrEqualTo: number;
    CreditLimitNotEqualTo: number;
    CreditLimitBetween: number[];
    CreditLimitIn: number[];
    EarlyPayDisOnRemitDays: number;
    EarlyPayDisOnRemitDaysGreaterThanOrEqualTo: number;
    EarlyPayDisOnRemitDaysGreaterThan: number;
    EarlyPayDisOnRemitDaysLessThan: number;
    EarlyPayDisOnRemitDaysLessThanOrEqualTo: number;
    EarlyPayDisOnRemitDaysNotEqualTo: number;
    EarlyPayDisOnRemitDaysBetween: number[];
    EarlyPayDisOnRemitDaysIn: number[];
    EarlyPayDisOnRemitAmt: number;
    EarlyPayDisOnRemitAmtGreaterThanOrEqualTo: number;
    EarlyPayDisOnRemitAmtGreaterThan: number;
    EarlyPayDisOnRemitAmtLessThan: number;
    EarlyPayDisOnRemitAmtLessThanOrEqualTo: number;
    EarlyPayDisOnRemitAmtNotEqualTo: number;
    EarlyPayDisOnRemitAmtBetween: number[];
    EarlyPayDisOnRemitAmtIn: number[];
    LastSaleDate: string;
    LastSaleDateGreaterThanOrEqualTo: string;
    LastSaleDateGreaterThan: string;
    LastSaleDateLessThan: string;
    LastSaleDateLessThanOrEqualTo: string;
    LastSaleDateNotEqualTo: string;
    LastSaleDateBetween: string[];
    LastSaleDateIn: string[];
    LastPaymentDate: string;
    LastPaymentDateGreaterThanOrEqualTo: string;
    LastPaymentDateGreaterThan: string;
    LastPaymentDateLessThan: string;
    LastPaymentDateLessThanOrEqualTo: string;
    LastPaymentDateNotEqualTo: string;
    LastPaymentDateBetween: string[];
    LastPaymentDateIn: string[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    AccountOnHold: boolean;
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    CurrentBalance: number;
    CurrentBalanceGreaterThanOrEqualTo: number;
    CurrentBalanceGreaterThan: number;
    CurrentBalanceLessThan: number;
    CurrentBalanceLessThanOrEqualTo: number;
    CurrentBalanceNotEqualTo: number;
    CurrentBalanceBetween: number[];
    CurrentBalanceIn: number[];
    Period1: number;
    Period1GreaterThanOrEqualTo: number;
    Period1GreaterThan: number;
    Period1LessThan: number;
    Period1LessThanOrEqualTo: number;
    Period1NotEqualTo: number;
    Period1Between: number[];
    Period1In: number[];
    Period2: number;
    Period2GreaterThanOrEqualTo: number;
    Period2GreaterThan: number;
    Period2LessThan: number;
    Period2LessThanOrEqualTo: number;
    Period2NotEqualTo: number;
    Period2Between: number[];
    Period2In: number[];
    Period3: number;
    Period3GreaterThanOrEqualTo: number;
    Period3GreaterThan: number;
    Period3LessThan: number;
    Period3LessThanOrEqualTo: number;
    Period3NotEqualTo: number;
    Period3Between: number[];
    Period3In: number[];
    Period4: number;
    Period4GreaterThanOrEqualTo: number;
    Period4GreaterThan: number;
    Period4LessThan: number;
    Period4LessThanOrEqualTo: number;
    Period4NotEqualTo: number;
    Period4Between: number[];
    Period4In: number[];
    AltAccountNo: string;
    AltAccountNoStartsWith: string;
    AltAccountNoEndsWith: string;
    AltAccountNoContains: string;
    AltAccountNoLike: string;
    AltAccountNoBetween: string[];
    AltAccountNoIn: string[];
    CommenceDate: string;
    CommenceDateGreaterThanOrEqualTo: string;
    CommenceDateGreaterThan: string;
    CommenceDateLessThan: string;
    CommenceDateLessThanOrEqualTo: string;
    CommenceDateNotEqualTo: string;
    CommenceDateBetween: string[];
    CommenceDateIn: string[];
    TermsDays: number;
    TermsDaysGreaterThanOrEqualTo: number;
    TermsDaysGreaterThan: number;
    TermsDaysLessThan: number;
    TermsDaysLessThanOrEqualTo: number;
    TermsDaysNotEqualTo: number;
    TermsDaysBetween: number[];
    TermsDaysIn: number[];
    ACN: string;
    ACNStartsWith: string;
    ACNEndsWith: string;
    ACNContains: string;
    ACNLike: string;
    ACNBetween: string[];
    ACNIn: string[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    UsesFX: boolean;
    ABN: string;
    ABNStartsWith: string;
    ABNEndsWith: string;
    ABNContains: string;
    ABNLike: string;
    ABNBetween: string[];
    ABNIn: string[];
    TermsType: number;
    TermsTypeGreaterThanOrEqualTo: number;
    TermsTypeGreaterThan: number;
    TermsTypeLessThan: number;
    TermsTypeLessThanOrEqualTo: number;
    TermsTypeNotEqualTo: number;
    TermsTypeBetween: Uint8Array;
    TermsTypeIn: Uint8Array;
    AustPostDPID: string;
    AustPostDPIDStartsWith: string;
    AustPostDPIDEndsWith: string;
    AustPostDPIDContains: string;
    AustPostDPIDLike: string;
    AustPostDPIDBetween: string[];
    AustPostDPIDIn: string[];
    AustPostBCSP: string;
    AustPostBCSPStartsWith: string;
    AustPostBCSPEndsWith: string;
    AustPostBCSPContains: string;
    AustPostBCSPLike: string;
    AustPostBCSPBetween: string[];
    AustPostBCSPIn: string[];
    MinPOValue: number;
    MinPOValueGreaterThanOrEqualTo: number;
    MinPOValueGreaterThan: number;
    MinPOValueLessThan: number;
    MinPOValueLessThanOrEqualTo: number;
    MinPOValueNotEqualTo: number;
    MinPOValueBetween: number[];
    MinPOValueIn: number[];
    MaxPOValue: number;
    MaxPOValueGreaterThanOrEqualTo: number;
    MaxPOValueGreaterThan: number;
    MaxPOValueLessThan: number;
    MaxPOValueLessThanOrEqualTo: number;
    MaxPOValueNotEqualTo: number;
    MaxPOValueBetween: number[];
    MaxPOValueIn: number[];
    PeriodType: number;
    PeriodTypeGreaterThanOrEqualTo: number;
    PeriodTypeGreaterThan: number;
    PeriodTypeLessThan: number;
    PeriodTypeLessThanOrEqualTo: number;
    PeriodTypeNotEqualTo: number;
    PeriodTypeBetween: number[];
    PeriodTypeIn: number[];
    TradingName: string;
    TradingNameStartsWith: string;
    TradingNameEndsWith: string;
    TradingNameContains: string;
    TradingNameLike: string;
    TradingNameBetween: string[];
    TradingNameIn: string[];
    CompanyName: string;
    CompanyNameStartsWith: string;
    CompanyNameEndsWith: string;
    CompanyNameContains: string;
    CompanyNameLike: string;
    CompanyNameBetween: string[];
    CompanyNameIn: string[];
    ProprietorName: string;
    ProprietorNameStartsWith: string;
    ProprietorNameEndsWith: string;
    ProprietorNameContains: string;
    ProprietorNameLike: string;
    ProprietorNameBetween: string[];
    ProprietorNameIn: string[];
    FXCurrentBalance: number;
    FXCurrentBalanceGreaterThanOrEqualTo: number;
    FXCurrentBalanceGreaterThan: number;
    FXCurrentBalanceLessThan: number;
    FXCurrentBalanceLessThanOrEqualTo: number;
    FXCurrentBalanceNotEqualTo: number;
    FXCurrentBalanceBetween: number[];
    FXCurrentBalanceIn: number[];
    FXPeriod1: number;
    FXPeriod1GreaterThanOrEqualTo: number;
    FXPeriod1GreaterThan: number;
    FXPeriod1LessThan: number;
    FXPeriod1LessThanOrEqualTo: number;
    FXPeriod1NotEqualTo: number;
    FXPeriod1Between: number[];
    FXPeriod1In: number[];
    FXPeriod2: number;
    FXPeriod2GreaterThanOrEqualTo: number;
    FXPeriod2GreaterThan: number;
    FXPeriod2LessThan: number;
    FXPeriod2LessThanOrEqualTo: number;
    FXPeriod2NotEqualTo: number;
    FXPeriod2Between: number[];
    FXPeriod2In: number[];
    FXPeriod3: number;
    FXPeriod3GreaterThanOrEqualTo: number;
    FXPeriod3GreaterThan: number;
    FXPeriod3LessThan: number;
    FXPeriod3LessThanOrEqualTo: number;
    FXPeriod3NotEqualTo: number;
    FXPeriod3Between: number[];
    FXPeriod3In: number[];
    FXPeriod4: number;
    FXPeriod4GreaterThanOrEqualTo: number;
    FXPeriod4GreaterThan: number;
    FXPeriod4LessThan: number;
    FXPeriod4LessThanOrEqualTo: number;
    FXPeriod4NotEqualTo: number;
    FXPeriod4Between: number[];
    FXPeriod4In: number[];
    TradingStatus: number;
    TradingStatusGreaterThanOrEqualTo: number;
    TradingStatusGreaterThan: number;
    TradingStatusLessThan: number;
    TradingStatusLessThanOrEqualTo: number;
    TradingStatusNotEqualTo: number;
    TradingStatusBetween: Uint8Array;
    TradingStatusIn: Uint8Array;
    LedgerIDCreditorControl: string;
    LedgerIDCreditorControlStartsWith: string;
    LedgerIDCreditorControlEndsWith: string;
    LedgerIDCreditorControlContains: string;
    LedgerIDCreditorControlLike: string;
    LedgerIDCreditorControlBetween: string[];
    LedgerIDCreditorControlIn: string[];
    LedgerIDCreditorPurchases: string;
    LedgerIDCreditorPurchasesStartsWith: string;
    LedgerIDCreditorPurchasesEndsWith: string;
    LedgerIDCreditorPurchasesContains: string;
    LedgerIDCreditorPurchasesLike: string;
    LedgerIDCreditorPurchasesBetween: string[];
    LedgerIDCreditorPurchasesIn: string[];
    LedgerIDCreditorDiscounts: string;
    LedgerIDCreditorDiscountsStartsWith: string;
    LedgerIDCreditorDiscountsEndsWith: string;
    LedgerIDCreditorDiscountsContains: string;
    LedgerIDCreditorDiscountsLike: string;
    LedgerIDCreditorDiscountsBetween: string[];
    LedgerIDCreditorDiscountsIn: string[];
    LedgerIDCreditorSourcedPayments: string;
    LedgerIDCreditorSourcedPaymentsStartsWith: string;
    LedgerIDCreditorSourcedPaymentsEndsWith: string;
    LedgerIDCreditorSourcedPaymentsContains: string;
    LedgerIDCreditorSourcedPaymentsLike: string;
    LedgerIDCreditorSourcedPaymentsBetween: string[];
    LedgerIDCreditorSourcedPaymentsIn: string[];
    LedgerIDCreditorSourcedDebitAdjustment: string;
    LedgerIDCreditorSourcedDebitAdjustmentStartsWith: string;
    LedgerIDCreditorSourcedDebitAdjustmentEndsWith: string;
    LedgerIDCreditorSourcedDebitAdjustmentContains: string;
    LedgerIDCreditorSourcedDebitAdjustmentLike: string;
    LedgerIDCreditorSourcedDebitAdjustmentBetween: string[];
    LedgerIDCreditorSourcedDebitAdjustmentIn: string[];
    LedgerIDCreditorSourcedPurchase: string;
    LedgerIDCreditorSourcedPurchaseStartsWith: string;
    LedgerIDCreditorSourcedPurchaseEndsWith: string;
    LedgerIDCreditorSourcedPurchaseContains: string;
    LedgerIDCreditorSourcedPurchaseLike: string;
    LedgerIDCreditorSourcedPurchaseBetween: string[];
    LedgerIDCreditorSourcedPurchaseIn: string[];
    LedgerIDCreditorSourcedCreditAdjustment: string;
    LedgerIDCreditorSourcedCreditAdjustmentStartsWith: string;
    LedgerIDCreditorSourcedCreditAdjustmentEndsWith: string;
    LedgerIDCreditorSourcedCreditAdjustmentContains: string;
    LedgerIDCreditorSourcedCreditAdjustmentLike: string;
    LedgerIDCreditorSourcedCreditAdjustmentBetween: string[];
    LedgerIDCreditorSourcedCreditAdjustmentIn: string[];
    LedgerIDCreditorFreight: string;
    LedgerIDCreditorFreightStartsWith: string;
    LedgerIDCreditorFreightEndsWith: string;
    LedgerIDCreditorFreightContains: string;
    LedgerIDCreditorFreightLike: string;
    LedgerIDCreditorFreightBetween: string[];
    LedgerIDCreditorFreightIn: string[];
    LedgerIDCreditorInsurance: string;
    LedgerIDCreditorInsuranceStartsWith: string;
    LedgerIDCreditorInsuranceEndsWith: string;
    LedgerIDCreditorInsuranceContains: string;
    LedgerIDCreditorInsuranceLike: string;
    LedgerIDCreditorInsuranceBetween: string[];
    LedgerIDCreditorInsuranceIn: string[];
    LedgerIDCreditorDuty: string;
    LedgerIDCreditorDutyStartsWith: string;
    LedgerIDCreditorDutyEndsWith: string;
    LedgerIDCreditorDutyContains: string;
    LedgerIDCreditorDutyLike: string;
    LedgerIDCreditorDutyBetween: string[];
    LedgerIDCreditorDutyIn: string[];
    LedgerIDCreditorRealisedGainLoss: string;
    LedgerIDCreditorRealisedGainLossStartsWith: string;
    LedgerIDCreditorRealisedGainLossEndsWith: string;
    LedgerIDCreditorRealisedGainLossContains: string;
    LedgerIDCreditorRealisedGainLossLike: string;
    LedgerIDCreditorRealisedGainLossBetween: string[];
    LedgerIDCreditorRealisedGainLossIn: string[];
    LedgerIDCreditorUnRealisedGainLoss: string;
    LedgerIDCreditorUnRealisedGainLossStartsWith: string;
    LedgerIDCreditorUnRealisedGainLossEndsWith: string;
    LedgerIDCreditorUnRealisedGainLossContains: string;
    LedgerIDCreditorUnRealisedGainLossLike: string;
    LedgerIDCreditorUnRealisedGainLossBetween: string[];
    LedgerIDCreditorUnRealisedGainLossIn: string[];
    PO_Workflows_RecID: string;
    PO_Workflows_RecIDStartsWith: string;
    PO_Workflows_RecIDEndsWith: string;
    PO_Workflows_RecIDContains: string;
    PO_Workflows_RecIDLike: string;
    PO_Workflows_RecIDBetween: string[];
    PO_Workflows_RecIDIn: string[];
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    createResponse() { return new QueryResponse<CR_Main>(); }
    getTypeName() { return "CR_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_Main1Query extends QueryDb<CR_Main1> implements IReturn<QueryResponse<CR_Main1>>
{
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAcc: string;
    BankAccStartsWith: string;
    BankAccEndsWith: string;
    BankAccContains: string;
    BankAccLike: string;
    BankAccBetween: string[];
    BankAccIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    AccountName: string;
    AccountNameStartsWith: string;
    AccountNameEndsWith: string;
    AccountNameContains: string;
    AccountNameLike: string;
    AccountNameBetween: string[];
    AccountNameIn: string[];
    DefaultPaymentType: number;
    DefaultPaymentTypeGreaterThanOrEqualTo: number;
    DefaultPaymentTypeGreaterThan: number;
    DefaultPaymentTypeLessThan: number;
    DefaultPaymentTypeLessThanOrEqualTo: number;
    DefaultPaymentTypeNotEqualTo: number;
    DefaultPaymentTypeBetween: Uint8Array;
    DefaultPaymentTypeIn: Uint8Array;
    CreditLimit: number;
    CreditLimitGreaterThanOrEqualTo: number;
    CreditLimitGreaterThan: number;
    CreditLimitLessThan: number;
    CreditLimitLessThanOrEqualTo: number;
    CreditLimitNotEqualTo: number;
    CreditLimitBetween: number[];
    CreditLimitIn: number[];
    EarlyPayDisOnRemitDays: number;
    EarlyPayDisOnRemitDaysGreaterThanOrEqualTo: number;
    EarlyPayDisOnRemitDaysGreaterThan: number;
    EarlyPayDisOnRemitDaysLessThan: number;
    EarlyPayDisOnRemitDaysLessThanOrEqualTo: number;
    EarlyPayDisOnRemitDaysNotEqualTo: number;
    EarlyPayDisOnRemitDaysBetween: number[];
    EarlyPayDisOnRemitDaysIn: number[];
    EarlyPayDisOnRemitAmt: number;
    EarlyPayDisOnRemitAmtGreaterThanOrEqualTo: number;
    EarlyPayDisOnRemitAmtGreaterThan: number;
    EarlyPayDisOnRemitAmtLessThan: number;
    EarlyPayDisOnRemitAmtLessThanOrEqualTo: number;
    EarlyPayDisOnRemitAmtNotEqualTo: number;
    EarlyPayDisOnRemitAmtBetween: number[];
    EarlyPayDisOnRemitAmtIn: number[];
    LastSaleDate: string;
    LastSaleDateGreaterThanOrEqualTo: string;
    LastSaleDateGreaterThan: string;
    LastSaleDateLessThan: string;
    LastSaleDateLessThanOrEqualTo: string;
    LastSaleDateNotEqualTo: string;
    LastSaleDateBetween: string[];
    LastSaleDateIn: string[];
    LastPaymentDate: string;
    LastPaymentDateGreaterThanOrEqualTo: string;
    LastPaymentDateGreaterThan: string;
    LastPaymentDateLessThan: string;
    LastPaymentDateLessThanOrEqualTo: string;
    LastPaymentDateNotEqualTo: string;
    LastPaymentDateBetween: string[];
    LastPaymentDateIn: string[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    AccountOnHold: boolean;
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    CurrentBalance: number;
    CurrentBalanceGreaterThanOrEqualTo: number;
    CurrentBalanceGreaterThan: number;
    CurrentBalanceLessThan: number;
    CurrentBalanceLessThanOrEqualTo: number;
    CurrentBalanceNotEqualTo: number;
    CurrentBalanceBetween: number[];
    CurrentBalanceIn: number[];
    Period1: number;
    Period1GreaterThanOrEqualTo: number;
    Period1GreaterThan: number;
    Period1LessThan: number;
    Period1LessThanOrEqualTo: number;
    Period1NotEqualTo: number;
    Period1Between: number[];
    Period1In: number[];
    Period2: number;
    Period2GreaterThanOrEqualTo: number;
    Period2GreaterThan: number;
    Period2LessThan: number;
    Period2LessThanOrEqualTo: number;
    Period2NotEqualTo: number;
    Period2Between: number[];
    Period2In: number[];
    Period3: number;
    Period3GreaterThanOrEqualTo: number;
    Period3GreaterThan: number;
    Period3LessThan: number;
    Period3LessThanOrEqualTo: number;
    Period3NotEqualTo: number;
    Period3Between: number[];
    Period3In: number[];
    Period4: number;
    Period4GreaterThanOrEqualTo: number;
    Period4GreaterThan: number;
    Period4LessThan: number;
    Period4LessThanOrEqualTo: number;
    Period4NotEqualTo: number;
    Period4Between: number[];
    Period4In: number[];
    AltAccountNo: string;
    AltAccountNoStartsWith: string;
    AltAccountNoEndsWith: string;
    AltAccountNoContains: string;
    AltAccountNoLike: string;
    AltAccountNoBetween: string[];
    AltAccountNoIn: string[];
    CommenceDate: string;
    CommenceDateGreaterThanOrEqualTo: string;
    CommenceDateGreaterThan: string;
    CommenceDateLessThan: string;
    CommenceDateLessThanOrEqualTo: string;
    CommenceDateNotEqualTo: string;
    CommenceDateBetween: string[];
    CommenceDateIn: string[];
    ContactType: number;
    ContactTypeGreaterThanOrEqualTo: number;
    ContactTypeGreaterThan: number;
    ContactTypeLessThan: number;
    ContactTypeLessThanOrEqualTo: number;
    ContactTypeNotEqualTo: number;
    ContactTypeBetween: number[];
    ContactTypeIn: number[];
    TermsDays: number;
    TermsDaysGreaterThanOrEqualTo: number;
    TermsDaysGreaterThan: number;
    TermsDaysLessThan: number;
    TermsDaysLessThanOrEqualTo: number;
    TermsDaysNotEqualTo: number;
    TermsDaysBetween: number[];
    TermsDaysIn: number[];
    ACN: string;
    ACNStartsWith: string;
    ACNEndsWith: string;
    ACNContains: string;
    ACNLike: string;
    ACNBetween: string[];
    ACNIn: string[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    UsesFX: boolean;
    ABN: string;
    ABNStartsWith: string;
    ABNEndsWith: string;
    ABNContains: string;
    ABNLike: string;
    ABNBetween: string[];
    ABNIn: string[];
    TermsType: number;
    TermsTypeGreaterThanOrEqualTo: number;
    TermsTypeGreaterThan: number;
    TermsTypeLessThan: number;
    TermsTypeLessThanOrEqualTo: number;
    TermsTypeNotEqualTo: number;
    TermsTypeBetween: Uint8Array;
    TermsTypeIn: Uint8Array;
    AustPostDPID: string;
    AustPostDPIDStartsWith: string;
    AustPostDPIDEndsWith: string;
    AustPostDPIDContains: string;
    AustPostDPIDLike: string;
    AustPostDPIDBetween: string[];
    AustPostDPIDIn: string[];
    AustPostBCSP: string;
    AustPostBCSPStartsWith: string;
    AustPostBCSPEndsWith: string;
    AustPostBCSPContains: string;
    AustPostBCSPLike: string;
    AustPostBCSPBetween: string[];
    AustPostBCSPIn: string[];
    MinPOValue: number;
    MinPOValueGreaterThanOrEqualTo: number;
    MinPOValueGreaterThan: number;
    MinPOValueLessThan: number;
    MinPOValueLessThanOrEqualTo: number;
    MinPOValueNotEqualTo: number;
    MinPOValueBetween: number[];
    MinPOValueIn: number[];
    MaxPOValue: number;
    MaxPOValueGreaterThanOrEqualTo: number;
    MaxPOValueGreaterThan: number;
    MaxPOValueLessThan: number;
    MaxPOValueLessThanOrEqualTo: number;
    MaxPOValueNotEqualTo: number;
    MaxPOValueBetween: number[];
    MaxPOValueIn: number[];
    createResponse() { return new QueryResponse<CR_Main1>(); }
    getTypeName() { return "CR_Main1Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_Main2Query extends QueryDb<CR_Main2> implements IReturn<QueryResponse<CR_Main2>>
{
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    C1: string;
    C1StartsWith: string;
    C1EndsWith: string;
    C1Contains: string;
    C1Like: string;
    C1Between: string[];
    C1In: string[];
    C2: string;
    C2StartsWith: string;
    C2EndsWith: string;
    C2Contains: string;
    C2Like: string;
    C2Between: string[];
    C2In: string[];
    C3: string;
    C3StartsWith: string;
    C3EndsWith: string;
    C3Contains: string;
    C3Like: string;
    C3Between: string[];
    C3In: string[];
    C4: string;
    C4StartsWith: string;
    C4EndsWith: string;
    C4Contains: string;
    C4Like: string;
    C4Between: string[];
    C4In: string[];
    C5: string;
    C5StartsWith: string;
    C5EndsWith: string;
    C5Contains: string;
    C5Like: string;
    C5Between: string[];
    C5In: string[];
    C7: string;
    C7StartsWith: string;
    C7EndsWith: string;
    C7Contains: string;
    C7Like: string;
    C7Between: string[];
    C7In: string[];
    C8: string;
    C8StartsWith: string;
    C8EndsWith: string;
    C8Contains: string;
    C8Like: string;
    C8Between: string[];
    C8In: string[];
    C10: string;
    C10StartsWith: string;
    C10EndsWith: string;
    C10Contains: string;
    C10Like: string;
    C10Between: string[];
    C10In: string[];
    C11: string;
    C11StartsWith: string;
    C11EndsWith: string;
    C11Contains: string;
    C11Like: string;
    C11Between: string[];
    C11In: string[];
    C12: string;
    C12StartsWith: string;
    C12EndsWith: string;
    C12Contains: string;
    C12Like: string;
    C12Between: string[];
    C12In: string[];
    OpeningBal1: number;
    OpeningBal1GreaterThanOrEqualTo: number;
    OpeningBal1GreaterThan: number;
    OpeningBal1LessThan: number;
    OpeningBal1LessThanOrEqualTo: number;
    OpeningBal1NotEqualTo: number;
    OpeningBal1Between: number[];
    OpeningBal1In: number[];
    OpeningBal2: number;
    OpeningBal2GreaterThanOrEqualTo: number;
    OpeningBal2GreaterThan: number;
    OpeningBal2LessThan: number;
    OpeningBal2LessThanOrEqualTo: number;
    OpeningBal2NotEqualTo: number;
    OpeningBal2Between: number[];
    OpeningBal2In: number[];
    OpeningBal3: number;
    OpeningBal3GreaterThanOrEqualTo: number;
    OpeningBal3GreaterThan: number;
    OpeningBal3LessThan: number;
    OpeningBal3LessThanOrEqualTo: number;
    OpeningBal3NotEqualTo: number;
    OpeningBal3Between: number[];
    OpeningBal3In: number[];
    OpeningBal4: number;
    OpeningBal4GreaterThanOrEqualTo: number;
    OpeningBal4GreaterThan: number;
    OpeningBal4LessThan: number;
    OpeningBal4LessThanOrEqualTo: number;
    OpeningBal4NotEqualTo: number;
    OpeningBal4Between: number[];
    OpeningBal4In: number[];
    OpeningBal5: number;
    OpeningBal5GreaterThanOrEqualTo: number;
    OpeningBal5GreaterThan: number;
    OpeningBal5LessThan: number;
    OpeningBal5LessThanOrEqualTo: number;
    OpeningBal5NotEqualTo: number;
    OpeningBal5Between: number[];
    OpeningBal5In: number[];
    OpeningBal6: number;
    OpeningBal6GreaterThanOrEqualTo: number;
    OpeningBal6GreaterThan: number;
    OpeningBal6LessThan: number;
    OpeningBal6LessThanOrEqualTo: number;
    OpeningBal6NotEqualTo: number;
    OpeningBal6Between: number[];
    OpeningBal6In: number[];
    OpeningBal7: number;
    OpeningBal7GreaterThanOrEqualTo: number;
    OpeningBal7GreaterThan: number;
    OpeningBal7LessThan: number;
    OpeningBal7LessThanOrEqualTo: number;
    OpeningBal7NotEqualTo: number;
    OpeningBal7Between: number[];
    OpeningBal7In: number[];
    OpeningBal8: number;
    OpeningBal8GreaterThanOrEqualTo: number;
    OpeningBal8GreaterThan: number;
    OpeningBal8LessThan: number;
    OpeningBal8LessThanOrEqualTo: number;
    OpeningBal8NotEqualTo: number;
    OpeningBal8Between: number[];
    OpeningBal8In: number[];
    OpeningBal9: number;
    OpeningBal9GreaterThanOrEqualTo: number;
    OpeningBal9GreaterThan: number;
    OpeningBal9LessThan: number;
    OpeningBal9LessThanOrEqualTo: number;
    OpeningBal9NotEqualTo: number;
    OpeningBal9Between: number[];
    OpeningBal9In: number[];
    OpeningBal10: number;
    OpeningBal10GreaterThanOrEqualTo: number;
    OpeningBal10GreaterThan: number;
    OpeningBal10LessThan: number;
    OpeningBal10LessThanOrEqualTo: number;
    OpeningBal10NotEqualTo: number;
    OpeningBal10Between: number[];
    OpeningBal10In: number[];
    OpeningBal11: number;
    OpeningBal11GreaterThanOrEqualTo: number;
    OpeningBal11GreaterThan: number;
    OpeningBal11LessThan: number;
    OpeningBal11LessThanOrEqualTo: number;
    OpeningBal11NotEqualTo: number;
    OpeningBal11Between: number[];
    OpeningBal11In: number[];
    OpeningBal12: number;
    OpeningBal12GreaterThanOrEqualTo: number;
    OpeningBal12GreaterThan: number;
    OpeningBal12LessThan: number;
    OpeningBal12LessThanOrEqualTo: number;
    OpeningBal12NotEqualTo: number;
    OpeningBal12Between: number[];
    OpeningBal12In: number[];
    OpeningBal14: number;
    OpeningBal14GreaterThanOrEqualTo: number;
    OpeningBal14GreaterThan: number;
    OpeningBal14LessThan: number;
    OpeningBal14LessThanOrEqualTo: number;
    OpeningBal14NotEqualTo: number;
    OpeningBal14Between: number[];
    OpeningBal14In: number[];
    OpeningBal15: number;
    OpeningBal15GreaterThanOrEqualTo: number;
    OpeningBal15GreaterThan: number;
    OpeningBal15LessThan: number;
    OpeningBal15LessThanOrEqualTo: number;
    OpeningBal15NotEqualTo: number;
    OpeningBal15Between: number[];
    OpeningBal15In: number[];
    OpeningBal13: number;
    OpeningBal13GreaterThanOrEqualTo: number;
    OpeningBal13GreaterThan: number;
    OpeningBal13LessThan: number;
    OpeningBal13LessThanOrEqualTo: number;
    OpeningBal13NotEqualTo: number;
    OpeningBal13Between: number[];
    OpeningBal13In: number[];
    OpeningBal16: number;
    OpeningBal16GreaterThanOrEqualTo: number;
    OpeningBal16GreaterThan: number;
    OpeningBal16LessThan: number;
    OpeningBal16LessThanOrEqualTo: number;
    OpeningBal16NotEqualTo: number;
    OpeningBal16Between: number[];
    OpeningBal16In: number[];
    OpeningBal17: number;
    OpeningBal17GreaterThanOrEqualTo: number;
    OpeningBal17GreaterThan: number;
    OpeningBal17LessThan: number;
    OpeningBal17LessThanOrEqualTo: number;
    OpeningBal17NotEqualTo: number;
    OpeningBal17Between: number[];
    OpeningBal17In: number[];
    OpeningBal18: number;
    OpeningBal18GreaterThanOrEqualTo: number;
    OpeningBal18GreaterThan: number;
    OpeningBal18LessThan: number;
    OpeningBal18LessThanOrEqualTo: number;
    OpeningBal18NotEqualTo: number;
    OpeningBal18Between: number[];
    OpeningBal18In: number[];
    OpeningBal19: number;
    OpeningBal19GreaterThanOrEqualTo: number;
    OpeningBal19GreaterThan: number;
    OpeningBal19LessThan: number;
    OpeningBal19LessThanOrEqualTo: number;
    OpeningBal19NotEqualTo: number;
    OpeningBal19Between: number[];
    OpeningBal19In: number[];
    OpeningBal20: number;
    OpeningBal20GreaterThanOrEqualTo: number;
    OpeningBal20GreaterThan: number;
    OpeningBal20LessThan: number;
    OpeningBal20LessThanOrEqualTo: number;
    OpeningBal20NotEqualTo: number;
    OpeningBal20Between: number[];
    OpeningBal20In: number[];
    OpeningBal21: number;
    OpeningBal21GreaterThanOrEqualTo: number;
    OpeningBal21GreaterThan: number;
    OpeningBal21LessThan: number;
    OpeningBal21LessThanOrEqualTo: number;
    OpeningBal21NotEqualTo: number;
    OpeningBal21Between: number[];
    OpeningBal21In: number[];
    OpeningBal22: number;
    OpeningBal22GreaterThanOrEqualTo: number;
    OpeningBal22GreaterThan: number;
    OpeningBal22LessThan: number;
    OpeningBal22LessThanOrEqualTo: number;
    OpeningBal22NotEqualTo: number;
    OpeningBal22Between: number[];
    OpeningBal22In: number[];
    OpeningBal23: number;
    OpeningBal23GreaterThanOrEqualTo: number;
    OpeningBal23GreaterThan: number;
    OpeningBal23LessThan: number;
    OpeningBal23LessThanOrEqualTo: number;
    OpeningBal23NotEqualTo: number;
    OpeningBal23Between: number[];
    OpeningBal23In: number[];
    OpeningBal24: number;
    OpeningBal24GreaterThanOrEqualTo: number;
    OpeningBal24GreaterThan: number;
    OpeningBal24LessThan: number;
    OpeningBal24LessThanOrEqualTo: number;
    OpeningBal24NotEqualTo: number;
    OpeningBal24Between: number[];
    OpeningBal24In: number[];
    OpeningBal25: number;
    OpeningBal25GreaterThanOrEqualTo: number;
    OpeningBal25GreaterThan: number;
    OpeningBal25LessThan: number;
    OpeningBal25LessThanOrEqualTo: number;
    OpeningBal25NotEqualTo: number;
    OpeningBal25Between: number[];
    OpeningBal25In: number[];
    OpeningBal26: number;
    OpeningBal26GreaterThanOrEqualTo: number;
    OpeningBal26GreaterThan: number;
    OpeningBal26LessThan: number;
    OpeningBal26LessThanOrEqualTo: number;
    OpeningBal26NotEqualTo: number;
    OpeningBal26Between: number[];
    OpeningBal26In: number[];
    OpeningBal27: number;
    OpeningBal27GreaterThanOrEqualTo: number;
    OpeningBal27GreaterThan: number;
    OpeningBal27LessThan: number;
    OpeningBal27LessThanOrEqualTo: number;
    OpeningBal27NotEqualTo: number;
    OpeningBal27Between: number[];
    OpeningBal27In: number[];
    OpeningBal28: number;
    OpeningBal28GreaterThanOrEqualTo: number;
    OpeningBal28GreaterThan: number;
    OpeningBal28LessThan: number;
    OpeningBal28LessThanOrEqualTo: number;
    OpeningBal28NotEqualTo: number;
    OpeningBal28Between: number[];
    OpeningBal28In: number[];
    OpeningBal29: number;
    OpeningBal29GreaterThanOrEqualTo: number;
    OpeningBal29GreaterThan: number;
    OpeningBal29LessThan: number;
    OpeningBal29LessThanOrEqualTo: number;
    OpeningBal29NotEqualTo: number;
    OpeningBal29Between: number[];
    OpeningBal29In: number[];
    OpeningBal30: number;
    OpeningBal30GreaterThanOrEqualTo: number;
    OpeningBal30GreaterThan: number;
    OpeningBal30LessThan: number;
    OpeningBal30LessThanOrEqualTo: number;
    OpeningBal30NotEqualTo: number;
    OpeningBal30Between: number[];
    OpeningBal30In: number[];
    OpeningBal31: number;
    OpeningBal31GreaterThanOrEqualTo: number;
    OpeningBal31GreaterThan: number;
    OpeningBal31LessThan: number;
    OpeningBal31LessThanOrEqualTo: number;
    OpeningBal31NotEqualTo: number;
    OpeningBal31Between: number[];
    OpeningBal31In: number[];
    OpeningBal32: number;
    OpeningBal32GreaterThanOrEqualTo: number;
    OpeningBal32GreaterThan: number;
    OpeningBal32LessThan: number;
    OpeningBal32LessThanOrEqualTo: number;
    OpeningBal32NotEqualTo: number;
    OpeningBal32Between: number[];
    OpeningBal32In: number[];
    OpeningBal33: number;
    OpeningBal33GreaterThanOrEqualTo: number;
    OpeningBal33GreaterThan: number;
    OpeningBal33LessThan: number;
    OpeningBal33LessThanOrEqualTo: number;
    OpeningBal33NotEqualTo: number;
    OpeningBal33Between: number[];
    OpeningBal33In: number[];
    OpeningBal34: number;
    OpeningBal34GreaterThanOrEqualTo: number;
    OpeningBal34GreaterThan: number;
    OpeningBal34LessThan: number;
    OpeningBal34LessThanOrEqualTo: number;
    OpeningBal34NotEqualTo: number;
    OpeningBal34Between: number[];
    OpeningBal34In: number[];
    OpeningBal35: number;
    OpeningBal35GreaterThanOrEqualTo: number;
    OpeningBal35GreaterThan: number;
    OpeningBal35LessThan: number;
    OpeningBal35LessThanOrEqualTo: number;
    OpeningBal35NotEqualTo: number;
    OpeningBal35Between: number[];
    OpeningBal35In: number[];
    OpeningBal36: number;
    OpeningBal36GreaterThanOrEqualTo: number;
    OpeningBal36GreaterThan: number;
    OpeningBal36LessThan: number;
    OpeningBal36LessThanOrEqualTo: number;
    OpeningBal36NotEqualTo: number;
    OpeningBal36Between: number[];
    OpeningBal36In: number[];
    OpeningBal37: number;
    OpeningBal37GreaterThanOrEqualTo: number;
    OpeningBal37GreaterThan: number;
    OpeningBal37LessThan: number;
    OpeningBal37LessThanOrEqualTo: number;
    OpeningBal37NotEqualTo: number;
    OpeningBal37Between: number[];
    OpeningBal37In: number[];
    OpeningBal38: number;
    OpeningBal38GreaterThanOrEqualTo: number;
    OpeningBal38GreaterThan: number;
    OpeningBal38LessThan: number;
    OpeningBal38LessThanOrEqualTo: number;
    OpeningBal38NotEqualTo: number;
    OpeningBal38Between: number[];
    OpeningBal38In: number[];
    OpeningBal39: number;
    OpeningBal39GreaterThanOrEqualTo: number;
    OpeningBal39GreaterThan: number;
    OpeningBal39LessThan: number;
    OpeningBal39LessThanOrEqualTo: number;
    OpeningBal39NotEqualTo: number;
    OpeningBal39Between: number[];
    OpeningBal39In: number[];
    OpeningBal40: number;
    OpeningBal40GreaterThanOrEqualTo: number;
    OpeningBal40GreaterThan: number;
    OpeningBal40LessThan: number;
    OpeningBal40LessThanOrEqualTo: number;
    OpeningBal40NotEqualTo: number;
    OpeningBal40Between: number[];
    OpeningBal40In: number[];
    OpeningBal41: number;
    OpeningBal41GreaterThanOrEqualTo: number;
    OpeningBal41GreaterThan: number;
    OpeningBal41LessThan: number;
    OpeningBal41LessThanOrEqualTo: number;
    OpeningBal41NotEqualTo: number;
    OpeningBal41Between: number[];
    OpeningBal41In: number[];
    OpeningBal42: number;
    OpeningBal42GreaterThanOrEqualTo: number;
    OpeningBal42GreaterThan: number;
    OpeningBal42LessThan: number;
    OpeningBal42LessThanOrEqualTo: number;
    OpeningBal42NotEqualTo: number;
    OpeningBal42Between: number[];
    OpeningBal42In: number[];
    OpeningBal43: number;
    OpeningBal43GreaterThanOrEqualTo: number;
    OpeningBal43GreaterThan: number;
    OpeningBal43LessThan: number;
    OpeningBal43LessThanOrEqualTo: number;
    OpeningBal43NotEqualTo: number;
    OpeningBal43Between: number[];
    OpeningBal43In: number[];
    OpeningBal44: number;
    OpeningBal44GreaterThanOrEqualTo: number;
    OpeningBal44GreaterThan: number;
    OpeningBal44LessThan: number;
    OpeningBal44LessThanOrEqualTo: number;
    OpeningBal44NotEqualTo: number;
    OpeningBal44Between: number[];
    OpeningBal44In: number[];
    OpeningBal45: number;
    OpeningBal45GreaterThanOrEqualTo: number;
    OpeningBal45GreaterThan: number;
    OpeningBal45LessThan: number;
    OpeningBal45LessThanOrEqualTo: number;
    OpeningBal45NotEqualTo: number;
    OpeningBal45Between: number[];
    OpeningBal45In: number[];
    OpeningBal46: number;
    OpeningBal46GreaterThanOrEqualTo: number;
    OpeningBal46GreaterThan: number;
    OpeningBal46LessThan: number;
    OpeningBal46LessThanOrEqualTo: number;
    OpeningBal46NotEqualTo: number;
    OpeningBal46Between: number[];
    OpeningBal46In: number[];
    OpeningBal47: number;
    OpeningBal47GreaterThanOrEqualTo: number;
    OpeningBal47GreaterThan: number;
    OpeningBal47LessThan: number;
    OpeningBal47LessThanOrEqualTo: number;
    OpeningBal47NotEqualTo: number;
    OpeningBal47Between: number[];
    OpeningBal47In: number[];
    OpeningBal48: number;
    OpeningBal48GreaterThanOrEqualTo: number;
    OpeningBal48GreaterThan: number;
    OpeningBal48LessThan: number;
    OpeningBal48LessThanOrEqualTo: number;
    OpeningBal48NotEqualTo: number;
    OpeningBal48Between: number[];
    OpeningBal48In: number[];
    OpeningBal49: number;
    OpeningBal49GreaterThanOrEqualTo: number;
    OpeningBal49GreaterThan: number;
    OpeningBal49LessThan: number;
    OpeningBal49LessThanOrEqualTo: number;
    OpeningBal49NotEqualTo: number;
    OpeningBal49Between: number[];
    OpeningBal49In: number[];
    OpeningBal50: number;
    OpeningBal50GreaterThanOrEqualTo: number;
    OpeningBal50GreaterThan: number;
    OpeningBal50LessThan: number;
    OpeningBal50LessThanOrEqualTo: number;
    OpeningBal50NotEqualTo: number;
    OpeningBal50Between: number[];
    OpeningBal50In: number[];
    OpeningBal51: number;
    OpeningBal51GreaterThanOrEqualTo: number;
    OpeningBal51GreaterThan: number;
    OpeningBal51LessThan: number;
    OpeningBal51LessThanOrEqualTo: number;
    OpeningBal51NotEqualTo: number;
    OpeningBal51Between: number[];
    OpeningBal51In: number[];
    OpeningBal52: number;
    OpeningBal52GreaterThanOrEqualTo: number;
    OpeningBal52GreaterThan: number;
    OpeningBal52LessThan: number;
    OpeningBal52LessThanOrEqualTo: number;
    OpeningBal52NotEqualTo: number;
    OpeningBal52Between: number[];
    OpeningBal52In: number[];
    OpeningBal53: number;
    OpeningBal53GreaterThanOrEqualTo: number;
    OpeningBal53GreaterThan: number;
    OpeningBal53LessThan: number;
    OpeningBal53LessThanOrEqualTo: number;
    OpeningBal53NotEqualTo: number;
    OpeningBal53Between: number[];
    OpeningBal53In: number[];
    PeriodType: number;
    PeriodTypeGreaterThanOrEqualTo: number;
    PeriodTypeGreaterThan: number;
    PeriodTypeLessThan: number;
    PeriodTypeLessThanOrEqualTo: number;
    PeriodTypeNotEqualTo: number;
    PeriodTypeBetween: number[];
    PeriodTypeIn: number[];
    FXGainLossLedgerID: string;
    FXGainLossLedgerIDStartsWith: string;
    FXGainLossLedgerIDEndsWith: string;
    FXGainLossLedgerIDContains: string;
    FXGainLossLedgerIDLike: string;
    FXGainLossLedgerIDBetween: string[];
    FXGainLossLedgerIDIn: string[];
    FXUnRealizedLedgerID: string;
    FXUnRealizedLedgerIDStartsWith: string;
    FXUnRealizedLedgerIDEndsWith: string;
    FXUnRealizedLedgerIDContains: string;
    FXUnRealizedLedgerIDLike: string;
    FXUnRealizedLedgerIDBetween: string[];
    FXUnRealizedLedgerIDIn: string[];
    CustomField1: string;
    CustomField1StartsWith: string;
    CustomField1EndsWith: string;
    CustomField1Contains: string;
    CustomField1Like: string;
    CustomField1Between: string[];
    CustomField1In: string[];
    CustomField2: string;
    CustomField2StartsWith: string;
    CustomField2EndsWith: string;
    CustomField2Contains: string;
    CustomField2Like: string;
    CustomField2Between: string[];
    CustomField2In: string[];
    CustomField3: string;
    CustomField3StartsWith: string;
    CustomField3EndsWith: string;
    CustomField3Contains: string;
    CustomField3Like: string;
    CustomField3Between: string[];
    CustomField3In: string[];
    CustomField4: string;
    CustomField4StartsWith: string;
    CustomField4EndsWith: string;
    CustomField4Contains: string;
    CustomField4Like: string;
    CustomField4Between: string[];
    CustomField4In: string[];
    createResponse() { return new QueryResponse<CR_Main2>(); }
    getTypeName() { return "CR_Main2Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_NotesQuery extends QueryDb<CR_Notes> implements IReturn<QueryResponse<CR_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CR_Notes>(); }
    getTypeName() { return "CR_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_PaymentCustomSettingQuery extends QueryDb<CR_PaymentCustomSetting> implements IReturn<QueryResponse<CR_PaymentCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<CR_PaymentCustomSetting>(); }
    getTypeName() { return "CR_PaymentCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_PaymentCustomSettingValuesQuery extends QueryDb<CR_PaymentCustomSettingValues> implements IReturn<QueryResponse<CR_PaymentCustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    CR_BatchTrans_ReceiptID: string;
    CR_BatchTrans_ReceiptIDStartsWith: string;
    CR_BatchTrans_ReceiptIDEndsWith: string;
    CR_BatchTrans_ReceiptIDContains: string;
    CR_BatchTrans_ReceiptIDLike: string;
    CR_BatchTrans_ReceiptIDBetween: string[];
    CR_BatchTrans_ReceiptIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_PaymentCustomSettingValues>(); }
    getTypeName() { return "CR_PaymentCustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_PurchaseCustomSettingQuery extends QueryDb<CR_PurchaseCustomSetting> implements IReturn<QueryResponse<CR_PurchaseCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<CR_PurchaseCustomSetting>(); }
    getTypeName() { return "CR_PurchaseCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_PurchaseCustomSettingValuesQuery extends QueryDb<CR_PurchaseCustomSettingValues> implements IReturn<QueryResponse<CR_PurchaseCustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    CR_BatchTrans_ReceiptID: string;
    CR_BatchTrans_ReceiptIDStartsWith: string;
    CR_BatchTrans_ReceiptIDEndsWith: string;
    CR_BatchTrans_ReceiptIDContains: string;
    CR_BatchTrans_ReceiptIDLike: string;
    CR_BatchTrans_ReceiptIDBetween: string[];
    CR_BatchTrans_ReceiptIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_PurchaseCustomSettingValues>(); }
    getTypeName() { return "CR_PurchaseCustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_PurchasesQuery extends QueryDb<CR_Purchases> implements IReturn<QueryResponse<CR_Purchases>>
{
    CR_PurchID: string;
    CR_PurchIDStartsWith: string;
    CR_PurchIDEndsWith: string;
    CR_PurchIDContains: string;
    CR_PurchIDLike: string;
    CR_PurchIDBetween: string[];
    CR_PurchIDIn: string[];
    DateRun: string;
    DateRunGreaterThanOrEqualTo: string;
    DateRunGreaterThan: string;
    DateRunLessThan: string;
    DateRunLessThanOrEqualTo: string;
    DateRunNotEqualTo: string;
    DateRunBetween: string[];
    DateRunIn: string[];
    InvoiceDate: string;
    InvoiceDateGreaterThanOrEqualTo: string;
    InvoiceDateGreaterThan: string;
    InvoiceDateLessThan: string;
    InvoiceDateLessThanOrEqualTo: string;
    InvoiceDateNotEqualTo: string;
    InvoiceDateBetween: string[];
    InvoiceDateIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ClassDescription: string;
    ClassDescriptionStartsWith: string;
    ClassDescriptionEndsWith: string;
    ClassDescriptionContains: string;
    ClassDescriptionLike: string;
    ClassDescriptionBetween: string[];
    ClassDescriptionIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    UnitCost: number;
    UnitCostGreaterThanOrEqualTo: number;
    UnitCostGreaterThan: number;
    UnitCostLessThan: number;
    UnitCostLessThanOrEqualTo: number;
    UnitCostNotEqualTo: number;
    UnitCostBetween: number[];
    UnitCostIn: number[];
    LineTotal: number;
    LineTotalGreaterThanOrEqualTo: number;
    LineTotalGreaterThan: number;
    LineTotalLessThan: number;
    LineTotalLessThanOrEqualTo: number;
    LineTotalNotEqualTo: number;
    LineTotalBetween: number[];
    LineTotalIn: number[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    MonthNo: number;
    MonthNoGreaterThanOrEqualTo: number;
    MonthNoGreaterThan: number;
    MonthNoLessThan: number;
    MonthNoLessThanOrEqualTo: number;
    MonthNoNotEqualTo: number;
    MonthNoBetween: number[];
    MonthNoIn: number[];
    YearNo: number;
    YearNoGreaterThanOrEqualTo: number;
    YearNoGreaterThan: number;
    YearNoLessThan: number;
    YearNoLessThanOrEqualTo: number;
    YearNoNotEqualTo: number;
    YearNoBetween: number[];
    YearNoIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<CR_Purchases>(); }
    getTypeName() { return "CR_PurchasesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_TransQuery extends QueryDb<CR_Trans> implements IReturn<QueryResponse<CR_Trans>>
{
    TransID: string;
    TransIDStartsWith: string;
    TransIDEndsWith: string;
    TransIDContains: string;
    TransIDLike: string;
    TransIDBetween: string[];
    TransIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    DebitCredit: boolean;
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    InvRemitNo: string;
    InvRemitNoStartsWith: string;
    InvRemitNoEndsWith: string;
    InvRemitNoContains: string;
    InvRemitNoLike: string;
    InvRemitNoBetween: string[];
    InvRemitNoIn: string[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    DiscountedAmount: number;
    DiscountedAmountGreaterThanOrEqualTo: number;
    DiscountedAmountGreaterThan: number;
    DiscountedAmountLessThan: number;
    DiscountedAmountLessThanOrEqualTo: number;
    DiscountedAmountNotEqualTo: number;
    DiscountedAmountBetween: number[];
    DiscountedAmountIn: number[];
    AgedOut: boolean;
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    AllocatedAmount: number;
    AllocatedAmountGreaterThanOrEqualTo: number;
    AllocatedAmountGreaterThan: number;
    AllocatedAmountLessThan: number;
    AllocatedAmountLessThanOrEqualTo: number;
    AllocatedAmountNotEqualTo: number;
    AllocatedAmountBetween: number[];
    AllocatedAmountIn: number[];
    InitDateTime: string;
    InitDateTimeGreaterThanOrEqualTo: string;
    InitDateTimeGreaterThan: string;
    InitDateTimeLessThan: string;
    InitDateTimeLessThanOrEqualTo: string;
    InitDateTimeNotEqualTo: string;
    InitDateTimeBetween: string[];
    InitDateTimeIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    ChequePrinting: boolean;
    ChequeRunID: string;
    ChequeRunIDStartsWith: string;
    ChequeRunIDEndsWith: string;
    ChequeRunIDContains: string;
    ChequeRunIDLike: string;
    ChequeRunIDBetween: string[];
    ChequeRunIDIn: string[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    CurrencyRateUsed: number;
    CurrencyRateUsedGreaterThanOrEqualTo: number;
    CurrencyRateUsedGreaterThan: number;
    CurrencyRateUsedLessThan: number;
    CurrencyRateUsedLessThanOrEqualTo: number;
    CurrencyRateUsedNotEqualTo: number;
    CurrencyRateUsedBetween: number[];
    CurrencyRateUsedIn: number[];
    FXAllocAmount: number;
    FXAllocAmountGreaterThanOrEqualTo: number;
    FXAllocAmountGreaterThan: number;
    FXAllocAmountLessThan: number;
    FXAllocAmountLessThanOrEqualTo: number;
    FXAllocAmountNotEqualTo: number;
    FXAllocAmountBetween: number[];
    FXAllocAmountIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    RealisedGainLoss: number;
    RealisedGainLossGreaterThanOrEqualTo: number;
    RealisedGainLossGreaterThan: number;
    RealisedGainLossLessThan: number;
    RealisedGainLossLessThanOrEqualTo: number;
    RealisedGainLossNotEqualTo: number;
    RealisedGainLossBetween: number[];
    RealisedGainLossIn: number[];
    UnRealisedGainLoss: number;
    UnRealisedGainLossGreaterThanOrEqualTo: number;
    UnRealisedGainLossGreaterThan: number;
    UnRealisedGainLossLessThan: number;
    UnRealisedGainLossLessThanOrEqualTo: number;
    UnRealisedGainLossNotEqualTo: number;
    UnRealisedGainLossBetween: number[];
    UnRealisedGainLossIn: number[];
    FXDecimalPlaces: number;
    FXDecimalPlacesGreaterThanOrEqualTo: number;
    FXDecimalPlacesGreaterThan: number;
    FXDecimalPlacesLessThan: number;
    FXDecimalPlacesLessThanOrEqualTo: number;
    FXDecimalPlacesNotEqualTo: number;
    FXDecimalPlacesBetween: number[];
    FXDecimalPlacesIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    Source: string;
    SourceStartsWith: string;
    SourceEndsWith: string;
    SourceContains: string;
    SourceLike: string;
    SourceBetween: string[];
    SourceIn: string[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    createResponse() { return new QueryResponse<CR_Trans>(); }
    getTypeName() { return "CR_TransQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_TransAllocQuery extends QueryDb<CR_TransAlloc> implements IReturn<QueryResponse<CR_TransAlloc>>
{
    AllocID: string;
    AllocIDStartsWith: string;
    AllocIDEndsWith: string;
    AllocIDContains: string;
    AllocIDLike: string;
    AllocIDBetween: string[];
    AllocIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    DebitTransID: string;
    DebitTransIDStartsWith: string;
    DebitTransIDEndsWith: string;
    DebitTransIDContains: string;
    DebitTransIDLike: string;
    DebitTransIDBetween: string[];
    DebitTransIDIn: string[];
    CreditTransID: string;
    CreditTransIDStartsWith: string;
    CreditTransIDEndsWith: string;
    CreditTransIDContains: string;
    CreditTransIDLike: string;
    CreditTransIDBetween: string[];
    CreditTransIDIn: string[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    DebitAmount: number;
    DebitAmountGreaterThanOrEqualTo: number;
    DebitAmountGreaterThan: number;
    DebitAmountLessThan: number;
    DebitAmountLessThanOrEqualTo: number;
    DebitAmountNotEqualTo: number;
    DebitAmountBetween: number[];
    DebitAmountIn: number[];
    CreditAmount: number;
    CreditAmountGreaterThanOrEqualTo: number;
    CreditAmountGreaterThan: number;
    CreditAmountLessThan: number;
    CreditAmountLessThanOrEqualTo: number;
    CreditAmountNotEqualTo: number;
    CreditAmountBetween: number[];
    CreditAmountIn: number[];
    DebitAged: boolean;
    CreditAged: boolean;
    DateAlloc: string;
    DateAllocGreaterThanOrEqualTo: string;
    DateAllocGreaterThan: string;
    DateAllocLessThan: string;
    DateAllocLessThanOrEqualTo: string;
    DateAllocNotEqualTo: string;
    DateAllocBetween: string[];
    DateAllocIn: string[];
    Version: number;
    VersionGreaterThanOrEqualTo: number;
    VersionGreaterThan: number;
    VersionLessThan: number;
    VersionLessThanOrEqualTo: number;
    VersionNotEqualTo: number;
    VersionBetween: number[];
    VersionIn: number[];
    createResponse() { return new QueryResponse<CR_TransAlloc>(); }
    getTypeName() { return "CR_TransAllocQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_TransCustomFieldsQuery extends QueryDb<CR_TransCustomFields> implements IReturn<QueryResponse<CR_TransCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<CR_TransCustomFields>(); }
    getTypeName() { return "CR_TransCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_TransCustomFieldValuesQuery extends QueryDb<CR_TransCustomFieldValues> implements IReturn<QueryResponse<CR_TransCustomFieldValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_Trans_TransID: string;
    CR_Trans_TransIDStartsWith: string;
    CR_Trans_TransIDEndsWith: string;
    CR_Trans_TransIDContains: string;
    CR_Trans_TransIDLike: string;
    CR_Trans_TransIDBetween: string[];
    CR_Trans_TransIDIn: string[];
    CR_TransCustomFields_RecID: string;
    CR_TransCustomFields_RecIDStartsWith: string;
    CR_TransCustomFields_RecIDEndsWith: string;
    CR_TransCustomFields_RecIDContains: string;
    CR_TransCustomFields_RecIDLike: string;
    CR_TransCustomFields_RecIDBetween: string[];
    CR_TransCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_TransCustomFieldValues>(); }
    getTypeName() { return "CR_TransCustomFieldValuesQuery"; }
}

// @Route("/Queries/CR_Warehouse", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_WarehouseQuery extends QueryDb<CR_Warehouse> implements IReturn<QueryResponse<CR_Warehouse>>
{
    WarehouseID: string;
    WarehouseIDStartsWith: string;
    WarehouseIDEndsWith: string;
    WarehouseIDContains: string;
    WarehouseIDLike: string;
    WarehouseIDBetween: string[];
    WarehouseIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    CourierDetails: string;
    CourierDetailsStartsWith: string;
    CourierDetailsEndsWith: string;
    CourierDetailsContains: string;
    CourierDetailsLike: string;
    CourierDetailsBetween: string[];
    CourierDetailsIn: string[];
    DefaultItem: boolean;
    DefaultDelDays: number;
    DefaultDelDaysGreaterThanOrEqualTo: number;
    DefaultDelDaysGreaterThan: number;
    DefaultDelDaysLessThan: number;
    DefaultDelDaysLessThanOrEqualTo: number;
    DefaultDelDaysNotEqualTo: number;
    DefaultDelDaysBetween: number[];
    DefaultDelDaysIn: number[];
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    createResponse() { return new QueryResponse<CR_Warehouse>(); }
    getTypeName() { return "CR_WarehouseQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CurrYearProfitQuery extends QueryDb<CurrYearProfit> implements IReturn<QueryResponse<CurrYearProfit>>
{
    Profit: number;
    ProfitGreaterThanOrEqualTo: number;
    ProfitGreaterThan: number;
    ProfitLessThan: number;
    ProfitLessThanOrEqualTo: number;
    ProfitNotEqualTo: number;
    ProfitBetween: number[];
    ProfitIn: number[];
    createResponse() { return new QueryResponse<CurrYearProfit>(); }
    getTypeName() { return "CurrYearProfitQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_AdjustmentLinesQuery extends QueryDb<DB_AdjustmentLines> implements IReturn<QueryResponse<DB_AdjustmentLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DB_Adjustments_RecID: string;
    DB_Adjustments_RecIDStartsWith: string;
    DB_Adjustments_RecIDEndsWith: string;
    DB_Adjustments_RecIDContains: string;
    DB_Adjustments_RecIDLike: string;
    DB_Adjustments_RecIDBetween: string[];
    DB_Adjustments_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    DB_Main_RecID: string;
    DB_Main_RecIDStartsWith: string;
    DB_Main_RecIDEndsWith: string;
    DB_Main_RecIDContains: string;
    DB_Main_RecIDLike: string;
    DB_Main_RecIDBetween: string[];
    DB_Main_RecIDIn: string[];
    GL_Ledger_RecID_DebtorsControl: string;
    GL_Ledger_RecID_DebtorsControlStartsWith: string;
    GL_Ledger_RecID_DebtorsControlEndsWith: string;
    GL_Ledger_RecID_DebtorsControlContains: string;
    GL_Ledger_RecID_DebtorsControlLike: string;
    GL_Ledger_RecID_DebtorsControlBetween: string[];
    GL_Ledger_RecID_DebtorsControlIn: string[];
    InvoiceRemittanceNo: string;
    InvoiceRemittanceNoStartsWith: string;
    InvoiceRemittanceNoEndsWith: string;
    InvoiceRemittanceNoContains: string;
    InvoiceRemittanceNoLike: string;
    InvoiceRemittanceNoBetween: string[];
    InvoiceRemittanceNoIn: string[];
    WriteOnAmount: number;
    WriteOnAmountGreaterThanOrEqualTo: number;
    WriteOnAmountGreaterThan: number;
    WriteOnAmountLessThan: number;
    WriteOnAmountLessThanOrEqualTo: number;
    WriteOnAmountNotEqualTo: number;
    WriteOnAmountBetween: number[];
    WriteOnAmountIn: number[];
    WriteOffAmount: number;
    WriteOffAmountGreaterThanOrEqualTo: number;
    WriteOffAmountGreaterThan: number;
    WriteOffAmountLessThan: number;
    WriteOffAmountLessThanOrEqualTo: number;
    WriteOffAmountNotEqualTo: number;
    WriteOffAmountBetween: number[];
    WriteOffAmountIn: number[];
    GL_Ledger_RecID_OtherLedger: string;
    GL_Ledger_RecID_OtherLedgerStartsWith: string;
    GL_Ledger_RecID_OtherLedgerEndsWith: string;
    GL_Ledger_RecID_OtherLedgerContains: string;
    GL_Ledger_RecID_OtherLedgerLike: string;
    GL_Ledger_RecID_OtherLedgerBetween: string[];
    GL_Ledger_RecID_OtherLedgerIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    DB_Trans_RecID: string;
    DB_Trans_RecIDStartsWith: string;
    DB_Trans_RecIDEndsWith: string;
    DB_Trans_RecIDContains: string;
    DB_Trans_RecIDLike: string;
    DB_Trans_RecIDBetween: string[];
    DB_Trans_RecIDIn: string[];
    TX_Main_RecID: string;
    TX_Main_RecIDStartsWith: string;
    TX_Main_RecIDEndsWith: string;
    TX_Main_RecIDContains: string;
    TX_Main_RecIDLike: string;
    TX_Main_RecIDBetween: string[];
    TX_Main_RecIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    AdjustmentDate: string;
    AdjustmentDateGreaterThanOrEqualTo: string;
    AdjustmentDateGreaterThan: string;
    AdjustmentDateLessThan: string;
    AdjustmentDateLessThanOrEqualTo: string;
    AdjustmentDateNotEqualTo: string;
    AdjustmentDateBetween: string[];
    AdjustmentDateIn: string[];
    createResponse() { return new QueryResponse<DB_AdjustmentLines>(); }
    getTypeName() { return "DB_AdjustmentLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_AdjustmentsQuery extends QueryDb<DB_Adjustments> implements IReturn<QueryResponse<DB_Adjustments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    BatchDate: string;
    BatchDateGreaterThanOrEqualTo: string;
    BatchDateGreaterThan: string;
    BatchDateLessThan: string;
    BatchDateLessThanOrEqualTo: string;
    BatchDateNotEqualTo: string;
    BatchDateBetween: string[];
    BatchDateIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    LastSavedBy_HR_Staff_RecID: string;
    LastSavedBy_HR_Staff_RecIDStartsWith: string;
    LastSavedBy_HR_Staff_RecIDEndsWith: string;
    LastSavedBy_HR_Staff_RecIDContains: string;
    LastSavedBy_HR_Staff_RecIDLike: string;
    LastSavedBy_HR_Staff_RecIDBetween: string[];
    LastSavedBy_HR_Staff_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<DB_Adjustments>(); }
    getTypeName() { return "DB_AdjustmentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_APIKeyQuery extends QueryDb<DB_APIKey> implements IReturn<QueryResponse<DB_APIKey>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    DB_Main_DebtorID: string;
    DB_Main_DebtorIDStartsWith: string;
    DB_Main_DebtorIDEndsWith: string;
    DB_Main_DebtorIDContains: string;
    DB_Main_DebtorIDLike: string;
    DB_Main_DebtorIDBetween: string[];
    DB_Main_DebtorIDIn: string[];
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    ExpiryDateTime: string;
    ExpiryDateTimeGreaterThanOrEqualTo: string;
    ExpiryDateTimeGreaterThan: string;
    ExpiryDateTimeLessThan: string;
    ExpiryDateTimeLessThanOrEqualTo: string;
    ExpiryDateTimeNotEqualTo: string;
    ExpiryDateTimeBetween: string[];
    ExpiryDateTimeIn: string[];
    CancelledDateTime: string;
    CancelledDateTimeGreaterThanOrEqualTo: string;
    CancelledDateTimeGreaterThan: string;
    CancelledDateTimeLessThan: string;
    CancelledDateTimeLessThanOrEqualTo: string;
    CancelledDateTimeNotEqualTo: string;
    CancelledDateTimeBetween: string[];
    CancelledDateTimeIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    KeyValue: string;
    KeyValueStartsWith: string;
    KeyValueEndsWith: string;
    KeyValueContains: string;
    KeyValueLike: string;
    KeyValueBetween: string[];
    KeyValueIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<DB_APIKey>(); }
    getTypeName() { return "DB_APIKeyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_AuditQuery extends QueryDb<DB_Audit> implements IReturn<QueryResponse<DB_Audit>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorTotal: number;
    DebtorTotalGreaterThanOrEqualTo: number;
    DebtorTotalGreaterThan: number;
    DebtorTotalLessThan: number;
    DebtorTotalLessThanOrEqualTo: number;
    DebtorTotalNotEqualTo: number;
    DebtorTotalBetween: number[];
    DebtorTotalIn: number[];
    ReportGroup: string;
    ReportGroupStartsWith: string;
    ReportGroupEndsWith: string;
    ReportGroupContains: string;
    ReportGroupLike: string;
    ReportGroupBetween: string[];
    ReportGroupIn: string[];
    createResponse() { return new QueryResponse<DB_Audit>(); }
    getTypeName() { return "DB_AuditQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_AutoTranQuery extends QueryDb<DB_AutoTran> implements IReturn<QueryResponse<DB_AutoTran>>
{
    DBAutoTranID: string;
    DBAutoTranIDStartsWith: string;
    DBAutoTranIDEndsWith: string;
    DBAutoTranIDContains: string;
    DBAutoTranIDLike: string;
    DBAutoTranIDBetween: string[];
    DBAutoTranIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RunDateTime: string;
    RunDateTimeGreaterThanOrEqualTo: string;
    RunDateTimeGreaterThan: string;
    RunDateTimeLessThan: string;
    RunDateTimeLessThanOrEqualTo: string;
    RunDateTimeNotEqualTo: string;
    RunDateTimeBetween: string[];
    RunDateTimeIn: string[];
    UserName: string;
    UserNameStartsWith: string;
    UserNameEndsWith: string;
    UserNameContains: string;
    UserNameLike: string;
    UserNameBetween: string[];
    UserNameIn: string[];
    RunNo: string;
    RunNoStartsWith: string;
    RunNoEndsWith: string;
    RunNoContains: string;
    RunNoLike: string;
    RunNoBetween: string[];
    RunNoIn: string[];
    createResponse() { return new QueryResponse<DB_AutoTran>(); }
    getTypeName() { return "DB_AutoTranQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_AutoTranLinesQuery extends QueryDb<DB_AutoTranLines> implements IReturn<QueryResponse<DB_AutoTranLines>>
{
    DBAutoTranLineID: string;
    DBAutoTranLineIDStartsWith: string;
    DBAutoTranLineIDEndsWith: string;
    DBAutoTranLineIDContains: string;
    DBAutoTranLineIDLike: string;
    DBAutoTranLineIDBetween: string[];
    DBAutoTranLineIDIn: string[];
    DBAutoTranID: string;
    DBAutoTranIDStartsWith: string;
    DBAutoTranIDEndsWith: string;
    DBAutoTranIDContains: string;
    DBAutoTranIDLike: string;
    DBAutoTranIDBetween: string[];
    DBAutoTranIDIn: string[];
    SourceDBBatchID: string;
    SourceDBBatchIDStartsWith: string;
    SourceDBBatchIDEndsWith: string;
    SourceDBBatchIDContains: string;
    SourceDBBatchIDLike: string;
    SourceDBBatchIDBetween: string[];
    SourceDBBatchIDIn: string[];
    SourceBatchNo: string;
    SourceBatchNoStartsWith: string;
    SourceBatchNoEndsWith: string;
    SourceBatchNoContains: string;
    SourceBatchNoLike: string;
    SourceBatchNoBetween: string[];
    SourceBatchNoIn: string[];
    SourceReceiptType: number;
    SourceReceiptTypeGreaterThanOrEqualTo: number;
    SourceReceiptTypeGreaterThan: number;
    SourceReceiptTypeLessThan: number;
    SourceReceiptTypeLessThanOrEqualTo: number;
    SourceReceiptTypeNotEqualTo: number;
    SourceReceiptTypeBetween: number[];
    SourceReceiptTypeIn: number[];
    SourceDesc: string;
    SourceDescStartsWith: string;
    SourceDescEndsWith: string;
    SourceDescContains: string;
    SourceDescLike: string;
    SourceDescBetween: string[];
    SourceDescIn: string[];
    PostingDue: string;
    PostingDueGreaterThanOrEqualTo: string;
    PostingDueGreaterThan: string;
    PostingDueLessThan: string;
    PostingDueLessThanOrEqualTo: string;
    PostingDueNotEqualTo: string;
    PostingDueBetween: string[];
    PostingDueIn: string[];
    Reason: string;
    ReasonStartsWith: string;
    ReasonEndsWith: string;
    ReasonContains: string;
    ReasonLike: string;
    ReasonBetween: string[];
    ReasonIn: string[];
    DestDBBatchID: string;
    DestDBBatchIDStartsWith: string;
    DestDBBatchIDEndsWith: string;
    DestDBBatchIDContains: string;
    DestDBBatchIDLike: string;
    DestDBBatchIDBetween: string[];
    DestDBBatchIDIn: string[];
    DestBatchNo: string;
    DestBatchNoStartsWith: string;
    DestBatchNoEndsWith: string;
    DestBatchNoContains: string;
    DestBatchNoLike: string;
    DestBatchNoBetween: string[];
    DestBatchNoIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_AutoTranLines>(); }
    getTypeName() { return "DB_AutoTranLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_BatchTranLinesQuery extends QueryDb<DB_BatchTranLines> implements IReturn<QueryResponse<DB_BatchTranLines>>
{
    ReceiptLineID: string;
    ReceiptLineIDStartsWith: string;
    ReceiptLineIDEndsWith: string;
    ReceiptLineIDContains: string;
    ReceiptLineIDLike: string;
    ReceiptLineIDBetween: string[];
    ReceiptLineIDIn: string[];
    ReceiptID: string;
    ReceiptIDStartsWith: string;
    ReceiptIDEndsWith: string;
    ReceiptIDContains: string;
    ReceiptIDLike: string;
    ReceiptIDBetween: string[];
    ReceiptIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AccountID: string;
    AccountIDStartsWith: string;
    AccountIDEndsWith: string;
    AccountIDContains: string;
    AccountIDLike: string;
    AccountIDBetween: string[];
    AccountIDIn: string[];
    LedgerID: string;
    LedgerIDStartsWith: string;
    LedgerIDEndsWith: string;
    LedgerIDContains: string;
    LedgerIDLike: string;
    LedgerIDBetween: string[];
    LedgerIDIn: string[];
    LineReference: string;
    LineReferenceStartsWith: string;
    LineReferenceEndsWith: string;
    LineReferenceContains: string;
    LineReferenceLike: string;
    LineReferenceBetween: string[];
    LineReferenceIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    RemitNo: string;
    RemitNoStartsWith: string;
    RemitNoEndsWith: string;
    RemitNoContains: string;
    RemitNoLike: string;
    RemitNoBetween: string[];
    RemitNoIn: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    DBTransID: string;
    DBTransIDStartsWith: string;
    DBTransIDEndsWith: string;
    DBTransIDContains: string;
    DBTransIDLike: string;
    DBTransIDBetween: string[];
    DBTransIDIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    OtherLedgerID: string;
    OtherLedgerIDStartsWith: string;
    OtherLedgerIDEndsWith: string;
    OtherLedgerIDContains: string;
    OtherLedgerIDLike: string;
    OtherLedgerIDBetween: string[];
    OtherLedgerIDIn: string[];
    OtherAmount: number;
    OtherAmountGreaterThanOrEqualTo: number;
    OtherAmountGreaterThan: number;
    OtherAmountLessThan: number;
    OtherAmountLessThanOrEqualTo: number;
    OtherAmountNotEqualTo: number;
    OtherAmountBetween: number[];
    OtherAmountIn: number[];
    ReceiptDate: string;
    ReceiptDateGreaterThanOrEqualTo: string;
    ReceiptDateGreaterThan: string;
    ReceiptDateLessThan: string;
    ReceiptDateLessThanOrEqualTo: string;
    ReceiptDateNotEqualTo: string;
    ReceiptDateBetween: string[];
    ReceiptDateIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAcc: string;
    BankAccStartsWith: string;
    BankAccEndsWith: string;
    BankAccContains: string;
    BankAccLike: string;
    BankAccBetween: string[];
    BankAccIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    AccountName: string;
    AccountNameStartsWith: string;
    AccountNameEndsWith: string;
    AccountNameContains: string;
    AccountNameLike: string;
    AccountNameBetween: string[];
    AccountNameIn: string[];
    ParentAccountID: string;
    ParentAccountIDStartsWith: string;
    ParentAccountIDEndsWith: string;
    ParentAccountIDContains: string;
    ParentAccountIDLike: string;
    ParentAccountIDBetween: string[];
    ParentAccountIDIn: string[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    TaxLedgerID: string;
    TaxLedgerIDStartsWith: string;
    TaxLedgerIDEndsWith: string;
    TaxLedgerIDContains: string;
    TaxLedgerIDLike: string;
    TaxLedgerIDBetween: string[];
    TaxLedgerIDIn: string[];
    DiscountAmount: number;
    DiscountAmountGreaterThanOrEqualTo: number;
    DiscountAmountGreaterThan: number;
    DiscountAmountLessThan: number;
    DiscountAmountLessThanOrEqualTo: number;
    DiscountAmountNotEqualTo: number;
    DiscountAmountBetween: number[];
    DiscountAmountIn: number[];
    DiscountLedgerID: string;
    DiscountLedgerIDStartsWith: string;
    DiscountLedgerIDEndsWith: string;
    DiscountLedgerIDContains: string;
    DiscountLedgerIDLike: string;
    DiscountLedgerIDBetween: string[];
    DiscountLedgerIDIn: string[];
    DiscountTransID: string;
    DiscountTransIDStartsWith: string;
    DiscountTransIDEndsWith: string;
    DiscountTransIDContains: string;
    DiscountTransIDLike: string;
    DiscountTransIDBetween: string[];
    DiscountTransIDIn: string[];
    HomeTaxID: string;
    HomeTaxIDStartsWith: string;
    HomeTaxIDEndsWith: string;
    HomeTaxIDContains: string;
    HomeTaxIDLike: string;
    HomeTaxIDBetween: string[];
    HomeTaxIDIn: string[];
    HomeTaxRate: number;
    HomeTaxRateGreaterThanOrEqualTo: number;
    HomeTaxRateGreaterThan: number;
    HomeTaxRateLessThan: number;
    HomeTaxRateLessThanOrEqualTo: number;
    HomeTaxRateNotEqualTo: number;
    HomeTaxRateBetween: number[];
    HomeTaxRateIn: number[];
    HomeTaxAmount: number;
    HomeTaxAmountGreaterThanOrEqualTo: number;
    HomeTaxAmountGreaterThan: number;
    HomeTaxAmountLessThan: number;
    HomeTaxAmountLessThanOrEqualTo: number;
    HomeTaxAmountNotEqualTo: number;
    HomeTaxAmountBetween: number[];
    HomeTaxAmountIn: number[];
    DiscountTaxID: string;
    DiscountTaxIDStartsWith: string;
    DiscountTaxIDEndsWith: string;
    DiscountTaxIDContains: string;
    DiscountTaxIDLike: string;
    DiscountTaxIDBetween: string[];
    DiscountTaxIDIn: string[];
    DiscountTaxRate: number;
    DiscountTaxRateGreaterThanOrEqualTo: number;
    DiscountTaxRateGreaterThan: number;
    DiscountTaxRateLessThan: number;
    DiscountTaxRateLessThanOrEqualTo: number;
    DiscountTaxRateNotEqualTo: number;
    DiscountTaxRateBetween: number[];
    DiscountTaxRateIn: number[];
    DiscountTaxAmount: number;
    DiscountTaxAmountGreaterThanOrEqualTo: number;
    DiscountTaxAmountGreaterThan: number;
    DiscountTaxAmountLessThan: number;
    DiscountTaxAmountLessThanOrEqualTo: number;
    DiscountTaxAmountNotEqualTo: number;
    DiscountTaxAmountBetween: number[];
    DiscountTaxAmountIn: number[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    createResponse() { return new QueryResponse<DB_BatchTranLines>(); }
    getTypeName() { return "DB_BatchTranLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_BatchTransQuery extends QueryDb<DB_BatchTrans> implements IReturn<QueryResponse<DB_BatchTrans>>
{
    ReceiptID: string;
    ReceiptIDStartsWith: string;
    ReceiptIDEndsWith: string;
    ReceiptIDContains: string;
    ReceiptIDLike: string;
    ReceiptIDBetween: string[];
    ReceiptIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    JiwaUser: string;
    JiwaUserStartsWith: string;
    JiwaUserEndsWith: string;
    JiwaUserContains: string;
    JiwaUserLike: string;
    JiwaUserBetween: string[];
    JiwaUserIn: string[];
    ReceiptDate: string;
    ReceiptDateGreaterThanOrEqualTo: string;
    ReceiptDateGreaterThan: string;
    ReceiptDateLessThan: string;
    ReceiptDateLessThanOrEqualTo: string;
    ReceiptDateNotEqualTo: string;
    ReceiptDateBetween: string[];
    ReceiptDateIn: string[];
    BatchNum: string;
    BatchNumStartsWith: string;
    BatchNumEndsWith: string;
    BatchNumContains: string;
    BatchNumLike: string;
    BatchNumBetween: string[];
    BatchNumIn: string[];
    ReceiptType: number;
    ReceiptTypeGreaterThanOrEqualTo: number;
    ReceiptTypeGreaterThan: number;
    ReceiptTypeLessThan: number;
    ReceiptTypeLessThanOrEqualTo: number;
    ReceiptTypeNotEqualTo: number;
    ReceiptTypeBetween: number[];
    ReceiptTypeIn: number[];
    ReceiptStatus: number;
    ReceiptStatusGreaterThanOrEqualTo: number;
    ReceiptStatusGreaterThan: number;
    ReceiptStatusLessThan: number;
    ReceiptStatusLessThanOrEqualTo: number;
    ReceiptStatusNotEqualTo: number;
    ReceiptStatusBetween: number[];
    ReceiptStatusIn: number[];
    BatchType: number;
    BatchTypeGreaterThanOrEqualTo: number;
    BatchTypeGreaterThan: number;
    BatchTypeLessThan: number;
    BatchTypeLessThanOrEqualTo: number;
    BatchTypeNotEqualTo: number;
    BatchTypeBetween: number[];
    BatchTypeIn: number[];
    RepeatingType: number;
    RepeatingTypeGreaterThanOrEqualTo: number;
    RepeatingTypeGreaterThan: number;
    RepeatingTypeLessThan: number;
    RepeatingTypeLessThanOrEqualTo: number;
    RepeatingTypeNotEqualTo: number;
    RepeatingTypeBetween: number[];
    RepeatingTypeIn: number[];
    RepeatingUnits: number;
    RepeatingUnitsGreaterThanOrEqualTo: number;
    RepeatingUnitsGreaterThan: number;
    RepeatingUnitsLessThan: number;
    RepeatingUnitsLessThanOrEqualTo: number;
    RepeatingUnitsNotEqualTo: number;
    RepeatingUnitsBetween: number[];
    RepeatingUnitsIn: number[];
    NextRepeatingDate: string;
    NextRepeatingDateGreaterThanOrEqualTo: string;
    NextRepeatingDateGreaterThan: string;
    NextRepeatingDateLessThan: string;
    NextRepeatingDateLessThanOrEqualTo: string;
    NextRepeatingDateNotEqualTo: string;
    NextRepeatingDateBetween: string[];
    NextRepeatingDateIn: string[];
    RepeatingWillEnd: boolean;
    RepeatingEndDate: string;
    RepeatingEndDateGreaterThanOrEqualTo: string;
    RepeatingEndDateGreaterThan: string;
    RepeatingEndDateLessThan: string;
    RepeatingEndDateLessThanOrEqualTo: string;
    RepeatingEndDateNotEqualTo: string;
    RepeatingEndDateBetween: string[];
    RepeatingEndDateIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastSaved_HR_Staff_RecID: string;
    LastSaved_HR_Staff_RecIDStartsWith: string;
    LastSaved_HR_Staff_RecIDEndsWith: string;
    LastSaved_HR_Staff_RecIDContains: string;
    LastSaved_HR_Staff_RecIDLike: string;
    LastSaved_HR_Staff_RecIDBetween: string[];
    LastSaved_HR_Staff_RecIDIn: string[];
    createResponse() { return new QueryResponse<DB_BatchTrans>(); }
    getTypeName() { return "DB_BatchTransQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_BudgetQuery extends QueryDb<DB_Budget> implements IReturn<QueryResponse<DB_Budget>>
{
    BudgetID: string;
    BudgetIDStartsWith: string;
    BudgetIDEndsWith: string;
    BudgetIDContains: string;
    BudgetIDLike: string;
    BudgetIDBetween: string[];
    BudgetIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    LastBudget1: number;
    LastBudget1GreaterThanOrEqualTo: number;
    LastBudget1GreaterThan: number;
    LastBudget1LessThan: number;
    LastBudget1LessThanOrEqualTo: number;
    LastBudget1NotEqualTo: number;
    LastBudget1Between: number[];
    LastBudget1In: number[];
    LastBudget2: number;
    LastBudget2GreaterThanOrEqualTo: number;
    LastBudget2GreaterThan: number;
    LastBudget2LessThan: number;
    LastBudget2LessThanOrEqualTo: number;
    LastBudget2NotEqualTo: number;
    LastBudget2Between: number[];
    LastBudget2In: number[];
    LastBudget3: number;
    LastBudget3GreaterThanOrEqualTo: number;
    LastBudget3GreaterThan: number;
    LastBudget3LessThan: number;
    LastBudget3LessThanOrEqualTo: number;
    LastBudget3NotEqualTo: number;
    LastBudget3Between: number[];
    LastBudget3In: number[];
    LastBudget4: number;
    LastBudget4GreaterThanOrEqualTo: number;
    LastBudget4GreaterThan: number;
    LastBudget4LessThan: number;
    LastBudget4LessThanOrEqualTo: number;
    LastBudget4NotEqualTo: number;
    LastBudget4Between: number[];
    LastBudget4In: number[];
    LastBudget5: number;
    LastBudget5GreaterThanOrEqualTo: number;
    LastBudget5GreaterThan: number;
    LastBudget5LessThan: number;
    LastBudget5LessThanOrEqualTo: number;
    LastBudget5NotEqualTo: number;
    LastBudget5Between: number[];
    LastBudget5In: number[];
    LastBudget6: number;
    LastBudget6GreaterThanOrEqualTo: number;
    LastBudget6GreaterThan: number;
    LastBudget6LessThan: number;
    LastBudget6LessThanOrEqualTo: number;
    LastBudget6NotEqualTo: number;
    LastBudget6Between: number[];
    LastBudget6In: number[];
    LastBudget7: number;
    LastBudget7GreaterThanOrEqualTo: number;
    LastBudget7GreaterThan: number;
    LastBudget7LessThan: number;
    LastBudget7LessThanOrEqualTo: number;
    LastBudget7NotEqualTo: number;
    LastBudget7Between: number[];
    LastBudget7In: number[];
    LastBudget8: number;
    LastBudget8GreaterThanOrEqualTo: number;
    LastBudget8GreaterThan: number;
    LastBudget8LessThan: number;
    LastBudget8LessThanOrEqualTo: number;
    LastBudget8NotEqualTo: number;
    LastBudget8Between: number[];
    LastBudget8In: number[];
    LastBudget9: number;
    LastBudget9GreaterThanOrEqualTo: number;
    LastBudget9GreaterThan: number;
    LastBudget9LessThan: number;
    LastBudget9LessThanOrEqualTo: number;
    LastBudget9NotEqualTo: number;
    LastBudget9Between: number[];
    LastBudget9In: number[];
    LastBudget10: number;
    LastBudget10GreaterThanOrEqualTo: number;
    LastBudget10GreaterThan: number;
    LastBudget10LessThan: number;
    LastBudget10LessThanOrEqualTo: number;
    LastBudget10NotEqualTo: number;
    LastBudget10Between: number[];
    LastBudget10In: number[];
    LastBudget11: number;
    LastBudget11GreaterThanOrEqualTo: number;
    LastBudget11GreaterThan: number;
    LastBudget11LessThan: number;
    LastBudget11LessThanOrEqualTo: number;
    LastBudget11NotEqualTo: number;
    LastBudget11Between: number[];
    LastBudget11In: number[];
    LastBudget12: number;
    LastBudget12GreaterThanOrEqualTo: number;
    LastBudget12GreaterThan: number;
    LastBudget12LessThan: number;
    LastBudget12LessThanOrEqualTo: number;
    LastBudget12NotEqualTo: number;
    LastBudget12Between: number[];
    LastBudget12In: number[];
    CurrBudget1: number;
    CurrBudget1GreaterThanOrEqualTo: number;
    CurrBudget1GreaterThan: number;
    CurrBudget1LessThan: number;
    CurrBudget1LessThanOrEqualTo: number;
    CurrBudget1NotEqualTo: number;
    CurrBudget1Between: number[];
    CurrBudget1In: number[];
    CurrBudget2: number;
    CurrBudget2GreaterThanOrEqualTo: number;
    CurrBudget2GreaterThan: number;
    CurrBudget2LessThan: number;
    CurrBudget2LessThanOrEqualTo: number;
    CurrBudget2NotEqualTo: number;
    CurrBudget2Between: number[];
    CurrBudget2In: number[];
    CurrBudget3: number;
    CurrBudget3GreaterThanOrEqualTo: number;
    CurrBudget3GreaterThan: number;
    CurrBudget3LessThan: number;
    CurrBudget3LessThanOrEqualTo: number;
    CurrBudget3NotEqualTo: number;
    CurrBudget3Between: number[];
    CurrBudget3In: number[];
    CurrBudget4: number;
    CurrBudget4GreaterThanOrEqualTo: number;
    CurrBudget4GreaterThan: number;
    CurrBudget4LessThan: number;
    CurrBudget4LessThanOrEqualTo: number;
    CurrBudget4NotEqualTo: number;
    CurrBudget4Between: number[];
    CurrBudget4In: number[];
    CurrBudget5: number;
    CurrBudget5GreaterThanOrEqualTo: number;
    CurrBudget5GreaterThan: number;
    CurrBudget5LessThan: number;
    CurrBudget5LessThanOrEqualTo: number;
    CurrBudget5NotEqualTo: number;
    CurrBudget5Between: number[];
    CurrBudget5In: number[];
    CurrBudget6: number;
    CurrBudget6GreaterThanOrEqualTo: number;
    CurrBudget6GreaterThan: number;
    CurrBudget6LessThan: number;
    CurrBudget6LessThanOrEqualTo: number;
    CurrBudget6NotEqualTo: number;
    CurrBudget6Between: number[];
    CurrBudget6In: number[];
    CurrBudget7: number;
    CurrBudget7GreaterThanOrEqualTo: number;
    CurrBudget7GreaterThan: number;
    CurrBudget7LessThan: number;
    CurrBudget7LessThanOrEqualTo: number;
    CurrBudget7NotEqualTo: number;
    CurrBudget7Between: number[];
    CurrBudget7In: number[];
    CurrBudget8: number;
    CurrBudget8GreaterThanOrEqualTo: number;
    CurrBudget8GreaterThan: number;
    CurrBudget8LessThan: number;
    CurrBudget8LessThanOrEqualTo: number;
    CurrBudget8NotEqualTo: number;
    CurrBudget8Between: number[];
    CurrBudget8In: number[];
    CurrBudget9: number;
    CurrBudget9GreaterThanOrEqualTo: number;
    CurrBudget9GreaterThan: number;
    CurrBudget9LessThan: number;
    CurrBudget9LessThanOrEqualTo: number;
    CurrBudget9NotEqualTo: number;
    CurrBudget9Between: number[];
    CurrBudget9In: number[];
    CurrBudget10: number;
    CurrBudget10GreaterThanOrEqualTo: number;
    CurrBudget10GreaterThan: number;
    CurrBudget10LessThan: number;
    CurrBudget10LessThanOrEqualTo: number;
    CurrBudget10NotEqualTo: number;
    CurrBudget10Between: number[];
    CurrBudget10In: number[];
    CurrBudget11: number;
    CurrBudget11GreaterThanOrEqualTo: number;
    CurrBudget11GreaterThan: number;
    CurrBudget11LessThan: number;
    CurrBudget11LessThanOrEqualTo: number;
    CurrBudget11NotEqualTo: number;
    CurrBudget11Between: number[];
    CurrBudget11In: number[];
    CurrBudget12: number;
    CurrBudget12GreaterThanOrEqualTo: number;
    CurrBudget12GreaterThan: number;
    CurrBudget12LessThan: number;
    CurrBudget12LessThanOrEqualTo: number;
    CurrBudget12NotEqualTo: number;
    CurrBudget12Between: number[];
    CurrBudget12In: number[];
    NextBudget1: number;
    NextBudget1GreaterThanOrEqualTo: number;
    NextBudget1GreaterThan: number;
    NextBudget1LessThan: number;
    NextBudget1LessThanOrEqualTo: number;
    NextBudget1NotEqualTo: number;
    NextBudget1Between: number[];
    NextBudget1In: number[];
    NextBudget2: number;
    NextBudget2GreaterThanOrEqualTo: number;
    NextBudget2GreaterThan: number;
    NextBudget2LessThan: number;
    NextBudget2LessThanOrEqualTo: number;
    NextBudget2NotEqualTo: number;
    NextBudget2Between: number[];
    NextBudget2In: number[];
    NextBudget3: number;
    NextBudget3GreaterThanOrEqualTo: number;
    NextBudget3GreaterThan: number;
    NextBudget3LessThan: number;
    NextBudget3LessThanOrEqualTo: number;
    NextBudget3NotEqualTo: number;
    NextBudget3Between: number[];
    NextBudget3In: number[];
    NextBudget4: number;
    NextBudget4GreaterThanOrEqualTo: number;
    NextBudget4GreaterThan: number;
    NextBudget4LessThan: number;
    NextBudget4LessThanOrEqualTo: number;
    NextBudget4NotEqualTo: number;
    NextBudget4Between: number[];
    NextBudget4In: number[];
    NextBudget5: number;
    NextBudget5GreaterThanOrEqualTo: number;
    NextBudget5GreaterThan: number;
    NextBudget5LessThan: number;
    NextBudget5LessThanOrEqualTo: number;
    NextBudget5NotEqualTo: number;
    NextBudget5Between: number[];
    NextBudget5In: number[];
    NextBudget6: number;
    NextBudget6GreaterThanOrEqualTo: number;
    NextBudget6GreaterThan: number;
    NextBudget6LessThan: number;
    NextBudget6LessThanOrEqualTo: number;
    NextBudget6NotEqualTo: number;
    NextBudget6Between: number[];
    NextBudget6In: number[];
    NextBudget7: number;
    NextBudget7GreaterThanOrEqualTo: number;
    NextBudget7GreaterThan: number;
    NextBudget7LessThan: number;
    NextBudget7LessThanOrEqualTo: number;
    NextBudget7NotEqualTo: number;
    NextBudget7Between: number[];
    NextBudget7In: number[];
    NextBudget8: number;
    NextBudget8GreaterThanOrEqualTo: number;
    NextBudget8GreaterThan: number;
    NextBudget8LessThan: number;
    NextBudget8LessThanOrEqualTo: number;
    NextBudget8NotEqualTo: number;
    NextBudget8Between: number[];
    NextBudget8In: number[];
    NextBudget9: number;
    NextBudget9GreaterThanOrEqualTo: number;
    NextBudget9GreaterThan: number;
    NextBudget9LessThan: number;
    NextBudget9LessThanOrEqualTo: number;
    NextBudget9NotEqualTo: number;
    NextBudget9Between: number[];
    NextBudget9In: number[];
    NextBudget10: number;
    NextBudget10GreaterThanOrEqualTo: number;
    NextBudget10GreaterThan: number;
    NextBudget10LessThan: number;
    NextBudget10LessThanOrEqualTo: number;
    NextBudget10NotEqualTo: number;
    NextBudget10Between: number[];
    NextBudget10In: number[];
    NextBudget11: number;
    NextBudget11GreaterThanOrEqualTo: number;
    NextBudget11GreaterThan: number;
    NextBudget11LessThan: number;
    NextBudget11LessThanOrEqualTo: number;
    NextBudget11NotEqualTo: number;
    NextBudget11Between: number[];
    NextBudget11In: number[];
    NextBudget12: number;
    NextBudget12GreaterThanOrEqualTo: number;
    NextBudget12GreaterThan: number;
    NextBudget12LessThan: number;
    NextBudget12LessThanOrEqualTo: number;
    NextBudget12NotEqualTo: number;
    NextBudget12Between: number[];
    NextBudget12In: number[];
    createResponse() { return new QueryResponse<DB_Budget>(); }
    getTypeName() { return "DB_BudgetQuery"; }
}

// @Route("/Queries/DB_Categories", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_CategoriesQuery extends QueryDb<DB_Categories> implements IReturn<QueryResponse<DB_Categories>>
{
    CategoryNo: number;
    CategoryNoGreaterThanOrEqualTo: number;
    CategoryNoGreaterThan: number;
    CategoryNoLessThan: number;
    CategoryNoLessThanOrEqualTo: number;
    CategoryNoNotEqualTo: number;
    CategoryNoBetween: number[];
    CategoryNoIn: number[];
    CategoryID: string;
    CategoryIDStartsWith: string;
    CategoryIDEndsWith: string;
    CategoryIDContains: string;
    CategoryIDLike: string;
    CategoryIDBetween: string[];
    CategoryIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_Categories>(); }
    getTypeName() { return "DB_CategoriesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_Category1Query extends QueryDb<DB_Category1> implements IReturn<QueryResponse<DB_Category1>>
{
    Category1ID: string;
    Category1IDStartsWith: string;
    Category1IDEndsWith: string;
    Category1IDContains: string;
    Category1IDLike: string;
    Category1IDBetween: string[];
    Category1IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_Category1>(); }
    getTypeName() { return "DB_Category1Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_Category2Query extends QueryDb<DB_Category2> implements IReturn<QueryResponse<DB_Category2>>
{
    Category2ID: string;
    Category2IDStartsWith: string;
    Category2IDEndsWith: string;
    Category2IDContains: string;
    Category2IDLike: string;
    Category2IDBetween: string[];
    Category2IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_Category2>(); }
    getTypeName() { return "DB_Category2Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_Category3Query extends QueryDb<DB_Category3> implements IReturn<QueryResponse<DB_Category3>>
{
    Category3ID: string;
    Category3IDStartsWith: string;
    Category3IDEndsWith: string;
    Category3IDContains: string;
    Category3IDLike: string;
    Category3IDBetween: string[];
    Category3IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_Category3>(); }
    getTypeName() { return "DB_Category3Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_Category4Query extends QueryDb<DB_Category4> implements IReturn<QueryResponse<DB_Category4>>
{
    Category4ID: string;
    Category4IDStartsWith: string;
    Category4IDEndsWith: string;
    Category4IDContains: string;
    Category4IDLike: string;
    Category4IDBetween: string[];
    Category4IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_Category4>(); }
    getTypeName() { return "DB_Category4Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_Category5Query extends QueryDb<DB_Category5> implements IReturn<QueryResponse<DB_Category5>>
{
    Category5ID: string;
    Category5IDStartsWith: string;
    Category5IDEndsWith: string;
    Category5IDContains: string;
    Category5IDLike: string;
    Category5IDBetween: string[];
    Category5IDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultCategory: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_Category5>(); }
    getTypeName() { return "DB_Category5Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_ClassQuery extends QueryDb<DB_Class> implements IReturn<QueryResponse<DB_Class>>
{
    Class: string;
    ClassStartsWith: string;
    ClassEndsWith: string;
    ClassContains: string;
    ClassLike: string;
    ClassBetween: string[];
    ClassIn: string[];
    createResponse() { return new QueryResponse<DB_Class>(); }
    getTypeName() { return "DB_ClassQuery"; }
}

// @Route("/Queries/DB_Classification", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_ClassificationQuery extends QueryDb<DB_Classification> implements IReturn<QueryResponse<DB_Classification>>
{
    DebtorClassificationID: string;
    DebtorClassificationIDStartsWith: string;
    DebtorClassificationIDEndsWith: string;
    DebtorClassificationIDContains: string;
    DebtorClassificationIDLike: string;
    DebtorClassificationIDBetween: string[];
    DebtorClassificationIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LedgerIDDebtorControl: string;
    LedgerIDDebtorControlStartsWith: string;
    LedgerIDDebtorControlEndsWith: string;
    LedgerIDDebtorControlContains: string;
    LedgerIDDebtorControlLike: string;
    LedgerIDDebtorControlBetween: string[];
    LedgerIDDebtorControlIn: string[];
    LedgerIDDebtorSales: string;
    LedgerIDDebtorSalesStartsWith: string;
    LedgerIDDebtorSalesEndsWith: string;
    LedgerIDDebtorSalesContains: string;
    LedgerIDDebtorSalesLike: string;
    LedgerIDDebtorSalesBetween: string[];
    LedgerIDDebtorSalesIn: string[];
    LedgerIDDebtorDiscounts: string;
    LedgerIDDebtorDiscountsStartsWith: string;
    LedgerIDDebtorDiscountsEndsWith: string;
    LedgerIDDebtorDiscountsContains: string;
    LedgerIDDebtorDiscountsLike: string;
    LedgerIDDebtorDiscountsBetween: string[];
    LedgerIDDebtorDiscountsIn: string[];
    LedgerIDDebtorSourcedInvoices: string;
    LedgerIDDebtorSourcedInvoicesStartsWith: string;
    LedgerIDDebtorSourcedInvoicesEndsWith: string;
    LedgerIDDebtorSourcedInvoicesContains: string;
    LedgerIDDebtorSourcedInvoicesLike: string;
    LedgerIDDebtorSourcedInvoicesBetween: string[];
    LedgerIDDebtorSourcedInvoicesIn: string[];
    LedgerIDDebtorDebitAdjustment: string;
    LedgerIDDebtorDebitAdjustmentStartsWith: string;
    LedgerIDDebtorDebitAdjustmentEndsWith: string;
    LedgerIDDebtorDebitAdjustmentContains: string;
    LedgerIDDebtorDebitAdjustmentLike: string;
    LedgerIDDebtorDebitAdjustmentBetween: string[];
    LedgerIDDebtorDebitAdjustmentIn: string[];
    LedgerIDDebtorSourcedReceipts: string;
    LedgerIDDebtorSourcedReceiptsStartsWith: string;
    LedgerIDDebtorSourcedReceiptsEndsWith: string;
    LedgerIDDebtorSourcedReceiptsContains: string;
    LedgerIDDebtorSourcedReceiptsLike: string;
    LedgerIDDebtorSourcedReceiptsBetween: string[];
    LedgerIDDebtorSourcedReceiptsIn: string[];
    LedgerIDDebtorCreditAdjustment: string;
    LedgerIDDebtorCreditAdjustmentStartsWith: string;
    LedgerIDDebtorCreditAdjustmentEndsWith: string;
    LedgerIDDebtorCreditAdjustmentContains: string;
    LedgerIDDebtorCreditAdjustmentLike: string;
    LedgerIDDebtorCreditAdjustmentBetween: string[];
    LedgerIDDebtorCreditAdjustmentIn: string[];
    LedgerIDDebtorFreight: string;
    LedgerIDDebtorFreightStartsWith: string;
    LedgerIDDebtorFreightEndsWith: string;
    LedgerIDDebtorFreightContains: string;
    LedgerIDDebtorFreightLike: string;
    LedgerIDDebtorFreightBetween: string[];
    LedgerIDDebtorFreightIn: string[];
    LedgerIDDebtorInsurance: string;
    LedgerIDDebtorInsuranceStartsWith: string;
    LedgerIDDebtorInsuranceEndsWith: string;
    LedgerIDDebtorInsuranceContains: string;
    LedgerIDDebtorInsuranceLike: string;
    LedgerIDDebtorInsuranceBetween: string[];
    LedgerIDDebtorInsuranceIn: string[];
    TermsDays: number;
    TermsDaysGreaterThanOrEqualTo: number;
    TermsDaysGreaterThan: number;
    TermsDaysLessThan: number;
    TermsDaysLessThanOrEqualTo: number;
    TermsDaysNotEqualTo: number;
    TermsDaysBetween: number[];
    TermsDaysIn: number[];
    TermsType: number;
    TermsTypeGreaterThanOrEqualTo: number;
    TermsTypeGreaterThan: number;
    TermsTypeLessThan: number;
    TermsTypeLessThanOrEqualTo: number;
    TermsTypeNotEqualTo: number;
    TermsTypeBetween: number[];
    TermsTypeIn: number[];
    PriceSchemeID: string;
    PriceSchemeIDStartsWith: string;
    PriceSchemeIDEndsWith: string;
    PriceSchemeIDContains: string;
    PriceSchemeIDLike: string;
    PriceSchemeIDBetween: string[];
    PriceSchemeIDIn: string[];
    PricingGroupID: string;
    PricingGroupIDStartsWith: string;
    PricingGroupIDEndsWith: string;
    PricingGroupIDContains: string;
    PricingGroupIDLike: string;
    PricingGroupIDBetween: string[];
    PricingGroupIDIn: string[];
    LedgerIDDebtorRealisedGainLoss: string;
    LedgerIDDebtorRealisedGainLossStartsWith: string;
    LedgerIDDebtorRealisedGainLossEndsWith: string;
    LedgerIDDebtorRealisedGainLossContains: string;
    LedgerIDDebtorRealisedGainLossLike: string;
    LedgerIDDebtorRealisedGainLossBetween: string[];
    LedgerIDDebtorRealisedGainLossIn: string[];
    LedgerIDDebtorUnRealisedGainLoss: string;
    LedgerIDDebtorUnRealisedGainLossStartsWith: string;
    LedgerIDDebtorUnRealisedGainLossEndsWith: string;
    LedgerIDDebtorUnRealisedGainLossContains: string;
    LedgerIDDebtorUnRealisedGainLossLike: string;
    LedgerIDDebtorUnRealisedGainLossBetween: string[];
    LedgerIDDebtorUnRealisedGainLossIn: string[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<DB_Classification>(); }
    getTypeName() { return "DB_ClassificationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_CreditNotesQuery extends QueryDb<DB_CreditNotes> implements IReturn<QueryResponse<DB_CreditNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<DB_CreditNotes>(); }
    getTypeName() { return "DB_CreditNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_CustomSettingQuery extends QueryDb<DB_CustomSetting> implements IReturn<QueryResponse<DB_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<DB_CustomSetting>(); }
    getTypeName() { return "DB_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_CustomSettingValuesQuery extends QueryDb<DB_CustomSettingValues> implements IReturn<QueryResponse<DB_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_CustomSettingValues>(); }
    getTypeName() { return "DB_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DebtorSystemFieldValuesQuery extends QueryDb<DB_DebtorSystemFieldValues> implements IReturn<QueryResponse<DB_DebtorSystemFieldValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DB_DebtorSystemTemplateFields_RecID: string;
    DB_DebtorSystemTemplateFields_RecIDStartsWith: string;
    DB_DebtorSystemTemplateFields_RecIDEndsWith: string;
    DB_DebtorSystemTemplateFields_RecIDContains: string;
    DB_DebtorSystemTemplateFields_RecIDLike: string;
    DB_DebtorSystemTemplateFields_RecIDBetween: string[];
    DB_DebtorSystemTemplateFields_RecIDIn: string[];
    DB_DebtorSystems_RecID: string;
    DB_DebtorSystems_RecIDStartsWith: string;
    DB_DebtorSystems_RecIDEndsWith: string;
    DB_DebtorSystems_RecIDContains: string;
    DB_DebtorSystems_RecIDLike: string;
    DB_DebtorSystems_RecIDBetween: string[];
    DB_DebtorSystems_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    createResponse() { return new QueryResponse<DB_DebtorSystemFieldValues>(); }
    getTypeName() { return "DB_DebtorSystemFieldValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DebtorSystemsQuery extends QueryDb<DB_DebtorSystems> implements IReturn<QueryResponse<DB_DebtorSystems>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DB_DebtorSystemTemplates_RecID: string;
    DB_DebtorSystemTemplates_RecIDStartsWith: string;
    DB_DebtorSystemTemplates_RecIDEndsWith: string;
    DB_DebtorSystemTemplates_RecIDContains: string;
    DB_DebtorSystemTemplates_RecIDLike: string;
    DB_DebtorSystemTemplates_RecIDBetween: string[];
    DB_DebtorSystemTemplates_RecIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<DB_DebtorSystems>(); }
    getTypeName() { return "DB_DebtorSystemsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DebtorSystemTemplateDefaultReferenceQuery extends QueryDb<DB_DebtorSystemTemplateDefaultReference> implements IReturn<QueryResponse<DB_DebtorSystemTemplateDefaultReference>>
{
    RecID: string;
    RecIDIn: string[];
    AssemblyFullName: string;
    AssemblyFullNameStartsWith: string;
    AssemblyFullNameEndsWith: string;
    AssemblyFullNameContains: string;
    AssemblyFullNameLike: string;
    AssemblyFullNameBetween: string[];
    AssemblyFullNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<DB_DebtorSystemTemplateDefaultReference>(); }
    getTypeName() { return "DB_DebtorSystemTemplateDefaultReferenceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DebtorSystemTemplateFieldsQuery extends QueryDb<DB_DebtorSystemTemplateFields> implements IReturn<QueryResponse<DB_DebtorSystemTemplateFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DB_DebtorSystemTemplates_RecID: string;
    DB_DebtorSystemTemplates_RecIDStartsWith: string;
    DB_DebtorSystemTemplates_RecIDEndsWith: string;
    DB_DebtorSystemTemplates_RecIDContains: string;
    DB_DebtorSystemTemplates_RecIDLike: string;
    DB_DebtorSystemTemplates_RecIDBetween: string[];
    DB_DebtorSystemTemplates_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    FieldType: number;
    FieldTypeGreaterThanOrEqualTo: number;
    FieldTypeGreaterThan: number;
    FieldTypeLessThan: number;
    FieldTypeLessThanOrEqualTo: number;
    FieldTypeNotEqualTo: number;
    FieldTypeBetween: number[];
    FieldTypeIn: number[];
    ComboText: string;
    ComboTextStartsWith: string;
    ComboTextEndsWith: string;
    ComboTextContains: string;
    ComboTextLike: string;
    ComboTextBetween: string[];
    ComboTextIn: string[];
    DefaultValue: string;
    DefaultValueStartsWith: string;
    DefaultValueEndsWith: string;
    DefaultValueContains: string;
    DefaultValueLike: string;
    DefaultValueBetween: string[];
    DefaultValueIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<DB_DebtorSystemTemplateFields>(); }
    getTypeName() { return "DB_DebtorSystemTemplateFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DebtorSystemTemplateFieldsReferencesQuery extends QueryDb<DB_DebtorSystemTemplateFieldsReferences> implements IReturn<QueryResponse<DB_DebtorSystemTemplateFieldsReferences>>
{
    RecID: string;
    RecIDIn: string[];
    DebtorSystemTemplateFieldID: string;
    DebtorSystemTemplateFieldIDStartsWith: string;
    DebtorSystemTemplateFieldIDEndsWith: string;
    DebtorSystemTemplateFieldIDContains: string;
    DebtorSystemTemplateFieldIDLike: string;
    DebtorSystemTemplateFieldIDBetween: string[];
    DebtorSystemTemplateFieldIDIn: string[];
    AssemblyFullName: string;
    AssemblyFullNameStartsWith: string;
    AssemblyFullNameEndsWith: string;
    AssemblyFullNameContains: string;
    AssemblyFullNameLike: string;
    AssemblyFullNameBetween: string[];
    AssemblyFullNameIn: string[];
    AssemblyName: string;
    AssemblyNameStartsWith: string;
    AssemblyNameEndsWith: string;
    AssemblyNameContains: string;
    AssemblyNameLike: string;
    AssemblyNameBetween: string[];
    AssemblyNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<DB_DebtorSystemTemplateFieldsReferences>(); }
    getTypeName() { return "DB_DebtorSystemTemplateFieldsReferencesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DebtorSystemTemplateReferenceQuery extends QueryDb<DB_DebtorSystemTemplateReference> implements IReturn<QueryResponse<DB_DebtorSystemTemplateReference>>
{
    RecID: string;
    RecIDIn: string[];
    DB_DebtorSystemTemplates_RecID: string;
    DB_DebtorSystemTemplates_RecIDStartsWith: string;
    DB_DebtorSystemTemplates_RecIDEndsWith: string;
    DB_DebtorSystemTemplates_RecIDContains: string;
    DB_DebtorSystemTemplates_RecIDLike: string;
    DB_DebtorSystemTemplates_RecIDBetween: string[];
    DB_DebtorSystemTemplates_RecIDIn: string[];
    AssemblyFullName: string;
    AssemblyFullNameStartsWith: string;
    AssemblyFullNameEndsWith: string;
    AssemblyFullNameContains: string;
    AssemblyFullNameLike: string;
    AssemblyFullNameBetween: string[];
    AssemblyFullNameIn: string[];
    AssemblyName: string;
    AssemblyNameStartsWith: string;
    AssemblyNameEndsWith: string;
    AssemblyNameContains: string;
    AssemblyNameLike: string;
    AssemblyNameBetween: string[];
    AssemblyNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<DB_DebtorSystemTemplateReference>(); }
    getTypeName() { return "DB_DebtorSystemTemplateReferenceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DebtorSystemTemplatesQuery extends QueryDb<DB_DebtorSystemTemplates> implements IReturn<QueryResponse<DB_DebtorSystemTemplates>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Enabled: boolean;
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Code: string;
    CodeStartsWith: string;
    CodeEndsWith: string;
    CodeContains: string;
    CodeLike: string;
    CodeBetween: string[];
    CodeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<DB_DebtorSystemTemplates>(); }
    getTypeName() { return "DB_DebtorSystemTemplatesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DeliveryAddressQuery extends QueryDb<DB_DeliveryAddress> implements IReturn<QueryResponse<DB_DeliveryAddress>>
{
    DeliveryID: string;
    DeliveryIDStartsWith: string;
    DeliveryIDEndsWith: string;
    DeliveryIDContains: string;
    DeliveryIDLike: string;
    DeliveryIDBetween: string[];
    DeliveryIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    CourierDetails: string;
    CourierDetailsStartsWith: string;
    CourierDetailsEndsWith: string;
    CourierDetailsContains: string;
    CourierDetailsLike: string;
    CourierDetailsBetween: string[];
    CourierDetailsIn: string[];
    DefaultItem: boolean;
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    EDIStoreLocationCode: string;
    EDIStoreLocationCodeStartsWith: string;
    EDIStoreLocationCodeEndsWith: string;
    EDIStoreLocationCodeContains: string;
    EDIStoreLocationCodeLike: string;
    EDIStoreLocationCodeBetween: string[];
    EDIStoreLocationCodeIn: string[];
    DeliveryAddressCode: string;
    DeliveryAddressCodeStartsWith: string;
    DeliveryAddressCodeEndsWith: string;
    DeliveryAddressCodeContains: string;
    DeliveryAddressCodeLike: string;
    DeliveryAddressCodeBetween: string[];
    DeliveryAddressCodeIn: string[];
    DeliveryAddressName: string;
    DeliveryAddressNameStartsWith: string;
    DeliveryAddressNameEndsWith: string;
    DeliveryAddressNameContains: string;
    DeliveryAddressNameLike: string;
    DeliveryAddressNameBetween: string[];
    DeliveryAddressNameIn: string[];
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    createResponse() { return new QueryResponse<DB_DeliveryAddress>(); }
    getTypeName() { return "DB_DeliveryAddressQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DetailedGLAuditQuery extends QueryDb<DB_DetailedGLAudit> implements IReturn<QueryResponse<DB_DetailedGLAudit>>
{
    ReceiptID: string;
    ReceiptIDStartsWith: string;
    ReceiptIDEndsWith: string;
    ReceiptIDContains: string;
    ReceiptIDLike: string;
    ReceiptIDBetween: string[];
    ReceiptIDIn: string[];
    AccountID: string;
    AccountIDStartsWith: string;
    AccountIDEndsWith: string;
    AccountIDContains: string;
    AccountIDLike: string;
    AccountIDBetween: string[];
    AccountIDIn: string[];
    DBAccountNo: string;
    DBAccountNoStartsWith: string;
    DBAccountNoEndsWith: string;
    DBAccountNoContains: string;
    DBAccountNoLike: string;
    DBAccountNoBetween: string[];
    DBAccountNoIn: string[];
    RemitNo: string;
    RemitNoStartsWith: string;
    RemitNoEndsWith: string;
    RemitNoContains: string;
    RemitNoLike: string;
    RemitNoBetween: string[];
    RemitNoIn: string[];
    ReceiptDate: string;
    ReceiptDateGreaterThanOrEqualTo: string;
    ReceiptDateGreaterThan: string;
    ReceiptDateLessThan: string;
    ReceiptDateLessThanOrEqualTo: string;
    ReceiptDateNotEqualTo: string;
    ReceiptDateBetween: string[];
    ReceiptDateIn: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    SetType: number;
    SetTypeGreaterThanOrEqualTo: number;
    SetTypeGreaterThan: number;
    SetTypeLessThan: number;
    SetTypeLessThanOrEqualTo: number;
    SetTypeNotEqualTo: number;
    SetTypeBetween: number[];
    SetTypeIn: number[];
    GLSetID: string;
    GLSetIDStartsWith: string;
    GLSetIDEndsWith: string;
    GLSetIDContains: string;
    GLSetIDLike: string;
    GLSetIDBetween: string[];
    GLSetIDIn: string[];
    GLAccountNo: string;
    GLAccountNoStartsWith: string;
    GLAccountNoEndsWith: string;
    GLAccountNoContains: string;
    GLAccountNoLike: string;
    GLAccountNoBetween: string[];
    GLAccountNoIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    GLTransAmount: number;
    GLTransAmountGreaterThanOrEqualTo: number;
    GLTransAmountGreaterThan: number;
    GLTransAmountLessThan: number;
    GLTransAmountLessThanOrEqualTo: number;
    GLTransAmountNotEqualTo: number;
    GLTransAmountBetween: number[];
    GLTransAmountIn: number[];
    createResponse() { return new QueryResponse<DB_DetailedGLAudit>(); }
    getTypeName() { return "DB_DetailedGLAuditQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DirectorsQuery extends QueryDb<DB_Directors> implements IReturn<QueryResponse<DB_Directors>>
{
    DirectorID: string;
    DirectorIDStartsWith: string;
    DirectorIDEndsWith: string;
    DirectorIDContains: string;
    DirectorIDLike: string;
    DirectorIDBetween: string[];
    DirectorIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DirectorName: string;
    DirectorNameStartsWith: string;
    DirectorNameEndsWith: string;
    DirectorNameContains: string;
    DirectorNameLike: string;
    DirectorNameBetween: string[];
    DirectorNameIn: string[];
    Address: string;
    AddressStartsWith: string;
    AddressEndsWith: string;
    AddressContains: string;
    AddressLike: string;
    AddressBetween: string[];
    AddressIn: string[];
    OfficeHeld: string;
    OfficeHeldStartsWith: string;
    OfficeHeldEndsWith: string;
    OfficeHeldContains: string;
    OfficeHeldLike: string;
    OfficeHeldBetween: string[];
    OfficeHeldIn: string[];
    createResponse() { return new QueryResponse<DB_Directors>(); }
    getTypeName() { return "DB_DirectorsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_DocumentsQuery extends QueryDb<DB_Documents> implements IReturn<QueryResponse<DB_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<DB_Documents>(); }
    getTypeName() { return "DB_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_EDIMainQuery extends QueryDb<DB_EDIMain> implements IReturn<QueryResponse<DB_EDIMain>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    EDIEnabled: boolean;
    EDIAddress: string;
    EDIAddressStartsWith: string;
    EDIAddressEndsWith: string;
    EDIAddressContains: string;
    EDIAddressLike: string;
    EDIAddressBetween: string[];
    EDIAddressIn: string[];
    EDIOrderType: number;
    EDIOrderTypeGreaterThanOrEqualTo: number;
    EDIOrderTypeGreaterThan: number;
    EDIOrderTypeLessThan: number;
    EDIOrderTypeLessThanOrEqualTo: number;
    EDIOrderTypeNotEqualTo: number;
    EDIOrderTypeBetween: Uint8Array;
    EDIOrderTypeIn: Uint8Array;
    EDIPricesIncludeTax: boolean;
    createResponse() { return new QueryResponse<DB_EDIMain>(); }
    getTypeName() { return "DB_EDIMainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_FreightForwardAddressQuery extends QueryDb<DB_FreightForwardAddress> implements IReturn<QueryResponse<DB_FreightForwardAddress>>
{
    FreightForwardID: string;
    FreightForwardIDStartsWith: string;
    FreightForwardIDEndsWith: string;
    FreightForwardIDContains: string;
    FreightForwardIDLike: string;
    FreightForwardIDBetween: string[];
    FreightForwardIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    DefaultItem: boolean;
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    createResponse() { return new QueryResponse<DB_FreightForwardAddress>(); }
    getTypeName() { return "DB_FreightForwardAddressQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_GLAuditQuery extends QueryDb<DB_GLAudit> implements IReturn<QueryResponse<DB_GLAudit>>
{
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    LedgerValue: number;
    LedgerValueGreaterThanOrEqualTo: number;
    LedgerValueGreaterThan: number;
    LedgerValueLessThan: number;
    LedgerValueLessThanOrEqualTo: number;
    LedgerValueNotEqualTo: number;
    LedgerValueBetween: number[];
    LedgerValueIn: number[];
    ReportGroup: string;
    ReportGroupStartsWith: string;
    ReportGroupEndsWith: string;
    ReportGroupContains: string;
    ReportGroupLike: string;
    ReportGroupBetween: string[];
    ReportGroupIn: string[];
    createResponse() { return new QueryResponse<DB_GLAudit>(); }
    getTypeName() { return "DB_GLAuditQuery"; }
}

// @Route("/Queries/DB_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_MainQuery extends QueryDb<DB_Main> implements IReturn<QueryResponse<DB_Main>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAcc: string;
    BankAccStartsWith: string;
    BankAccEndsWith: string;
    BankAccContains: string;
    BankAccLike: string;
    BankAccBetween: string[];
    BankAccIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    AccountName: string;
    AccountNameStartsWith: string;
    AccountNameEndsWith: string;
    AccountNameContains: string;
    AccountNameLike: string;
    AccountNameBetween: string[];
    AccountNameIn: string[];
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    CreditLimit: number;
    CreditLimitGreaterThanOrEqualTo: number;
    CreditLimitGreaterThan: number;
    CreditLimitLessThan: number;
    CreditLimitLessThanOrEqualTo: number;
    CreditLimitNotEqualTo: number;
    CreditLimitBetween: number[];
    CreditLimitIn: number[];
    EarlyPayDisOnStatsDays: number;
    EarlyPayDisOnStatsDaysGreaterThanOrEqualTo: number;
    EarlyPayDisOnStatsDaysGreaterThan: number;
    EarlyPayDisOnStatsDaysLessThan: number;
    EarlyPayDisOnStatsDaysLessThanOrEqualTo: number;
    EarlyPayDisOnStatsDaysNotEqualTo: number;
    EarlyPayDisOnStatsDaysBetween: number[];
    EarlyPayDisOnStatsDaysIn: number[];
    EarlyPayDisOnStatsAmt: number;
    EarlyPayDisOnStatsAmtGreaterThanOrEqualTo: number;
    EarlyPayDisOnStatsAmtGreaterThan: number;
    EarlyPayDisOnStatsAmtLessThan: number;
    EarlyPayDisOnStatsAmtLessThanOrEqualTo: number;
    EarlyPayDisOnStatsAmtNotEqualTo: number;
    EarlyPayDisOnStatsAmtBetween: number[];
    EarlyPayDisOnStatsAmtIn: number[];
    LastPurchaseDate: string;
    LastPurchaseDateGreaterThanOrEqualTo: string;
    LastPurchaseDateGreaterThan: string;
    LastPurchaseDateLessThan: string;
    LastPurchaseDateLessThanOrEqualTo: string;
    LastPurchaseDateNotEqualTo: string;
    LastPurchaseDateBetween: string[];
    LastPurchaseDateIn: string[];
    LastPaymentDate: string;
    LastPaymentDateGreaterThanOrEqualTo: string;
    LastPaymentDateGreaterThan: string;
    LastPaymentDateLessThan: string;
    LastPaymentDateLessThanOrEqualTo: string;
    LastPaymentDateNotEqualTo: string;
    LastPaymentDateBetween: string[];
    LastPaymentDateIn: string[];
    StandingDisOnInvoices: number;
    StandingDisOnInvoicesGreaterThanOrEqualTo: number;
    StandingDisOnInvoicesGreaterThan: number;
    StandingDisOnInvoicesLessThan: number;
    StandingDisOnInvoicesLessThanOrEqualTo: number;
    StandingDisOnInvoicesNotEqualTo: number;
    StandingDisOnInvoicesBetween: number[];
    StandingDisOnInvoicesIn: number[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    AccountOnHold: boolean;
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    CurrentBalance: number;
    CurrentBalanceGreaterThanOrEqualTo: number;
    CurrentBalanceGreaterThan: number;
    CurrentBalanceLessThan: number;
    CurrentBalanceLessThanOrEqualTo: number;
    CurrentBalanceNotEqualTo: number;
    CurrentBalanceBetween: number[];
    CurrentBalanceIn: number[];
    Period1: number;
    Period1GreaterThanOrEqualTo: number;
    Period1GreaterThan: number;
    Period1LessThan: number;
    Period1LessThanOrEqualTo: number;
    Period1NotEqualTo: number;
    Period1Between: number[];
    Period1In: number[];
    Period2: number;
    Period2GreaterThanOrEqualTo: number;
    Period2GreaterThan: number;
    Period2LessThan: number;
    Period2LessThanOrEqualTo: number;
    Period2NotEqualTo: number;
    Period2Between: number[];
    Period2In: number[];
    Period3: number;
    Period3GreaterThanOrEqualTo: number;
    Period3GreaterThan: number;
    Period3LessThan: number;
    Period3LessThanOrEqualTo: number;
    Period3NotEqualTo: number;
    Period3Between: number[];
    Period3In: number[];
    Period4: number;
    Period4GreaterThanOrEqualTo: number;
    Period4GreaterThan: number;
    Period4LessThan: number;
    Period4LessThanOrEqualTo: number;
    Period4NotEqualTo: number;
    Period4Between: number[];
    Period4In: number[];
    AltAccountNo: string;
    AltAccountNoStartsWith: string;
    AltAccountNoEndsWith: string;
    AltAccountNoContains: string;
    AltAccountNoLike: string;
    AltAccountNoBetween: string[];
    AltAccountNoIn: string[];
    NotifyRequired: boolean;
    NotifyAddress: string;
    NotifyAddressStartsWith: string;
    NotifyAddressEndsWith: string;
    NotifyAddressContains: string;
    NotifyAddressLike: string;
    NotifyAddressBetween: string[];
    NotifyAddressIn: string[];
    CommenceDate: string;
    CommenceDateGreaterThanOrEqualTo: string;
    CommenceDateGreaterThan: string;
    CommenceDateLessThan: string;
    CommenceDateLessThanOrEqualTo: string;
    CommenceDateNotEqualTo: string;
    CommenceDateBetween: string[];
    CommenceDateIn: string[];
    WebAccess: boolean;
    ParentDebtorID: string;
    ParentDebtorIDStartsWith: string;
    ParentDebtorIDEndsWith: string;
    ParentDebtorIDContains: string;
    ParentDebtorIDLike: string;
    ParentDebtorIDBetween: string[];
    ParentDebtorIDIn: string[];
    AllocLastSavedDateTime: string;
    AllocLastSavedDateTimeGreaterThanOrEqualTo: string;
    AllocLastSavedDateTimeGreaterThan: string;
    AllocLastSavedDateTimeLessThan: string;
    AllocLastSavedDateTimeLessThanOrEqualTo: string;
    AllocLastSavedDateTimeNotEqualTo: string;
    AllocLastSavedDateTimeBetween: string[];
    AllocLastSavedDateTimeIn: string[];
    PriceSchemeID: string;
    PriceSchemeIDStartsWith: string;
    PriceSchemeIDEndsWith: string;
    PriceSchemeIDContains: string;
    PriceSchemeIDLike: string;
    PriceSchemeIDBetween: string[];
    PriceSchemeIDIn: string[];
    AustPostDPID: string;
    AustPostDPIDStartsWith: string;
    AustPostDPIDEndsWith: string;
    AustPostDPIDContains: string;
    AustPostDPIDLike: string;
    AustPostDPIDBetween: string[];
    AustPostDPIDIn: string[];
    AustPostBCSP: string;
    AustPostBCSPStartsWith: string;
    AustPostBCSPEndsWith: string;
    AustPostBCSPContains: string;
    AustPostBCSPLike: string;
    AustPostBCSPBetween: string[];
    AustPostBCSPIn: string[];
    TradingName: string;
    TradingNameStartsWith: string;
    TradingNameEndsWith: string;
    TradingNameContains: string;
    TradingNameLike: string;
    TradingNameBetween: string[];
    TradingNameIn: string[];
    CompanyName: string;
    CompanyNameStartsWith: string;
    CompanyNameEndsWith: string;
    CompanyNameContains: string;
    CompanyNameLike: string;
    CompanyNameBetween: string[];
    CompanyNameIn: string[];
    ACN: string;
    ACNStartsWith: string;
    ACNEndsWith: string;
    ACNContains: string;
    ACNLike: string;
    ACNBetween: string[];
    ACNIn: string[];
    ProprietorsName: string;
    ProprietorsNameStartsWith: string;
    ProprietorsNameEndsWith: string;
    ProprietorsNameContains: string;
    ProprietorsNameLike: string;
    ProprietorsNameBetween: string[];
    ProprietorsNameIn: string[];
    FaxHeader: string;
    FaxHeaderStartsWith: string;
    FaxHeaderEndsWith: string;
    FaxHeaderContains: string;
    FaxHeaderLike: string;
    FaxHeaderBetween: string[];
    FaxHeaderIn: string[];
    LedgerIDDebtorControl: string;
    LedgerIDDebtorControlStartsWith: string;
    LedgerIDDebtorControlEndsWith: string;
    LedgerIDDebtorControlContains: string;
    LedgerIDDebtorControlLike: string;
    LedgerIDDebtorControlBetween: string[];
    LedgerIDDebtorControlIn: string[];
    LedgerIDDebtorSales: string;
    LedgerIDDebtorSalesStartsWith: string;
    LedgerIDDebtorSalesEndsWith: string;
    LedgerIDDebtorSalesContains: string;
    LedgerIDDebtorSalesLike: string;
    LedgerIDDebtorSalesBetween: string[];
    LedgerIDDebtorSalesIn: string[];
    LedgerIDDebtorDiscounts: string;
    LedgerIDDebtorDiscountsStartsWith: string;
    LedgerIDDebtorDiscountsEndsWith: string;
    LedgerIDDebtorDiscountsContains: string;
    LedgerIDDebtorDiscountsLike: string;
    LedgerIDDebtorDiscountsBetween: string[];
    LedgerIDDebtorDiscountsIn: string[];
    LedgerIDDebtorSourcedInvoices: string;
    LedgerIDDebtorSourcedInvoicesStartsWith: string;
    LedgerIDDebtorSourcedInvoicesEndsWith: string;
    LedgerIDDebtorSourcedInvoicesContains: string;
    LedgerIDDebtorSourcedInvoicesLike: string;
    LedgerIDDebtorSourcedInvoicesBetween: string[];
    LedgerIDDebtorSourcedInvoicesIn: string[];
    LedgerIDDebtorDebitAdjustment: string;
    LedgerIDDebtorDebitAdjustmentStartsWith: string;
    LedgerIDDebtorDebitAdjustmentEndsWith: string;
    LedgerIDDebtorDebitAdjustmentContains: string;
    LedgerIDDebtorDebitAdjustmentLike: string;
    LedgerIDDebtorDebitAdjustmentBetween: string[];
    LedgerIDDebtorDebitAdjustmentIn: string[];
    LedgerIDDebtorSourcedReceipts: string;
    LedgerIDDebtorSourcedReceiptsStartsWith: string;
    LedgerIDDebtorSourcedReceiptsEndsWith: string;
    LedgerIDDebtorSourcedReceiptsContains: string;
    LedgerIDDebtorSourcedReceiptsLike: string;
    LedgerIDDebtorSourcedReceiptsBetween: string[];
    LedgerIDDebtorSourcedReceiptsIn: string[];
    LedgerIDDebtorCreditAdjustment: string;
    LedgerIDDebtorCreditAdjustmentStartsWith: string;
    LedgerIDDebtorCreditAdjustmentEndsWith: string;
    LedgerIDDebtorCreditAdjustmentContains: string;
    LedgerIDDebtorCreditAdjustmentLike: string;
    LedgerIDDebtorCreditAdjustmentBetween: string[];
    LedgerIDDebtorCreditAdjustmentIn: string[];
    LedgerIDDebtorFreight: string;
    LedgerIDDebtorFreightStartsWith: string;
    LedgerIDDebtorFreightEndsWith: string;
    LedgerIDDebtorFreightContains: string;
    LedgerIDDebtorFreightLike: string;
    LedgerIDDebtorFreightBetween: string[];
    LedgerIDDebtorFreightIn: string[];
    LedgerIDDebtorInsurance: string;
    LedgerIDDebtorInsuranceStartsWith: string;
    LedgerIDDebtorInsuranceEndsWith: string;
    LedgerIDDebtorInsuranceContains: string;
    LedgerIDDebtorInsuranceLike: string;
    LedgerIDDebtorInsuranceBetween: string[];
    LedgerIDDebtorInsuranceIn: string[];
    LedgerIDDebtorRealisedGainLoss: string;
    LedgerIDDebtorRealisedGainLossStartsWith: string;
    LedgerIDDebtorRealisedGainLossEndsWith: string;
    LedgerIDDebtorRealisedGainLossContains: string;
    LedgerIDDebtorRealisedGainLossLike: string;
    LedgerIDDebtorRealisedGainLossBetween: string[];
    LedgerIDDebtorRealisedGainLossIn: string[];
    LedgerIDDebtorUnRealisedGainLoss: string;
    LedgerIDDebtorUnRealisedGainLossStartsWith: string;
    LedgerIDDebtorUnRealisedGainLossEndsWith: string;
    LedgerIDDebtorUnRealisedGainLossContains: string;
    LedgerIDDebtorUnRealisedGainLossLike: string;
    LedgerIDDebtorUnRealisedGainLossBetween: string[];
    LedgerIDDebtorUnRealisedGainLossIn: string[];
    PeriodType: number;
    PeriodTypeGreaterThanOrEqualTo: number;
    PeriodTypeGreaterThan: number;
    PeriodTypeLessThan: number;
    PeriodTypeLessThanOrEqualTo: number;
    PeriodTypeNotEqualTo: number;
    PeriodTypeBetween: number[];
    PeriodTypeIn: number[];
    TermsDays: number;
    TermsDaysGreaterThanOrEqualTo: number;
    TermsDaysGreaterThan: number;
    TermsDaysLessThan: number;
    TermsDaysLessThanOrEqualTo: number;
    TermsDaysNotEqualTo: number;
    TermsDaysBetween: number[];
    TermsDaysIn: number[];
    TermsType: number;
    TermsTypeGreaterThanOrEqualTo: number;
    TermsTypeGreaterThan: number;
    TermsTypeLessThan: number;
    TermsTypeLessThanOrEqualTo: number;
    TermsTypeNotEqualTo: number;
    TermsTypeBetween: number[];
    TermsTypeIn: number[];
    ABN: string;
    ABNStartsWith: string;
    ABNEndsWith: string;
    ABNContains: string;
    ABNLike: string;
    ABNBetween: string[];
    ABNIn: string[];
    ExcludeFromAging: boolean;
    BPayReference: string;
    BPayReferenceStartsWith: string;
    BPayReferenceEndsWith: string;
    BPayReferenceContains: string;
    BPayReferenceLike: string;
    BPayReferenceBetween: string[];
    BPayReferenceIn: string[];
    UsesFX: boolean;
    FXCurrencyID: string;
    FXCurrencyIDStartsWith: string;
    FXCurrencyIDEndsWith: string;
    FXCurrencyIDContains: string;
    FXCurrencyIDLike: string;
    FXCurrencyIDBetween: string[];
    FXCurrencyIDIn: string[];
    FXCurrentBalance: number;
    FXCurrentBalanceGreaterThanOrEqualTo: number;
    FXCurrentBalanceGreaterThan: number;
    FXCurrentBalanceLessThan: number;
    FXCurrentBalanceLessThanOrEqualTo: number;
    FXCurrentBalanceNotEqualTo: number;
    FXCurrentBalanceBetween: number[];
    FXCurrentBalanceIn: number[];
    FXPeriod1: number;
    FXPeriod1GreaterThanOrEqualTo: number;
    FXPeriod1GreaterThan: number;
    FXPeriod1LessThan: number;
    FXPeriod1LessThanOrEqualTo: number;
    FXPeriod1NotEqualTo: number;
    FXPeriod1Between: number[];
    FXPeriod1In: number[];
    FXPeriod2: number;
    FXPeriod2GreaterThanOrEqualTo: number;
    FXPeriod2GreaterThan: number;
    FXPeriod2LessThan: number;
    FXPeriod2LessThanOrEqualTo: number;
    FXPeriod2NotEqualTo: number;
    FXPeriod2Between: number[];
    FXPeriod2In: number[];
    FXPeriod3: number;
    FXPeriod3GreaterThanOrEqualTo: number;
    FXPeriod3GreaterThan: number;
    FXPeriod3LessThan: number;
    FXPeriod3LessThanOrEqualTo: number;
    FXPeriod3NotEqualTo: number;
    FXPeriod3Between: number[];
    FXPeriod3In: number[];
    FXPeriod4: number;
    FXPeriod4GreaterThanOrEqualTo: number;
    FXPeriod4GreaterThan: number;
    FXPeriod4LessThan: number;
    FXPeriod4LessThanOrEqualTo: number;
    FXPeriod4NotEqualTo: number;
    FXPeriod4Between: number[];
    FXPeriod4In: number[];
    TradingStatus: number;
    TradingStatusGreaterThanOrEqualTo: number;
    TradingStatusGreaterThan: number;
    TradingStatusLessThan: number;
    TradingStatusLessThanOrEqualTo: number;
    TradingStatusNotEqualTo: number;
    TradingStatusBetween: Uint8Array;
    TradingStatusIn: Uint8Array;
    Category1ID: string;
    Category1IDStartsWith: string;
    Category1IDEndsWith: string;
    Category1IDContains: string;
    Category1IDLike: string;
    Category1IDBetween: string[];
    Category1IDIn: string[];
    Category2ID: string;
    Category2IDStartsWith: string;
    Category2IDEndsWith: string;
    Category2IDContains: string;
    Category2IDLike: string;
    Category2IDBetween: string[];
    Category2IDIn: string[];
    Category3ID: string;
    Category3IDStartsWith: string;
    Category3IDEndsWith: string;
    Category3IDContains: string;
    Category3IDLike: string;
    Category3IDBetween: string[];
    Category3IDIn: string[];
    Category4ID: string;
    Category4IDStartsWith: string;
    Category4IDEndsWith: string;
    Category4IDContains: string;
    Category4IDLike: string;
    Category4IDBetween: string[];
    Category4IDIn: string[];
    Category5ID: string;
    Category5IDStartsWith: string;
    Category5IDEndsWith: string;
    Category5IDContains: string;
    Category5IDLike: string;
    Category5IDBetween: string[];
    Category5IDIn: string[];
    BO_Priorities_RecID: string;
    BO_Priorities_RecIDStartsWith: string;
    BO_Priorities_RecIDEndsWith: string;
    BO_Priorities_RecIDContains: string;
    BO_Priorities_RecIDLike: string;
    BO_Priorities_RecIDBetween: string[];
    BO_Priorities_RecIDIn: string[];
    PricingGroupID: string;
    PricingGroupIDStartsWith: string;
    PricingGroupIDEndsWith: string;
    PricingGroupIDContains: string;
    PricingGroupIDLike: string;
    PricingGroupIDBetween: string[];
    PricingGroupIDIn: string[];
    BudgetedGPPercentage: number;
    BudgetedGPPercentageGreaterThanOrEqualTo: number;
    BudgetedGPPercentageGreaterThan: number;
    BudgetedGPPercentageLessThan: number;
    BudgetedGPPercentageLessThanOrEqualTo: number;
    BudgetedGPPercentageNotEqualTo: number;
    BudgetedGPPercentageBetween: number[];
    BudgetedGPPercentageIn: number[];
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    FR_Carriers_RecID: string;
    FR_Carriers_RecIDStartsWith: string;
    FR_Carriers_RecIDEndsWith: string;
    FR_Carriers_RecIDContains: string;
    FR_Carriers_RecIDLike: string;
    FR_Carriers_RecIDBetween: string[];
    FR_Carriers_RecIDIn: string[];
    FR_CarrierServices_RecID: string;
    FR_CarrierServices_RecIDStartsWith: string;
    FR_CarrierServices_RecIDEndsWith: string;
    FR_CarrierServices_RecIDContains: string;
    FR_CarrierServices_RecIDLike: string;
    FR_CarrierServices_RecIDBetween: string[];
    FR_CarrierServices_RecIDIn: string[];
    CarrierAccountNo: string;
    CarrierAccountNoStartsWith: string;
    CarrierAccountNoEndsWith: string;
    CarrierAccountNoContains: string;
    CarrierAccountNoLike: string;
    CarrierAccountNoBetween: string[];
    CarrierAccountNoIn: string[];
    ChargeTo: number;
    ChargeToGreaterThanOrEqualTo: number;
    ChargeToGreaterThan: number;
    ChargeToLessThan: number;
    ChargeToLessThanOrEqualTo: number;
    ChargeToNotEqualTo: number;
    ChargeToBetween: Uint8Array;
    ChargeToIn: Uint8Array;
    IsCashOnly: boolean;
    createResponse() { return new QueryResponse<DB_Main>(); }
    getTypeName() { return "DB_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_Main1Query extends QueryDb<DB_Main1> implements IReturn<QueryResponse<DB_Main1>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    Address4: string;
    Address4StartsWith: string;
    Address4EndsWith: string;
    Address4Contains: string;
    Address4Like: string;
    Address4Between: string[];
    Address4In: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAcc: string;
    BankAccStartsWith: string;
    BankAccEndsWith: string;
    BankAccContains: string;
    BankAccLike: string;
    BankAccBetween: string[];
    BankAccIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    AccountName: string;
    AccountNameStartsWith: string;
    AccountNameEndsWith: string;
    AccountNameContains: string;
    AccountNameLike: string;
    AccountNameBetween: string[];
    AccountNameIn: string[];
    TaxExemptNo: string;
    TaxExemptNoStartsWith: string;
    TaxExemptNoEndsWith: string;
    TaxExemptNoContains: string;
    TaxExemptNoLike: string;
    TaxExemptNoBetween: string[];
    TaxExemptNoIn: string[];
    AccountType: number;
    AccountTypeGreaterThanOrEqualTo: number;
    AccountTypeGreaterThan: number;
    AccountTypeLessThan: number;
    AccountTypeLessThanOrEqualTo: number;
    AccountTypeNotEqualTo: number;
    AccountTypeBetween: number[];
    AccountTypeIn: number[];
    CreditLimit: number;
    CreditLimitGreaterThanOrEqualTo: number;
    CreditLimitGreaterThan: number;
    CreditLimitLessThan: number;
    CreditLimitLessThanOrEqualTo: number;
    CreditLimitNotEqualTo: number;
    CreditLimitBetween: number[];
    CreditLimitIn: number[];
    EarlyPayDisOnStatsDays: number;
    EarlyPayDisOnStatsDaysGreaterThanOrEqualTo: number;
    EarlyPayDisOnStatsDaysGreaterThan: number;
    EarlyPayDisOnStatsDaysLessThan: number;
    EarlyPayDisOnStatsDaysLessThanOrEqualTo: number;
    EarlyPayDisOnStatsDaysNotEqualTo: number;
    EarlyPayDisOnStatsDaysBetween: number[];
    EarlyPayDisOnStatsDaysIn: number[];
    EarlyPayDisOnStatsAmt: number;
    EarlyPayDisOnStatsAmtGreaterThanOrEqualTo: number;
    EarlyPayDisOnStatsAmtGreaterThan: number;
    EarlyPayDisOnStatsAmtLessThan: number;
    EarlyPayDisOnStatsAmtLessThanOrEqualTo: number;
    EarlyPayDisOnStatsAmtNotEqualTo: number;
    EarlyPayDisOnStatsAmtBetween: number[];
    EarlyPayDisOnStatsAmtIn: number[];
    LastPurchaseDate: string;
    LastPurchaseDateGreaterThanOrEqualTo: string;
    LastPurchaseDateGreaterThan: string;
    LastPurchaseDateLessThan: string;
    LastPurchaseDateLessThanOrEqualTo: string;
    LastPurchaseDateNotEqualTo: string;
    LastPurchaseDateBetween: string[];
    LastPurchaseDateIn: string[];
    LastPaymentDate: string;
    LastPaymentDateGreaterThanOrEqualTo: string;
    LastPaymentDateGreaterThan: string;
    LastPaymentDateLessThan: string;
    LastPaymentDateLessThanOrEqualTo: string;
    LastPaymentDateNotEqualTo: string;
    LastPaymentDateBetween: string[];
    LastPaymentDateIn: string[];
    StandingDisOnInvoices: number;
    StandingDisOnInvoicesGreaterThanOrEqualTo: number;
    StandingDisOnInvoicesGreaterThan: number;
    StandingDisOnInvoicesLessThan: number;
    StandingDisOnInvoicesLessThanOrEqualTo: number;
    StandingDisOnInvoicesNotEqualTo: number;
    StandingDisOnInvoicesBetween: number[];
    StandingDisOnInvoicesIn: number[];
    ClassificationID: string;
    ClassificationIDStartsWith: string;
    ClassificationIDEndsWith: string;
    ClassificationIDContains: string;
    ClassificationIDLike: string;
    ClassificationIDBetween: string[];
    ClassificationIDIn: string[];
    AccountOnHold: boolean;
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    CurrentBalance: number;
    CurrentBalanceGreaterThanOrEqualTo: number;
    CurrentBalanceGreaterThan: number;
    CurrentBalanceLessThan: number;
    CurrentBalanceLessThanOrEqualTo: number;
    CurrentBalanceNotEqualTo: number;
    CurrentBalanceBetween: number[];
    CurrentBalanceIn: number[];
    Period1: number;
    Period1GreaterThanOrEqualTo: number;
    Period1GreaterThan: number;
    Period1LessThan: number;
    Period1LessThanOrEqualTo: number;
    Period1NotEqualTo: number;
    Period1Between: number[];
    Period1In: number[];
    Period2: number;
    Period2GreaterThanOrEqualTo: number;
    Period2GreaterThan: number;
    Period2LessThan: number;
    Period2LessThanOrEqualTo: number;
    Period2NotEqualTo: number;
    Period2Between: number[];
    Period2In: number[];
    Period3: number;
    Period3GreaterThanOrEqualTo: number;
    Period3GreaterThan: number;
    Period3LessThan: number;
    Period3LessThanOrEqualTo: number;
    Period3NotEqualTo: number;
    Period3Between: number[];
    Period3In: number[];
    Period4: number;
    Period4GreaterThanOrEqualTo: number;
    Period4GreaterThan: number;
    Period4LessThan: number;
    Period4LessThanOrEqualTo: number;
    Period4NotEqualTo: number;
    Period4Between: number[];
    Period4In: number[];
    Period5: number;
    Period5GreaterThanOrEqualTo: number;
    Period5GreaterThan: number;
    Period5LessThan: number;
    Period5LessThanOrEqualTo: number;
    Period5NotEqualTo: number;
    Period5Between: number[];
    Period5In: number[];
    Period6: number;
    Period6GreaterThanOrEqualTo: number;
    Period6GreaterThan: number;
    Period6LessThan: number;
    Period6LessThanOrEqualTo: number;
    Period6NotEqualTo: number;
    Period6Between: number[];
    Period6In: number[];
    Period7: number;
    Period7GreaterThanOrEqualTo: number;
    Period7GreaterThan: number;
    Period7LessThan: number;
    Period7LessThanOrEqualTo: number;
    Period7NotEqualTo: number;
    Period7Between: number[];
    Period7In: number[];
    Period8: number;
    Period8GreaterThanOrEqualTo: number;
    Period8GreaterThan: number;
    Period8LessThan: number;
    Period8LessThanOrEqualTo: number;
    Period8NotEqualTo: number;
    Period8Between: number[];
    Period8In: number[];
    AltAccountNo: string;
    AltAccountNoStartsWith: string;
    AltAccountNoEndsWith: string;
    AltAccountNoContains: string;
    AltAccountNoLike: string;
    AltAccountNoBetween: string[];
    AltAccountNoIn: string[];
    NotifyRequired: boolean;
    NotifyAddress: string;
    NotifyAddressStartsWith: string;
    NotifyAddressEndsWith: string;
    NotifyAddressContains: string;
    NotifyAddressLike: string;
    NotifyAddressBetween: string[];
    NotifyAddressIn: string[];
    CommenceDate: string;
    CommenceDateGreaterThanOrEqualTo: string;
    CommenceDateGreaterThan: string;
    CommenceDateLessThan: string;
    CommenceDateLessThanOrEqualTo: string;
    CommenceDateNotEqualTo: string;
    CommenceDateBetween: string[];
    CommenceDateIn: string[];
    WebAccess: boolean;
    ParentDebtorID: string;
    ParentDebtorIDStartsWith: string;
    ParentDebtorIDEndsWith: string;
    ParentDebtorIDContains: string;
    ParentDebtorIDLike: string;
    ParentDebtorIDBetween: string[];
    ParentDebtorIDIn: string[];
    AllocLastSavedDateTime: string;
    AllocLastSavedDateTimeGreaterThanOrEqualTo: string;
    AllocLastSavedDateTimeGreaterThan: string;
    AllocLastSavedDateTimeLessThan: string;
    AllocLastSavedDateTimeLessThanOrEqualTo: string;
    AllocLastSavedDateTimeNotEqualTo: string;
    AllocLastSavedDateTimeBetween: string[];
    AllocLastSavedDateTimeIn: string[];
    PriceSchemeID: string;
    PriceSchemeIDStartsWith: string;
    PriceSchemeIDEndsWith: string;
    PriceSchemeIDContains: string;
    PriceSchemeIDLike: string;
    PriceSchemeIDBetween: string[];
    PriceSchemeIDIn: string[];
    AustPostDPID: string;
    AustPostDPIDStartsWith: string;
    AustPostDPIDEndsWith: string;
    AustPostDPIDContains: string;
    AustPostDPIDLike: string;
    AustPostDPIDBetween: string[];
    AustPostDPIDIn: string[];
    AustPostBCSP: string;
    AustPostBCSPStartsWith: string;
    AustPostBCSPEndsWith: string;
    AustPostBCSPContains: string;
    AustPostBCSPLike: string;
    AustPostBCSPBetween: string[];
    AustPostBCSPIn: string[];
    createResponse() { return new QueryResponse<DB_Main1>(); }
    getTypeName() { return "DB_Main1Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_Main2Query extends QueryDb<DB_Main2> implements IReturn<QueryResponse<DB_Main2>>
{
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    TradingName: string;
    TradingNameStartsWith: string;
    TradingNameEndsWith: string;
    TradingNameContains: string;
    TradingNameLike: string;
    TradingNameBetween: string[];
    TradingNameIn: string[];
    CompanyName: string;
    CompanyNameStartsWith: string;
    CompanyNameEndsWith: string;
    CompanyNameContains: string;
    CompanyNameLike: string;
    CompanyNameBetween: string[];
    CompanyNameIn: string[];
    ACN: string;
    ACNStartsWith: string;
    ACNEndsWith: string;
    ACNContains: string;
    ACNLike: string;
    ACNBetween: string[];
    ACNIn: string[];
    ProprietorsName: string;
    ProprietorsNameStartsWith: string;
    ProprietorsNameEndsWith: string;
    ProprietorsNameContains: string;
    ProprietorsNameLike: string;
    ProprietorsNameBetween: string[];
    ProprietorsNameIn: string[];
    FaxHeader: string;
    FaxHeaderStartsWith: string;
    FaxHeaderEndsWith: string;
    FaxHeaderContains: string;
    FaxHeaderLike: string;
    FaxHeaderBetween: string[];
    FaxHeaderIn: string[];
    D1: string;
    D1StartsWith: string;
    D1EndsWith: string;
    D1Contains: string;
    D1Like: string;
    D1Between: string[];
    D1In: string[];
    D2: string;
    D2StartsWith: string;
    D2EndsWith: string;
    D2Contains: string;
    D2Like: string;
    D2Between: string[];
    D2In: string[];
    D3: string;
    D3StartsWith: string;
    D3EndsWith: string;
    D3Contains: string;
    D3Like: string;
    D3Between: string[];
    D3In: string[];
    D4: string;
    D4StartsWith: string;
    D4EndsWith: string;
    D4Contains: string;
    D4Like: string;
    D4Between: string[];
    D4In: string[];
    D5: string;
    D5StartsWith: string;
    D5EndsWith: string;
    D5Contains: string;
    D5Like: string;
    D5Between: string[];
    D5In: string[];
    D6: string;
    D6StartsWith: string;
    D6EndsWith: string;
    D6Contains: string;
    D6Like: string;
    D6Between: string[];
    D6In: string[];
    D7: string;
    D7StartsWith: string;
    D7EndsWith: string;
    D7Contains: string;
    D7Like: string;
    D7Between: string[];
    D7In: string[];
    D8: string;
    D8StartsWith: string;
    D8EndsWith: string;
    D8Contains: string;
    D8Like: string;
    D8Between: string[];
    D8In: string[];
    D9: string;
    D9StartsWith: string;
    D9EndsWith: string;
    D9Contains: string;
    D9Like: string;
    D9Between: string[];
    D9In: string[];
    D10: string;
    D10StartsWith: string;
    D10EndsWith: string;
    D10Contains: string;
    D10Like: string;
    D10Between: string[];
    D10In: string[];
    D11: string;
    D11StartsWith: string;
    D11EndsWith: string;
    D11Contains: string;
    D11Like: string;
    D11Between: string[];
    D11In: string[];
    OpeningBal1: number;
    OpeningBal1GreaterThanOrEqualTo: number;
    OpeningBal1GreaterThan: number;
    OpeningBal1LessThan: number;
    OpeningBal1LessThanOrEqualTo: number;
    OpeningBal1NotEqualTo: number;
    OpeningBal1Between: number[];
    OpeningBal1In: number[];
    OpeningBal2: number;
    OpeningBal2GreaterThanOrEqualTo: number;
    OpeningBal2GreaterThan: number;
    OpeningBal2LessThan: number;
    OpeningBal2LessThanOrEqualTo: number;
    OpeningBal2NotEqualTo: number;
    OpeningBal2Between: number[];
    OpeningBal2In: number[];
    OpeningBal3: number;
    OpeningBal3GreaterThanOrEqualTo: number;
    OpeningBal3GreaterThan: number;
    OpeningBal3LessThan: number;
    OpeningBal3LessThanOrEqualTo: number;
    OpeningBal3NotEqualTo: number;
    OpeningBal3Between: number[];
    OpeningBal3In: number[];
    OpeningBal4: number;
    OpeningBal4GreaterThanOrEqualTo: number;
    OpeningBal4GreaterThan: number;
    OpeningBal4LessThan: number;
    OpeningBal4LessThanOrEqualTo: number;
    OpeningBal4NotEqualTo: number;
    OpeningBal4Between: number[];
    OpeningBal4In: number[];
    OpeningBal5: number;
    OpeningBal5GreaterThanOrEqualTo: number;
    OpeningBal5GreaterThan: number;
    OpeningBal5LessThan: number;
    OpeningBal5LessThanOrEqualTo: number;
    OpeningBal5NotEqualTo: number;
    OpeningBal5Between: number[];
    OpeningBal5In: number[];
    OpeningBal6: number;
    OpeningBal6GreaterThanOrEqualTo: number;
    OpeningBal6GreaterThan: number;
    OpeningBal6LessThan: number;
    OpeningBal6LessThanOrEqualTo: number;
    OpeningBal6NotEqualTo: number;
    OpeningBal6Between: number[];
    OpeningBal6In: number[];
    OpeningBal7: number;
    OpeningBal7GreaterThanOrEqualTo: number;
    OpeningBal7GreaterThan: number;
    OpeningBal7LessThan: number;
    OpeningBal7LessThanOrEqualTo: number;
    OpeningBal7NotEqualTo: number;
    OpeningBal7Between: number[];
    OpeningBal7In: number[];
    OpeningBal8: number;
    OpeningBal8GreaterThanOrEqualTo: number;
    OpeningBal8GreaterThan: number;
    OpeningBal8LessThan: number;
    OpeningBal8LessThanOrEqualTo: number;
    OpeningBal8NotEqualTo: number;
    OpeningBal8Between: number[];
    OpeningBal8In: number[];
    OpeningBal9: number;
    OpeningBal9GreaterThanOrEqualTo: number;
    OpeningBal9GreaterThan: number;
    OpeningBal9LessThan: number;
    OpeningBal9LessThanOrEqualTo: number;
    OpeningBal9NotEqualTo: number;
    OpeningBal9Between: number[];
    OpeningBal9In: number[];
    OpeningBal10: number;
    OpeningBal10GreaterThanOrEqualTo: number;
    OpeningBal10GreaterThan: number;
    OpeningBal10LessThan: number;
    OpeningBal10LessThanOrEqualTo: number;
    OpeningBal10NotEqualTo: number;
    OpeningBal10Between: number[];
    OpeningBal10In: number[];
    OpeningBal11: number;
    OpeningBal11GreaterThanOrEqualTo: number;
    OpeningBal11GreaterThan: number;
    OpeningBal11LessThan: number;
    OpeningBal11LessThanOrEqualTo: number;
    OpeningBal11NotEqualTo: number;
    OpeningBal11Between: number[];
    OpeningBal11In: number[];
    OpeningBal12: number;
    OpeningBal12GreaterThanOrEqualTo: number;
    OpeningBal12GreaterThan: number;
    OpeningBal12LessThan: number;
    OpeningBal12LessThanOrEqualTo: number;
    OpeningBal12NotEqualTo: number;
    OpeningBal12Between: number[];
    OpeningBal12In: number[];
    OpeningBal13: number;
    OpeningBal13GreaterThanOrEqualTo: number;
    OpeningBal13GreaterThan: number;
    OpeningBal13LessThan: number;
    OpeningBal13LessThanOrEqualTo: number;
    OpeningBal13NotEqualTo: number;
    OpeningBal13Between: number[];
    OpeningBal13In: number[];
    OpeningBal14: number;
    OpeningBal14GreaterThanOrEqualTo: number;
    OpeningBal14GreaterThan: number;
    OpeningBal14LessThan: number;
    OpeningBal14LessThanOrEqualTo: number;
    OpeningBal14NotEqualTo: number;
    OpeningBal14Between: number[];
    OpeningBal14In: number[];
    OpeningBal15: number;
    OpeningBal15GreaterThanOrEqualTo: number;
    OpeningBal15GreaterThan: number;
    OpeningBal15LessThan: number;
    OpeningBal15LessThanOrEqualTo: number;
    OpeningBal15NotEqualTo: number;
    OpeningBal15Between: number[];
    OpeningBal15In: number[];
    OpeningBal16: number;
    OpeningBal16GreaterThanOrEqualTo: number;
    OpeningBal16GreaterThan: number;
    OpeningBal16LessThan: number;
    OpeningBal16LessThanOrEqualTo: number;
    OpeningBal16NotEqualTo: number;
    OpeningBal16Between: number[];
    OpeningBal16In: number[];
    OpeningBal17: number;
    OpeningBal17GreaterThanOrEqualTo: number;
    OpeningBal17GreaterThan: number;
    OpeningBal17LessThan: number;
    OpeningBal17LessThanOrEqualTo: number;
    OpeningBal17NotEqualTo: number;
    OpeningBal17Between: number[];
    OpeningBal17In: number[];
    OpeningBal18: number;
    OpeningBal18GreaterThanOrEqualTo: number;
    OpeningBal18GreaterThan: number;
    OpeningBal18LessThan: number;
    OpeningBal18LessThanOrEqualTo: number;
    OpeningBal18NotEqualTo: number;
    OpeningBal18Between: number[];
    OpeningBal18In: number[];
    OpeningBal19: number;
    OpeningBal19GreaterThanOrEqualTo: number;
    OpeningBal19GreaterThan: number;
    OpeningBal19LessThan: number;
    OpeningBal19LessThanOrEqualTo: number;
    OpeningBal19NotEqualTo: number;
    OpeningBal19Between: number[];
    OpeningBal19In: number[];
    OpeningBal20: number;
    OpeningBal20GreaterThanOrEqualTo: number;
    OpeningBal20GreaterThan: number;
    OpeningBal20LessThan: number;
    OpeningBal20LessThanOrEqualTo: number;
    OpeningBal20NotEqualTo: number;
    OpeningBal20Between: number[];
    OpeningBal20In: number[];
    OpeningBal21: number;
    OpeningBal21GreaterThanOrEqualTo: number;
    OpeningBal21GreaterThan: number;
    OpeningBal21LessThan: number;
    OpeningBal21LessThanOrEqualTo: number;
    OpeningBal21NotEqualTo: number;
    OpeningBal21Between: number[];
    OpeningBal21In: number[];
    OpeningBal22: number;
    OpeningBal22GreaterThanOrEqualTo: number;
    OpeningBal22GreaterThan: number;
    OpeningBal22LessThan: number;
    OpeningBal22LessThanOrEqualTo: number;
    OpeningBal22NotEqualTo: number;
    OpeningBal22Between: number[];
    OpeningBal22In: number[];
    OpeningBal23: number;
    OpeningBal23GreaterThanOrEqualTo: number;
    OpeningBal23GreaterThan: number;
    OpeningBal23LessThan: number;
    OpeningBal23LessThanOrEqualTo: number;
    OpeningBal23NotEqualTo: number;
    OpeningBal23Between: number[];
    OpeningBal23In: number[];
    OpeningBal24: number;
    OpeningBal24GreaterThanOrEqualTo: number;
    OpeningBal24GreaterThan: number;
    OpeningBal24LessThan: number;
    OpeningBal24LessThanOrEqualTo: number;
    OpeningBal24NotEqualTo: number;
    OpeningBal24Between: number[];
    OpeningBal24In: number[];
    OpeningBal25: number;
    OpeningBal25GreaterThanOrEqualTo: number;
    OpeningBal25GreaterThan: number;
    OpeningBal25LessThan: number;
    OpeningBal25LessThanOrEqualTo: number;
    OpeningBal25NotEqualTo: number;
    OpeningBal25Between: number[];
    OpeningBal25In: number[];
    OpeningBal26: number;
    OpeningBal26GreaterThanOrEqualTo: number;
    OpeningBal26GreaterThan: number;
    OpeningBal26LessThan: number;
    OpeningBal26LessThanOrEqualTo: number;
    OpeningBal26NotEqualTo: number;
    OpeningBal26Between: number[];
    OpeningBal26In: number[];
    OpeningBal27: number;
    OpeningBal27GreaterThanOrEqualTo: number;
    OpeningBal27GreaterThan: number;
    OpeningBal27LessThan: number;
    OpeningBal27LessThanOrEqualTo: number;
    OpeningBal27NotEqualTo: number;
    OpeningBal27Between: number[];
    OpeningBal27In: number[];
    OpeningBal28: number;
    OpeningBal28GreaterThanOrEqualTo: number;
    OpeningBal28GreaterThan: number;
    OpeningBal28LessThan: number;
    OpeningBal28LessThanOrEqualTo: number;
    OpeningBal28NotEqualTo: number;
    OpeningBal28Between: number[];
    OpeningBal28In: number[];
    OpeningBal29: number;
    OpeningBal29GreaterThanOrEqualTo: number;
    OpeningBal29GreaterThan: number;
    OpeningBal29LessThan: number;
    OpeningBal29LessThanOrEqualTo: number;
    OpeningBal29NotEqualTo: number;
    OpeningBal29Between: number[];
    OpeningBal29In: number[];
    OpeningBal30: number;
    OpeningBal30GreaterThanOrEqualTo: number;
    OpeningBal30GreaterThan: number;
    OpeningBal30LessThan: number;
    OpeningBal30LessThanOrEqualTo: number;
    OpeningBal30NotEqualTo: number;
    OpeningBal30Between: number[];
    OpeningBal30In: number[];
    OpeningBal31: number;
    OpeningBal31GreaterThanOrEqualTo: number;
    OpeningBal31GreaterThan: number;
    OpeningBal31LessThan: number;
    OpeningBal31LessThanOrEqualTo: number;
    OpeningBal31NotEqualTo: number;
    OpeningBal31Between: number[];
    OpeningBal31In: number[];
    OpeningBal32: number;
    OpeningBal32GreaterThanOrEqualTo: number;
    OpeningBal32GreaterThan: number;
    OpeningBal32LessThan: number;
    OpeningBal32LessThanOrEqualTo: number;
    OpeningBal32NotEqualTo: number;
    OpeningBal32Between: number[];
    OpeningBal32In: number[];
    OpeningBal33: number;
    OpeningBal33GreaterThanOrEqualTo: number;
    OpeningBal33GreaterThan: number;
    OpeningBal33LessThan: number;
    OpeningBal33LessThanOrEqualTo: number;
    OpeningBal33NotEqualTo: number;
    OpeningBal33Between: number[];
    OpeningBal33In: number[];
    OpeningBal34: number;
    OpeningBal34GreaterThanOrEqualTo: number;
    OpeningBal34GreaterThan: number;
    OpeningBal34LessThan: number;
    OpeningBal34LessThanOrEqualTo: number;
    OpeningBal34NotEqualTo: number;
    OpeningBal34Between: number[];
    OpeningBal34In: number[];
    OpeningBal35: number;
    OpeningBal35GreaterThanOrEqualTo: number;
    OpeningBal35GreaterThan: number;
    OpeningBal35LessThan: number;
    OpeningBal35LessThanOrEqualTo: number;
    OpeningBal35NotEqualTo: number;
    OpeningBal35Between: number[];
    OpeningBal35In: number[];
    OpeningBal36: number;
    OpeningBal36GreaterThanOrEqualTo: number;
    OpeningBal36GreaterThan: number;
    OpeningBal36LessThan: number;
    OpeningBal36LessThanOrEqualTo: number;
    OpeningBal36NotEqualTo: number;
    OpeningBal36Between: number[];
    OpeningBal36In: number[];
    OpeningBal37: number;
    OpeningBal37GreaterThanOrEqualTo: number;
    OpeningBal37GreaterThan: number;
    OpeningBal37LessThan: number;
    OpeningBal37LessThanOrEqualTo: number;
    OpeningBal37NotEqualTo: number;
    OpeningBal37Between: number[];
    OpeningBal37In: number[];
    OpeningBal38: number;
    OpeningBal38GreaterThanOrEqualTo: number;
    OpeningBal38GreaterThan: number;
    OpeningBal38LessThan: number;
    OpeningBal38LessThanOrEqualTo: number;
    OpeningBal38NotEqualTo: number;
    OpeningBal38Between: number[];
    OpeningBal38In: number[];
    OpeningBal39: number;
    OpeningBal39GreaterThanOrEqualTo: number;
    OpeningBal39GreaterThan: number;
    OpeningBal39LessThan: number;
    OpeningBal39LessThanOrEqualTo: number;
    OpeningBal39NotEqualTo: number;
    OpeningBal39Between: number[];
    OpeningBal39In: number[];
    OpeningBal40: number;
    OpeningBal40GreaterThanOrEqualTo: number;
    OpeningBal40GreaterThan: number;
    OpeningBal40LessThan: number;
    OpeningBal40LessThanOrEqualTo: number;
    OpeningBal40NotEqualTo: number;
    OpeningBal40Between: number[];
    OpeningBal40In: number[];
    OpeningBal41: number;
    OpeningBal41GreaterThanOrEqualTo: number;
    OpeningBal41GreaterThan: number;
    OpeningBal41LessThan: number;
    OpeningBal41LessThanOrEqualTo: number;
    OpeningBal41NotEqualTo: number;
    OpeningBal41Between: number[];
    OpeningBal41In: number[];
    OpeningBal42: number;
    OpeningBal42GreaterThanOrEqualTo: number;
    OpeningBal42GreaterThan: number;
    OpeningBal42LessThan: number;
    OpeningBal42LessThanOrEqualTo: number;
    OpeningBal42NotEqualTo: number;
    OpeningBal42Between: number[];
    OpeningBal42In: number[];
    OpeningBal43: number;
    OpeningBal43GreaterThanOrEqualTo: number;
    OpeningBal43GreaterThan: number;
    OpeningBal43LessThan: number;
    OpeningBal43LessThanOrEqualTo: number;
    OpeningBal43NotEqualTo: number;
    OpeningBal43Between: number[];
    OpeningBal43In: number[];
    OpeningBal44: number;
    OpeningBal44GreaterThanOrEqualTo: number;
    OpeningBal44GreaterThan: number;
    OpeningBal44LessThan: number;
    OpeningBal44LessThanOrEqualTo: number;
    OpeningBal44NotEqualTo: number;
    OpeningBal44Between: number[];
    OpeningBal44In: number[];
    OpeningBal45: number;
    OpeningBal45GreaterThanOrEqualTo: number;
    OpeningBal45GreaterThan: number;
    OpeningBal45LessThan: number;
    OpeningBal45LessThanOrEqualTo: number;
    OpeningBal45NotEqualTo: number;
    OpeningBal45Between: number[];
    OpeningBal45In: number[];
    OpeningBal46: number;
    OpeningBal46GreaterThanOrEqualTo: number;
    OpeningBal46GreaterThan: number;
    OpeningBal46LessThan: number;
    OpeningBal46LessThanOrEqualTo: number;
    OpeningBal46NotEqualTo: number;
    OpeningBal46Between: number[];
    OpeningBal46In: number[];
    OpeningBal47: number;
    OpeningBal47GreaterThanOrEqualTo: number;
    OpeningBal47GreaterThan: number;
    OpeningBal47LessThan: number;
    OpeningBal47LessThanOrEqualTo: number;
    OpeningBal47NotEqualTo: number;
    OpeningBal47Between: number[];
    OpeningBal47In: number[];
    OpeningBal48: number;
    OpeningBal48GreaterThanOrEqualTo: number;
    OpeningBal48GreaterThan: number;
    OpeningBal48LessThan: number;
    OpeningBal48LessThanOrEqualTo: number;
    OpeningBal48NotEqualTo: number;
    OpeningBal48Between: number[];
    OpeningBal48In: number[];
    OpeningBal49: number;
    OpeningBal49GreaterThanOrEqualTo: number;
    OpeningBal49GreaterThan: number;
    OpeningBal49LessThan: number;
    OpeningBal49LessThanOrEqualTo: number;
    OpeningBal49NotEqualTo: number;
    OpeningBal49Between: number[];
    OpeningBal49In: number[];
    OpeningBal50: number;
    OpeningBal50GreaterThanOrEqualTo: number;
    OpeningBal50GreaterThan: number;
    OpeningBal50LessThan: number;
    OpeningBal50LessThanOrEqualTo: number;
    OpeningBal50NotEqualTo: number;
    OpeningBal50Between: number[];
    OpeningBal50In: number[];
    OpeningBal51: number;
    OpeningBal51GreaterThanOrEqualTo: number;
    OpeningBal51GreaterThan: number;
    OpeningBal51LessThan: number;
    OpeningBal51LessThanOrEqualTo: number;
    OpeningBal51NotEqualTo: number;
    OpeningBal51Between: number[];
    OpeningBal51In: number[];
    OpeningBal52: number;
    OpeningBal52GreaterThanOrEqualTo: number;
    OpeningBal52GreaterThan: number;
    OpeningBal52LessThan: number;
    OpeningBal52LessThanOrEqualTo: number;
    OpeningBal52NotEqualTo: number;
    OpeningBal52Between: number[];
    OpeningBal52In: number[];
    OpeningBal53: number;
    OpeningBal53GreaterThanOrEqualTo: number;
    OpeningBal53GreaterThan: number;
    OpeningBal53LessThan: number;
    OpeningBal53LessThanOrEqualTo: number;
    OpeningBal53NotEqualTo: number;
    OpeningBal53Between: number[];
    OpeningBal53In: number[];
    PeriodType: number;
    PeriodTypeGreaterThanOrEqualTo: number;
    PeriodTypeGreaterThan: number;
    PeriodTypeLessThan: number;
    PeriodTypeLessThanOrEqualTo: number;
    PeriodTypeNotEqualTo: number;
    PeriodTypeBetween: number[];
    PeriodTypeIn: number[];
    TermsDays: number;
    TermsDaysGreaterThanOrEqualTo: number;
    TermsDaysGreaterThan: number;
    TermsDaysLessThan: number;
    TermsDaysLessThanOrEqualTo: number;
    TermsDaysNotEqualTo: number;
    TermsDaysBetween: number[];
    TermsDaysIn: number[];
    TermsType: number;
    TermsTypeGreaterThanOrEqualTo: number;
    TermsTypeGreaterThan: number;
    TermsTypeLessThan: number;
    TermsTypeLessThanOrEqualTo: number;
    TermsTypeNotEqualTo: number;
    TermsTypeBetween: number[];
    TermsTypeIn: number[];
    ABN: string;
    ABNStartsWith: string;
    ABNEndsWith: string;
    ABNContains: string;
    ABNLike: string;
    ABNBetween: string[];
    ABNIn: string[];
    ExcludeFromAging: boolean;
    BPayReference: string;
    BPayReferenceStartsWith: string;
    BPayReferenceEndsWith: string;
    BPayReferenceContains: string;
    BPayReferenceLike: string;
    BPayReferenceBetween: string[];
    BPayReferenceIn: string[];
    createResponse() { return new QueryResponse<DB_Main2>(); }
    getTypeName() { return "DB_Main2Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_NotesQuery extends QueryDb<DB_Notes> implements IReturn<QueryResponse<DB_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<DB_Notes>(); }
    getTypeName() { return "DB_NotesQuery"; }
}

// @Route("/Queries/DB_PricingGroups", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_PricingGroupsQuery extends QueryDb<DB_PricingGroups> implements IReturn<QueryResponse<DB_PricingGroups>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DefaultPriceGroup: boolean;
    createResponse() { return new QueryResponse<DB_PricingGroups>(); }
    getTypeName() { return "DB_PricingGroupsQuery"; }
}

// @Route("/Queries/DB_Trans", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_TransQuery extends QueryDb<DB_Trans> implements IReturn<QueryResponse<DB_Trans>>
{
    TransID: string;
    TransIDStartsWith: string;
    TransIDEndsWith: string;
    TransIDContains: string;
    TransIDLike: string;
    TransIDBetween: string[];
    TransIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebitCredit: boolean;
    Source: string;
    SourceStartsWith: string;
    SourceEndsWith: string;
    SourceContains: string;
    SourceLike: string;
    SourceBetween: string[];
    SourceIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    InvRemitNo: string;
    InvRemitNoStartsWith: string;
    InvRemitNoEndsWith: string;
    InvRemitNoContains: string;
    InvRemitNoLike: string;
    InvRemitNoBetween: string[];
    InvRemitNoIn: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    DiscountedAmount: number;
    DiscountedAmountGreaterThanOrEqualTo: number;
    DiscountedAmountGreaterThan: number;
    DiscountedAmountLessThan: number;
    DiscountedAmountLessThanOrEqualTo: number;
    DiscountedAmountNotEqualTo: number;
    DiscountedAmountBetween: number[];
    DiscountedAmountIn: number[];
    AgedOut: boolean;
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    AllocatedAmount: number;
    AllocatedAmountGreaterThanOrEqualTo: number;
    AllocatedAmountGreaterThan: number;
    AllocatedAmountLessThan: number;
    AllocatedAmountLessThanOrEqualTo: number;
    AllocatedAmountNotEqualTo: number;
    AllocatedAmountBetween: number[];
    AllocatedAmountIn: number[];
    InitDateTime: string;
    InitDateTimeGreaterThanOrEqualTo: string;
    InitDateTimeGreaterThan: string;
    InitDateTimeLessThan: string;
    InitDateTimeLessThanOrEqualTo: string;
    InitDateTimeNotEqualTo: string;
    InitDateTimeBetween: string[];
    InitDateTimeIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SubType: number;
    SubTypeGreaterThanOrEqualTo: number;
    SubTypeGreaterThan: number;
    SubTypeLessThan: number;
    SubTypeLessThanOrEqualTo: number;
    SubTypeNotEqualTo: number;
    SubTypeBetween: number[];
    SubTypeIn: number[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    ChildDebtorID: string;
    ChildDebtorIDStartsWith: string;
    ChildDebtorIDEndsWith: string;
    ChildDebtorIDContains: string;
    ChildDebtorIDLike: string;
    ChildDebtorIDBetween: string[];
    ChildDebtorIDIn: string[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    FXAllocAmount: number;
    FXAllocAmountGreaterThanOrEqualTo: number;
    FXAllocAmountGreaterThan: number;
    FXAllocAmountLessThan: number;
    FXAllocAmountLessThanOrEqualTo: number;
    FXAllocAmountNotEqualTo: number;
    FXAllocAmountBetween: number[];
    FXAllocAmountIn: number[];
    CurrencyRateUsed: number;
    CurrencyRateUsedGreaterThanOrEqualTo: number;
    CurrencyRateUsedGreaterThan: number;
    CurrencyRateUsedLessThan: number;
    CurrencyRateUsedLessThanOrEqualTo: number;
    CurrencyRateUsedNotEqualTo: number;
    CurrencyRateUsedBetween: number[];
    CurrencyRateUsedIn: number[];
    RealisedGainLoss: number;
    RealisedGainLossGreaterThanOrEqualTo: number;
    RealisedGainLossGreaterThan: number;
    RealisedGainLossLessThan: number;
    RealisedGainLossLessThanOrEqualTo: number;
    RealisedGainLossNotEqualTo: number;
    RealisedGainLossBetween: number[];
    RealisedGainLossIn: number[];
    UnRealisedGainLoss: number;
    UnRealisedGainLossGreaterThanOrEqualTo: number;
    UnRealisedGainLossGreaterThan: number;
    UnRealisedGainLossLessThan: number;
    UnRealisedGainLossLessThanOrEqualTo: number;
    UnRealisedGainLossNotEqualTo: number;
    UnRealisedGainLossBetween: number[];
    UnRealisedGainLossIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    Cartage1Amount: number;
    Cartage1AmountGreaterThanOrEqualTo: number;
    Cartage1AmountGreaterThan: number;
    Cartage1AmountLessThan: number;
    Cartage1AmountLessThanOrEqualTo: number;
    Cartage1AmountNotEqualTo: number;
    Cartage1AmountBetween: number[];
    Cartage1AmountIn: number[];
    Cartage1TaxAmount: number;
    Cartage1TaxAmountGreaterThanOrEqualTo: number;
    Cartage1TaxAmountGreaterThan: number;
    Cartage1TaxAmountLessThan: number;
    Cartage1TaxAmountLessThanOrEqualTo: number;
    Cartage1TaxAmountNotEqualTo: number;
    Cartage1TaxAmountBetween: number[];
    Cartage1TaxAmountIn: number[];
    Cartage2Amount: number;
    Cartage2AmountGreaterThanOrEqualTo: number;
    Cartage2AmountGreaterThan: number;
    Cartage2AmountLessThan: number;
    Cartage2AmountLessThanOrEqualTo: number;
    Cartage2AmountNotEqualTo: number;
    Cartage2AmountBetween: number[];
    Cartage2AmountIn: number[];
    Cartage2TaxAmount: number;
    Cartage2TaxAmountGreaterThanOrEqualTo: number;
    Cartage2TaxAmountGreaterThan: number;
    Cartage2TaxAmountLessThan: number;
    Cartage2TaxAmountLessThanOrEqualTo: number;
    Cartage2TaxAmountNotEqualTo: number;
    Cartage2TaxAmountBetween: number[];
    Cartage2TaxAmountIn: number[];
    Cartage3Amount: number;
    Cartage3AmountGreaterThanOrEqualTo: number;
    Cartage3AmountGreaterThan: number;
    Cartage3AmountLessThan: number;
    Cartage3AmountLessThanOrEqualTo: number;
    Cartage3AmountNotEqualTo: number;
    Cartage3AmountBetween: number[];
    Cartage3AmountIn: number[];
    Cartage3TaxAmount: number;
    Cartage3TaxAmountGreaterThanOrEqualTo: number;
    Cartage3TaxAmountGreaterThan: number;
    Cartage3TaxAmountLessThan: number;
    Cartage3TaxAmountLessThanOrEqualTo: number;
    Cartage3TaxAmountNotEqualTo: number;
    Cartage3TaxAmountBetween: number[];
    Cartage3TaxAmountIn: number[];
    FXDecimalPlaces: number;
    FXDecimalPlacesGreaterThanOrEqualTo: number;
    FXDecimalPlacesGreaterThan: number;
    FXDecimalPlacesLessThan: number;
    FXDecimalPlacesLessThanOrEqualTo: number;
    FXDecimalPlacesNotEqualTo: number;
    FXDecimalPlacesBetween: number[];
    FXDecimalPlacesIn: number[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    createResponse() { return new QueryResponse<DB_Trans>(); }
    getTypeName() { return "DB_TransQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_TransAllocQuery extends QueryDb<DB_TransAlloc> implements IReturn<QueryResponse<DB_TransAlloc>>
{
    AllocID: string;
    AllocIDStartsWith: string;
    AllocIDEndsWith: string;
    AllocIDContains: string;
    AllocIDLike: string;
    AllocIDBetween: string[];
    AllocIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebitTransID: string;
    DebitTransIDStartsWith: string;
    DebitTransIDEndsWith: string;
    DebitTransIDContains: string;
    DebitTransIDLike: string;
    DebitTransIDBetween: string[];
    DebitTransIDIn: string[];
    CreditTransID: string;
    CreditTransIDStartsWith: string;
    CreditTransIDEndsWith: string;
    CreditTransIDContains: string;
    CreditTransIDLike: string;
    CreditTransIDBetween: string[];
    CreditTransIDIn: string[];
    FXAmount: number;
    FXAmountGreaterThanOrEqualTo: number;
    FXAmountGreaterThan: number;
    FXAmountLessThan: number;
    FXAmountLessThanOrEqualTo: number;
    FXAmountNotEqualTo: number;
    FXAmountBetween: number[];
    FXAmountIn: number[];
    DebitAmount: number;
    DebitAmountGreaterThanOrEqualTo: number;
    DebitAmountGreaterThan: number;
    DebitAmountLessThan: number;
    DebitAmountLessThanOrEqualTo: number;
    DebitAmountNotEqualTo: number;
    DebitAmountBetween: number[];
    DebitAmountIn: number[];
    CreditAmount: number;
    CreditAmountGreaterThanOrEqualTo: number;
    CreditAmountGreaterThan: number;
    CreditAmountLessThan: number;
    CreditAmountLessThanOrEqualTo: number;
    CreditAmountNotEqualTo: number;
    CreditAmountBetween: number[];
    CreditAmountIn: number[];
    DebitAged: boolean;
    CreditAged: boolean;
    DateAlloc: string;
    DateAllocGreaterThanOrEqualTo: string;
    DateAllocGreaterThan: string;
    DateAllocLessThan: string;
    DateAllocLessThanOrEqualTo: string;
    DateAllocNotEqualTo: string;
    DateAllocBetween: string[];
    DateAllocIn: string[];
    Version: number;
    VersionGreaterThanOrEqualTo: number;
    VersionGreaterThan: number;
    VersionLessThan: number;
    VersionLessThanOrEqualTo: number;
    VersionNotEqualTo: number;
    VersionBetween: number[];
    VersionIn: number[];
    createResponse() { return new QueryResponse<DB_TransAlloc>(); }
    getTypeName() { return "DB_TransAllocQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_TransCustomFieldsQuery extends QueryDb<DB_TransCustomFields> implements IReturn<QueryResponse<DB_TransCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<DB_TransCustomFields>(); }
    getTypeName() { return "DB_TransCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class DB_TransCustomFieldValuesQuery extends QueryDb<DB_TransCustomFieldValues> implements IReturn<QueryResponse<DB_TransCustomFieldValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    DB_Trans_TransID: string;
    DB_Trans_TransIDStartsWith: string;
    DB_Trans_TransIDEndsWith: string;
    DB_Trans_TransIDContains: string;
    DB_Trans_TransIDLike: string;
    DB_Trans_TransIDBetween: string[];
    DB_Trans_TransIDIn: string[];
    DB_TransCustomFields_RecID: string;
    DB_TransCustomFields_RecIDStartsWith: string;
    DB_TransCustomFields_RecIDEndsWith: string;
    DB_TransCustomFields_RecIDContains: string;
    DB_TransCustomFields_RecIDLike: string;
    DB_TransCustomFields_RecIDBetween: string[];
    DB_TransCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<DB_TransCustomFieldValues>(); }
    getTypeName() { return "DB_TransCustomFieldValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class EM_AttachmentsQuery extends QueryDb<EM_Attachments> implements IReturn<QueryResponse<EM_Attachments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    EmailMessageID: string;
    EmailMessageIDStartsWith: string;
    EmailMessageIDEndsWith: string;
    EmailMessageIDContains: string;
    EmailMessageIDLike: string;
    EmailMessageIDBetween: string[];
    EmailMessageIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<EM_Attachments>(); }
    getTypeName() { return "EM_AttachmentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class EM_MainQuery extends QueryDb<EM_Main> implements IReturn<QueryResponse<EM_Main>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    EmailNo: string;
    EmailNoStartsWith: string;
    EmailNoEndsWith: string;
    EmailNoContains: string;
    EmailNoLike: string;
    EmailNoBetween: string[];
    EmailNoIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DateCreated: string;
    DateCreatedGreaterThanOrEqualTo: string;
    DateCreatedGreaterThan: string;
    DateCreatedLessThan: string;
    DateCreatedLessThanOrEqualTo: string;
    DateCreatedNotEqualTo: string;
    DateCreatedBetween: string[];
    DateCreatedIn: string[];
    DateSent: string;
    DateSentGreaterThanOrEqualTo: string;
    DateSentGreaterThan: string;
    DateSentLessThan: string;
    DateSentLessThanOrEqualTo: string;
    DateSentNotEqualTo: string;
    DateSentBetween: string[];
    DateSentIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    SourceType: string;
    SourceTypeStartsWith: string;
    SourceTypeEndsWith: string;
    SourceTypeContains: string;
    SourceTypeLike: string;
    SourceTypeBetween: string[];
    SourceTypeIn: string[];
    SourceDisplayNo: string;
    SourceDisplayNoStartsWith: string;
    SourceDisplayNoEndsWith: string;
    SourceDisplayNoContains: string;
    SourceDisplayNoLike: string;
    SourceDisplayNoBetween: string[];
    SourceDisplayNoIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    EmailStatus: number;
    EmailStatusGreaterThanOrEqualTo: number;
    EmailStatusGreaterThan: number;
    EmailStatusLessThan: number;
    EmailStatusLessThanOrEqualTo: number;
    EmailStatusNotEqualTo: number;
    EmailStatusBetween: Uint8Array;
    EmailStatusIn: Uint8Array;
    EmailFrom: string;
    EmailFromStartsWith: string;
    EmailFromEndsWith: string;
    EmailFromContains: string;
    EmailFromLike: string;
    EmailFromBetween: string[];
    EmailFromIn: string[];
    EmailTo: string;
    EmailToStartsWith: string;
    EmailToEndsWith: string;
    EmailToContains: string;
    EmailToLike: string;
    EmailToBetween: string[];
    EmailToIn: string[];
    EmailCC: string;
    EmailCCStartsWith: string;
    EmailCCEndsWith: string;
    EmailCCContains: string;
    EmailCCLike: string;
    EmailCCBetween: string[];
    EmailCCIn: string[];
    EmailBCC: string;
    EmailBCCStartsWith: string;
    EmailBCCEndsWith: string;
    EmailBCCContains: string;
    EmailBCCLike: string;
    EmailBCCBetween: string[];
    EmailBCCIn: string[];
    EmailSubject: string;
    EmailSubjectStartsWith: string;
    EmailSubjectEndsWith: string;
    EmailSubjectContains: string;
    EmailSubjectLike: string;
    EmailSubjectBetween: string[];
    EmailSubjectIn: string[];
    EmailBody: string;
    EmailBodyStartsWith: string;
    EmailBodyEndsWith: string;
    EmailBodyContains: string;
    EmailBodyLike: string;
    EmailBodyBetween: string[];
    EmailBodyIn: string[];
    RequestReadReceipt: boolean;
    createResponse() { return new QueryResponse<EM_Main>(); }
    getTypeName() { return "EM_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class EM_TemplateAttachmentsQuery extends QueryDb<EM_TemplateAttachments> implements IReturn<QueryResponse<EM_TemplateAttachments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    EM_Templates_RecID: string;
    EM_Templates_RecIDStartsWith: string;
    EM_Templates_RecIDEndsWith: string;
    EM_Templates_RecIDContains: string;
    EM_Templates_RecIDLike: string;
    EM_Templates_RecIDBetween: string[];
    EM_Templates_RecIDIn: string[];
    SY_File_FileID: string;
    SY_File_FileIDStartsWith: string;
    SY_File_FileIDEndsWith: string;
    SY_File_FileIDContains: string;
    SY_File_FileIDLike: string;
    SY_File_FileIDBetween: string[];
    SY_File_FileIDIn: string[];
    createResponse() { return new QueryResponse<EM_TemplateAttachments>(); }
    getTypeName() { return "EM_TemplateAttachmentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class EM_TemplatesQuery extends QueryDb<EM_Templates> implements IReturn<QueryResponse<EM_Templates>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    EmailFrom: string;
    EmailFromStartsWith: string;
    EmailFromEndsWith: string;
    EmailFromContains: string;
    EmailFromLike: string;
    EmailFromBetween: string[];
    EmailFromIn: string[];
    EmailTo: string;
    EmailToStartsWith: string;
    EmailToEndsWith: string;
    EmailToContains: string;
    EmailToLike: string;
    EmailToBetween: string[];
    EmailToIn: string[];
    RequestReadReceipt: boolean;
    EmailCC: string;
    EmailCCStartsWith: string;
    EmailCCEndsWith: string;
    EmailCCContains: string;
    EmailCCLike: string;
    EmailCCBetween: string[];
    EmailCCIn: string[];
    EmailBCC: string;
    EmailBCCStartsWith: string;
    EmailBCCEndsWith: string;
    EmailBCCContains: string;
    EmailBCCLike: string;
    EmailBCCBetween: string[];
    EmailBCCIn: string[];
    EmailSubject: string;
    EmailSubjectStartsWith: string;
    EmailSubjectEndsWith: string;
    EmailSubjectContains: string;
    EmailSubjectLike: string;
    EmailSubjectBetween: string[];
    EmailSubjectIn: string[];
    EmailBody: string;
    EmailBodyStartsWith: string;
    EmailBodyEndsWith: string;
    EmailBodyContains: string;
    EmailBodyLike: string;
    EmailBodyBetween: string[];
    EmailBodyIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DefaultItem: boolean;
    createResponse() { return new QueryResponse<EM_Templates>(); }
    getTypeName() { return "EM_TemplatesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class EX_ExportPendingQuery extends QueryDb<EX_ExportPending> implements IReturn<QueryResponse<EX_ExportPending>>
{
    ExportPendingID: string;
    ExportPendingIDStartsWith: string;
    ExportPendingIDEndsWith: string;
    ExportPendingIDContains: string;
    ExportPendingIDLike: string;
    ExportPendingIDBetween: string[];
    ExportPendingIDIn: string[];
    ActionScript: string;
    ActionScriptStartsWith: string;
    ActionScriptEndsWith: string;
    ActionScriptContains: string;
    ActionScriptLike: string;
    ActionScriptBetween: string[];
    ActionScriptIn: string[];
    ScriptErrorMessage: string;
    ScriptErrorMessageStartsWith: string;
    ScriptErrorMessageEndsWith: string;
    ScriptErrorMessageContains: string;
    ScriptErrorMessageLike: string;
    ScriptErrorMessageBetween: string[];
    ScriptErrorMessageIn: string[];
    DateTimeAdded: string;
    DateTimeAddedGreaterThanOrEqualTo: string;
    DateTimeAddedGreaterThan: string;
    DateTimeAddedLessThan: string;
    DateTimeAddedLessThanOrEqualTo: string;
    DateTimeAddedNotEqualTo: string;
    DateTimeAddedBetween: string[];
    DateTimeAddedIn: string[];
    Status: string;
    StatusStartsWith: string;
    StatusEndsWith: string;
    StatusContains: string;
    StatusLike: string;
    StatusBetween: string[];
    StatusIn: string[];
    createResponse() { return new QueryResponse<EX_ExportPending>(); }
    getTypeName() { return "EX_ExportPendingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class EX_ExportQueueQuery extends QueryDb<EX_ExportQueue> implements IReturn<QueryResponse<EX_ExportQueue>>
{
    ExportQueueID: string;
    ExportQueueIDStartsWith: string;
    ExportQueueIDEndsWith: string;
    ExportQueueIDContains: string;
    ExportQueueIDLike: string;
    ExportQueueIDBetween: string[];
    ExportQueueIDIn: string[];
    ExportData: string;
    ExportDataStartsWith: string;
    ExportDataEndsWith: string;
    ExportDataContains: string;
    ExportDataLike: string;
    ExportDataBetween: string[];
    ExportDataIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    AddedToQueueDateTime: string;
    AddedToQueueDateTimeGreaterThanOrEqualTo: string;
    AddedToQueueDateTimeGreaterThan: string;
    AddedToQueueDateTimeLessThan: string;
    AddedToQueueDateTimeLessThanOrEqualTo: string;
    AddedToQueueDateTimeNotEqualTo: string;
    AddedToQueueDateTimeBetween: string[];
    AddedToQueueDateTimeIn: string[];
    AddedToQueueByStaffID: string;
    AddedToQueueByStaffIDStartsWith: string;
    AddedToQueueByStaffIDEndsWith: string;
    AddedToQueueByStaffIDContains: string;
    AddedToQueueByStaffIDLike: string;
    AddedToQueueByStaffIDBetween: string[];
    AddedToQueueByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    ExportErrorMessage: string;
    ExportErrorMessageStartsWith: string;
    ExportErrorMessageEndsWith: string;
    ExportErrorMessageContains: string;
    ExportErrorMessageLike: string;
    ExportErrorMessageBetween: string[];
    ExportErrorMessageIn: string[];
    ExportBatchID: string;
    ExportBatchIDStartsWith: string;
    ExportBatchIDEndsWith: string;
    ExportBatchIDContains: string;
    ExportBatchIDLike: string;
    ExportBatchIDBetween: string[];
    ExportBatchIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    ItemNo: string;
    ItemNoStartsWith: string;
    ItemNoEndsWith: string;
    ItemNoContains: string;
    ItemNoLike: string;
    ItemNoBetween: string[];
    ItemNoIn: string[];
    createResponse() { return new QueryResponse<EX_ExportQueue>(); }
    getTypeName() { return "EX_ExportQueueQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class FR_CarrierFreightDescriptionsQuery extends QueryDb<FR_CarrierFreightDescriptions> implements IReturn<QueryResponse<FR_CarrierFreightDescriptions>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    FR_Carriers_RecID: string;
    FR_Carriers_RecIDStartsWith: string;
    FR_Carriers_RecIDEndsWith: string;
    FR_Carriers_RecIDContains: string;
    FR_Carriers_RecIDLike: string;
    FR_Carriers_RecIDBetween: string[];
    FR_Carriers_RecIDIn: string[];
    FreightDescription: string;
    FreightDescriptionStartsWith: string;
    FreightDescriptionEndsWith: string;
    FreightDescriptionContains: string;
    FreightDescriptionLike: string;
    FreightDescriptionBetween: string[];
    FreightDescriptionIn: string[];
    DefaultItem: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    FreightDescriptionEnabled: boolean;
    createResponse() { return new QueryResponse<FR_CarrierFreightDescriptions>(); }
    getTypeName() { return "FR_CarrierFreightDescriptionsQuery"; }
}

// @Route("/Queries/FR_Carriers", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class FR_CarriersQuery extends QueryDb<FR_Carriers> implements IReturn<QueryResponse<FR_Carriers>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CarrierName: string;
    CarrierNameStartsWith: string;
    CarrierNameEndsWith: string;
    CarrierNameContains: string;
    CarrierNameLike: string;
    CarrierNameBetween: string[];
    CarrierNameIn: string[];
    CarrierEnabled: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    createResponse() { return new QueryResponse<FR_Carriers>(); }
    getTypeName() { return "FR_CarriersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class FR_CarrierServicesQuery extends QueryDb<FR_CarrierServices> implements IReturn<QueryResponse<FR_CarrierServices>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    FR_Carriers_RecID: string;
    FR_Carriers_RecIDStartsWith: string;
    FR_Carriers_RecIDEndsWith: string;
    FR_Carriers_RecIDContains: string;
    FR_Carriers_RecIDLike: string;
    FR_Carriers_RecIDBetween: string[];
    FR_Carriers_RecIDIn: string[];
    ServiceName: string;
    ServiceNameStartsWith: string;
    ServiceNameEndsWith: string;
    ServiceNameContains: string;
    ServiceNameLike: string;
    ServiceNameBetween: string[];
    ServiceNameIn: string[];
    DefaultItem: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ServiceEnabled: boolean;
    createResponse() { return new QueryResponse<FR_CarrierServices>(); }
    getTypeName() { return "FR_CarrierServicesQuery"; }
}

// @Route("/Queries/FX_Currency", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class FX_CurrencyQuery extends QueryDb<FX_Currency> implements IReturn<QueryResponse<FX_Currency>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    ShortName: string;
    ShortNameStartsWith: string;
    ShortNameEndsWith: string;
    ShortNameContains: string;
    ShortNameLike: string;
    ShortNameBetween: string[];
    ShortNameIn: string[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    IsLocal: boolean;
    IsEnabled: boolean;
    createResponse() { return new QueryResponse<FX_Currency>(); }
    getTypeName() { return "FX_CurrencyQuery"; }
}

// @Route("/Queries/FX_CurrencyRates", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class FX_CurrencyRatesQuery extends QueryDb<FX_CurrencyRates> implements IReturn<QueryResponse<FX_CurrencyRates>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    FX_Main_RecID: string;
    FX_Main_RecIDStartsWith: string;
    FX_Main_RecIDEndsWith: string;
    FX_Main_RecIDContains: string;
    FX_Main_RecIDLike: string;
    FX_Main_RecIDBetween: string[];
    FX_Main_RecIDIn: string[];
    DateEntered: string;
    DateEnteredGreaterThanOrEqualTo: string;
    DateEnteredGreaterThan: string;
    DateEnteredLessThan: string;
    DateEnteredLessThanOrEqualTo: string;
    DateEnteredNotEqualTo: string;
    DateEnteredBetween: string[];
    DateEnteredIn: string[];
    EffectiveDate: string;
    EffectiveDateGreaterThanOrEqualTo: string;
    EffectiveDateGreaterThan: string;
    EffectiveDateLessThan: string;
    EffectiveDateLessThanOrEqualTo: string;
    EffectiveDateNotEqualTo: string;
    EffectiveDateBetween: string[];
    EffectiveDateIn: string[];
    EffectiveDateEnd: string;
    EffectiveDateEndGreaterThanOrEqualTo: string;
    EffectiveDateEndGreaterThan: string;
    EffectiveDateEndLessThan: string;
    EffectiveDateEndLessThanOrEqualTo: string;
    EffectiveDateEndNotEqualTo: string;
    EffectiveDateEndBetween: string[];
    EffectiveDateEndIn: string[];
    TransactionRate: number;
    TransactionRateGreaterThanOrEqualTo: number;
    TransactionRateGreaterThan: number;
    TransactionRateLessThan: number;
    TransactionRateLessThanOrEqualTo: number;
    TransactionRateNotEqualTo: number;
    TransactionRateBetween: number[];
    TransactionRateIn: number[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<FX_CurrencyRates>(); }
    getTypeName() { return "FX_CurrencyRatesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_AutoJournalLinesQuery extends QueryDb<GL_AutoJournalLines> implements IReturn<QueryResponse<GL_AutoJournalLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    GL_AutoJournals_RecID: string;
    GL_AutoJournals_RecIDStartsWith: string;
    GL_AutoJournals_RecIDEndsWith: string;
    GL_AutoJournals_RecIDContains: string;
    GL_AutoJournals_RecIDLike: string;
    GL_AutoJournals_RecIDBetween: string[];
    GL_AutoJournals_RecIDIn: string[];
    GL_Sets_RecID_Source: string;
    GL_Sets_RecID_SourceStartsWith: string;
    GL_Sets_RecID_SourceEndsWith: string;
    GL_Sets_RecID_SourceContains: string;
    GL_Sets_RecID_SourceLike: string;
    GL_Sets_RecID_SourceBetween: string[];
    GL_Sets_RecID_SourceIn: string[];
    GL_Sets_SourceDescription: string;
    GL_Sets_SourceDescriptionStartsWith: string;
    GL_Sets_SourceDescriptionEndsWith: string;
    GL_Sets_SourceDescriptionContains: string;
    GL_Sets_SourceDescriptionLike: string;
    GL_Sets_SourceDescriptionBetween: string[];
    GL_Sets_SourceDescriptionIn: string[];
    PostingDue: string;
    PostingDueGreaterThanOrEqualTo: string;
    PostingDueGreaterThan: string;
    PostingDueLessThan: string;
    PostingDueLessThanOrEqualTo: string;
    PostingDueNotEqualTo: string;
    PostingDueBetween: string[];
    PostingDueIn: string[];
    Reason: string;
    ReasonStartsWith: string;
    ReasonEndsWith: string;
    ReasonContains: string;
    ReasonLike: string;
    ReasonBetween: string[];
    ReasonIn: string[];
    GL_Sets_RecID_Destination: string;
    GL_Sets_RecID_DestinationStartsWith: string;
    GL_Sets_RecID_DestinationEndsWith: string;
    GL_Sets_RecID_DestinationContains: string;
    GL_Sets_RecID_DestinationLike: string;
    GL_Sets_RecID_DestinationBetween: string[];
    GL_Sets_RecID_DestinationIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<GL_AutoJournalLines>(); }
    getTypeName() { return "GL_AutoJournalLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_AutoJournalsQuery extends QueryDb<GL_AutoJournals> implements IReturn<QueryResponse<GL_AutoJournals>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RunDateTime: string;
    RunDateTimeGreaterThanOrEqualTo: string;
    RunDateTimeGreaterThan: string;
    RunDateTimeLessThan: string;
    RunDateTimeLessThanOrEqualTo: string;
    RunDateTimeNotEqualTo: string;
    RunDateTimeBetween: string[];
    RunDateTimeIn: string[];
    LastSavedBy_HR_Staff_RecID: string;
    LastSavedBy_HR_Staff_RecIDStartsWith: string;
    LastSavedBy_HR_Staff_RecIDEndsWith: string;
    LastSavedBy_HR_Staff_RecIDContains: string;
    LastSavedBy_HR_Staff_RecIDLike: string;
    LastSavedBy_HR_Staff_RecIDBetween: string[];
    LastSavedBy_HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<GL_AutoJournals>(); }
    getTypeName() { return "GL_AutoJournalsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_BankDetailsQuery extends QueryDb<GL_BankDetails> implements IReturn<QueryResponse<GL_BankDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    NextChequeNumber: string;
    NextChequeNumberStartsWith: string;
    NextChequeNumberEndsWith: string;
    NextChequeNumberContains: string;
    NextChequeNumberLike: string;
    NextChequeNumberBetween: string[];
    NextChequeNumberIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    AccountNumber: string;
    AccountNumberStartsWith: string;
    AccountNumberEndsWith: string;
    AccountNumberContains: string;
    AccountNumberLike: string;
    AccountNumberBetween: string[];
    AccountNumberIn: string[];
    AccountName: string;
    AccountNameStartsWith: string;
    AccountNameEndsWith: string;
    AccountNameContains: string;
    AccountNameLike: string;
    AccountNameBetween: string[];
    AccountNameIn: string[];
    DefaultBank: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    FeesLedgerID: string;
    FeesLedgerIDStartsWith: string;
    FeesLedgerIDEndsWith: string;
    FeesLedgerIDContains: string;
    FeesLedgerIDLike: string;
    FeesLedgerIDBetween: string[];
    FeesLedgerIDIn: string[];
    EFTBankCode: string;
    EFTBankCodeStartsWith: string;
    EFTBankCodeEndsWith: string;
    EFTBankCodeContains: string;
    EFTBankCodeLike: string;
    EFTBankCodeBetween: string[];
    EFTBankCodeIn: string[];
    UserIdentificationNumber: string;
    UserIdentificationNumberStartsWith: string;
    UserIdentificationNumberEndsWith: string;
    UserIdentificationNumberContains: string;
    UserIdentificationNumberLike: string;
    UserIdentificationNumberBetween: string[];
    UserIdentificationNumberIn: string[];
    createResponse() { return new QueryResponse<GL_BankDetails>(); }
    getTypeName() { return "GL_BankDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_Budget1Query extends QueryDb<GL_Budget1> implements IReturn<QueryResponse<GL_Budget1>>
{
    GLBudgetID: string;
    GLBudgetIDStartsWith: string;
    GLBudgetIDEndsWith: string;
    GLBudgetIDContains: string;
    GLBudgetIDLike: string;
    GLBudgetIDBetween: string[];
    GLBudgetIDIn: string[];
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    LastYearBudget1: number;
    LastYearBudget1GreaterThanOrEqualTo: number;
    LastYearBudget1GreaterThan: number;
    LastYearBudget1LessThan: number;
    LastYearBudget1LessThanOrEqualTo: number;
    LastYearBudget1NotEqualTo: number;
    LastYearBudget1Between: number[];
    LastYearBudget1In: number[];
    LastYearBudget2: number;
    LastYearBudget2GreaterThanOrEqualTo: number;
    LastYearBudget2GreaterThan: number;
    LastYearBudget2LessThan: number;
    LastYearBudget2LessThanOrEqualTo: number;
    LastYearBudget2NotEqualTo: number;
    LastYearBudget2Between: number[];
    LastYearBudget2In: number[];
    LastYearBudget3: number;
    LastYearBudget3GreaterThanOrEqualTo: number;
    LastYearBudget3GreaterThan: number;
    LastYearBudget3LessThan: number;
    LastYearBudget3LessThanOrEqualTo: number;
    LastYearBudget3NotEqualTo: number;
    LastYearBudget3Between: number[];
    LastYearBudget3In: number[];
    LastYearBudget4: number;
    LastYearBudget4GreaterThanOrEqualTo: number;
    LastYearBudget4GreaterThan: number;
    LastYearBudget4LessThan: number;
    LastYearBudget4LessThanOrEqualTo: number;
    LastYearBudget4NotEqualTo: number;
    LastYearBudget4Between: number[];
    LastYearBudget4In: number[];
    LastYearBudget5: number;
    LastYearBudget5GreaterThanOrEqualTo: number;
    LastYearBudget5GreaterThan: number;
    LastYearBudget5LessThan: number;
    LastYearBudget5LessThanOrEqualTo: number;
    LastYearBudget5NotEqualTo: number;
    LastYearBudget5Between: number[];
    LastYearBudget5In: number[];
    LastYearBudget6: number;
    LastYearBudget6GreaterThanOrEqualTo: number;
    LastYearBudget6GreaterThan: number;
    LastYearBudget6LessThan: number;
    LastYearBudget6LessThanOrEqualTo: number;
    LastYearBudget6NotEqualTo: number;
    LastYearBudget6Between: number[];
    LastYearBudget6In: number[];
    LastYearBudget7: number;
    LastYearBudget7GreaterThanOrEqualTo: number;
    LastYearBudget7GreaterThan: number;
    LastYearBudget7LessThan: number;
    LastYearBudget7LessThanOrEqualTo: number;
    LastYearBudget7NotEqualTo: number;
    LastYearBudget7Between: number[];
    LastYearBudget7In: number[];
    LastYearBudget8: number;
    LastYearBudget8GreaterThanOrEqualTo: number;
    LastYearBudget8GreaterThan: number;
    LastYearBudget8LessThan: number;
    LastYearBudget8LessThanOrEqualTo: number;
    LastYearBudget8NotEqualTo: number;
    LastYearBudget8Between: number[];
    LastYearBudget8In: number[];
    LastYearBudget9: number;
    LastYearBudget9GreaterThanOrEqualTo: number;
    LastYearBudget9GreaterThan: number;
    LastYearBudget9LessThan: number;
    LastYearBudget9LessThanOrEqualTo: number;
    LastYearBudget9NotEqualTo: number;
    LastYearBudget9Between: number[];
    LastYearBudget9In: number[];
    LastYearBudget10: number;
    LastYearBudget10GreaterThanOrEqualTo: number;
    LastYearBudget10GreaterThan: number;
    LastYearBudget10LessThan: number;
    LastYearBudget10LessThanOrEqualTo: number;
    LastYearBudget10NotEqualTo: number;
    LastYearBudget10Between: number[];
    LastYearBudget10In: number[];
    LastYearBudget11: number;
    LastYearBudget11GreaterThanOrEqualTo: number;
    LastYearBudget11GreaterThan: number;
    LastYearBudget11LessThan: number;
    LastYearBudget11LessThanOrEqualTo: number;
    LastYearBudget11NotEqualTo: number;
    LastYearBudget11Between: number[];
    LastYearBudget11In: number[];
    LastYearBudget12: number;
    LastYearBudget12GreaterThanOrEqualTo: number;
    LastYearBudget12GreaterThan: number;
    LastYearBudget12LessThan: number;
    LastYearBudget12LessThanOrEqualTo: number;
    LastYearBudget12NotEqualTo: number;
    LastYearBudget12Between: number[];
    LastYearBudget12In: number[];
    CurrYearBudget1: number;
    CurrYearBudget1GreaterThanOrEqualTo: number;
    CurrYearBudget1GreaterThan: number;
    CurrYearBudget1LessThan: number;
    CurrYearBudget1LessThanOrEqualTo: number;
    CurrYearBudget1NotEqualTo: number;
    CurrYearBudget1Between: number[];
    CurrYearBudget1In: number[];
    CurrYearBudget2: number;
    CurrYearBudget2GreaterThanOrEqualTo: number;
    CurrYearBudget2GreaterThan: number;
    CurrYearBudget2LessThan: number;
    CurrYearBudget2LessThanOrEqualTo: number;
    CurrYearBudget2NotEqualTo: number;
    CurrYearBudget2Between: number[];
    CurrYearBudget2In: number[];
    CurrYearBudget3: number;
    CurrYearBudget3GreaterThanOrEqualTo: number;
    CurrYearBudget3GreaterThan: number;
    CurrYearBudget3LessThan: number;
    CurrYearBudget3LessThanOrEqualTo: number;
    CurrYearBudget3NotEqualTo: number;
    CurrYearBudget3Between: number[];
    CurrYearBudget3In: number[];
    CurrYearBudget4: number;
    CurrYearBudget4GreaterThanOrEqualTo: number;
    CurrYearBudget4GreaterThan: number;
    CurrYearBudget4LessThan: number;
    CurrYearBudget4LessThanOrEqualTo: number;
    CurrYearBudget4NotEqualTo: number;
    CurrYearBudget4Between: number[];
    CurrYearBudget4In: number[];
    CurrYearBudget5: number;
    CurrYearBudget5GreaterThanOrEqualTo: number;
    CurrYearBudget5GreaterThan: number;
    CurrYearBudget5LessThan: number;
    CurrYearBudget5LessThanOrEqualTo: number;
    CurrYearBudget5NotEqualTo: number;
    CurrYearBudget5Between: number[];
    CurrYearBudget5In: number[];
    CurrYearBudget6: number;
    CurrYearBudget6GreaterThanOrEqualTo: number;
    CurrYearBudget6GreaterThan: number;
    CurrYearBudget6LessThan: number;
    CurrYearBudget6LessThanOrEqualTo: number;
    CurrYearBudget6NotEqualTo: number;
    CurrYearBudget6Between: number[];
    CurrYearBudget6In: number[];
    CurrYearBudget7: number;
    CurrYearBudget7GreaterThanOrEqualTo: number;
    CurrYearBudget7GreaterThan: number;
    CurrYearBudget7LessThan: number;
    CurrYearBudget7LessThanOrEqualTo: number;
    CurrYearBudget7NotEqualTo: number;
    CurrYearBudget7Between: number[];
    CurrYearBudget7In: number[];
    CurrYearBudget8: number;
    CurrYearBudget8GreaterThanOrEqualTo: number;
    CurrYearBudget8GreaterThan: number;
    CurrYearBudget8LessThan: number;
    CurrYearBudget8LessThanOrEqualTo: number;
    CurrYearBudget8NotEqualTo: number;
    CurrYearBudget8Between: number[];
    CurrYearBudget8In: number[];
    CurrYearBudget9: number;
    CurrYearBudget9GreaterThanOrEqualTo: number;
    CurrYearBudget9GreaterThan: number;
    CurrYearBudget9LessThan: number;
    CurrYearBudget9LessThanOrEqualTo: number;
    CurrYearBudget9NotEqualTo: number;
    CurrYearBudget9Between: number[];
    CurrYearBudget9In: number[];
    CurrYearBudget10: number;
    CurrYearBudget10GreaterThanOrEqualTo: number;
    CurrYearBudget10GreaterThan: number;
    CurrYearBudget10LessThan: number;
    CurrYearBudget10LessThanOrEqualTo: number;
    CurrYearBudget10NotEqualTo: number;
    CurrYearBudget10Between: number[];
    CurrYearBudget10In: number[];
    CurrYearBudget11: number;
    CurrYearBudget11GreaterThanOrEqualTo: number;
    CurrYearBudget11GreaterThan: number;
    CurrYearBudget11LessThan: number;
    CurrYearBudget11LessThanOrEqualTo: number;
    CurrYearBudget11NotEqualTo: number;
    CurrYearBudget11Between: number[];
    CurrYearBudget11In: number[];
    CurrYearBudget12: number;
    CurrYearBudget12GreaterThanOrEqualTo: number;
    CurrYearBudget12GreaterThan: number;
    CurrYearBudget12LessThan: number;
    CurrYearBudget12LessThanOrEqualTo: number;
    CurrYearBudget12NotEqualTo: number;
    CurrYearBudget12Between: number[];
    CurrYearBudget12In: number[];
    NextYearBudget1: number;
    NextYearBudget1GreaterThanOrEqualTo: number;
    NextYearBudget1GreaterThan: number;
    NextYearBudget1LessThan: number;
    NextYearBudget1LessThanOrEqualTo: number;
    NextYearBudget1NotEqualTo: number;
    NextYearBudget1Between: number[];
    NextYearBudget1In: number[];
    NextYearBudget2: number;
    NextYearBudget2GreaterThanOrEqualTo: number;
    NextYearBudget2GreaterThan: number;
    NextYearBudget2LessThan: number;
    NextYearBudget2LessThanOrEqualTo: number;
    NextYearBudget2NotEqualTo: number;
    NextYearBudget2Between: number[];
    NextYearBudget2In: number[];
    NextYearBudget3: number;
    NextYearBudget3GreaterThanOrEqualTo: number;
    NextYearBudget3GreaterThan: number;
    NextYearBudget3LessThan: number;
    NextYearBudget3LessThanOrEqualTo: number;
    NextYearBudget3NotEqualTo: number;
    NextYearBudget3Between: number[];
    NextYearBudget3In: number[];
    NextYearBudget4: number;
    NextYearBudget4GreaterThanOrEqualTo: number;
    NextYearBudget4GreaterThan: number;
    NextYearBudget4LessThan: number;
    NextYearBudget4LessThanOrEqualTo: number;
    NextYearBudget4NotEqualTo: number;
    NextYearBudget4Between: number[];
    NextYearBudget4In: number[];
    NextYearBudget5: number;
    NextYearBudget5GreaterThanOrEqualTo: number;
    NextYearBudget5GreaterThan: number;
    NextYearBudget5LessThan: number;
    NextYearBudget5LessThanOrEqualTo: number;
    NextYearBudget5NotEqualTo: number;
    NextYearBudget5Between: number[];
    NextYearBudget5In: number[];
    NextYearBudget6: number;
    NextYearBudget6GreaterThanOrEqualTo: number;
    NextYearBudget6GreaterThan: number;
    NextYearBudget6LessThan: number;
    NextYearBudget6LessThanOrEqualTo: number;
    NextYearBudget6NotEqualTo: number;
    NextYearBudget6Between: number[];
    NextYearBudget6In: number[];
    NextYearBudget7: number;
    NextYearBudget7GreaterThanOrEqualTo: number;
    NextYearBudget7GreaterThan: number;
    NextYearBudget7LessThan: number;
    NextYearBudget7LessThanOrEqualTo: number;
    NextYearBudget7NotEqualTo: number;
    NextYearBudget7Between: number[];
    NextYearBudget7In: number[];
    NextYearBudget8: number;
    NextYearBudget8GreaterThanOrEqualTo: number;
    NextYearBudget8GreaterThan: number;
    NextYearBudget8LessThan: number;
    NextYearBudget8LessThanOrEqualTo: number;
    NextYearBudget8NotEqualTo: number;
    NextYearBudget8Between: number[];
    NextYearBudget8In: number[];
    NextYearBudget9: number;
    NextYearBudget9GreaterThanOrEqualTo: number;
    NextYearBudget9GreaterThan: number;
    NextYearBudget9LessThan: number;
    NextYearBudget9LessThanOrEqualTo: number;
    NextYearBudget9NotEqualTo: number;
    NextYearBudget9Between: number[];
    NextYearBudget9In: number[];
    NextYearBudget10: number;
    NextYearBudget10GreaterThanOrEqualTo: number;
    NextYearBudget10GreaterThan: number;
    NextYearBudget10LessThan: number;
    NextYearBudget10LessThanOrEqualTo: number;
    NextYearBudget10NotEqualTo: number;
    NextYearBudget10Between: number[];
    NextYearBudget10In: number[];
    NextYearBudget11: number;
    NextYearBudget11GreaterThanOrEqualTo: number;
    NextYearBudget11GreaterThan: number;
    NextYearBudget11LessThan: number;
    NextYearBudget11LessThanOrEqualTo: number;
    NextYearBudget11NotEqualTo: number;
    NextYearBudget11Between: number[];
    NextYearBudget11In: number[];
    NextYearBudget12: number;
    NextYearBudget12GreaterThanOrEqualTo: number;
    NextYearBudget12GreaterThan: number;
    NextYearBudget12LessThan: number;
    NextYearBudget12LessThanOrEqualTo: number;
    NextYearBudget12NotEqualTo: number;
    NextYearBudget12Between: number[];
    NextYearBudget12In: number[];
    createResponse() { return new QueryResponse<GL_Budget1>(); }
    getTypeName() { return "GL_Budget1Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_Budget2Query extends QueryDb<GL_Budget2> implements IReturn<QueryResponse<GL_Budget2>>
{
    GLBudgetID: string;
    GLBudgetIDStartsWith: string;
    GLBudgetIDEndsWith: string;
    GLBudgetIDContains: string;
    GLBudgetIDLike: string;
    GLBudgetIDBetween: string[];
    GLBudgetIDIn: string[];
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    LastYearBudget1: number;
    LastYearBudget1GreaterThanOrEqualTo: number;
    LastYearBudget1GreaterThan: number;
    LastYearBudget1LessThan: number;
    LastYearBudget1LessThanOrEqualTo: number;
    LastYearBudget1NotEqualTo: number;
    LastYearBudget1Between: number[];
    LastYearBudget1In: number[];
    LastYearBudget2: number;
    LastYearBudget2GreaterThanOrEqualTo: number;
    LastYearBudget2GreaterThan: number;
    LastYearBudget2LessThan: number;
    LastYearBudget2LessThanOrEqualTo: number;
    LastYearBudget2NotEqualTo: number;
    LastYearBudget2Between: number[];
    LastYearBudget2In: number[];
    LastYearBudget3: number;
    LastYearBudget3GreaterThanOrEqualTo: number;
    LastYearBudget3GreaterThan: number;
    LastYearBudget3LessThan: number;
    LastYearBudget3LessThanOrEqualTo: number;
    LastYearBudget3NotEqualTo: number;
    LastYearBudget3Between: number[];
    LastYearBudget3In: number[];
    LastYearBudget4: number;
    LastYearBudget4GreaterThanOrEqualTo: number;
    LastYearBudget4GreaterThan: number;
    LastYearBudget4LessThan: number;
    LastYearBudget4LessThanOrEqualTo: number;
    LastYearBudget4NotEqualTo: number;
    LastYearBudget4Between: number[];
    LastYearBudget4In: number[];
    LastYearBudget5: number;
    LastYearBudget5GreaterThanOrEqualTo: number;
    LastYearBudget5GreaterThan: number;
    LastYearBudget5LessThan: number;
    LastYearBudget5LessThanOrEqualTo: number;
    LastYearBudget5NotEqualTo: number;
    LastYearBudget5Between: number[];
    LastYearBudget5In: number[];
    LastYearBudget6: number;
    LastYearBudget6GreaterThanOrEqualTo: number;
    LastYearBudget6GreaterThan: number;
    LastYearBudget6LessThan: number;
    LastYearBudget6LessThanOrEqualTo: number;
    LastYearBudget6NotEqualTo: number;
    LastYearBudget6Between: number[];
    LastYearBudget6In: number[];
    LastYearBudget7: number;
    LastYearBudget7GreaterThanOrEqualTo: number;
    LastYearBudget7GreaterThan: number;
    LastYearBudget7LessThan: number;
    LastYearBudget7LessThanOrEqualTo: number;
    LastYearBudget7NotEqualTo: number;
    LastYearBudget7Between: number[];
    LastYearBudget7In: number[];
    LastYearBudget8: number;
    LastYearBudget8GreaterThanOrEqualTo: number;
    LastYearBudget8GreaterThan: number;
    LastYearBudget8LessThan: number;
    LastYearBudget8LessThanOrEqualTo: number;
    LastYearBudget8NotEqualTo: number;
    LastYearBudget8Between: number[];
    LastYearBudget8In: number[];
    LastYearBudget9: number;
    LastYearBudget9GreaterThanOrEqualTo: number;
    LastYearBudget9GreaterThan: number;
    LastYearBudget9LessThan: number;
    LastYearBudget9LessThanOrEqualTo: number;
    LastYearBudget9NotEqualTo: number;
    LastYearBudget9Between: number[];
    LastYearBudget9In: number[];
    LastYearBudget10: number;
    LastYearBudget10GreaterThanOrEqualTo: number;
    LastYearBudget10GreaterThan: number;
    LastYearBudget10LessThan: number;
    LastYearBudget10LessThanOrEqualTo: number;
    LastYearBudget10NotEqualTo: number;
    LastYearBudget10Between: number[];
    LastYearBudget10In: number[];
    LastYearBudget11: number;
    LastYearBudget11GreaterThanOrEqualTo: number;
    LastYearBudget11GreaterThan: number;
    LastYearBudget11LessThan: number;
    LastYearBudget11LessThanOrEqualTo: number;
    LastYearBudget11NotEqualTo: number;
    LastYearBudget11Between: number[];
    LastYearBudget11In: number[];
    LastYearBudget12: number;
    LastYearBudget12GreaterThanOrEqualTo: number;
    LastYearBudget12GreaterThan: number;
    LastYearBudget12LessThan: number;
    LastYearBudget12LessThanOrEqualTo: number;
    LastYearBudget12NotEqualTo: number;
    LastYearBudget12Between: number[];
    LastYearBudget12In: number[];
    CurrYearBudget1: number;
    CurrYearBudget1GreaterThanOrEqualTo: number;
    CurrYearBudget1GreaterThan: number;
    CurrYearBudget1LessThan: number;
    CurrYearBudget1LessThanOrEqualTo: number;
    CurrYearBudget1NotEqualTo: number;
    CurrYearBudget1Between: number[];
    CurrYearBudget1In: number[];
    CurrYearBudget2: number;
    CurrYearBudget2GreaterThanOrEqualTo: number;
    CurrYearBudget2GreaterThan: number;
    CurrYearBudget2LessThan: number;
    CurrYearBudget2LessThanOrEqualTo: number;
    CurrYearBudget2NotEqualTo: number;
    CurrYearBudget2Between: number[];
    CurrYearBudget2In: number[];
    CurrYearBudget3: number;
    CurrYearBudget3GreaterThanOrEqualTo: number;
    CurrYearBudget3GreaterThan: number;
    CurrYearBudget3LessThan: number;
    CurrYearBudget3LessThanOrEqualTo: number;
    CurrYearBudget3NotEqualTo: number;
    CurrYearBudget3Between: number[];
    CurrYearBudget3In: number[];
    CurrYearBudget4: number;
    CurrYearBudget4GreaterThanOrEqualTo: number;
    CurrYearBudget4GreaterThan: number;
    CurrYearBudget4LessThan: number;
    CurrYearBudget4LessThanOrEqualTo: number;
    CurrYearBudget4NotEqualTo: number;
    CurrYearBudget4Between: number[];
    CurrYearBudget4In: number[];
    CurrYearBudget5: number;
    CurrYearBudget5GreaterThanOrEqualTo: number;
    CurrYearBudget5GreaterThan: number;
    CurrYearBudget5LessThan: number;
    CurrYearBudget5LessThanOrEqualTo: number;
    CurrYearBudget5NotEqualTo: number;
    CurrYearBudget5Between: number[];
    CurrYearBudget5In: number[];
    CurrYearBudget6: number;
    CurrYearBudget6GreaterThanOrEqualTo: number;
    CurrYearBudget6GreaterThan: number;
    CurrYearBudget6LessThan: number;
    CurrYearBudget6LessThanOrEqualTo: number;
    CurrYearBudget6NotEqualTo: number;
    CurrYearBudget6Between: number[];
    CurrYearBudget6In: number[];
    CurrYearBudget7: number;
    CurrYearBudget7GreaterThanOrEqualTo: number;
    CurrYearBudget7GreaterThan: number;
    CurrYearBudget7LessThan: number;
    CurrYearBudget7LessThanOrEqualTo: number;
    CurrYearBudget7NotEqualTo: number;
    CurrYearBudget7Between: number[];
    CurrYearBudget7In: number[];
    CurrYearBudget8: number;
    CurrYearBudget8GreaterThanOrEqualTo: number;
    CurrYearBudget8GreaterThan: number;
    CurrYearBudget8LessThan: number;
    CurrYearBudget8LessThanOrEqualTo: number;
    CurrYearBudget8NotEqualTo: number;
    CurrYearBudget8Between: number[];
    CurrYearBudget8In: number[];
    CurrYearBudget9: number;
    CurrYearBudget9GreaterThanOrEqualTo: number;
    CurrYearBudget9GreaterThan: number;
    CurrYearBudget9LessThan: number;
    CurrYearBudget9LessThanOrEqualTo: number;
    CurrYearBudget9NotEqualTo: number;
    CurrYearBudget9Between: number[];
    CurrYearBudget9In: number[];
    CurrYearBudget10: number;
    CurrYearBudget10GreaterThanOrEqualTo: number;
    CurrYearBudget10GreaterThan: number;
    CurrYearBudget10LessThan: number;
    CurrYearBudget10LessThanOrEqualTo: number;
    CurrYearBudget10NotEqualTo: number;
    CurrYearBudget10Between: number[];
    CurrYearBudget10In: number[];
    CurrYearBudget11: number;
    CurrYearBudget11GreaterThanOrEqualTo: number;
    CurrYearBudget11GreaterThan: number;
    CurrYearBudget11LessThan: number;
    CurrYearBudget11LessThanOrEqualTo: number;
    CurrYearBudget11NotEqualTo: number;
    CurrYearBudget11Between: number[];
    CurrYearBudget11In: number[];
    CurrYearBudget12: number;
    CurrYearBudget12GreaterThanOrEqualTo: number;
    CurrYearBudget12GreaterThan: number;
    CurrYearBudget12LessThan: number;
    CurrYearBudget12LessThanOrEqualTo: number;
    CurrYearBudget12NotEqualTo: number;
    CurrYearBudget12Between: number[];
    CurrYearBudget12In: number[];
    NextYearBudget1: number;
    NextYearBudget1GreaterThanOrEqualTo: number;
    NextYearBudget1GreaterThan: number;
    NextYearBudget1LessThan: number;
    NextYearBudget1LessThanOrEqualTo: number;
    NextYearBudget1NotEqualTo: number;
    NextYearBudget1Between: number[];
    NextYearBudget1In: number[];
    NextYearBudget2: number;
    NextYearBudget2GreaterThanOrEqualTo: number;
    NextYearBudget2GreaterThan: number;
    NextYearBudget2LessThan: number;
    NextYearBudget2LessThanOrEqualTo: number;
    NextYearBudget2NotEqualTo: number;
    NextYearBudget2Between: number[];
    NextYearBudget2In: number[];
    NextYearBudget3: number;
    NextYearBudget3GreaterThanOrEqualTo: number;
    NextYearBudget3GreaterThan: number;
    NextYearBudget3LessThan: number;
    NextYearBudget3LessThanOrEqualTo: number;
    NextYearBudget3NotEqualTo: number;
    NextYearBudget3Between: number[];
    NextYearBudget3In: number[];
    NextYearBudget4: number;
    NextYearBudget4GreaterThanOrEqualTo: number;
    NextYearBudget4GreaterThan: number;
    NextYearBudget4LessThan: number;
    NextYearBudget4LessThanOrEqualTo: number;
    NextYearBudget4NotEqualTo: number;
    NextYearBudget4Between: number[];
    NextYearBudget4In: number[];
    NextYearBudget5: number;
    NextYearBudget5GreaterThanOrEqualTo: number;
    NextYearBudget5GreaterThan: number;
    NextYearBudget5LessThan: number;
    NextYearBudget5LessThanOrEqualTo: number;
    NextYearBudget5NotEqualTo: number;
    NextYearBudget5Between: number[];
    NextYearBudget5In: number[];
    NextYearBudget6: number;
    NextYearBudget6GreaterThanOrEqualTo: number;
    NextYearBudget6GreaterThan: number;
    NextYearBudget6LessThan: number;
    NextYearBudget6LessThanOrEqualTo: number;
    NextYearBudget6NotEqualTo: number;
    NextYearBudget6Between: number[];
    NextYearBudget6In: number[];
    NextYearBudget7: number;
    NextYearBudget7GreaterThanOrEqualTo: number;
    NextYearBudget7GreaterThan: number;
    NextYearBudget7LessThan: number;
    NextYearBudget7LessThanOrEqualTo: number;
    NextYearBudget7NotEqualTo: number;
    NextYearBudget7Between: number[];
    NextYearBudget7In: number[];
    NextYearBudget8: number;
    NextYearBudget8GreaterThanOrEqualTo: number;
    NextYearBudget8GreaterThan: number;
    NextYearBudget8LessThan: number;
    NextYearBudget8LessThanOrEqualTo: number;
    NextYearBudget8NotEqualTo: number;
    NextYearBudget8Between: number[];
    NextYearBudget8In: number[];
    NextYearBudget9: number;
    NextYearBudget9GreaterThanOrEqualTo: number;
    NextYearBudget9GreaterThan: number;
    NextYearBudget9LessThan: number;
    NextYearBudget9LessThanOrEqualTo: number;
    NextYearBudget9NotEqualTo: number;
    NextYearBudget9Between: number[];
    NextYearBudget9In: number[];
    NextYearBudget10: number;
    NextYearBudget10GreaterThanOrEqualTo: number;
    NextYearBudget10GreaterThan: number;
    NextYearBudget10LessThan: number;
    NextYearBudget10LessThanOrEqualTo: number;
    NextYearBudget10NotEqualTo: number;
    NextYearBudget10Between: number[];
    NextYearBudget10In: number[];
    NextYearBudget11: number;
    NextYearBudget11GreaterThanOrEqualTo: number;
    NextYearBudget11GreaterThan: number;
    NextYearBudget11LessThan: number;
    NextYearBudget11LessThanOrEqualTo: number;
    NextYearBudget11NotEqualTo: number;
    NextYearBudget11Between: number[];
    NextYearBudget11In: number[];
    NextYearBudget12: number;
    NextYearBudget12GreaterThanOrEqualTo: number;
    NextYearBudget12GreaterThan: number;
    NextYearBudget12LessThan: number;
    NextYearBudget12LessThanOrEqualTo: number;
    NextYearBudget12NotEqualTo: number;
    NextYearBudget12Between: number[];
    NextYearBudget12In: number[];
    createResponse() { return new QueryResponse<GL_Budget2>(); }
    getTypeName() { return "GL_Budget2Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_Budget3Query extends QueryDb<GL_Budget3> implements IReturn<QueryResponse<GL_Budget3>>
{
    GLBudgetID: string;
    GLBudgetIDStartsWith: string;
    GLBudgetIDEndsWith: string;
    GLBudgetIDContains: string;
    GLBudgetIDLike: string;
    GLBudgetIDBetween: string[];
    GLBudgetIDIn: string[];
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    LastYearBudget1: number;
    LastYearBudget1GreaterThanOrEqualTo: number;
    LastYearBudget1GreaterThan: number;
    LastYearBudget1LessThan: number;
    LastYearBudget1LessThanOrEqualTo: number;
    LastYearBudget1NotEqualTo: number;
    LastYearBudget1Between: number[];
    LastYearBudget1In: number[];
    LastYearBudget2: number;
    LastYearBudget2GreaterThanOrEqualTo: number;
    LastYearBudget2GreaterThan: number;
    LastYearBudget2LessThan: number;
    LastYearBudget2LessThanOrEqualTo: number;
    LastYearBudget2NotEqualTo: number;
    LastYearBudget2Between: number[];
    LastYearBudget2In: number[];
    LastYearBudget3: number;
    LastYearBudget3GreaterThanOrEqualTo: number;
    LastYearBudget3GreaterThan: number;
    LastYearBudget3LessThan: number;
    LastYearBudget3LessThanOrEqualTo: number;
    LastYearBudget3NotEqualTo: number;
    LastYearBudget3Between: number[];
    LastYearBudget3In: number[];
    LastYearBudget4: number;
    LastYearBudget4GreaterThanOrEqualTo: number;
    LastYearBudget4GreaterThan: number;
    LastYearBudget4LessThan: number;
    LastYearBudget4LessThanOrEqualTo: number;
    LastYearBudget4NotEqualTo: number;
    LastYearBudget4Between: number[];
    LastYearBudget4In: number[];
    LastYearBudget5: number;
    LastYearBudget5GreaterThanOrEqualTo: number;
    LastYearBudget5GreaterThan: number;
    LastYearBudget5LessThan: number;
    LastYearBudget5LessThanOrEqualTo: number;
    LastYearBudget5NotEqualTo: number;
    LastYearBudget5Between: number[];
    LastYearBudget5In: number[];
    LastYearBudget6: number;
    LastYearBudget6GreaterThanOrEqualTo: number;
    LastYearBudget6GreaterThan: number;
    LastYearBudget6LessThan: number;
    LastYearBudget6LessThanOrEqualTo: number;
    LastYearBudget6NotEqualTo: number;
    LastYearBudget6Between: number[];
    LastYearBudget6In: number[];
    LastYearBudget7: number;
    LastYearBudget7GreaterThanOrEqualTo: number;
    LastYearBudget7GreaterThan: number;
    LastYearBudget7LessThan: number;
    LastYearBudget7LessThanOrEqualTo: number;
    LastYearBudget7NotEqualTo: number;
    LastYearBudget7Between: number[];
    LastYearBudget7In: number[];
    LastYearBudget8: number;
    LastYearBudget8GreaterThanOrEqualTo: number;
    LastYearBudget8GreaterThan: number;
    LastYearBudget8LessThan: number;
    LastYearBudget8LessThanOrEqualTo: number;
    LastYearBudget8NotEqualTo: number;
    LastYearBudget8Between: number[];
    LastYearBudget8In: number[];
    LastYearBudget9: number;
    LastYearBudget9GreaterThanOrEqualTo: number;
    LastYearBudget9GreaterThan: number;
    LastYearBudget9LessThan: number;
    LastYearBudget9LessThanOrEqualTo: number;
    LastYearBudget9NotEqualTo: number;
    LastYearBudget9Between: number[];
    LastYearBudget9In: number[];
    LastYearBudget10: number;
    LastYearBudget10GreaterThanOrEqualTo: number;
    LastYearBudget10GreaterThan: number;
    LastYearBudget10LessThan: number;
    LastYearBudget10LessThanOrEqualTo: number;
    LastYearBudget10NotEqualTo: number;
    LastYearBudget10Between: number[];
    LastYearBudget10In: number[];
    LastYearBudget11: number;
    LastYearBudget11GreaterThanOrEqualTo: number;
    LastYearBudget11GreaterThan: number;
    LastYearBudget11LessThan: number;
    LastYearBudget11LessThanOrEqualTo: number;
    LastYearBudget11NotEqualTo: number;
    LastYearBudget11Between: number[];
    LastYearBudget11In: number[];
    LastYearBudget12: number;
    LastYearBudget12GreaterThanOrEqualTo: number;
    LastYearBudget12GreaterThan: number;
    LastYearBudget12LessThan: number;
    LastYearBudget12LessThanOrEqualTo: number;
    LastYearBudget12NotEqualTo: number;
    LastYearBudget12Between: number[];
    LastYearBudget12In: number[];
    CurrYearBudget1: number;
    CurrYearBudget1GreaterThanOrEqualTo: number;
    CurrYearBudget1GreaterThan: number;
    CurrYearBudget1LessThan: number;
    CurrYearBudget1LessThanOrEqualTo: number;
    CurrYearBudget1NotEqualTo: number;
    CurrYearBudget1Between: number[];
    CurrYearBudget1In: number[];
    CurrYearBudget2: number;
    CurrYearBudget2GreaterThanOrEqualTo: number;
    CurrYearBudget2GreaterThan: number;
    CurrYearBudget2LessThan: number;
    CurrYearBudget2LessThanOrEqualTo: number;
    CurrYearBudget2NotEqualTo: number;
    CurrYearBudget2Between: number[];
    CurrYearBudget2In: number[];
    CurrYearBudget3: number;
    CurrYearBudget3GreaterThanOrEqualTo: number;
    CurrYearBudget3GreaterThan: number;
    CurrYearBudget3LessThan: number;
    CurrYearBudget3LessThanOrEqualTo: number;
    CurrYearBudget3NotEqualTo: number;
    CurrYearBudget3Between: number[];
    CurrYearBudget3In: number[];
    CurrYearBudget4: number;
    CurrYearBudget4GreaterThanOrEqualTo: number;
    CurrYearBudget4GreaterThan: number;
    CurrYearBudget4LessThan: number;
    CurrYearBudget4LessThanOrEqualTo: number;
    CurrYearBudget4NotEqualTo: number;
    CurrYearBudget4Between: number[];
    CurrYearBudget4In: number[];
    CurrYearBudget5: number;
    CurrYearBudget5GreaterThanOrEqualTo: number;
    CurrYearBudget5GreaterThan: number;
    CurrYearBudget5LessThan: number;
    CurrYearBudget5LessThanOrEqualTo: number;
    CurrYearBudget5NotEqualTo: number;
    CurrYearBudget5Between: number[];
    CurrYearBudget5In: number[];
    CurrYearBudget6: number;
    CurrYearBudget6GreaterThanOrEqualTo: number;
    CurrYearBudget6GreaterThan: number;
    CurrYearBudget6LessThan: number;
    CurrYearBudget6LessThanOrEqualTo: number;
    CurrYearBudget6NotEqualTo: number;
    CurrYearBudget6Between: number[];
    CurrYearBudget6In: number[];
    CurrYearBudget7: number;
    CurrYearBudget7GreaterThanOrEqualTo: number;
    CurrYearBudget7GreaterThan: number;
    CurrYearBudget7LessThan: number;
    CurrYearBudget7LessThanOrEqualTo: number;
    CurrYearBudget7NotEqualTo: number;
    CurrYearBudget7Between: number[];
    CurrYearBudget7In: number[];
    CurrYearBudget8: number;
    CurrYearBudget8GreaterThanOrEqualTo: number;
    CurrYearBudget8GreaterThan: number;
    CurrYearBudget8LessThan: number;
    CurrYearBudget8LessThanOrEqualTo: number;
    CurrYearBudget8NotEqualTo: number;
    CurrYearBudget8Between: number[];
    CurrYearBudget8In: number[];
    CurrYearBudget9: number;
    CurrYearBudget9GreaterThanOrEqualTo: number;
    CurrYearBudget9GreaterThan: number;
    CurrYearBudget9LessThan: number;
    CurrYearBudget9LessThanOrEqualTo: number;
    CurrYearBudget9NotEqualTo: number;
    CurrYearBudget9Between: number[];
    CurrYearBudget9In: number[];
    CurrYearBudget10: number;
    CurrYearBudget10GreaterThanOrEqualTo: number;
    CurrYearBudget10GreaterThan: number;
    CurrYearBudget10LessThan: number;
    CurrYearBudget10LessThanOrEqualTo: number;
    CurrYearBudget10NotEqualTo: number;
    CurrYearBudget10Between: number[];
    CurrYearBudget10In: number[];
    CurrYearBudget11: number;
    CurrYearBudget11GreaterThanOrEqualTo: number;
    CurrYearBudget11GreaterThan: number;
    CurrYearBudget11LessThan: number;
    CurrYearBudget11LessThanOrEqualTo: number;
    CurrYearBudget11NotEqualTo: number;
    CurrYearBudget11Between: number[];
    CurrYearBudget11In: number[];
    CurrYearBudget12: number;
    CurrYearBudget12GreaterThanOrEqualTo: number;
    CurrYearBudget12GreaterThan: number;
    CurrYearBudget12LessThan: number;
    CurrYearBudget12LessThanOrEqualTo: number;
    CurrYearBudget12NotEqualTo: number;
    CurrYearBudget12Between: number[];
    CurrYearBudget12In: number[];
    NextYearBudget1: number;
    NextYearBudget1GreaterThanOrEqualTo: number;
    NextYearBudget1GreaterThan: number;
    NextYearBudget1LessThan: number;
    NextYearBudget1LessThanOrEqualTo: number;
    NextYearBudget1NotEqualTo: number;
    NextYearBudget1Between: number[];
    NextYearBudget1In: number[];
    NextYearBudget2: number;
    NextYearBudget2GreaterThanOrEqualTo: number;
    NextYearBudget2GreaterThan: number;
    NextYearBudget2LessThan: number;
    NextYearBudget2LessThanOrEqualTo: number;
    NextYearBudget2NotEqualTo: number;
    NextYearBudget2Between: number[];
    NextYearBudget2In: number[];
    NextYearBudget3: number;
    NextYearBudget3GreaterThanOrEqualTo: number;
    NextYearBudget3GreaterThan: number;
    NextYearBudget3LessThan: number;
    NextYearBudget3LessThanOrEqualTo: number;
    NextYearBudget3NotEqualTo: number;
    NextYearBudget3Between: number[];
    NextYearBudget3In: number[];
    NextYearBudget4: number;
    NextYearBudget4GreaterThanOrEqualTo: number;
    NextYearBudget4GreaterThan: number;
    NextYearBudget4LessThan: number;
    NextYearBudget4LessThanOrEqualTo: number;
    NextYearBudget4NotEqualTo: number;
    NextYearBudget4Between: number[];
    NextYearBudget4In: number[];
    NextYearBudget5: number;
    NextYearBudget5GreaterThanOrEqualTo: number;
    NextYearBudget5GreaterThan: number;
    NextYearBudget5LessThan: number;
    NextYearBudget5LessThanOrEqualTo: number;
    NextYearBudget5NotEqualTo: number;
    NextYearBudget5Between: number[];
    NextYearBudget5In: number[];
    NextYearBudget6: number;
    NextYearBudget6GreaterThanOrEqualTo: number;
    NextYearBudget6GreaterThan: number;
    NextYearBudget6LessThan: number;
    NextYearBudget6LessThanOrEqualTo: number;
    NextYearBudget6NotEqualTo: number;
    NextYearBudget6Between: number[];
    NextYearBudget6In: number[];
    NextYearBudget7: number;
    NextYearBudget7GreaterThanOrEqualTo: number;
    NextYearBudget7GreaterThan: number;
    NextYearBudget7LessThan: number;
    NextYearBudget7LessThanOrEqualTo: number;
    NextYearBudget7NotEqualTo: number;
    NextYearBudget7Between: number[];
    NextYearBudget7In: number[];
    NextYearBudget8: number;
    NextYearBudget8GreaterThanOrEqualTo: number;
    NextYearBudget8GreaterThan: number;
    NextYearBudget8LessThan: number;
    NextYearBudget8LessThanOrEqualTo: number;
    NextYearBudget8NotEqualTo: number;
    NextYearBudget8Between: number[];
    NextYearBudget8In: number[];
    NextYearBudget9: number;
    NextYearBudget9GreaterThanOrEqualTo: number;
    NextYearBudget9GreaterThan: number;
    NextYearBudget9LessThan: number;
    NextYearBudget9LessThanOrEqualTo: number;
    NextYearBudget9NotEqualTo: number;
    NextYearBudget9Between: number[];
    NextYearBudget9In: number[];
    NextYearBudget10: number;
    NextYearBudget10GreaterThanOrEqualTo: number;
    NextYearBudget10GreaterThan: number;
    NextYearBudget10LessThan: number;
    NextYearBudget10LessThanOrEqualTo: number;
    NextYearBudget10NotEqualTo: number;
    NextYearBudget10Between: number[];
    NextYearBudget10In: number[];
    NextYearBudget11: number;
    NextYearBudget11GreaterThanOrEqualTo: number;
    NextYearBudget11GreaterThan: number;
    NextYearBudget11LessThan: number;
    NextYearBudget11LessThanOrEqualTo: number;
    NextYearBudget11NotEqualTo: number;
    NextYearBudget11Between: number[];
    NextYearBudget11In: number[];
    NextYearBudget12: number;
    NextYearBudget12GreaterThanOrEqualTo: number;
    NextYearBudget12GreaterThan: number;
    NextYearBudget12LessThan: number;
    NextYearBudget12LessThanOrEqualTo: number;
    NextYearBudget12NotEqualTo: number;
    NextYearBudget12Between: number[];
    NextYearBudget12In: number[];
    createResponse() { return new QueryResponse<GL_Budget3>(); }
    getTypeName() { return "GL_Budget3Query"; }
}

// @Route("/Queries/GL_Category", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_CategoryQuery extends QueryDb<GL_Category> implements IReturn<QueryResponse<GL_Category>>
{
    GLCategoryID: string;
    GLCategoryIDStartsWith: string;
    GLCategoryIDEndsWith: string;
    GLCategoryIDContains: string;
    GLCategoryIDLike: string;
    GLCategoryIDBetween: string[];
    GLCategoryIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ExpSign: number;
    ExpSignGreaterThanOrEqualTo: number;
    ExpSignGreaterThan: number;
    ExpSignLessThan: number;
    ExpSignLessThanOrEqualTo: number;
    ExpSignNotEqualTo: number;
    ExpSignBetween: Uint8Array;
    ExpSignIn: Uint8Array;
    AccType: number;
    AccTypeGreaterThanOrEqualTo: number;
    AccTypeGreaterThan: number;
    AccTypeLessThan: number;
    AccTypeLessThanOrEqualTo: number;
    AccTypeNotEqualTo: number;
    AccTypeBetween: Uint8Array;
    AccTypeIn: Uint8Array;
    Group1: string;
    Group1StartsWith: string;
    Group1EndsWith: string;
    Group1Contains: string;
    Group1Like: string;
    Group1Between: string[];
    Group1In: string[];
    Group2: string;
    Group2StartsWith: string;
    Group2EndsWith: string;
    Group2Contains: string;
    Group2Like: string;
    Group2Between: string[];
    Group2In: string[];
    Group2DisplayOrder: number;
    Group2DisplayOrderGreaterThanOrEqualTo: number;
    Group2DisplayOrderGreaterThan: number;
    Group2DisplayOrderLessThan: number;
    Group2DisplayOrderLessThanOrEqualTo: number;
    Group2DisplayOrderNotEqualTo: number;
    Group2DisplayOrderBetween: number[];
    Group2DisplayOrderIn: number[];
    Group1DisplayOrder: number;
    Group1DisplayOrderGreaterThanOrEqualTo: number;
    Group1DisplayOrderGreaterThan: number;
    Group1DisplayOrderLessThan: number;
    Group1DisplayOrderLessThanOrEqualTo: number;
    Group1DisplayOrderNotEqualTo: number;
    Group1DisplayOrderBetween: number[];
    Group1DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<GL_Category>(); }
    getTypeName() { return "GL_CategoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_ConfigQuery extends QueryDb<GL_Config> implements IReturn<QueryResponse<GL_Config>>
{
    GLSetUpID: string;
    GLSetUpIDStartsWith: string;
    GLSetUpIDEndsWith: string;
    GLSetUpIDContains: string;
    GLSetUpIDLike: string;
    GLSetUpIDBetween: string[];
    GLSetUpIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    YearNo: number;
    YearNoGreaterThanOrEqualTo: number;
    YearNoGreaterThan: number;
    YearNoLessThan: number;
    YearNoLessThanOrEqualTo: number;
    YearNoNotEqualTo: number;
    YearNoBetween: number[];
    YearNoIn: number[];
    YearStartingDate: string;
    YearStartingDateGreaterThanOrEqualTo: string;
    YearStartingDateGreaterThan: string;
    YearStartingDateLessThan: string;
    YearStartingDateLessThanOrEqualTo: string;
    YearStartingDateNotEqualTo: string;
    YearStartingDateBetween: string[];
    YearStartingDateIn: string[];
    RetainedEarningsNo: string;
    RetainedEarningsNoStartsWith: string;
    RetainedEarningsNoEndsWith: string;
    RetainedEarningsNoContains: string;
    RetainedEarningsNoLike: string;
    RetainedEarningsNoBetween: string[];
    RetainedEarningsNoIn: string[];
    PeriodName1: string;
    PeriodName1StartsWith: string;
    PeriodName1EndsWith: string;
    PeriodName1Contains: string;
    PeriodName1Like: string;
    PeriodName1Between: string[];
    PeriodName1In: string[];
    PeriodStart1: string;
    PeriodStart1GreaterThanOrEqualTo: string;
    PeriodStart1GreaterThan: string;
    PeriodStart1LessThan: string;
    PeriodStart1LessThanOrEqualTo: string;
    PeriodStart1NotEqualTo: string;
    PeriodStart1Between: string[];
    PeriodStart1In: string[];
    PeriodLocked1: number;
    PeriodLocked1GreaterThanOrEqualTo: number;
    PeriodLocked1GreaterThan: number;
    PeriodLocked1LessThan: number;
    PeriodLocked1LessThanOrEqualTo: number;
    PeriodLocked1NotEqualTo: number;
    PeriodLocked1Between: number[];
    PeriodLocked1In: number[];
    PeriodRolled1: boolean;
    PeriodName2: string;
    PeriodName2StartsWith: string;
    PeriodName2EndsWith: string;
    PeriodName2Contains: string;
    PeriodName2Like: string;
    PeriodName2Between: string[];
    PeriodName2In: string[];
    PeriodStart2: string;
    PeriodStart2GreaterThanOrEqualTo: string;
    PeriodStart2GreaterThan: string;
    PeriodStart2LessThan: string;
    PeriodStart2LessThanOrEqualTo: string;
    PeriodStart2NotEqualTo: string;
    PeriodStart2Between: string[];
    PeriodStart2In: string[];
    PeriodLocked2: number;
    PeriodLocked2GreaterThanOrEqualTo: number;
    PeriodLocked2GreaterThan: number;
    PeriodLocked2LessThan: number;
    PeriodLocked2LessThanOrEqualTo: number;
    PeriodLocked2NotEqualTo: number;
    PeriodLocked2Between: number[];
    PeriodLocked2In: number[];
    PeriodRolled2: boolean;
    PeriodName3: string;
    PeriodName3StartsWith: string;
    PeriodName3EndsWith: string;
    PeriodName3Contains: string;
    PeriodName3Like: string;
    PeriodName3Between: string[];
    PeriodName3In: string[];
    PeriodStart3: string;
    PeriodStart3GreaterThanOrEqualTo: string;
    PeriodStart3GreaterThan: string;
    PeriodStart3LessThan: string;
    PeriodStart3LessThanOrEqualTo: string;
    PeriodStart3NotEqualTo: string;
    PeriodStart3Between: string[];
    PeriodStart3In: string[];
    PeriodLocked3: number;
    PeriodLocked3GreaterThanOrEqualTo: number;
    PeriodLocked3GreaterThan: number;
    PeriodLocked3LessThan: number;
    PeriodLocked3LessThanOrEqualTo: number;
    PeriodLocked3NotEqualTo: number;
    PeriodLocked3Between: number[];
    PeriodLocked3In: number[];
    PeriodRolled3: boolean;
    PeriodName4: string;
    PeriodName4StartsWith: string;
    PeriodName4EndsWith: string;
    PeriodName4Contains: string;
    PeriodName4Like: string;
    PeriodName4Between: string[];
    PeriodName4In: string[];
    PeriodStart4: string;
    PeriodStart4GreaterThanOrEqualTo: string;
    PeriodStart4GreaterThan: string;
    PeriodStart4LessThan: string;
    PeriodStart4LessThanOrEqualTo: string;
    PeriodStart4NotEqualTo: string;
    PeriodStart4Between: string[];
    PeriodStart4In: string[];
    PeriodLocked4: number;
    PeriodLocked4GreaterThanOrEqualTo: number;
    PeriodLocked4GreaterThan: number;
    PeriodLocked4LessThan: number;
    PeriodLocked4LessThanOrEqualTo: number;
    PeriodLocked4NotEqualTo: number;
    PeriodLocked4Between: number[];
    PeriodLocked4In: number[];
    PeriodRolled4: boolean;
    PeriodName5: string;
    PeriodName5StartsWith: string;
    PeriodName5EndsWith: string;
    PeriodName5Contains: string;
    PeriodName5Like: string;
    PeriodName5Between: string[];
    PeriodName5In: string[];
    PeriodStart5: string;
    PeriodStart5GreaterThanOrEqualTo: string;
    PeriodStart5GreaterThan: string;
    PeriodStart5LessThan: string;
    PeriodStart5LessThanOrEqualTo: string;
    PeriodStart5NotEqualTo: string;
    PeriodStart5Between: string[];
    PeriodStart5In: string[];
    PeriodLocked5: number;
    PeriodLocked5GreaterThanOrEqualTo: number;
    PeriodLocked5GreaterThan: number;
    PeriodLocked5LessThan: number;
    PeriodLocked5LessThanOrEqualTo: number;
    PeriodLocked5NotEqualTo: number;
    PeriodLocked5Between: number[];
    PeriodLocked5In: number[];
    PeriodRolled5: boolean;
    PeriodName6: string;
    PeriodName6StartsWith: string;
    PeriodName6EndsWith: string;
    PeriodName6Contains: string;
    PeriodName6Like: string;
    PeriodName6Between: string[];
    PeriodName6In: string[];
    PeriodStart6: string;
    PeriodStart6GreaterThanOrEqualTo: string;
    PeriodStart6GreaterThan: string;
    PeriodStart6LessThan: string;
    PeriodStart6LessThanOrEqualTo: string;
    PeriodStart6NotEqualTo: string;
    PeriodStart6Between: string[];
    PeriodStart6In: string[];
    PeriodLocked6: number;
    PeriodLocked6GreaterThanOrEqualTo: number;
    PeriodLocked6GreaterThan: number;
    PeriodLocked6LessThan: number;
    PeriodLocked6LessThanOrEqualTo: number;
    PeriodLocked6NotEqualTo: number;
    PeriodLocked6Between: number[];
    PeriodLocked6In: number[];
    PeriodRolled6: boolean;
    PeriodName7: string;
    PeriodName7StartsWith: string;
    PeriodName7EndsWith: string;
    PeriodName7Contains: string;
    PeriodName7Like: string;
    PeriodName7Between: string[];
    PeriodName7In: string[];
    PeriodStart7: string;
    PeriodStart7GreaterThanOrEqualTo: string;
    PeriodStart7GreaterThan: string;
    PeriodStart7LessThan: string;
    PeriodStart7LessThanOrEqualTo: string;
    PeriodStart7NotEqualTo: string;
    PeriodStart7Between: string[];
    PeriodStart7In: string[];
    PeriodLocked7: number;
    PeriodLocked7GreaterThanOrEqualTo: number;
    PeriodLocked7GreaterThan: number;
    PeriodLocked7LessThan: number;
    PeriodLocked7LessThanOrEqualTo: number;
    PeriodLocked7NotEqualTo: number;
    PeriodLocked7Between: number[];
    PeriodLocked7In: number[];
    PeriodRolled7: boolean;
    PeriodName8: string;
    PeriodName8StartsWith: string;
    PeriodName8EndsWith: string;
    PeriodName8Contains: string;
    PeriodName8Like: string;
    PeriodName8Between: string[];
    PeriodName8In: string[];
    PeriodStart8: string;
    PeriodStart8GreaterThanOrEqualTo: string;
    PeriodStart8GreaterThan: string;
    PeriodStart8LessThan: string;
    PeriodStart8LessThanOrEqualTo: string;
    PeriodStart8NotEqualTo: string;
    PeriodStart8Between: string[];
    PeriodStart8In: string[];
    PeriodLocked8: number;
    PeriodLocked8GreaterThanOrEqualTo: number;
    PeriodLocked8GreaterThan: number;
    PeriodLocked8LessThan: number;
    PeriodLocked8LessThanOrEqualTo: number;
    PeriodLocked8NotEqualTo: number;
    PeriodLocked8Between: number[];
    PeriodLocked8In: number[];
    PeriodRolled8: boolean;
    PeriodName9: string;
    PeriodName9StartsWith: string;
    PeriodName9EndsWith: string;
    PeriodName9Contains: string;
    PeriodName9Like: string;
    PeriodName9Between: string[];
    PeriodName9In: string[];
    PeriodStart9: string;
    PeriodStart9GreaterThanOrEqualTo: string;
    PeriodStart9GreaterThan: string;
    PeriodStart9LessThan: string;
    PeriodStart9LessThanOrEqualTo: string;
    PeriodStart9NotEqualTo: string;
    PeriodStart9Between: string[];
    PeriodStart9In: string[];
    PeriodLocked9: number;
    PeriodLocked9GreaterThanOrEqualTo: number;
    PeriodLocked9GreaterThan: number;
    PeriodLocked9LessThan: number;
    PeriodLocked9LessThanOrEqualTo: number;
    PeriodLocked9NotEqualTo: number;
    PeriodLocked9Between: number[];
    PeriodLocked9In: number[];
    PeriodRolled9: boolean;
    PeriodName10: string;
    PeriodName10StartsWith: string;
    PeriodName10EndsWith: string;
    PeriodName10Contains: string;
    PeriodName10Like: string;
    PeriodName10Between: string[];
    PeriodName10In: string[];
    PeriodStart10: string;
    PeriodStart10GreaterThanOrEqualTo: string;
    PeriodStart10GreaterThan: string;
    PeriodStart10LessThan: string;
    PeriodStart10LessThanOrEqualTo: string;
    PeriodStart10NotEqualTo: string;
    PeriodStart10Between: string[];
    PeriodStart10In: string[];
    PeriodLocked10: number;
    PeriodLocked10GreaterThanOrEqualTo: number;
    PeriodLocked10GreaterThan: number;
    PeriodLocked10LessThan: number;
    PeriodLocked10LessThanOrEqualTo: number;
    PeriodLocked10NotEqualTo: number;
    PeriodLocked10Between: number[];
    PeriodLocked10In: number[];
    PeriodRolled10: boolean;
    PeriodName11: string;
    PeriodName11StartsWith: string;
    PeriodName11EndsWith: string;
    PeriodName11Contains: string;
    PeriodName11Like: string;
    PeriodName11Between: string[];
    PeriodName11In: string[];
    PeriodStart11: string;
    PeriodStart11GreaterThanOrEqualTo: string;
    PeriodStart11GreaterThan: string;
    PeriodStart11LessThan: string;
    PeriodStart11LessThanOrEqualTo: string;
    PeriodStart11NotEqualTo: string;
    PeriodStart11Between: string[];
    PeriodStart11In: string[];
    PeriodLocked11: number;
    PeriodLocked11GreaterThanOrEqualTo: number;
    PeriodLocked11GreaterThan: number;
    PeriodLocked11LessThan: number;
    PeriodLocked11LessThanOrEqualTo: number;
    PeriodLocked11NotEqualTo: number;
    PeriodLocked11Between: number[];
    PeriodLocked11In: number[];
    PeriodRolled11: boolean;
    PeriodName12: string;
    PeriodName12StartsWith: string;
    PeriodName12EndsWith: string;
    PeriodName12Contains: string;
    PeriodName12Like: string;
    PeriodName12Between: string[];
    PeriodName12In: string[];
    PeriodStart12: string;
    PeriodStart12GreaterThanOrEqualTo: string;
    PeriodStart12GreaterThan: string;
    PeriodStart12LessThan: string;
    PeriodStart12LessThanOrEqualTo: string;
    PeriodStart12NotEqualTo: string;
    PeriodStart12Between: string[];
    PeriodStart12In: string[];
    PeriodLocked12: number;
    PeriodLocked12GreaterThanOrEqualTo: number;
    PeriodLocked12GreaterThan: number;
    PeriodLocked12LessThan: number;
    PeriodLocked12LessThanOrEqualTo: number;
    PeriodLocked12NotEqualTo: number;
    PeriodLocked12Between: number[];
    PeriodLocked12In: number[];
    PeriodRolled12: boolean;
    YearRolled: boolean;
    createResponse() { return new QueryResponse<GL_Config>(); }
    getTypeName() { return "GL_ConfigQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_DistributionQuery extends QueryDb<GL_Distribution> implements IReturn<QueryResponse<GL_Distribution>>
{
    GLDistID: string;
    GLDistIDStartsWith: string;
    GLDistIDEndsWith: string;
    GLDistIDContains: string;
    GLDistIDLike: string;
    GLDistIDBetween: string[];
    GLDistIDIn: string[];
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    GLDistLedgerID: string;
    GLDistLedgerIDStartsWith: string;
    GLDistLedgerIDEndsWith: string;
    GLDistLedgerIDContains: string;
    GLDistLedgerIDLike: string;
    GLDistLedgerIDBetween: string[];
    GLDistLedgerIDIn: string[];
    DistAmount: number;
    DistAmountGreaterThanOrEqualTo: number;
    DistAmountGreaterThan: number;
    DistAmountLessThan: number;
    DistAmountLessThanOrEqualTo: number;
    DistAmountNotEqualTo: number;
    DistAmountBetween: number[];
    DistAmountIn: number[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    createResponse() { return new QueryResponse<GL_Distribution>(); }
    getTypeName() { return "GL_DistributionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_DocumentsQuery extends QueryDb<GL_Documents> implements IReturn<QueryResponse<GL_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    GL_Sets_RecID: string;
    GL_Sets_RecIDStartsWith: string;
    GL_Sets_RecIDEndsWith: string;
    GL_Sets_RecIDContains: string;
    GL_Sets_RecIDLike: string;
    GL_Sets_RecIDBetween: string[];
    GL_Sets_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<GL_Documents>(); }
    getTypeName() { return "GL_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_DuplicatesQuery extends QueryDb<GL_Duplicates> implements IReturn<QueryResponse<GL_Duplicates>>
{
    SetNo: string;
    SetNoStartsWith: string;
    SetNoEndsWith: string;
    SetNoContains: string;
    SetNoLike: string;
    SetNoBetween: string[];
    SetNoIn: string[];
    PostDateTime: string;
    PostDateTimeGreaterThanOrEqualTo: string;
    PostDateTimeGreaterThan: string;
    PostDateTimeLessThan: string;
    PostDateTimeLessThanOrEqualTo: string;
    PostDateTimeNotEqualTo: string;
    PostDateTimeBetween: string[];
    PostDateTimeIn: string[];
    Source: string;
    SourceStartsWith: string;
    SourceEndsWith: string;
    SourceContains: string;
    SourceLike: string;
    SourceBetween: string[];
    SourceIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    SetType: number;
    SetTypeGreaterThanOrEqualTo: number;
    SetTypeGreaterThan: number;
    SetTypeLessThan: number;
    SetTypeLessThanOrEqualTo: number;
    SetTypeNotEqualTo: number;
    SetTypeBetween: number[];
    SetTypeIn: number[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    createResponse() { return new QueryResponse<GL_Duplicates>(); }
    getTypeName() { return "GL_DuplicatesQuery"; }
}

// @Route("/Queries/GL_Ledger", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_LedgerQuery extends QueryDb<GL_Ledger> implements IReturn<QueryResponse<GL_Ledger>>
{
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    GLCategoryID: string;
    GLCategoryIDStartsWith: string;
    GLCategoryIDEndsWith: string;
    GLCategoryIDContains: string;
    GLCategoryIDLike: string;
    GLCategoryIDBetween: string[];
    GLCategoryIDIn: string[];
    AccountNo: string;
    AccountNoStartsWith: string;
    AccountNoEndsWith: string;
    AccountNoContains: string;
    AccountNoLike: string;
    AccountNoBetween: string[];
    AccountNoIn: string[];
    Seg1: string;
    Seg1StartsWith: string;
    Seg1EndsWith: string;
    Seg1Contains: string;
    Seg1Like: string;
    Seg1Between: string[];
    Seg1In: string[];
    Seg2: string;
    Seg2StartsWith: string;
    Seg2EndsWith: string;
    Seg2Contains: string;
    Seg2Like: string;
    Seg2Between: string[];
    Seg2In: string[];
    Seg3: string;
    Seg3StartsWith: string;
    Seg3EndsWith: string;
    Seg3Contains: string;
    Seg3Like: string;
    Seg3Between: string[];
    Seg3In: string[];
    Seg4: string;
    Seg4StartsWith: string;
    Seg4EndsWith: string;
    Seg4Contains: string;
    Seg4Like: string;
    Seg4Between: string[];
    Seg4In: string[];
    Seg5: string;
    Seg5StartsWith: string;
    Seg5EndsWith: string;
    Seg5Contains: string;
    Seg5Like: string;
    Seg5Between: string[];
    Seg5In: string[];
    Seg6: string;
    Seg6StartsWith: string;
    Seg6EndsWith: string;
    Seg6Contains: string;
    Seg6Like: string;
    Seg6Between: string[];
    Seg6In: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LastYearOpen: number;
    LastYearOpenGreaterThanOrEqualTo: number;
    LastYearOpenGreaterThan: number;
    LastYearOpenLessThan: number;
    LastYearOpenLessThanOrEqualTo: number;
    LastYearOpenNotEqualTo: number;
    LastYearOpenBetween: number[];
    LastYearOpenIn: number[];
    CurrYearOpen: number;
    CurrYearOpenGreaterThanOrEqualTo: number;
    CurrYearOpenGreaterThan: number;
    CurrYearOpenLessThan: number;
    CurrYearOpenLessThanOrEqualTo: number;
    CurrYearOpenNotEqualTo: number;
    CurrYearOpenBetween: number[];
    CurrYearOpenIn: number[];
    CurrBal: number;
    CurrBalGreaterThanOrEqualTo: number;
    CurrBalGreaterThan: number;
    CurrBalLessThan: number;
    CurrBalLessThanOrEqualTo: number;
    CurrBalNotEqualTo: number;
    CurrBalBetween: number[];
    CurrBalIn: number[];
    ExpSign: number;
    ExpSignGreaterThanOrEqualTo: number;
    ExpSignGreaterThan: number;
    ExpSignLessThan: number;
    ExpSignLessThanOrEqualTo: number;
    ExpSignNotEqualTo: number;
    ExpSignBetween: Uint8Array;
    ExpSignIn: Uint8Array;
    AccClass: number;
    AccClassGreaterThanOrEqualTo: number;
    AccClassGreaterThan: number;
    AccClassLessThan: number;
    AccClassLessThanOrEqualTo: number;
    AccClassNotEqualTo: number;
    AccClassBetween: number[];
    AccClassIn: number[];
    DistributionAcc: boolean;
    ShortCut: string;
    ShortCutStartsWith: string;
    ShortCutEndsWith: string;
    ShortCutContains: string;
    ShortCutLike: string;
    ShortCutBetween: string[];
    ShortCutIn: string[];
    PostingAcc: number;
    PostingAccGreaterThanOrEqualTo: number;
    PostingAccGreaterThan: number;
    PostingAccLessThan: number;
    PostingAccLessThanOrEqualTo: number;
    PostingAccNotEqualTo: number;
    PostingAccBetween: number[];
    PostingAccIn: number[];
    ParentAccNo: string;
    ParentAccNoStartsWith: string;
    ParentAccNoEndsWith: string;
    ParentAccNoContains: string;
    ParentAccNoLike: string;
    ParentAccNoBetween: string[];
    ParentAccNoIn: string[];
    UseTransCode1: boolean;
    UseTransCode2: boolean;
    UseTransCode3: boolean;
    UseStaffCode: boolean;
    ClearingAccountID: string;
    ClearingAccountIDStartsWith: string;
    ClearingAccountIDEndsWith: string;
    ClearingAccountIDContains: string;
    ClearingAccountIDLike: string;
    ClearingAccountIDBetween: string[];
    ClearingAccountIDIn: string[];
    Details: string;
    DetailsStartsWith: string;
    DetailsEndsWith: string;
    DetailsContains: string;
    DetailsLike: string;
    DetailsBetween: string[];
    DetailsIn: string[];
    IsEnabled: boolean;
    createResponse() { return new QueryResponse<GL_Ledger>(); }
    getTypeName() { return "GL_LedgerQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_MovementQuery extends QueryDb<GL_Movement> implements IReturn<QueryResponse<GL_Movement>>
{
    GLMovementID: string;
    GLMovementIDStartsWith: string;
    GLMovementIDEndsWith: string;
    GLMovementIDContains: string;
    GLMovementIDLike: string;
    GLMovementIDBetween: string[];
    GLMovementIDIn: string[];
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    LastYearMovement1: number;
    LastYearMovement1GreaterThanOrEqualTo: number;
    LastYearMovement1GreaterThan: number;
    LastYearMovement1LessThan: number;
    LastYearMovement1LessThanOrEqualTo: number;
    LastYearMovement1NotEqualTo: number;
    LastYearMovement1Between: number[];
    LastYearMovement1In: number[];
    LastYearMovement2: number;
    LastYearMovement2GreaterThanOrEqualTo: number;
    LastYearMovement2GreaterThan: number;
    LastYearMovement2LessThan: number;
    LastYearMovement2LessThanOrEqualTo: number;
    LastYearMovement2NotEqualTo: number;
    LastYearMovement2Between: number[];
    LastYearMovement2In: number[];
    LastYearMovement3: number;
    LastYearMovement3GreaterThanOrEqualTo: number;
    LastYearMovement3GreaterThan: number;
    LastYearMovement3LessThan: number;
    LastYearMovement3LessThanOrEqualTo: number;
    LastYearMovement3NotEqualTo: number;
    LastYearMovement3Between: number[];
    LastYearMovement3In: number[];
    LastYearMovement4: number;
    LastYearMovement4GreaterThanOrEqualTo: number;
    LastYearMovement4GreaterThan: number;
    LastYearMovement4LessThan: number;
    LastYearMovement4LessThanOrEqualTo: number;
    LastYearMovement4NotEqualTo: number;
    LastYearMovement4Between: number[];
    LastYearMovement4In: number[];
    LastYearMovement5: number;
    LastYearMovement5GreaterThanOrEqualTo: number;
    LastYearMovement5GreaterThan: number;
    LastYearMovement5LessThan: number;
    LastYearMovement5LessThanOrEqualTo: number;
    LastYearMovement5NotEqualTo: number;
    LastYearMovement5Between: number[];
    LastYearMovement5In: number[];
    LastYearMovement6: number;
    LastYearMovement6GreaterThanOrEqualTo: number;
    LastYearMovement6GreaterThan: number;
    LastYearMovement6LessThan: number;
    LastYearMovement6LessThanOrEqualTo: number;
    LastYearMovement6NotEqualTo: number;
    LastYearMovement6Between: number[];
    LastYearMovement6In: number[];
    LastYearMovement7: number;
    LastYearMovement7GreaterThanOrEqualTo: number;
    LastYearMovement7GreaterThan: number;
    LastYearMovement7LessThan: number;
    LastYearMovement7LessThanOrEqualTo: number;
    LastYearMovement7NotEqualTo: number;
    LastYearMovement7Between: number[];
    LastYearMovement7In: number[];
    LastYearMovement8: number;
    LastYearMovement8GreaterThanOrEqualTo: number;
    LastYearMovement8GreaterThan: number;
    LastYearMovement8LessThan: number;
    LastYearMovement8LessThanOrEqualTo: number;
    LastYearMovement8NotEqualTo: number;
    LastYearMovement8Between: number[];
    LastYearMovement8In: number[];
    LastYearMovement9: number;
    LastYearMovement9GreaterThanOrEqualTo: number;
    LastYearMovement9GreaterThan: number;
    LastYearMovement9LessThan: number;
    LastYearMovement9LessThanOrEqualTo: number;
    LastYearMovement9NotEqualTo: number;
    LastYearMovement9Between: number[];
    LastYearMovement9In: number[];
    LastYearMovement10: number;
    LastYearMovement10GreaterThanOrEqualTo: number;
    LastYearMovement10GreaterThan: number;
    LastYearMovement10LessThan: number;
    LastYearMovement10LessThanOrEqualTo: number;
    LastYearMovement10NotEqualTo: number;
    LastYearMovement10Between: number[];
    LastYearMovement10In: number[];
    LastYearMovement11: number;
    LastYearMovement11GreaterThanOrEqualTo: number;
    LastYearMovement11GreaterThan: number;
    LastYearMovement11LessThan: number;
    LastYearMovement11LessThanOrEqualTo: number;
    LastYearMovement11NotEqualTo: number;
    LastYearMovement11Between: number[];
    LastYearMovement11In: number[];
    LastYearMovement12: number;
    LastYearMovement12GreaterThanOrEqualTo: number;
    LastYearMovement12GreaterThan: number;
    LastYearMovement12LessThan: number;
    LastYearMovement12LessThanOrEqualTo: number;
    LastYearMovement12NotEqualTo: number;
    LastYearMovement12Between: number[];
    LastYearMovement12In: number[];
    CurrYearMovement1: number;
    CurrYearMovement1GreaterThanOrEqualTo: number;
    CurrYearMovement1GreaterThan: number;
    CurrYearMovement1LessThan: number;
    CurrYearMovement1LessThanOrEqualTo: number;
    CurrYearMovement1NotEqualTo: number;
    CurrYearMovement1Between: number[];
    CurrYearMovement1In: number[];
    CurrYearMovement2: number;
    CurrYearMovement2GreaterThanOrEqualTo: number;
    CurrYearMovement2GreaterThan: number;
    CurrYearMovement2LessThan: number;
    CurrYearMovement2LessThanOrEqualTo: number;
    CurrYearMovement2NotEqualTo: number;
    CurrYearMovement2Between: number[];
    CurrYearMovement2In: number[];
    CurrYearMovement3: number;
    CurrYearMovement3GreaterThanOrEqualTo: number;
    CurrYearMovement3GreaterThan: number;
    CurrYearMovement3LessThan: number;
    CurrYearMovement3LessThanOrEqualTo: number;
    CurrYearMovement3NotEqualTo: number;
    CurrYearMovement3Between: number[];
    CurrYearMovement3In: number[];
    CurrYearMovement4: number;
    CurrYearMovement4GreaterThanOrEqualTo: number;
    CurrYearMovement4GreaterThan: number;
    CurrYearMovement4LessThan: number;
    CurrYearMovement4LessThanOrEqualTo: number;
    CurrYearMovement4NotEqualTo: number;
    CurrYearMovement4Between: number[];
    CurrYearMovement4In: number[];
    CurrYearMovement5: number;
    CurrYearMovement5GreaterThanOrEqualTo: number;
    CurrYearMovement5GreaterThan: number;
    CurrYearMovement5LessThan: number;
    CurrYearMovement5LessThanOrEqualTo: number;
    CurrYearMovement5NotEqualTo: number;
    CurrYearMovement5Between: number[];
    CurrYearMovement5In: number[];
    CurrYearMovement6: number;
    CurrYearMovement6GreaterThanOrEqualTo: number;
    CurrYearMovement6GreaterThan: number;
    CurrYearMovement6LessThan: number;
    CurrYearMovement6LessThanOrEqualTo: number;
    CurrYearMovement6NotEqualTo: number;
    CurrYearMovement6Between: number[];
    CurrYearMovement6In: number[];
    CurrYearMovement7: number;
    CurrYearMovement7GreaterThanOrEqualTo: number;
    CurrYearMovement7GreaterThan: number;
    CurrYearMovement7LessThan: number;
    CurrYearMovement7LessThanOrEqualTo: number;
    CurrYearMovement7NotEqualTo: number;
    CurrYearMovement7Between: number[];
    CurrYearMovement7In: number[];
    CurrYearMovement8: number;
    CurrYearMovement8GreaterThanOrEqualTo: number;
    CurrYearMovement8GreaterThan: number;
    CurrYearMovement8LessThan: number;
    CurrYearMovement8LessThanOrEqualTo: number;
    CurrYearMovement8NotEqualTo: number;
    CurrYearMovement8Between: number[];
    CurrYearMovement8In: number[];
    CurrYearMovement9: number;
    CurrYearMovement9GreaterThanOrEqualTo: number;
    CurrYearMovement9GreaterThan: number;
    CurrYearMovement9LessThan: number;
    CurrYearMovement9LessThanOrEqualTo: number;
    CurrYearMovement9NotEqualTo: number;
    CurrYearMovement9Between: number[];
    CurrYearMovement9In: number[];
    CurrYearMovement10: number;
    CurrYearMovement10GreaterThanOrEqualTo: number;
    CurrYearMovement10GreaterThan: number;
    CurrYearMovement10LessThan: number;
    CurrYearMovement10LessThanOrEqualTo: number;
    CurrYearMovement10NotEqualTo: number;
    CurrYearMovement10Between: number[];
    CurrYearMovement10In: number[];
    CurrYearMovement11: number;
    CurrYearMovement11GreaterThanOrEqualTo: number;
    CurrYearMovement11GreaterThan: number;
    CurrYearMovement11LessThan: number;
    CurrYearMovement11LessThanOrEqualTo: number;
    CurrYearMovement11NotEqualTo: number;
    CurrYearMovement11Between: number[];
    CurrYearMovement11In: number[];
    CurrYearMovement12: number;
    CurrYearMovement12GreaterThanOrEqualTo: number;
    CurrYearMovement12GreaterThan: number;
    CurrYearMovement12LessThan: number;
    CurrYearMovement12LessThanOrEqualTo: number;
    CurrYearMovement12NotEqualTo: number;
    CurrYearMovement12Between: number[];
    CurrYearMovement12In: number[];
    NextYearMovement1: number;
    NextYearMovement1GreaterThanOrEqualTo: number;
    NextYearMovement1GreaterThan: number;
    NextYearMovement1LessThan: number;
    NextYearMovement1LessThanOrEqualTo: number;
    NextYearMovement1NotEqualTo: number;
    NextYearMovement1Between: number[];
    NextYearMovement1In: number[];
    NextYearMovement2: number;
    NextYearMovement2GreaterThanOrEqualTo: number;
    NextYearMovement2GreaterThan: number;
    NextYearMovement2LessThan: number;
    NextYearMovement2LessThanOrEqualTo: number;
    NextYearMovement2NotEqualTo: number;
    NextYearMovement2Between: number[];
    NextYearMovement2In: number[];
    NextYearMovement3: number;
    NextYearMovement3GreaterThanOrEqualTo: number;
    NextYearMovement3GreaterThan: number;
    NextYearMovement3LessThan: number;
    NextYearMovement3LessThanOrEqualTo: number;
    NextYearMovement3NotEqualTo: number;
    NextYearMovement3Between: number[];
    NextYearMovement3In: number[];
    NextYearMovement4: number;
    NextYearMovement4GreaterThanOrEqualTo: number;
    NextYearMovement4GreaterThan: number;
    NextYearMovement4LessThan: number;
    NextYearMovement4LessThanOrEqualTo: number;
    NextYearMovement4NotEqualTo: number;
    NextYearMovement4Between: number[];
    NextYearMovement4In: number[];
    NextYearMovement5: number;
    NextYearMovement5GreaterThanOrEqualTo: number;
    NextYearMovement5GreaterThan: number;
    NextYearMovement5LessThan: number;
    NextYearMovement5LessThanOrEqualTo: number;
    NextYearMovement5NotEqualTo: number;
    NextYearMovement5Between: number[];
    NextYearMovement5In: number[];
    NextYearMovement6: number;
    NextYearMovement6GreaterThanOrEqualTo: number;
    NextYearMovement6GreaterThan: number;
    NextYearMovement6LessThan: number;
    NextYearMovement6LessThanOrEqualTo: number;
    NextYearMovement6NotEqualTo: number;
    NextYearMovement6Between: number[];
    NextYearMovement6In: number[];
    NextYearMovement7: number;
    NextYearMovement7GreaterThanOrEqualTo: number;
    NextYearMovement7GreaterThan: number;
    NextYearMovement7LessThan: number;
    NextYearMovement7LessThanOrEqualTo: number;
    NextYearMovement7NotEqualTo: number;
    NextYearMovement7Between: number[];
    NextYearMovement7In: number[];
    NextYearMovement8: number;
    NextYearMovement8GreaterThanOrEqualTo: number;
    NextYearMovement8GreaterThan: number;
    NextYearMovement8LessThan: number;
    NextYearMovement8LessThanOrEqualTo: number;
    NextYearMovement8NotEqualTo: number;
    NextYearMovement8Between: number[];
    NextYearMovement8In: number[];
    NextYearMovement9: number;
    NextYearMovement9GreaterThanOrEqualTo: number;
    NextYearMovement9GreaterThan: number;
    NextYearMovement9LessThan: number;
    NextYearMovement9LessThanOrEqualTo: number;
    NextYearMovement9NotEqualTo: number;
    NextYearMovement9Between: number[];
    NextYearMovement9In: number[];
    NextYearMovement10: number;
    NextYearMovement10GreaterThanOrEqualTo: number;
    NextYearMovement10GreaterThan: number;
    NextYearMovement10LessThan: number;
    NextYearMovement10LessThanOrEqualTo: number;
    NextYearMovement10NotEqualTo: number;
    NextYearMovement10Between: number[];
    NextYearMovement10In: number[];
    NextYearMovement11: number;
    NextYearMovement11GreaterThanOrEqualTo: number;
    NextYearMovement11GreaterThan: number;
    NextYearMovement11LessThan: number;
    NextYearMovement11LessThanOrEqualTo: number;
    NextYearMovement11NotEqualTo: number;
    NextYearMovement11Between: number[];
    NextYearMovement11In: number[];
    NextYearMovement12: number;
    NextYearMovement12GreaterThanOrEqualTo: number;
    NextYearMovement12GreaterThan: number;
    NextYearMovement12LessThan: number;
    NextYearMovement12LessThanOrEqualTo: number;
    NextYearMovement12NotEqualTo: number;
    NextYearMovement12Between: number[];
    NextYearMovement12In: number[];
    createResponse() { return new QueryResponse<GL_Movement>(); }
    getTypeName() { return "GL_MovementQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_NotesQuery extends QueryDb<GL_Notes> implements IReturn<QueryResponse<GL_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    GL_Sets_RecID: string;
    GL_Sets_RecIDStartsWith: string;
    GL_Sets_RecIDEndsWith: string;
    GL_Sets_RecIDContains: string;
    GL_Sets_RecIDLike: string;
    GL_Sets_RecIDBetween: string[];
    GL_Sets_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<GL_Notes>(); }
    getTypeName() { return "GL_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_SegmentConfigurationQuery extends QueryDb<GL_SegmentConfiguration> implements IReturn<QueryResponse<GL_SegmentConfiguration>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SegmentNo: number;
    SegmentNoGreaterThanOrEqualTo: number;
    SegmentNoGreaterThan: number;
    SegmentNoLessThan: number;
    SegmentNoLessThanOrEqualTo: number;
    SegmentNoNotEqualTo: number;
    SegmentNoBetween: number[];
    SegmentNoIn: number[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    SegmentLength: number;
    SegmentLengthGreaterThanOrEqualTo: number;
    SegmentLengthGreaterThan: number;
    SegmentLengthLessThan: number;
    SegmentLengthLessThanOrEqualTo: number;
    SegmentLengthNotEqualTo: number;
    SegmentLengthBetween: number[];
    SegmentLengthIn: number[];
    SegmentType: number;
    SegmentTypeGreaterThanOrEqualTo: number;
    SegmentTypeGreaterThan: number;
    SegmentTypeLessThan: number;
    SegmentTypeLessThanOrEqualTo: number;
    SegmentTypeNotEqualTo: number;
    SegmentTypeBetween: number[];
    SegmentTypeIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<GL_SegmentConfiguration>(); }
    getTypeName() { return "GL_SegmentConfigurationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_SegmentsQuery extends QueryDb<GL_Segments> implements IReturn<QueryResponse<GL_Segments>>
{
    GLSegmentID: string;
    GLSegmentIDStartsWith: string;
    GLSegmentIDEndsWith: string;
    GLSegmentIDContains: string;
    GLSegmentIDLike: string;
    GLSegmentIDBetween: string[];
    GLSegmentIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SegmentNo: number;
    SegmentNoGreaterThanOrEqualTo: number;
    SegmentNoGreaterThan: number;
    SegmentNoLessThan: number;
    SegmentNoLessThanOrEqualTo: number;
    SegmentNoNotEqualTo: number;
    SegmentNoBetween: number[];
    SegmentNoIn: number[];
    SegContents: string;
    SegContentsStartsWith: string;
    SegContentsEndsWith: string;
    SegContentsContains: string;
    SegContentsLike: string;
    SegContentsBetween: string[];
    SegContentsIn: string[];
    SegContentsDesc: string;
    SegContentsDescStartsWith: string;
    SegContentsDescEndsWith: string;
    SegContentsDescContains: string;
    SegContentsDescLike: string;
    SegContentsDescBetween: string[];
    SegContentsDescIn: string[];
    createResponse() { return new QueryResponse<GL_Segments>(); }
    getTypeName() { return "GL_SegmentsQuery"; }
}

// @Route("/Queries/GL_Sets", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_SetsQuery extends QueryDb<GL_Sets> implements IReturn<QueryResponse<GL_Sets>>
{
    GLSetID: string;
    GLSetIDStartsWith: string;
    GLSetIDEndsWith: string;
    GLSetIDContains: string;
    GLSetIDLike: string;
    GLSetIDBetween: string[];
    GLSetIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SetNo: string;
    SetNoStartsWith: string;
    SetNoEndsWith: string;
    SetNoContains: string;
    SetNoLike: string;
    SetNoBetween: string[];
    SetNoIn: string[];
    PostDateTime: string;
    PostDateTimeGreaterThanOrEqualTo: string;
    PostDateTimeGreaterThan: string;
    PostDateTimeLessThan: string;
    PostDateTimeLessThanOrEqualTo: string;
    PostDateTimeNotEqualTo: string;
    PostDateTimeBetween: string[];
    PostDateTimeIn: string[];
    PostedToPeriodNo: number;
    PostedToPeriodNoGreaterThanOrEqualTo: number;
    PostedToPeriodNoGreaterThan: number;
    PostedToPeriodNoLessThan: number;
    PostedToPeriodNoLessThanOrEqualTo: number;
    PostedToPeriodNoNotEqualTo: number;
    PostedToPeriodNoBetween: number[];
    PostedToPeriodNoIn: number[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    Source: string;
    SourceStartsWith: string;
    SourceEndsWith: string;
    SourceContains: string;
    SourceLike: string;
    SourceBetween: string[];
    SourceIn: string[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    UserName: string;
    UserNameStartsWith: string;
    UserNameEndsWith: string;
    UserNameContains: string;
    UserNameLike: string;
    UserNameBetween: string[];
    UserNameIn: string[];
    SetType: number;
    SetTypeGreaterThanOrEqualTo: number;
    SetTypeGreaterThan: number;
    SetTypeLessThan: number;
    SetTypeLessThanOrEqualTo: number;
    SetTypeNotEqualTo: number;
    SetTypeBetween: number[];
    SetTypeIn: number[];
    RepeatingType: number;
    RepeatingTypeGreaterThanOrEqualTo: number;
    RepeatingTypeGreaterThan: number;
    RepeatingTypeLessThan: number;
    RepeatingTypeLessThanOrEqualTo: number;
    RepeatingTypeNotEqualTo: number;
    RepeatingTypeBetween: number[];
    RepeatingTypeIn: number[];
    RepeatingUnits: number;
    RepeatingUnitsGreaterThanOrEqualTo: number;
    RepeatingUnitsGreaterThan: number;
    RepeatingUnitsLessThan: number;
    RepeatingUnitsLessThanOrEqualTo: number;
    RepeatingUnitsNotEqualTo: number;
    RepeatingUnitsBetween: number[];
    RepeatingUnitsIn: number[];
    NextRepeatingDate: string;
    NextRepeatingDateGreaterThanOrEqualTo: string;
    NextRepeatingDateGreaterThan: string;
    NextRepeatingDateLessThan: string;
    NextRepeatingDateLessThanOrEqualTo: string;
    NextRepeatingDateNotEqualTo: string;
    NextRepeatingDateBetween: string[];
    NextRepeatingDateIn: string[];
    RepeatingWillEnd: boolean;
    RepeatingEndDate: string;
    RepeatingEndDateGreaterThanOrEqualTo: string;
    RepeatingEndDateGreaterThan: string;
    RepeatingEndDateLessThan: string;
    RepeatingEndDateLessThanOrEqualTo: string;
    RepeatingEndDateNotEqualTo: string;
    RepeatingEndDateBetween: string[];
    RepeatingEndDateIn: string[];
    ReverseType: number;
    ReverseTypeGreaterThanOrEqualTo: number;
    ReverseTypeGreaterThan: number;
    ReverseTypeLessThan: number;
    ReverseTypeLessThanOrEqualTo: number;
    ReverseTypeNotEqualTo: number;
    ReverseTypeBetween: number[];
    ReverseTypeIn: number[];
    ReversePeriod: number;
    ReversePeriodGreaterThanOrEqualTo: number;
    ReversePeriodGreaterThan: number;
    ReversePeriodLessThan: number;
    ReversePeriodLessThanOrEqualTo: number;
    ReversePeriodNotEqualTo: number;
    ReversePeriodBetween: number[];
    ReversePeriodIn: number[];
    ReverseDate: string;
    ReverseDateGreaterThanOrEqualTo: string;
    ReverseDateGreaterThan: string;
    ReverseDateLessThan: string;
    ReverseDateLessThanOrEqualTo: string;
    ReverseDateNotEqualTo: string;
    ReverseDateBetween: string[];
    ReverseDateIn: string[];
    Reversed: boolean;
    YearNo: number;
    YearNoGreaterThanOrEqualTo: number;
    YearNoGreaterThan: number;
    YearNoLessThan: number;
    YearNoLessThanOrEqualTo: number;
    YearNoNotEqualTo: number;
    YearNoBetween: number[];
    YearNoIn: number[];
    createResponse() { return new QueryResponse<GL_Sets>(); }
    getTypeName() { return "GL_SetsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_TranAllocsQuery extends QueryDb<GL_TranAllocs> implements IReturn<QueryResponse<GL_TranAllocs>>
{
    GLTranAllocsID: string;
    GLTranAllocsIDStartsWith: string;
    GLTranAllocsIDEndsWith: string;
    GLTranAllocsIDContains: string;
    GLTranAllocsIDLike: string;
    GLTranAllocsIDBetween: string[];
    GLTranAllocsIDIn: string[];
    GLDebitTransID: string;
    GLDebitTransIDStartsWith: string;
    GLDebitTransIDEndsWith: string;
    GLDebitTransIDContains: string;
    GLDebitTransIDLike: string;
    GLDebitTransIDBetween: string[];
    GLDebitTransIDIn: string[];
    GLCreditTransID: string;
    GLCreditTransIDStartsWith: string;
    GLCreditTransIDEndsWith: string;
    GLCreditTransIDContains: string;
    GLCreditTransIDLike: string;
    GLCreditTransIDBetween: string[];
    GLCreditTransIDIn: string[];
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    createResponse() { return new QueryResponse<GL_TranAllocs>(); }
    getTypeName() { return "GL_TranAllocsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_TranCodesQuery extends QueryDb<GL_TranCodes> implements IReturn<QueryResponse<GL_TranCodes>>
{
    GLTransCodeID: string;
    GLTransCodeIDStartsWith: string;
    GLTransCodeIDEndsWith: string;
    GLTransCodeIDContains: string;
    GLTransCodeIDLike: string;
    GLTransCodeIDBetween: string[];
    GLTransCodeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    TransNo: number;
    TransNoGreaterThanOrEqualTo: number;
    TransNoGreaterThan: number;
    TransNoLessThan: number;
    TransNoLessThanOrEqualTo: number;
    TransNoNotEqualTo: number;
    TransNoBetween: number[];
    TransNoIn: number[];
    createResponse() { return new QueryResponse<GL_TranCodes>(); }
    getTypeName() { return "GL_TranCodesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_TransactionCode1Query extends QueryDb<GL_TransactionCode1> implements IReturn<QueryResponse<GL_TransactionCode1>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    HR_Staff_CreatedBy: string;
    HR_Staff_CreatedByStartsWith: string;
    HR_Staff_CreatedByEndsWith: string;
    HR_Staff_CreatedByContains: string;
    HR_Staff_CreatedByLike: string;
    HR_Staff_CreatedByBetween: string[];
    HR_Staff_CreatedByIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_LastSavedBy: string;
    HR_Staff_LastSavedByStartsWith: string;
    HR_Staff_LastSavedByEndsWith: string;
    HR_Staff_LastSavedByContains: string;
    HR_Staff_LastSavedByLike: string;
    HR_Staff_LastSavedByBetween: string[];
    HR_Staff_LastSavedByIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<GL_TransactionCode1>(); }
    getTypeName() { return "GL_TransactionCode1Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_TransactionCode2Query extends QueryDb<GL_TransactionCode2> implements IReturn<QueryResponse<GL_TransactionCode2>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    HR_Staff_CreatedBy: string;
    HR_Staff_CreatedByStartsWith: string;
    HR_Staff_CreatedByEndsWith: string;
    HR_Staff_CreatedByContains: string;
    HR_Staff_CreatedByLike: string;
    HR_Staff_CreatedByBetween: string[];
    HR_Staff_CreatedByIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_LastSavedBy: string;
    HR_Staff_LastSavedByStartsWith: string;
    HR_Staff_LastSavedByEndsWith: string;
    HR_Staff_LastSavedByContains: string;
    HR_Staff_LastSavedByLike: string;
    HR_Staff_LastSavedByBetween: string[];
    HR_Staff_LastSavedByIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<GL_TransactionCode2>(); }
    getTypeName() { return "GL_TransactionCode2Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_TransactionCode3Query extends QueryDb<GL_TransactionCode3> implements IReturn<QueryResponse<GL_TransactionCode3>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    HR_Staff_CreatedBy: string;
    HR_Staff_CreatedByStartsWith: string;
    HR_Staff_CreatedByEndsWith: string;
    HR_Staff_CreatedByContains: string;
    HR_Staff_CreatedByLike: string;
    HR_Staff_CreatedByBetween: string[];
    HR_Staff_CreatedByIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    HR_Staff_LastSavedBy: string;
    HR_Staff_LastSavedByStartsWith: string;
    HR_Staff_LastSavedByEndsWith: string;
    HR_Staff_LastSavedByContains: string;
    HR_Staff_LastSavedByLike: string;
    HR_Staff_LastSavedByBetween: string[];
    HR_Staff_LastSavedByIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<GL_TransactionCode3>(); }
    getTypeName() { return "GL_TransactionCode3Query"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class GL_TransactionsQuery extends QueryDb<GL_Transactions> implements IReturn<QueryResponse<GL_Transactions>>
{
    GLTransactionID: string;
    GLTransactionIDStartsWith: string;
    GLTransactionIDEndsWith: string;
    GLTransactionIDContains: string;
    GLTransactionIDLike: string;
    GLTransactionIDBetween: string[];
    GLTransactionIDIn: string[];
    GLSetID: string;
    GLSetIDStartsWith: string;
    GLSetIDEndsWith: string;
    GLSetIDContains: string;
    GLSetIDLike: string;
    GLSetIDBetween: string[];
    GLSetIDIn: string[];
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    DebitCredit: boolean;
    Amount: number;
    AmountGreaterThanOrEqualTo: number;
    AmountGreaterThan: number;
    AmountLessThan: number;
    AmountLessThanOrEqualTo: number;
    AmountNotEqualTo: number;
    AmountBetween: number[];
    AmountIn: number[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    TransCode1ID: string;
    TransCode1IDStartsWith: string;
    TransCode1IDEndsWith: string;
    TransCode1IDContains: string;
    TransCode1IDLike: string;
    TransCode1IDBetween: string[];
    TransCode1IDIn: string[];
    TransCode2ID: string;
    TransCode2IDStartsWith: string;
    TransCode2IDEndsWith: string;
    TransCode2IDContains: string;
    TransCode2IDLike: string;
    TransCode2IDBetween: string[];
    TransCode2IDIn: string[];
    TransCode3ID: string;
    TransCode3IDStartsWith: string;
    TransCode3IDEndsWith: string;
    TransCode3IDContains: string;
    TransCode3IDLike: string;
    TransCode3IDBetween: string[];
    TransCode3IDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    Reconciled: boolean;
    Cleared: boolean;
    TransPostDateTime: string;
    TransPostDateTimeGreaterThanOrEqualTo: string;
    TransPostDateTimeGreaterThan: string;
    TransPostDateTimeLessThan: string;
    TransPostDateTimeLessThanOrEqualTo: string;
    TransPostDateTimeNotEqualTo: string;
    TransPostDateTimeBetween: string[];
    TransPostDateTimeIn: string[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    createResponse() { return new QueryResponse<GL_Transactions>(); }
    getTypeName() { return "GL_TransactionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_APIKeyQuery extends QueryDb<HR_APIKey> implements IReturn<QueryResponse<HR_APIKey>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    ExpiryDateTime: string;
    ExpiryDateTimeGreaterThanOrEqualTo: string;
    ExpiryDateTimeGreaterThan: string;
    ExpiryDateTimeLessThan: string;
    ExpiryDateTimeLessThanOrEqualTo: string;
    ExpiryDateTimeNotEqualTo: string;
    ExpiryDateTimeBetween: string[];
    ExpiryDateTimeIn: string[];
    CancelledDateTime: string;
    CancelledDateTimeGreaterThanOrEqualTo: string;
    CancelledDateTimeGreaterThan: string;
    CancelledDateTimeLessThan: string;
    CancelledDateTimeLessThanOrEqualTo: string;
    CancelledDateTimeNotEqualTo: string;
    CancelledDateTimeBetween: string[];
    CancelledDateTimeIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    KeyValue: string;
    KeyValueStartsWith: string;
    KeyValueEndsWith: string;
    KeyValueContains: string;
    KeyValueLike: string;
    KeyValueBetween: string[];
    KeyValueIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<HR_APIKey>(); }
    getTypeName() { return "HR_APIKeyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_CustomSettingQuery extends QueryDb<HR_CustomSetting> implements IReturn<QueryResponse<HR_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<HR_CustomSetting>(); }
    getTypeName() { return "HR_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_CustomSettingValuesQuery extends QueryDb<HR_CustomSettingValues> implements IReturn<QueryResponse<HR_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<HR_CustomSettingValues>(); }
    getTypeName() { return "HR_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_DepartmentCategoriesQuery extends QueryDb<HR_DepartmentCategories> implements IReturn<QueryResponse<HR_DepartmentCategories>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    HR_Departments_RecID: string;
    HR_Departments_RecIDStartsWith: string;
    HR_Departments_RecIDEndsWith: string;
    HR_Departments_RecIDContains: string;
    HR_Departments_RecIDLike: string;
    HR_Departments_RecIDBetween: string[];
    HR_Departments_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    RowHash: Uint8Array;
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<HR_DepartmentCategories>(); }
    getTypeName() { return "HR_DepartmentCategoriesQuery"; }
}

// @Route("/Queries/HR_Departments", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_DepartmentsQuery extends QueryDb<HR_Departments> implements IReturn<QueryResponse<HR_Departments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Manager_HR_Staff_RecID: string;
    Manager_HR_Staff_RecIDStartsWith: string;
    Manager_HR_Staff_RecIDEndsWith: string;
    Manager_HR_Staff_RecIDContains: string;
    Manager_HR_Staff_RecIDLike: string;
    Manager_HR_Staff_RecIDBetween: string[];
    Manager_HR_Staff_RecIDIn: string[];
    RowHash: Uint8Array;
    IsEnabled: boolean;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<HR_Departments>(); }
    getTypeName() { return "HR_DepartmentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_DocumentsQuery extends QueryDb<HR_Documents> implements IReturn<QueryResponse<HR_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<HR_Documents>(); }
    getTypeName() { return "HR_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_NotesQuery extends QueryDb<HR_Notes> implements IReturn<QueryResponse<HR_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<HR_Notes>(); }
    getTypeName() { return "HR_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_SkillRatingsQuery extends QueryDb<HR_SkillRatings> implements IReturn<QueryResponse<HR_SkillRatings>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    IsEnabled: boolean;
    RowHash: Uint8Array;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<HR_SkillRatings>(); }
    getTypeName() { return "HR_SkillRatingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_SkillsQuery extends QueryDb<HR_Skills> implements IReturn<QueryResponse<HR_Skills>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ExamRequired: boolean;
    HR_Departments_RecID: string;
    HR_Departments_RecIDStartsWith: string;
    HR_Departments_RecIDEndsWith: string;
    HR_Departments_RecIDContains: string;
    HR_Departments_RecIDLike: string;
    HR_Departments_RecIDBetween: string[];
    HR_Departments_RecIDIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<HR_Skills>(); }
    getTypeName() { return "HR_SkillsQuery"; }
}

// @Route("/Queries/HR_Staff", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_StaffQuery extends QueryDb<HR_Staff> implements IReturn<QueryResponse<HR_Staff>>
{
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Title: string;
    TitleStartsWith: string;
    TitleEndsWith: string;
    TitleContains: string;
    TitleLike: string;
    TitleBetween: string[];
    TitleIn: string[];
    FName: string;
    FNameStartsWith: string;
    FNameEndsWith: string;
    FNameContains: string;
    FNameLike: string;
    FNameBetween: string[];
    FNameIn: string[];
    SName: string;
    SNameStartsWith: string;
    SNameEndsWith: string;
    SNameContains: string;
    SNameLike: string;
    SNameBetween: string[];
    SNameIn: string[];
    Position1: string;
    Position1StartsWith: string;
    Position1EndsWith: string;
    Position1Contains: string;
    Position1Like: string;
    Position1Between: string[];
    Position1In: string[];
    Position2: string;
    Position2StartsWith: string;
    Position2EndsWith: string;
    Position2Contains: string;
    Position2Like: string;
    Position2Between: string[];
    Position2In: string[];
    Password: string;
    PasswordStartsWith: string;
    PasswordEndsWith: string;
    PasswordContains: string;
    PasswordLike: string;
    PasswordBetween: string[];
    PasswordIn: string[];
    IsActive: boolean;
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    EmailDisplayName: string;
    EmailDisplayNameStartsWith: string;
    EmailDisplayNameEndsWith: string;
    EmailDisplayNameContains: string;
    EmailDisplayNameLike: string;
    EmailDisplayNameBetween: string[];
    EmailDisplayNameIn: string[];
    SMTPUsername: string;
    SMTPUsernameStartsWith: string;
    SMTPUsernameEndsWith: string;
    SMTPUsernameContains: string;
    SMTPUsernameLike: string;
    SMTPUsernameBetween: string[];
    SMTPUsernameIn: string[];
    SMTPPassword: string;
    SMTPPasswordStartsWith: string;
    SMTPPasswordEndsWith: string;
    SMTPPasswordContains: string;
    SMTPPasswordLike: string;
    SMTPPasswordBetween: string[];
    SMTPPasswordIn: string[];
    Username: string;
    UsernameStartsWith: string;
    UsernameEndsWith: string;
    UsernameContains: string;
    UsernameLike: string;
    UsernameBetween: string[];
    UsernameIn: string[];
    MustChangePasswordNextLogin: boolean;
    PasswordLastChangedDateTime: string;
    PasswordLastChangedDateTimeGreaterThanOrEqualTo: string;
    PasswordLastChangedDateTimeGreaterThan: string;
    PasswordLastChangedDateTimeLessThan: string;
    PasswordLastChangedDateTimeLessThanOrEqualTo: string;
    PasswordLastChangedDateTimeNotEqualTo: string;
    PasswordLastChangedDateTimeBetween: string[];
    PasswordLastChangedDateTimeIn: string[];
    SQLLogin: string;
    SQLLoginStartsWith: string;
    SQLLoginEndsWith: string;
    SQLLoginContains: string;
    SQLLoginLike: string;
    SQLLoginBetween: string[];
    SQLLoginIn: string[];
    SQLPassword: string;
    SQLPasswordStartsWith: string;
    SQLPasswordEndsWith: string;
    SQLPasswordContains: string;
    SQLPasswordLike: string;
    SQLPasswordBetween: string[];
    SQLPasswordIn: string[];
    ReportSQLLogin: string;
    ReportSQLLoginStartsWith: string;
    ReportSQLLoginEndsWith: string;
    ReportSQLLoginContains: string;
    ReportSQLLoginLike: string;
    ReportSQLLoginBetween: string[];
    ReportSQLLoginIn: string[];
    ReportSQLPassword: string;
    ReportSQLPasswordStartsWith: string;
    ReportSQLPasswordEndsWith: string;
    ReportSQLPasswordContains: string;
    ReportSQLPasswordLike: string;
    ReportSQLPasswordBetween: string[];
    ReportSQLPasswordIn: string[];
    Picture: Uint8Array;
    HR_Departments_RecID: string;
    HR_Departments_RecIDStartsWith: string;
    HR_Departments_RecIDEndsWith: string;
    HR_Departments_RecIDContains: string;
    HR_Departments_RecIDLike: string;
    HR_Departments_RecIDBetween: string[];
    HR_Departments_RecIDIn: string[];
    Extension: string;
    ExtensionStartsWith: string;
    ExtensionEndsWith: string;
    ExtensionContains: string;
    ExtensionLike: string;
    ExtensionBetween: string[];
    ExtensionIn: string[];
    Mobile: string;
    MobileStartsWith: string;
    MobileEndsWith: string;
    MobileContains: string;
    MobileLike: string;
    MobileBetween: string[];
    MobileIn: string[];
    UsePrepaidLabourPacks: boolean;
    AuthenticationModes: number;
    AuthenticationModesGreaterThanOrEqualTo: number;
    AuthenticationModesGreaterThan: number;
    AuthenticationModesLessThan: number;
    AuthenticationModesLessThanOrEqualTo: number;
    AuthenticationModesNotEqualTo: number;
    AuthenticationModesBetween: Uint8Array;
    AuthenticationModesIn: Uint8Array;
    WindowsDomainAccount: string;
    WindowsDomainAccountStartsWith: string;
    WindowsDomainAccountEndsWith: string;
    WindowsDomainAccountContains: string;
    WindowsDomainAccountLike: string;
    WindowsDomainAccountBetween: string[];
    WindowsDomainAccountIn: string[];
    SMTPPasswordLastChangedDateTime: string;
    SMTPPasswordLastChangedDateTimeGreaterThanOrEqualTo: string;
    SMTPPasswordLastChangedDateTimeGreaterThan: string;
    SMTPPasswordLastChangedDateTimeLessThan: string;
    SMTPPasswordLastChangedDateTimeLessThanOrEqualTo: string;
    SMTPPasswordLastChangedDateTimeNotEqualTo: string;
    SMTPPasswordLastChangedDateTimeBetween: string[];
    SMTPPasswordLastChangedDateTimeIn: string[];
    SY_Menu_RecID: string;
    SY_Menu_RecIDStartsWith: string;
    SY_Menu_RecIDEndsWith: string;
    SY_Menu_RecIDContains: string;
    SY_Menu_RecIDLike: string;
    SY_Menu_RecIDBetween: string[];
    SY_Menu_RecIDIn: string[];
    SY_PrintGroup_RecID: string;
    SY_PrintGroup_RecIDStartsWith: string;
    SY_PrintGroup_RecIDEndsWith: string;
    SY_PrintGroup_RecIDContains: string;
    SY_PrintGroup_RecIDLike: string;
    SY_PrintGroup_RecIDBetween: string[];
    SY_PrintGroup_RecIDIn: string[];
    SQLLoginLastSavedDateTime: string;
    SQLLoginLastSavedDateTimeGreaterThanOrEqualTo: string;
    SQLLoginLastSavedDateTimeGreaterThan: string;
    SQLLoginLastSavedDateTimeLessThan: string;
    SQLLoginLastSavedDateTimeLessThanOrEqualTo: string;
    SQLLoginLastSavedDateTimeNotEqualTo: string;
    SQLLoginLastSavedDateTimeBetween: string[];
    SQLLoginLastSavedDateTimeIn: string[];
    ReportsLoginLastSavedDateTime: string;
    ReportsLoginLastSavedDateTimeGreaterThanOrEqualTo: string;
    ReportsLoginLastSavedDateTimeGreaterThan: string;
    ReportsLoginLastSavedDateTimeLessThan: string;
    ReportsLoginLastSavedDateTimeLessThanOrEqualTo: string;
    ReportsLoginLastSavedDateTimeNotEqualTo: string;
    ReportsLoginLastSavedDateTimeBetween: string[];
    ReportsLoginLastSavedDateTimeIn: string[];
    IsEnabled: boolean;
    createResponse() { return new QueryResponse<HR_Staff>(); }
    getTypeName() { return "HR_StaffQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_StaffSkillsQuery extends QueryDb<HR_StaffSkills> implements IReturn<QueryResponse<HR_StaffSkills>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    HR_Skills_RecID: string;
    HR_Skills_RecIDStartsWith: string;
    HR_Skills_RecIDEndsWith: string;
    HR_Skills_RecIDContains: string;
    HR_Skills_RecIDLike: string;
    HR_Skills_RecIDBetween: string[];
    HR_Skills_RecIDIn: string[];
    HR_SkillRatings_RecID: string;
    HR_SkillRatings_RecIDStartsWith: string;
    HR_SkillRatings_RecIDEndsWith: string;
    HR_SkillRatings_RecIDContains: string;
    HR_SkillRatings_RecIDLike: string;
    HR_SkillRatings_RecIDBetween: string[];
    HR_SkillRatings_RecIDIn: string[];
    QualificationDate: string;
    QualificationDateGreaterThanOrEqualTo: string;
    QualificationDateGreaterThan: string;
    QualificationDateLessThan: string;
    QualificationDateLessThanOrEqualTo: string;
    QualificationDateNotEqualTo: string;
    QualificationDateBetween: string[];
    QualificationDateIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<HR_StaffSkills>(); }
    getTypeName() { return "HR_StaffSkillsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_StaffUserSettingsQuery extends QueryDb<HR_StaffUserSettings> implements IReturn<QueryResponse<HR_StaffUserSettings>>
{
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    PreviewJournal: boolean;
    LastLogicalWarehouse_RecID: string;
    LastLogicalWarehouse_RecIDStartsWith: string;
    LastLogicalWarehouse_RecIDEndsWith: string;
    LastLogicalWarehouse_RecIDContains: string;
    LastLogicalWarehouse_RecIDLike: string;
    LastLogicalWarehouse_RecIDBetween: string[];
    LastLogicalWarehouse_RecIDIn: string[];
    StockTakeOrder: number;
    StockTakeOrderGreaterThanOrEqualTo: number;
    StockTakeOrderGreaterThan: number;
    StockTakeOrderLessThan: number;
    StockTakeOrderLessThanOrEqualTo: number;
    StockTakeOrderNotEqualTo: number;
    StockTakeOrderBetween: Uint8Array;
    StockTakeOrderIn: Uint8Array;
    EnforceMinGP: number;
    EnforceMinGPGreaterThanOrEqualTo: number;
    EnforceMinGPGreaterThan: number;
    EnforceMinGPLessThan: number;
    EnforceMinGPLessThanOrEqualTo: number;
    EnforceMinGPNotEqualTo: number;
    EnforceMinGPBetween: Uint8Array;
    EnforceMinGPIn: Uint8Array;
    SearchAutoStart: number;
    SearchAutoStartGreaterThanOrEqualTo: number;
    SearchAutoStartGreaterThan: number;
    SearchAutoStartLessThan: number;
    SearchAutoStartLessThanOrEqualTo: number;
    SearchAutoStartNotEqualTo: number;
    SearchAutoStartBetween: number[];
    SearchAutoStartIn: number[];
    SearchReplaceText: boolean;
    SearchFontName: string;
    SearchFontNameStartsWith: string;
    SearchFontNameEndsWith: string;
    SearchFontNameContains: string;
    SearchFontNameLike: string;
    SearchFontNameBetween: string[];
    SearchFontNameIn: string[];
    SearchFontSize: number;
    SearchFontSizeGreaterThanOrEqualTo: number;
    SearchFontSizeGreaterThan: number;
    SearchFontSizeLessThan: number;
    SearchFontSizeLessThanOrEqualTo: number;
    SearchFontSizeNotEqualTo: number;
    SearchFontSizeBetween: number[];
    SearchFontSizeIn: number[];
    CreditorsPrintToScreen: boolean;
    IgnoreBackOrderAllocations: boolean;
    InvoicingPrintToScreen: boolean;
    AllowModificationOfPrintedUnprocessedInvoices: boolean;
    IncrementInvoiceNumbers: string;
    IncrementInvoiceNumbersStartsWith: string;
    IncrementInvoiceNumbersEndsWith: string;
    IncrementInvoiceNumbersContains: string;
    IncrementInvoiceNumbersLike: string;
    IncrementInvoiceNumbersBetween: string[];
    IncrementInvoiceNumbersIn: string[];
    ParticipateInCustomerExperienceImprovementProgram: boolean;
    createResponse() { return new QueryResponse<HR_StaffUserSettings>(); }
    getTypeName() { return "HR_StaffUserSettingsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class HR_StartupItemsQuery extends QueryDb<HR_StartupItems> implements IReturn<QueryResponse<HR_StartupItems>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    HR_Staff_RecID: string;
    HR_Staff_RecIDStartsWith: string;
    HR_Staff_RecIDEndsWith: string;
    HR_Staff_RecIDContains: string;
    HR_Staff_RecIDLike: string;
    HR_Staff_RecIDBetween: string[];
    HR_Staff_RecIDIn: string[];
    SY_Forms_ClassName: string;
    SY_Forms_ClassNameStartsWith: string;
    SY_Forms_ClassNameEndsWith: string;
    SY_Forms_ClassNameContains: string;
    SY_Forms_ClassNameLike: string;
    SY_Forms_ClassNameBetween: string[];
    SY_Forms_ClassNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<HR_StartupItems>(); }
    getTypeName() { return "HR_StartupItemsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IM_CSV_StagingQuery extends QueryDb<IM_CSV_Staging> implements IReturn<QueryResponse<IM_CSV_Staging>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchID: string;
    BatchIDStartsWith: string;
    BatchIDEndsWith: string;
    BatchIDContains: string;
    BatchIDLike: string;
    BatchIDBetween: string[];
    BatchIDIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    DateCreated: string;
    DateCreatedGreaterThanOrEqualTo: string;
    DateCreatedGreaterThan: string;
    DateCreatedLessThan: string;
    DateCreatedLessThanOrEqualTo: string;
    DateCreatedNotEqualTo: string;
    DateCreatedBetween: string[];
    DateCreatedIn: string[];
    ImportStatus: string;
    ImportStatusStartsWith: string;
    ImportStatusEndsWith: string;
    ImportStatusContains: string;
    ImportStatusLike: string;
    ImportStatusBetween: string[];
    ImportStatusIn: string[];
    ImportMessage: string;
    ImportMessageStartsWith: string;
    ImportMessageEndsWith: string;
    ImportMessageContains: string;
    ImportMessageLike: string;
    ImportMessageBetween: string[];
    ImportMessageIn: string[];
    Column1: string;
    Column1StartsWith: string;
    Column1EndsWith: string;
    Column1Contains: string;
    Column1Like: string;
    Column1Between: string[];
    Column1In: string[];
    Column2: string;
    Column2StartsWith: string;
    Column2EndsWith: string;
    Column2Contains: string;
    Column2Like: string;
    Column2Between: string[];
    Column2In: string[];
    Column3: string;
    Column3StartsWith: string;
    Column3EndsWith: string;
    Column3Contains: string;
    Column3Like: string;
    Column3Between: string[];
    Column3In: string[];
    Column4: string;
    Column4StartsWith: string;
    Column4EndsWith: string;
    Column4Contains: string;
    Column4Like: string;
    Column4Between: string[];
    Column4In: string[];
    Column5: string;
    Column5StartsWith: string;
    Column5EndsWith: string;
    Column5Contains: string;
    Column5Like: string;
    Column5Between: string[];
    Column5In: string[];
    Column6: string;
    Column6StartsWith: string;
    Column6EndsWith: string;
    Column6Contains: string;
    Column6Like: string;
    Column6Between: string[];
    Column6In: string[];
    Column7: string;
    Column7StartsWith: string;
    Column7EndsWith: string;
    Column7Contains: string;
    Column7Like: string;
    Column7Between: string[];
    Column7In: string[];
    Column8: string;
    Column8StartsWith: string;
    Column8EndsWith: string;
    Column8Contains: string;
    Column8Like: string;
    Column8Between: string[];
    Column8In: string[];
    Column9: string;
    Column9StartsWith: string;
    Column9EndsWith: string;
    Column9Contains: string;
    Column9Like: string;
    Column9Between: string[];
    Column9In: string[];
    Column10: string;
    Column10StartsWith: string;
    Column10EndsWith: string;
    Column10Contains: string;
    Column10Like: string;
    Column10Between: string[];
    Column10In: string[];
    Column11: string;
    Column11StartsWith: string;
    Column11EndsWith: string;
    Column11Contains: string;
    Column11Like: string;
    Column11Between: string[];
    Column11In: string[];
    Column12: string;
    Column12StartsWith: string;
    Column12EndsWith: string;
    Column12Contains: string;
    Column12Like: string;
    Column12Between: string[];
    Column12In: string[];
    Column13: string;
    Column13StartsWith: string;
    Column13EndsWith: string;
    Column13Contains: string;
    Column13Like: string;
    Column13Between: string[];
    Column13In: string[];
    Column14: string;
    Column14StartsWith: string;
    Column14EndsWith: string;
    Column14Contains: string;
    Column14Like: string;
    Column14Between: string[];
    Column14In: string[];
    Column15: string;
    Column15StartsWith: string;
    Column15EndsWith: string;
    Column15Contains: string;
    Column15Like: string;
    Column15Between: string[];
    Column15In: string[];
    Column16: string;
    Column16StartsWith: string;
    Column16EndsWith: string;
    Column16Contains: string;
    Column16Like: string;
    Column16Between: string[];
    Column16In: string[];
    Column17: string;
    Column17StartsWith: string;
    Column17EndsWith: string;
    Column17Contains: string;
    Column17Like: string;
    Column17Between: string[];
    Column17In: string[];
    Column18: string;
    Column18StartsWith: string;
    Column18EndsWith: string;
    Column18Contains: string;
    Column18Like: string;
    Column18Between: string[];
    Column18In: string[];
    Column19: string;
    Column19StartsWith: string;
    Column19EndsWith: string;
    Column19Contains: string;
    Column19Like: string;
    Column19Between: string[];
    Column19In: string[];
    Column20: string;
    Column20StartsWith: string;
    Column20EndsWith: string;
    Column20Contains: string;
    Column20Like: string;
    Column20Between: string[];
    Column20In: string[];
    Column21: string;
    Column21StartsWith: string;
    Column21EndsWith: string;
    Column21Contains: string;
    Column21Like: string;
    Column21Between: string[];
    Column21In: string[];
    Column22: string;
    Column22StartsWith: string;
    Column22EndsWith: string;
    Column22Contains: string;
    Column22Like: string;
    Column22Between: string[];
    Column22In: string[];
    Column23: string;
    Column23StartsWith: string;
    Column23EndsWith: string;
    Column23Contains: string;
    Column23Like: string;
    Column23Between: string[];
    Column23In: string[];
    Column24: string;
    Column24StartsWith: string;
    Column24EndsWith: string;
    Column24Contains: string;
    Column24Like: string;
    Column24Between: string[];
    Column24In: string[];
    Column25: string;
    Column25StartsWith: string;
    Column25EndsWith: string;
    Column25Contains: string;
    Column25Like: string;
    Column25Between: string[];
    Column25In: string[];
    Column26: string;
    Column26StartsWith: string;
    Column26EndsWith: string;
    Column26Contains: string;
    Column26Like: string;
    Column26Between: string[];
    Column26In: string[];
    Column27: string;
    Column27StartsWith: string;
    Column27EndsWith: string;
    Column27Contains: string;
    Column27Like: string;
    Column27Between: string[];
    Column27In: string[];
    Column28: string;
    Column28StartsWith: string;
    Column28EndsWith: string;
    Column28Contains: string;
    Column28Like: string;
    Column28Between: string[];
    Column28In: string[];
    Column29: string;
    Column29StartsWith: string;
    Column29EndsWith: string;
    Column29Contains: string;
    Column29Like: string;
    Column29Between: string[];
    Column29In: string[];
    Column30: string;
    Column30StartsWith: string;
    Column30EndsWith: string;
    Column30Contains: string;
    Column30Like: string;
    Column30Between: string[];
    Column30In: string[];
    Column31: string;
    Column31StartsWith: string;
    Column31EndsWith: string;
    Column31Contains: string;
    Column31Like: string;
    Column31Between: string[];
    Column31In: string[];
    Column32: string;
    Column32StartsWith: string;
    Column32EndsWith: string;
    Column32Contains: string;
    Column32Like: string;
    Column32Between: string[];
    Column32In: string[];
    Column33: string;
    Column33StartsWith: string;
    Column33EndsWith: string;
    Column33Contains: string;
    Column33Like: string;
    Column33Between: string[];
    Column33In: string[];
    Column34: string;
    Column34StartsWith: string;
    Column34EndsWith: string;
    Column34Contains: string;
    Column34Like: string;
    Column34Between: string[];
    Column34In: string[];
    Column35: string;
    Column35StartsWith: string;
    Column35EndsWith: string;
    Column35Contains: string;
    Column35Like: string;
    Column35Between: string[];
    Column35In: string[];
    Column36: string;
    Column36StartsWith: string;
    Column36EndsWith: string;
    Column36Contains: string;
    Column36Like: string;
    Column36Between: string[];
    Column36In: string[];
    Column37: string;
    Column37StartsWith: string;
    Column37EndsWith: string;
    Column37Contains: string;
    Column37Like: string;
    Column37Between: string[];
    Column37In: string[];
    Column38: string;
    Column38StartsWith: string;
    Column38EndsWith: string;
    Column38Contains: string;
    Column38Like: string;
    Column38Between: string[];
    Column38In: string[];
    Column39: string;
    Column39StartsWith: string;
    Column39EndsWith: string;
    Column39Contains: string;
    Column39Like: string;
    Column39Between: string[];
    Column39In: string[];
    Column40: string;
    Column40StartsWith: string;
    Column40EndsWith: string;
    Column40Contains: string;
    Column40Like: string;
    Column40Between: string[];
    Column40In: string[];
    Column41: string;
    Column41StartsWith: string;
    Column41EndsWith: string;
    Column41Contains: string;
    Column41Like: string;
    Column41Between: string[];
    Column41In: string[];
    Column42: string;
    Column42StartsWith: string;
    Column42EndsWith: string;
    Column42Contains: string;
    Column42Like: string;
    Column42Between: string[];
    Column42In: string[];
    Column43: string;
    Column43StartsWith: string;
    Column43EndsWith: string;
    Column43Contains: string;
    Column43Like: string;
    Column43Between: string[];
    Column43In: string[];
    Column44: string;
    Column44StartsWith: string;
    Column44EndsWith: string;
    Column44Contains: string;
    Column44Like: string;
    Column44Between: string[];
    Column44In: string[];
    Column45: string;
    Column45StartsWith: string;
    Column45EndsWith: string;
    Column45Contains: string;
    Column45Like: string;
    Column45Between: string[];
    Column45In: string[];
    Column46: string;
    Column46StartsWith: string;
    Column46EndsWith: string;
    Column46Contains: string;
    Column46Like: string;
    Column46Between: string[];
    Column46In: string[];
    Column47: string;
    Column47StartsWith: string;
    Column47EndsWith: string;
    Column47Contains: string;
    Column47Like: string;
    Column47Between: string[];
    Column47In: string[];
    Column48: string;
    Column48StartsWith: string;
    Column48EndsWith: string;
    Column48Contains: string;
    Column48Like: string;
    Column48Between: string[];
    Column48In: string[];
    Column49: string;
    Column49StartsWith: string;
    Column49EndsWith: string;
    Column49Contains: string;
    Column49Like: string;
    Column49Between: string[];
    Column49In: string[];
    Column50: string;
    Column50StartsWith: string;
    Column50EndsWith: string;
    Column50Contains: string;
    Column50Like: string;
    Column50Between: string[];
    Column50In: string[];
    createResponse() { return new QueryResponse<IM_CSV_Staging>(); }
    getTypeName() { return "IM_CSV_StagingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IM_ImportQueueQuery extends QueryDb<IM_ImportQueue> implements IReturn<QueryResponse<IM_ImportQueue>>
{
    ImportQueueID: string;
    ImportQueueIDStartsWith: string;
    ImportQueueIDEndsWith: string;
    ImportQueueIDContains: string;
    ImportQueueIDLike: string;
    ImportQueueIDBetween: string[];
    ImportQueueIDIn: string[];
    OriginalXML: string;
    OriginalXMLStartsWith: string;
    OriginalXMLEndsWith: string;
    OriginalXMLContains: string;
    OriginalXMLLike: string;
    OriginalXMLBetween: string[];
    OriginalXMLIn: string[];
    TransformedXML: string;
    TransformedXMLStartsWith: string;
    TransformedXMLEndsWith: string;
    TransformedXMLContains: string;
    TransformedXMLLike: string;
    TransformedXMLBetween: string[];
    TransformedXMLIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    AddedToQueueDateTime: string;
    AddedToQueueDateTimeGreaterThanOrEqualTo: string;
    AddedToQueueDateTimeGreaterThan: string;
    AddedToQueueDateTimeLessThan: string;
    AddedToQueueDateTimeLessThanOrEqualTo: string;
    AddedToQueueDateTimeNotEqualTo: string;
    AddedToQueueDateTimeBetween: string[];
    AddedToQueueDateTimeIn: string[];
    AddedToQueueByStaffID: string;
    AddedToQueueByStaffIDStartsWith: string;
    AddedToQueueByStaffIDEndsWith: string;
    AddedToQueueByStaffIDContains: string;
    AddedToQueueByStaffIDLike: string;
    AddedToQueueByStaffIDBetween: string[];
    AddedToQueueByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    ImportErrorMessage: string;
    ImportErrorMessageStartsWith: string;
    ImportErrorMessageEndsWith: string;
    ImportErrorMessageContains: string;
    ImportErrorMessageLike: string;
    ImportErrorMessageBetween: string[];
    ImportErrorMessageIn: string[];
    ImportBatchID: string;
    ImportBatchIDStartsWith: string;
    ImportBatchIDEndsWith: string;
    ImportBatchIDContains: string;
    ImportBatchIDLike: string;
    ImportBatchIDBetween: string[];
    ImportBatchIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    ImportSuccessMessage: string;
    ImportSuccessMessageStartsWith: string;
    ImportSuccessMessageEndsWith: string;
    ImportSuccessMessageContains: string;
    ImportSuccessMessageLike: string;
    ImportSuccessMessageBetween: string[];
    ImportSuccessMessageIn: string[];
    createResponse() { return new QueryResponse<IM_ImportQueue>(); }
    getTypeName() { return "IM_ImportQueueQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AlternateQuery extends QueryDb<IN_Alternate> implements IReturn<QueryResponse<IN_Alternate>>
{
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    LinkedInventoryID: string;
    LinkedInventoryIDStartsWith: string;
    LinkedInventoryIDEndsWith: string;
    LinkedInventoryIDContains: string;
    LinkedInventoryIDLike: string;
    LinkedInventoryIDBetween: string[];
    LinkedInventoryIDIn: string[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    createResponse() { return new QueryResponse<IN_Alternate>(); }
    getTypeName() { return "IN_AlternateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AssemblyQuery extends QueryDb<IN_Assembly> implements IReturn<QueryResponse<IN_Assembly>>
{
    INAssemblyID: string;
    INAssemblyIDStartsWith: string;
    INAssemblyIDEndsWith: string;
    INAssemblyIDContains: string;
    INAssemblyIDLike: string;
    INAssemblyIDBetween: string[];
    INAssemblyIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    AssemblyNo: string;
    AssemblyNoStartsWith: string;
    AssemblyNoEndsWith: string;
    AssemblyNoContains: string;
    AssemblyNoLike: string;
    AssemblyNoBetween: string[];
    AssemblyNoIn: string[];
    AssemblyInitDate: string;
    AssemblyInitDateGreaterThanOrEqualTo: string;
    AssemblyInitDateGreaterThan: string;
    AssemblyInitDateLessThan: string;
    AssemblyInitDateLessThanOrEqualTo: string;
    AssemblyInitDateNotEqualTo: string;
    AssemblyInitDateBetween: string[];
    AssemblyInitDateIn: string[];
    AssemblyLastDate: string;
    AssemblyLastDateGreaterThanOrEqualTo: string;
    AssemblyLastDateGreaterThan: string;
    AssemblyLastDateLessThan: string;
    AssemblyLastDateLessThanOrEqualTo: string;
    AssemblyLastDateNotEqualTo: string;
    AssemblyLastDateBetween: string[];
    AssemblyLastDateIn: string[];
    QtyRequired: number;
    QtyRequiredGreaterThanOrEqualTo: number;
    QtyRequiredGreaterThan: number;
    QtyRequiredLessThan: number;
    QtyRequiredLessThanOrEqualTo: number;
    QtyRequiredNotEqualTo: number;
    QtyRequiredBetween: number[];
    QtyRequiredIn: number[];
    AssemblyType: number;
    AssemblyTypeGreaterThanOrEqualTo: number;
    AssemblyTypeGreaterThan: number;
    AssemblyTypeLessThan: number;
    AssemblyTypeLessThanOrEqualTo: number;
    AssemblyTypeNotEqualTo: number;
    AssemblyTypeBetween: number[];
    AssemblyTypeIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    CurrentHistoryNo: number;
    CurrentHistoryNoGreaterThanOrEqualTo: number;
    CurrentHistoryNoGreaterThan: number;
    CurrentHistoryNoLessThan: number;
    CurrentHistoryNoLessThanOrEqualTo: number;
    CurrentHistoryNoNotEqualTo: number;
    CurrentHistoryNoBetween: number[];
    CurrentHistoryNoIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    AssemblyTotal: number;
    AssemblyTotalGreaterThanOrEqualTo: number;
    AssemblyTotalGreaterThan: number;
    AssemblyTotalLessThan: number;
    AssemblyTotalLessThanOrEqualTo: number;
    AssemblyTotalNotEqualTo: number;
    AssemblyTotalBetween: number[];
    AssemblyTotalIn: number[];
    UpdateSell: boolean;
    SellPriceMode: number;
    SellPriceModeGreaterThanOrEqualTo: number;
    SellPriceModeGreaterThan: number;
    SellPriceModeLessThan: number;
    SellPriceModeLessThanOrEqualTo: number;
    SellPriceModeNotEqualTo: number;
    SellPriceModeBetween: number[];
    SellPriceModeIn: number[];
    SellPriceAmount: number;
    SellPriceAmountGreaterThanOrEqualTo: number;
    SellPriceAmountGreaterThan: number;
    SellPriceAmountLessThan: number;
    SellPriceAmountLessThanOrEqualTo: number;
    SellPriceAmountNotEqualTo: number;
    SellPriceAmountBetween: number[];
    SellPriceAmountIn: number[];
    NewPrice: number;
    NewPriceGreaterThanOrEqualTo: number;
    NewPriceGreaterThan: number;
    NewPriceLessThan: number;
    NewPriceLessThanOrEqualTo: number;
    NewPriceNotEqualTo: number;
    NewPriceBetween: number[];
    NewPriceIn: number[];
    CalcSell: number;
    CalcSellGreaterThanOrEqualTo: number;
    CalcSellGreaterThan: number;
    CalcSellLessThan: number;
    CalcSellLessThanOrEqualTo: number;
    CalcSellNotEqualTo: number;
    CalcSellBetween: number[];
    CalcSellIn: number[];
    createResponse() { return new QueryResponse<IN_Assembly>(); }
    getTypeName() { return "IN_AssemblyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AssemblyHistoryQuery extends QueryDb<IN_AssemblyHistory> implements IReturn<QueryResponse<IN_AssemblyHistory>>
{
    INAssemblyHistoryID: string;
    INAssemblyHistoryIDStartsWith: string;
    INAssemblyHistoryIDEndsWith: string;
    INAssemblyHistoryIDContains: string;
    INAssemblyHistoryIDLike: string;
    INAssemblyHistoryIDBetween: string[];
    INAssemblyHistoryIDIn: string[];
    INAssemblyID: string;
    INAssemblyIDStartsWith: string;
    INAssemblyIDEndsWith: string;
    INAssemblyIDContains: string;
    INAssemblyIDLike: string;
    INAssemblyIDBetween: string[];
    INAssemblyIDIn: string[];
    HistoryNo: number;
    HistoryNoGreaterThanOrEqualTo: number;
    HistoryNoGreaterThan: number;
    HistoryNoLessThan: number;
    HistoryNoLessThanOrEqualTo: number;
    HistoryNoNotEqualTo: number;
    HistoryNoBetween: number[];
    HistoryNoIn: number[];
    RecordDate: string;
    RecordDateGreaterThanOrEqualTo: string;
    RecordDateGreaterThan: string;
    RecordDateLessThan: string;
    RecordDateLessThanOrEqualTo: string;
    RecordDateNotEqualTo: string;
    RecordDateBetween: string[];
    RecordDateIn: string[];
    QtyAssembled: number;
    QtyAssembledGreaterThanOrEqualTo: number;
    QtyAssembledGreaterThan: number;
    QtyAssembledLessThan: number;
    QtyAssembledLessThanOrEqualTo: number;
    QtyAssembledNotEqualTo: number;
    QtyAssembledBetween: number[];
    QtyAssembledIn: number[];
    QtyBackOrd: number;
    QtyBackOrdGreaterThanOrEqualTo: number;
    QtyBackOrdGreaterThan: number;
    QtyBackOrdLessThan: number;
    QtyBackOrdLessThanOrEqualTo: number;
    QtyBackOrdNotEqualTo: number;
    QtyBackOrdBetween: number[];
    QtyBackOrdIn: number[];
    HistoryText: string;
    HistoryTextStartsWith: string;
    HistoryTextEndsWith: string;
    HistoryTextContains: string;
    HistoryTextLike: string;
    HistoryTextBetween: string[];
    HistoryTextIn: string[];
    HistoryTotal: number;
    HistoryTotalGreaterThanOrEqualTo: number;
    HistoryTotalGreaterThan: number;
    HistoryTotalLessThan: number;
    HistoryTotalLessThanOrEqualTo: number;
    HistoryTotalNotEqualTo: number;
    HistoryTotalBetween: number[];
    HistoryTotalIn: number[];
    StartSerialNo: string;
    StartSerialNoStartsWith: string;
    StartSerialNoEndsWith: string;
    StartSerialNoContains: string;
    StartSerialNoLike: string;
    StartSerialNoBetween: string[];
    StartSerialNoIn: string[];
    AutoIncrement: boolean;
    ExpiryDays: number;
    ExpiryDaysGreaterThanOrEqualTo: number;
    ExpiryDaysGreaterThan: number;
    ExpiryDaysLessThan: number;
    ExpiryDaysLessThanOrEqualTo: number;
    ExpiryDaysNotEqualTo: number;
    ExpiryDaysBetween: number[];
    ExpiryDaysIn: number[];
    createResponse() { return new QueryResponse<IN_AssemblyHistory>(); }
    getTypeName() { return "IN_AssemblyHistoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AssemblyLineDetailsQuery extends QueryDb<IN_AssemblyLineDetails> implements IReturn<QueryResponse<IN_AssemblyLineDetails>>
{
    INAssemblyLineDetailsID: string;
    INAssemblyLineDetailsIDStartsWith: string;
    INAssemblyLineDetailsIDEndsWith: string;
    INAssemblyLineDetailsIDContains: string;
    INAssemblyLineDetailsIDLike: string;
    INAssemblyLineDetailsIDBetween: string[];
    INAssemblyLineDetailsIDIn: string[];
    INAssemblyHistoryID: string;
    INAssemblyHistoryIDStartsWith: string;
    INAssemblyHistoryIDEndsWith: string;
    INAssemblyHistoryIDContains: string;
    INAssemblyHistoryIDLike: string;
    INAssemblyHistoryIDBetween: string[];
    INAssemblyHistoryIDIn: string[];
    INAssemblyLineID: string;
    INAssemblyLineIDStartsWith: string;
    INAssemblyLineIDEndsWith: string;
    INAssemblyLineIDContains: string;
    INAssemblyLineIDLike: string;
    INAssemblyLineIDBetween: string[];
    INAssemblyLineIDIn: string[];
    SOHID: string;
    SOHIDStartsWith: string;
    SOHIDEndsWith: string;
    SOHIDContains: string;
    SOHIDLike: string;
    SOHIDBetween: string[];
    SOHIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    TaxPaid: number;
    TaxPaidGreaterThanOrEqualTo: number;
    TaxPaidGreaterThan: number;
    TaxPaidLessThan: number;
    TaxPaidLessThanOrEqualTo: number;
    TaxPaidNotEqualTo: number;
    TaxPaidBetween: number[];
    TaxPaidIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    createResponse() { return new QueryResponse<IN_AssemblyLineDetails>(); }
    getTypeName() { return "IN_AssemblyLineDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AssemblyLinesQuery extends QueryDb<IN_AssemblyLines> implements IReturn<QueryResponse<IN_AssemblyLines>>
{
    INAssemblyLineID: string;
    INAssemblyLineIDStartsWith: string;
    INAssemblyLineIDEndsWith: string;
    INAssemblyLineIDContains: string;
    INAssemblyLineIDLike: string;
    INAssemblyLineIDBetween: string[];
    INAssemblyLineIDIn: string[];
    INAssemblyHistoryID: string;
    INAssemblyHistoryIDStartsWith: string;
    INAssemblyHistoryIDEndsWith: string;
    INAssemblyHistoryIDContains: string;
    INAssemblyHistoryIDLike: string;
    INAssemblyHistoryIDBetween: string[];
    INAssemblyHistoryIDIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    ComponentID: string;
    ComponentIDStartsWith: string;
    ComponentIDEndsWith: string;
    ComponentIDContains: string;
    ComponentIDLike: string;
    ComponentIDBetween: string[];
    ComponentIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    DecimalPlaces: number;
    DecimalPlacesGreaterThanOrEqualTo: number;
    DecimalPlacesGreaterThan: number;
    DecimalPlacesLessThan: number;
    DecimalPlacesLessThanOrEqualTo: number;
    DecimalPlacesNotEqualTo: number;
    DecimalPlacesBetween: number[];
    DecimalPlacesIn: number[];
    CostPrice: number;
    CostPriceGreaterThanOrEqualTo: number;
    CostPriceGreaterThan: number;
    CostPriceLessThan: number;
    CostPriceLessThanOrEqualTo: number;
    CostPriceNotEqualTo: number;
    CostPriceBetween: number[];
    CostPriceIn: number[];
    QtyNeeded: number;
    QtyNeededGreaterThanOrEqualTo: number;
    QtyNeededGreaterThan: number;
    QtyNeededLessThan: number;
    QtyNeededLessThanOrEqualTo: number;
    QtyNeededNotEqualTo: number;
    QtyNeededBetween: number[];
    QtyNeededIn: number[];
    QtyRequired: number;
    QtyRequiredGreaterThanOrEqualTo: number;
    QtyRequiredGreaterThan: number;
    QtyRequiredLessThan: number;
    QtyRequiredLessThanOrEqualTo: number;
    QtyRequiredNotEqualTo: number;
    QtyRequiredBetween: number[];
    QtyRequiredIn: number[];
    QtyAvailable: number;
    QtyAvailableGreaterThanOrEqualTo: number;
    QtyAvailableGreaterThan: number;
    QtyAvailableLessThan: number;
    QtyAvailableLessThanOrEqualTo: number;
    QtyAvailableNotEqualTo: number;
    QtyAvailableBetween: number[];
    QtyAvailableIn: number[];
    QtyOutstanding: number;
    QtyOutstandingGreaterThanOrEqualTo: number;
    QtyOutstandingGreaterThan: number;
    QtyOutstandingLessThan: number;
    QtyOutstandingLessThanOrEqualTo: number;
    QtyOutstandingNotEqualTo: number;
    QtyOutstandingBetween: number[];
    QtyOutstandingIn: number[];
    ThisAssemble: number;
    ThisAssembleGreaterThanOrEqualTo: number;
    ThisAssembleGreaterThan: number;
    ThisAssembleLessThan: number;
    ThisAssembleLessThanOrEqualTo: number;
    ThisAssembleNotEqualTo: number;
    ThisAssembleBetween: number[];
    ThisAssembleIn: number[];
    PrevAssemble: number;
    PrevAssembleGreaterThanOrEqualTo: number;
    PrevAssembleGreaterThan: number;
    PrevAssembleLessThan: number;
    PrevAssembleLessThanOrEqualTo: number;
    PrevAssembleNotEqualTo: number;
    PrevAssembleBetween: number[];
    PrevAssembleIn: number[];
    createResponse() { return new QueryResponse<IN_AssemblyLines>(); }
    getTypeName() { return "IN_AssemblyLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AttributeGroupQuery extends QueryDb<IN_AttributeGroup> implements IReturn<QueryResponse<IN_AttributeGroup>>
{
    RecID: string;
    RecIDIn: string[];
    IN_AttributeGroupTemplate_RecID: string;
    IN_AttributeGroupTemplate_RecIDIn: string[];
    IN_Main_InventoryID: string;
    IN_Main_InventoryIDStartsWith: string;
    IN_Main_InventoryIDEndsWith: string;
    IN_Main_InventoryIDContains: string;
    IN_Main_InventoryIDLike: string;
    IN_Main_InventoryIDBetween: string[];
    IN_Main_InventoryIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_AttributeGroup>(); }
    getTypeName() { return "IN_AttributeGroupQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AttributeGroupAttributeValueQuery extends QueryDb<IN_AttributeGroupAttributeValue> implements IReturn<QueryResponse<IN_AttributeGroupAttributeValue>>
{
    RecID: string;
    RecIDIn: string[];
    IN_AttributeGroupTemplateAttribute_RecID: string;
    IN_AttributeGroupTemplateAttribute_RecIDIn: string[];
    IN_AttributeGroup_RecID: string;
    IN_AttributeGroup_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_AttributeGroupAttributeValue>(); }
    getTypeName() { return "IN_AttributeGroupAttributeValueQuery"; }
}

// @Route("/Queries/IN_AttributeGroupTemplate", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AttributeGroupTemplateQuery extends QueryDb<IN_AttributeGroupTemplate> implements IReturn<QueryResponse<IN_AttributeGroupTemplate>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    IsEnabled: boolean;
    Code: string;
    CodeStartsWith: string;
    CodeEndsWith: string;
    CodeContains: string;
    CodeLike: string;
    CodeBetween: string[];
    CodeIn: string[];
    RowHash: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_AttributeGroupTemplate>(); }
    getTypeName() { return "IN_AttributeGroupTemplateQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AttributeGroupTemplateAttributeQuery extends QueryDb<IN_AttributeGroupTemplateAttribute> implements IReturn<QueryResponse<IN_AttributeGroupTemplateAttribute>>
{
    RecID: string;
    RecIDIn: string[];
    IN_AttributeGroupTemplate_RecID: string;
    IN_AttributeGroupTemplate_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    AttributeType: number;
    AttributeTypeGreaterThanOrEqualTo: number;
    AttributeTypeGreaterThan: number;
    AttributeTypeLessThan: number;
    AttributeTypeLessThanOrEqualTo: number;
    AttributeTypeNotEqualTo: number;
    AttributeTypeBetween: number[];
    AttributeTypeIn: number[];
    ComboText: string;
    ComboTextStartsWith: string;
    ComboTextEndsWith: string;
    ComboTextContains: string;
    ComboTextLike: string;
    ComboTextBetween: string[];
    ComboTextIn: string[];
    DefaultValue: string;
    DefaultValueStartsWith: string;
    DefaultValueEndsWith: string;
    DefaultValueContains: string;
    DefaultValueLike: string;
    DefaultValueBetween: string[];
    DefaultValueIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_AttributeGroupTemplateAttribute>(); }
    getTypeName() { return "IN_AttributeGroupTemplateAttributeQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AttributeGroupTemplateDefaultReferenceQuery extends QueryDb<IN_AttributeGroupTemplateDefaultReference> implements IReturn<QueryResponse<IN_AttributeGroupTemplateDefaultReference>>
{
    RecID: string;
    RecIDIn: string[];
    AssemblyFullName: string;
    AssemblyFullNameStartsWith: string;
    AssemblyFullNameEndsWith: string;
    AssemblyFullNameContains: string;
    AssemblyFullNameLike: string;
    AssemblyFullNameBetween: string[];
    AssemblyFullNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_AttributeGroupTemplateDefaultReference>(); }
    getTypeName() { return "IN_AttributeGroupTemplateDefaultReferenceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_AttributeGroupTemplateReferenceQuery extends QueryDb<IN_AttributeGroupTemplateReference> implements IReturn<QueryResponse<IN_AttributeGroupTemplateReference>>
{
    RecID: string;
    RecIDIn: string[];
    IN_AttributeGroupTemplate_RecID: string;
    IN_AttributeGroupTemplate_RecIDIn: string[];
    AssemblyFullName: string;
    AssemblyFullNameStartsWith: string;
    AssemblyFullNameEndsWith: string;
    AssemblyFullNameContains: string;
    AssemblyFullNameLike: string;
    AssemblyFullNameBetween: string[];
    AssemblyFullNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<IN_AttributeGroupTemplateReference>(); }
    getTypeName() { return "IN_AttributeGroupTemplateReferenceQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BackOrderAllocQuery extends QueryDb<IN_BackOrderAlloc> implements IReturn<QueryResponse<IN_BackOrderAlloc>>
{
    AllocID: string;
    AllocIDStartsWith: string;
    AllocIDEndsWith: string;
    AllocIDContains: string;
    AllocIDLike: string;
    AllocIDBetween: string[];
    AllocIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AllocNo: string;
    AllocNoStartsWith: string;
    AllocNoEndsWith: string;
    AllocNoContains: string;
    AllocNoLike: string;
    AllocNoBetween: string[];
    AllocNoIn: string[];
    AllocDate: string;
    AllocDateGreaterThanOrEqualTo: string;
    AllocDateGreaterThan: string;
    AllocDateLessThan: string;
    AllocDateLessThanOrEqualTo: string;
    AllocDateNotEqualTo: string;
    AllocDateBetween: string[];
    AllocDateIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    AllocFrom: string;
    AllocFromStartsWith: string;
    AllocFromEndsWith: string;
    AllocFromContains: string;
    AllocFromLike: string;
    AllocFromBetween: string[];
    AllocFromIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    Decimals: number;
    DecimalsGreaterThanOrEqualTo: number;
    DecimalsGreaterThan: number;
    DecimalsLessThan: number;
    DecimalsLessThanOrEqualTo: number;
    DecimalsNotEqualTo: number;
    DecimalsBetween: number[];
    DecimalsIn: number[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    createResponse() { return new QueryResponse<IN_BackOrderAlloc>(); }
    getTypeName() { return "IN_BackOrderAllocQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BackOrderAllocLinesQuery extends QueryDb<IN_BackOrderAllocLines> implements IReturn<QueryResponse<IN_BackOrderAllocLines>>
{
    AllocLineID: string;
    AllocLineIDStartsWith: string;
    AllocLineIDEndsWith: string;
    AllocLineIDContains: string;
    AllocLineIDLike: string;
    AllocLineIDBetween: string[];
    AllocLineIDIn: string[];
    AllocID: string;
    AllocIDStartsWith: string;
    AllocIDEndsWith: string;
    AllocIDContains: string;
    AllocIDLike: string;
    AllocIDBetween: string[];
    AllocIDIn: string[];
    AllocDate: string;
    AllocDateGreaterThanOrEqualTo: string;
    AllocDateGreaterThan: string;
    AllocDateLessThan: string;
    AllocDateLessThanOrEqualTo: string;
    AllocDateNotEqualTo: string;
    AllocDateBetween: string[];
    AllocDateIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    OrderNo: string;
    OrderNoStartsWith: string;
    OrderNoEndsWith: string;
    OrderNoContains: string;
    OrderNoLike: string;
    OrderNoBetween: string[];
    OrderNoIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    Price: number;
    PriceGreaterThanOrEqualTo: number;
    PriceGreaterThan: number;
    PriceLessThan: number;
    PriceLessThanOrEqualTo: number;
    PriceNotEqualTo: number;
    PriceBetween: number[];
    PriceIn: number[];
    EstBOValue: number;
    EstBOValueGreaterThanOrEqualTo: number;
    EstBOValueGreaterThan: number;
    EstBOValueLessThan: number;
    EstBOValueLessThanOrEqualTo: number;
    EstBOValueNotEqualTo: number;
    EstBOValueBetween: number[];
    EstBOValueIn: number[];
    Priority: string;
    PriorityGreaterThanOrEqualTo: string;
    PriorityGreaterThan: string;
    PriorityLessThan: string;
    PriorityLessThanOrEqualTo: string;
    PriorityNotEqualTo: string;
    PriorityBetween: string[];
    PriorityIn: string[];
    BackOrderMode: number;
    BackOrderModeGreaterThanOrEqualTo: number;
    BackOrderModeGreaterThan: number;
    BackOrderModeLessThan: number;
    BackOrderModeLessThanOrEqualTo: number;
    BackOrderModeNotEqualTo: number;
    BackOrderModeBetween: number[];
    BackOrderModeIn: number[];
    SourceType: number;
    SourceTypeGreaterThanOrEqualTo: number;
    SourceTypeGreaterThan: number;
    SourceTypeLessThan: number;
    SourceTypeLessThanOrEqualTo: number;
    SourceTypeNotEqualTo: number;
    SourceTypeBetween: number[];
    SourceTypeIn: number[];
    PriorityWeight: number;
    PriorityWeightGreaterThanOrEqualTo: number;
    PriorityWeightGreaterThan: number;
    PriorityWeightLessThan: number;
    PriorityWeightLessThanOrEqualTo: number;
    PriorityWeightNotEqualTo: number;
    PriorityWeightBetween: number[];
    PriorityWeightIn: number[];
    createResponse() { return new QueryResponse<IN_BackOrderAllocLines>(); }
    getTypeName() { return "IN_BackOrderAllocLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BinLocationQuery extends QueryDb<IN_BinLocation> implements IReturn<QueryResponse<IN_BinLocation>>
{
    IN_BinLocationID: string;
    IN_BinLocationIDStartsWith: string;
    IN_BinLocationIDEndsWith: string;
    IN_BinLocationIDContains: string;
    IN_BinLocationIDLike: string;
    IN_BinLocationIDBetween: string[];
    IN_BinLocationIDIn: string[];
    IN_MainID: string;
    IN_MainIDStartsWith: string;
    IN_MainIDEndsWith: string;
    IN_MainIDContains: string;
    IN_MainIDLike: string;
    IN_MainIDBetween: string[];
    IN_MainIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IN_BinLocationLookup_INBinLookupID: string;
    IN_BinLocationLookup_INBinLookupIDStartsWith: string;
    IN_BinLocationLookup_INBinLookupIDEndsWith: string;
    IN_BinLocationLookup_INBinLookupIDContains: string;
    IN_BinLocationLookup_INBinLookupIDLike: string;
    IN_BinLocationLookup_INBinLookupIDBetween: string[];
    IN_BinLocationLookup_INBinLookupIDIn: string[];
    createResponse() { return new QueryResponse<IN_BinLocation>(); }
    getTypeName() { return "IN_BinLocationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BinLocationCustomFieldsQuery extends QueryDb<IN_BinLocationCustomFields> implements IReturn<QueryResponse<IN_BinLocationCustomFields>>
{
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<IN_BinLocationCustomFields>(); }
    getTypeName() { return "IN_BinLocationCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class IN_BinLocationCustomValuesQuery extends QueryDb<IN_BinLocationCustomValues> implements IReturn<QueryResponse<IN_BinLocationCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_BinLocationID: string;
    IN_BinLocationIDStartsWith: string;
    IN_BinLocationIDEndsWith: string;
    IN_BinLocationIDContains: string;
    IN_BinLocationIDLike: string;
    IN_BinLocationIDBetween: string[];
    IN_BinLocationIDIn: string[];
    FieldID: string;
    FieldIDStartsWith: string;
    FieldIDEndsWith: string;
    FieldIDContains: string;
    FieldIDLike: string;
    FieldIDBetween: string[];
    FieldIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<IN_BinLocationCustomValues>(); }
    getTypeName() { return "IN_BinLocationCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_HistoryQuery extends QueryDb<AR_History> implements IReturn<QueryResponse<AR_History>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    AR_Main_RecID: string;
    AR_Main_RecIDStartsWith: string;
    AR_Main_RecIDEndsWith: string;
    AR_Main_RecIDContains: string;
    AR_Main_RecIDLike: string;
    AR_Main_RecIDBetween: string[];
    AR_Main_RecIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    StartDateTime: string;
    StartDateTimeGreaterThanOrEqualTo: string;
    StartDateTimeGreaterThan: string;
    StartDateTimeLessThan: string;
    StartDateTimeLessThanOrEqualTo: string;
    StartDateTimeNotEqualTo: string;
    StartDateTimeBetween: string[];
    StartDateTimeIn: string[];
    EndDateTime: string;
    EndDateTimeGreaterThanOrEqualTo: string;
    EndDateTimeGreaterThan: string;
    EndDateTimeLessThan: string;
    EndDateTimeLessThanOrEqualTo: string;
    EndDateTimeNotEqualTo: string;
    EndDateTimeBetween: string[];
    EndDateTimeIn: string[];
    Message: string;
    MessageStartsWith: string;
    MessageEndsWith: string;
    MessageContains: string;
    MessageLike: string;
    MessageBetween: string[];
    MessageIn: string[];
    Report: string;
    ReportStartsWith: string;
    ReportEndsWith: string;
    ReportContains: string;
    ReportLike: string;
    ReportBetween: string[];
    ReportIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    ExecutionID: string;
    ExecutionIDStartsWith: string;
    ExecutionIDEndsWith: string;
    ExecutionIDContains: string;
    ExecutionIDLike: string;
    ExecutionIDBetween: string[];
    ExecutionIDIn: string[];
    createResponse() { return new QueryResponse<AR_History>(); }
    getTypeName() { return "AR_HistoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_MainQuery extends QueryDb<AR_Main> implements IReturn<QueryResponse<AR_Main>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Enabled: number;
    EnabledGreaterThanOrEqualTo: number;
    EnabledGreaterThan: number;
    EnabledLessThan: number;
    EnabledLessThanOrEqualTo: number;
    EnabledNotEqualTo: number;
    EnabledBetween: Uint8Array;
    EnabledIn: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NextScheduledRunDateTime: string;
    NextScheduledRunDateTimeGreaterThanOrEqualTo: string;
    NextScheduledRunDateTimeGreaterThan: string;
    NextScheduledRunDateTimeLessThan: string;
    NextScheduledRunDateTimeLessThanOrEqualTo: string;
    NextScheduledRunDateTimeNotEqualTo: string;
    NextScheduledRunDateTimeBetween: string[];
    NextScheduledRunDateTimeIn: string[];
    createResponse() { return new QueryResponse<AR_Main>(); }
    getTypeName() { return "AR_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_ProviderQuery extends QueryDb<AR_Provider> implements IReturn<QueryResponse<AR_Provider>>
{
    ProviderID: string;
    ProviderIDStartsWith: string;
    ProviderIDEndsWith: string;
    ProviderIDContains: string;
    ProviderIDLike: string;
    ProviderIDBetween: string[];
    ProviderIDIn: string[];
    ProviderName: string;
    ProviderNameStartsWith: string;
    ProviderNameEndsWith: string;
    ProviderNameContains: string;
    ProviderNameLike: string;
    ProviderNameBetween: string[];
    ProviderNameIn: string[];
    StoredProcedureName: string;
    StoredProcedureNameStartsWith: string;
    StoredProcedureNameEndsWith: string;
    StoredProcedureNameContains: string;
    StoredProcedureNameLike: string;
    StoredProcedureNameBetween: string[];
    StoredProcedureNameIn: string[];
    ProviderDescription: string;
    ProviderDescriptionStartsWith: string;
    ProviderDescriptionEndsWith: string;
    ProviderDescriptionContains: string;
    ProviderDescriptionLike: string;
    ProviderDescriptionBetween: string[];
    ProviderDescriptionIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<AR_Provider>(); }
    getTypeName() { return "AR_ProviderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_ProviderFiltersQuery extends QueryDb<AR_ProviderFilters> implements IReturn<QueryResponse<AR_ProviderFilters>>
{
    HeaderID: string;
    HeaderIDStartsWith: string;
    HeaderIDEndsWith: string;
    HeaderIDContains: string;
    HeaderIDLike: string;
    HeaderIDBetween: string[];
    HeaderIDIn: string[];
    FilterID: string;
    FilterIDStartsWith: string;
    FilterIDEndsWith: string;
    FilterIDContains: string;
    FilterIDLike: string;
    FilterIDBetween: string[];
    FilterIDIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    FilterScript: string;
    FilterScriptStartsWith: string;
    FilterScriptEndsWith: string;
    FilterScriptContains: string;
    FilterScriptLike: string;
    FilterScriptBetween: string[];
    FilterScriptIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<AR_ProviderFilters>(); }
    getTypeName() { return "AR_ProviderFiltersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_ProviderHeadersQuery extends QueryDb<AR_ProviderHeaders> implements IReturn<QueryResponse<AR_ProviderHeaders>>
{
    ProviderID: string;
    ProviderIDStartsWith: string;
    ProviderIDEndsWith: string;
    ProviderIDContains: string;
    ProviderIDLike: string;
    ProviderIDBetween: string[];
    ProviderIDIn: string[];
    HeaderID: string;
    HeaderIDStartsWith: string;
    HeaderIDEndsWith: string;
    HeaderIDContains: string;
    HeaderIDLike: string;
    HeaderIDBetween: string[];
    HeaderIDIn: string[];
    HeaderName: string;
    HeaderNameStartsWith: string;
    HeaderNameEndsWith: string;
    HeaderNameContains: string;
    HeaderNameLike: string;
    HeaderNameBetween: string[];
    HeaderNameIn: string[];
    DataType: number;
    DataTypeGreaterThanOrEqualTo: number;
    DataTypeGreaterThan: number;
    DataTypeLessThan: number;
    DataTypeLessThanOrEqualTo: number;
    DataTypeNotEqualTo: number;
    DataTypeBetween: number[];
    DataTypeIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    OrdinalPosition: number;
    OrdinalPositionGreaterThanOrEqualTo: number;
    OrdinalPositionGreaterThan: number;
    OrdinalPositionLessThan: number;
    OrdinalPositionLessThanOrEqualTo: number;
    OrdinalPositionNotEqualTo: number;
    OrdinalPositionBetween: number[];
    OrdinalPositionIn: number[];
    createResponse() { return new QueryResponse<AR_ProviderHeaders>(); }
    getTypeName() { return "AR_ProviderHeadersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_SchedulesQuery extends QueryDb<AR_Schedules> implements IReturn<QueryResponse<AR_Schedules>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    AR_Main_RecID: string;
    AR_Main_RecIDStartsWith: string;
    AR_Main_RecIDEndsWith: string;
    AR_Main_RecIDContains: string;
    AR_Main_RecIDLike: string;
    AR_Main_RecIDBetween: string[];
    AR_Main_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Enabled: number;
    EnabledGreaterThanOrEqualTo: number;
    EnabledGreaterThan: number;
    EnabledLessThan: number;
    EnabledLessThanOrEqualTo: number;
    EnabledNotEqualTo: number;
    EnabledBetween: Uint8Array;
    EnabledIn: Uint8Array;
    FrequencyType: number;
    FrequencyTypeGreaterThanOrEqualTo: number;
    FrequencyTypeGreaterThan: number;
    FrequencyTypeLessThan: number;
    FrequencyTypeLessThanOrEqualTo: number;
    FrequencyTypeNotEqualTo: number;
    FrequencyTypeBetween: number[];
    FrequencyTypeIn: number[];
    FrequencyInterval: number;
    FrequencyIntervalGreaterThanOrEqualTo: number;
    FrequencyIntervalGreaterThan: number;
    FrequencyIntervalLessThan: number;
    FrequencyIntervalLessThanOrEqualTo: number;
    FrequencyIntervalNotEqualTo: number;
    FrequencyIntervalBetween: number[];
    FrequencyIntervalIn: number[];
    FrequencySubdayType: number;
    FrequencySubdayTypeGreaterThanOrEqualTo: number;
    FrequencySubdayTypeGreaterThan: number;
    FrequencySubdayTypeLessThan: number;
    FrequencySubdayTypeLessThanOrEqualTo: number;
    FrequencySubdayTypeNotEqualTo: number;
    FrequencySubdayTypeBetween: number[];
    FrequencySubdayTypeIn: number[];
    FrequencySubdayInterval: number;
    FrequencySubdayIntervalGreaterThanOrEqualTo: number;
    FrequencySubdayIntervalGreaterThan: number;
    FrequencySubdayIntervalLessThan: number;
    FrequencySubdayIntervalLessThanOrEqualTo: number;
    FrequencySubdayIntervalNotEqualTo: number;
    FrequencySubdayIntervalBetween: number[];
    FrequencySubdayIntervalIn: number[];
    FrequencyRelativeInterval: number;
    FrequencyRelativeIntervalGreaterThanOrEqualTo: number;
    FrequencyRelativeIntervalGreaterThan: number;
    FrequencyRelativeIntervalLessThan: number;
    FrequencyRelativeIntervalLessThanOrEqualTo: number;
    FrequencyRelativeIntervalNotEqualTo: number;
    FrequencyRelativeIntervalBetween: number[];
    FrequencyRelativeIntervalIn: number[];
    FrequencyRecurrenceFactor: number;
    FrequencyRecurrenceFactorGreaterThanOrEqualTo: number;
    FrequencyRecurrenceFactorGreaterThan: number;
    FrequencyRecurrenceFactorLessThan: number;
    FrequencyRecurrenceFactorLessThanOrEqualTo: number;
    FrequencyRecurrenceFactorNotEqualTo: number;
    FrequencyRecurrenceFactorBetween: number[];
    FrequencyRecurrenceFactorIn: number[];
    StartDateTime: string;
    StartDateTimeGreaterThanOrEqualTo: string;
    StartDateTimeGreaterThan: string;
    StartDateTimeLessThan: string;
    StartDateTimeLessThanOrEqualTo: string;
    StartDateTimeNotEqualTo: string;
    StartDateTimeBetween: string[];
    StartDateTimeIn: string[];
    EndDateTime: string;
    EndDateTimeGreaterThanOrEqualTo: string;
    EndDateTimeGreaterThan: string;
    EndDateTimeLessThan: string;
    EndDateTimeLessThanOrEqualTo: string;
    EndDateTimeNotEqualTo: string;
    EndDateTimeBetween: string[];
    EndDateTimeIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    createResponse() { return new QueryResponse<AR_Schedules>(); }
    getTypeName() { return "AR_SchedulesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_TaskFiltersQuery extends QueryDb<AR_TaskFilters> implements IReturn<QueryResponse<AR_TaskFilters>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    AR_Tasks_RecID: string;
    AR_Tasks_RecIDStartsWith: string;
    AR_Tasks_RecIDEndsWith: string;
    AR_Tasks_RecIDContains: string;
    AR_Tasks_RecIDLike: string;
    AR_Tasks_RecIDBetween: string[];
    AR_Tasks_RecIDIn: string[];
    AR_ProviderHeaders_HeaderID: string;
    AR_ProviderHeaders_HeaderIDStartsWith: string;
    AR_ProviderHeaders_HeaderIDEndsWith: string;
    AR_ProviderHeaders_HeaderIDContains: string;
    AR_ProviderHeaders_HeaderIDLike: string;
    AR_ProviderHeaders_HeaderIDBetween: string[];
    AR_ProviderHeaders_HeaderIDIn: string[];
    AR_ProviderFilters_FilterID: string;
    AR_ProviderFilters_FilterIDStartsWith: string;
    AR_ProviderFilters_FilterIDEndsWith: string;
    AR_ProviderFilters_FilterIDContains: string;
    AR_ProviderFilters_FilterIDLike: string;
    AR_ProviderFilters_FilterIDBetween: string[];
    AR_ProviderFilters_FilterIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    createResponse() { return new QueryResponse<AR_TaskFilters>(); }
    getTypeName() { return "AR_TaskFiltersQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_TaskHistoryQuery extends QueryDb<AR_TaskHistory> implements IReturn<QueryResponse<AR_TaskHistory>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    AR_Tasks_RecID: string;
    AR_Tasks_RecIDStartsWith: string;
    AR_Tasks_RecIDEndsWith: string;
    AR_Tasks_RecIDContains: string;
    AR_Tasks_RecIDLike: string;
    AR_Tasks_RecIDBetween: string[];
    AR_Tasks_RecIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    StartDateTime: string;
    StartDateTimeGreaterThanOrEqualTo: string;
    StartDateTimeGreaterThan: string;
    StartDateTimeLessThan: string;
    StartDateTimeLessThanOrEqualTo: string;
    StartDateTimeNotEqualTo: string;
    StartDateTimeBetween: string[];
    StartDateTimeIn: string[];
    EndDateTime: string;
    EndDateTimeGreaterThanOrEqualTo: string;
    EndDateTimeGreaterThan: string;
    EndDateTimeLessThan: string;
    EndDateTimeLessThanOrEqualTo: string;
    EndDateTimeNotEqualTo: string;
    EndDateTimeBetween: string[];
    EndDateTimeIn: string[];
    Message: string;
    MessageStartsWith: string;
    MessageEndsWith: string;
    MessageContains: string;
    MessageLike: string;
    MessageBetween: string[];
    MessageIn: string[];
    Report: string;
    ReportStartsWith: string;
    ReportEndsWith: string;
    ReportContains: string;
    ReportLike: string;
    ReportBetween: string[];
    ReportIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    ExecutionID: string;
    ExecutionIDStartsWith: string;
    ExecutionIDEndsWith: string;
    ExecutionIDContains: string;
    ExecutionIDLike: string;
    ExecutionIDBetween: string[];
    ExecutionIDIn: string[];
    createResponse() { return new QueryResponse<AR_TaskHistory>(); }
    getTypeName() { return "AR_TaskHistoryQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class AR_TasksQuery extends QueryDb<AR_Tasks> implements IReturn<QueryResponse<AR_Tasks>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    AR_Main_RecID: string;
    AR_Main_RecIDStartsWith: string;
    AR_Main_RecIDEndsWith: string;
    AR_Main_RecIDContains: string;
    AR_Main_RecIDLike: string;
    AR_Main_RecIDBetween: string[];
    AR_Main_RecIDIn: string[];
    TaskNo: number;
    TaskNoGreaterThanOrEqualTo: number;
    TaskNoGreaterThan: number;
    TaskNoLessThan: number;
    TaskNoLessThanOrEqualTo: number;
    TaskNoNotEqualTo: number;
    TaskNoBetween: number[];
    TaskNoIn: number[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    AR_Provider_ProviderID: string;
    AR_Provider_ProviderIDStartsWith: string;
    AR_Provider_ProviderIDEndsWith: string;
    AR_Provider_ProviderIDContains: string;
    AR_Provider_ProviderIDLike: string;
    AR_Provider_ProviderIDBetween: string[];
    AR_Provider_ProviderIDIn: string[];
    Enabled: number;
    EnabledGreaterThanOrEqualTo: number;
    EnabledGreaterThan: number;
    EnabledLessThan: number;
    EnabledLessThanOrEqualTo: number;
    EnabledNotEqualTo: number;
    EnabledBetween: Uint8Array;
    EnabledIn: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    createResponse() { return new QueryResponse<AR_Tasks>(); }
    getTypeName() { return "AR_TasksQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_BatchProductionQuery extends QueryDb<BM_BatchProduction> implements IReturn<QueryResponse<BM_BatchProduction>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    BatchDate: string;
    BatchDateGreaterThanOrEqualTo: string;
    BatchDateGreaterThan: string;
    BatchDateLessThan: string;
    BatchDateLessThanOrEqualTo: string;
    BatchDateNotEqualTo: string;
    BatchDateBetween: string[];
    BatchDateIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    BM_Main_RecID: string;
    BM_Main_RecIDStartsWith: string;
    BM_Main_RecIDEndsWith: string;
    BM_Main_RecIDContains: string;
    BM_Main_RecIDLike: string;
    BM_Main_RecIDBetween: string[];
    BM_Main_RecIDIn: string[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    QuantityPerWorkOrder: number;
    QuantityPerWorkOrderGreaterThanOrEqualTo: number;
    QuantityPerWorkOrderGreaterThan: number;
    QuantityPerWorkOrderLessThan: number;
    QuantityPerWorkOrderLessThanOrEqualTo: number;
    QuantityPerWorkOrderNotEqualTo: number;
    QuantityPerWorkOrderBetween: number[];
    QuantityPerWorkOrderIn: number[];
    IsActivated: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_BatchProduction>(); }
    getTypeName() { return "BM_BatchProductionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_BatchProductionCustomFieldsQuery extends QueryDb<BM_BatchProductionCustomFields> implements IReturn<QueryResponse<BM_BatchProductionCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_BatchProductionCustomFields>(); }
    getTypeName() { return "BM_BatchProductionCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_BatchProductionCustomValuesQuery extends QueryDb<BM_BatchProductionCustomValues> implements IReturn<QueryResponse<BM_BatchProductionCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_BatchProduction_RecID: string;
    BM_BatchProduction_RecIDStartsWith: string;
    BM_BatchProduction_RecIDEndsWith: string;
    BM_BatchProduction_RecIDContains: string;
    BM_BatchProduction_RecIDLike: string;
    BM_BatchProduction_RecIDBetween: string[];
    BM_BatchProduction_RecIDIn: string[];
    BM_BatchProductionCustomFields_RecID: string;
    BM_BatchProductionCustomFields_RecIDStartsWith: string;
    BM_BatchProductionCustomFields_RecIDEndsWith: string;
    BM_BatchProductionCustomFields_RecIDContains: string;
    BM_BatchProductionCustomFields_RecIDLike: string;
    BM_BatchProductionCustomFields_RecIDBetween: string[];
    BM_BatchProductionCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_BatchProductionCustomValues>(); }
    getTypeName() { return "BM_BatchProductionCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_BatchProductionDocumentsQuery extends QueryDb<BM_BatchProductionDocuments> implements IReturn<QueryResponse<BM_BatchProductionDocuments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_BatchProduction_RecID: string;
    BM_BatchProduction_RecIDStartsWith: string;
    BM_BatchProduction_RecIDEndsWith: string;
    BM_BatchProduction_RecIDContains: string;
    BM_BatchProduction_RecIDLike: string;
    BM_BatchProduction_RecIDBetween: string[];
    BM_BatchProduction_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_BatchProductionDocuments>(); }
    getTypeName() { return "BM_BatchProductionDocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_BatchProductionNotesQuery extends QueryDb<BM_BatchProductionNotes> implements IReturn<QueryResponse<BM_BatchProductionNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_BatchProduction_RecID: string;
    BM_BatchProduction_RecIDStartsWith: string;
    BM_BatchProduction_RecIDEndsWith: string;
    BM_BatchProduction_RecIDContains: string;
    BM_BatchProduction_RecIDLike: string;
    BM_BatchProduction_RecIDBetween: string[];
    BM_BatchProduction_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_BatchProductionNotes>(); }
    getTypeName() { return "BM_BatchProductionNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_BatchProductionWorkOrderQuery extends QueryDb<BM_BatchProductionWorkOrder> implements IReturn<QueryResponse<BM_BatchProductionWorkOrder>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ProductionQuantity: number;
    ProductionQuantityGreaterThanOrEqualTo: number;
    ProductionQuantityGreaterThan: number;
    ProductionQuantityLessThan: number;
    ProductionQuantityLessThanOrEqualTo: number;
    ProductionQuantityNotEqualTo: number;
    ProductionQuantityBetween: number[];
    ProductionQuantityIn: number[];
    PlannedStartDate: string;
    PlannedStartDateGreaterThanOrEqualTo: string;
    PlannedStartDateGreaterThan: string;
    PlannedStartDateLessThan: string;
    PlannedStartDateLessThanOrEqualTo: string;
    PlannedStartDateNotEqualTo: string;
    PlannedStartDateBetween: string[];
    PlannedStartDateIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    BM_BatchProduction_RecID: string;
    BM_BatchProduction_RecIDStartsWith: string;
    BM_BatchProduction_RecIDEndsWith: string;
    BM_BatchProduction_RecIDContains: string;
    BM_BatchProduction_RecIDLike: string;
    BM_BatchProduction_RecIDBetween: string[];
    BM_BatchProduction_RecIDIn: string[];
    BM_WorkOrder_RecID: string;
    BM_WorkOrder_RecIDStartsWith: string;
    BM_WorkOrder_RecIDEndsWith: string;
    BM_WorkOrder_RecIDContains: string;
    BM_WorkOrder_RecIDLike: string;
    BM_WorkOrder_RecIDBetween: string[];
    BM_WorkOrder_RecIDIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_BatchProductionWorkOrder>(); }
    getTypeName() { return "BM_BatchProductionWorkOrderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_CustomSettingQuery extends QueryDb<BM_CustomSetting> implements IReturn<QueryResponse<BM_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<BM_CustomSetting>(); }
    getTypeName() { return "BM_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_CustomSettingValuesQuery extends QueryDb<BM_CustomSettingValues> implements IReturn<QueryResponse<BM_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    BM_Main_RecID: string;
    BM_Main_RecIDStartsWith: string;
    BM_Main_RecIDEndsWith: string;
    BM_Main_RecIDContains: string;
    BM_Main_RecIDLike: string;
    BM_Main_RecIDBetween: string[];
    BM_Main_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_CustomSettingValues>(); }
    getTypeName() { return "BM_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_DocumentsQuery extends QueryDb<BM_Documents> implements IReturn<QueryResponse<BM_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Main_RecID: string;
    BM_Main_RecIDStartsWith: string;
    BM_Main_RecIDEndsWith: string;
    BM_Main_RecIDContains: string;
    BM_Main_RecIDLike: string;
    BM_Main_RecIDBetween: string[];
    BM_Main_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_Documents>(); }
    getTypeName() { return "BM_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_InputCustomFieldsQuery extends QueryDb<BM_InputCustomFields> implements IReturn<QueryResponse<BM_InputCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_InputCustomFields>(); }
    getTypeName() { return "BM_InputCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_InputCustomValuesQuery extends QueryDb<BM_InputCustomValues> implements IReturn<QueryResponse<BM_InputCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Inputs_RecID: string;
    BM_Inputs_RecIDStartsWith: string;
    BM_Inputs_RecIDEndsWith: string;
    BM_Inputs_RecIDContains: string;
    BM_Inputs_RecIDLike: string;
    BM_Inputs_RecIDBetween: string[];
    BM_Inputs_RecIDIn: string[];
    BM_InputCustomFields_RecID: string;
    BM_InputCustomFields_RecIDStartsWith: string;
    BM_InputCustomFields_RecIDEndsWith: string;
    BM_InputCustomFields_RecIDContains: string;
    BM_InputCustomFields_RecIDLike: string;
    BM_InputCustomFields_RecIDBetween: string[];
    BM_InputCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_InputCustomValues>(); }
    getTypeName() { return "BM_InputCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_InputsQuery extends QueryDb<BM_Inputs> implements IReturn<QueryResponse<BM_Inputs>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Stages_RecID: string;
    BM_Stages_RecIDStartsWith: string;
    BM_Stages_RecIDEndsWith: string;
    BM_Stages_RecIDContains: string;
    BM_Stages_RecIDLike: string;
    BM_Stages_RecIDBetween: string[];
    BM_Stages_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    IsRatio: boolean;
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    SubAssembly: string;
    SubAssemblyStartsWith: string;
    SubAssemblyEndsWith: string;
    SubAssemblyContains: string;
    SubAssemblyLike: string;
    SubAssemblyBetween: string[];
    SubAssemblyIn: string[];
    SubAssemblyExplodePolicy: number;
    SubAssemblyExplodePolicyGreaterThanOrEqualTo: number;
    SubAssemblyExplodePolicyGreaterThan: number;
    SubAssemblyExplodePolicyLessThan: number;
    SubAssemblyExplodePolicyLessThanOrEqualTo: number;
    SubAssemblyExplodePolicyNotEqualTo: number;
    SubAssemblyExplodePolicyBetween: Uint8Array;
    SubAssemblyExplodePolicyIn: Uint8Array;
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_Inputs>(); }
    getTypeName() { return "BM_InputsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_InstructionCustomFieldsQuery extends QueryDb<BM_InstructionCustomFields> implements IReturn<QueryResponse<BM_InstructionCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_InstructionCustomFields>(); }
    getTypeName() { return "BM_InstructionCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_InstructionCustomValuesQuery extends QueryDb<BM_InstructionCustomValues> implements IReturn<QueryResponse<BM_InstructionCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Instructions_RecID: string;
    BM_Instructions_RecIDStartsWith: string;
    BM_Instructions_RecIDEndsWith: string;
    BM_Instructions_RecIDContains: string;
    BM_Instructions_RecIDLike: string;
    BM_Instructions_RecIDBetween: string[];
    BM_Instructions_RecIDIn: string[];
    BM_InstructionCustomFields_RecID: string;
    BM_InstructionCustomFields_RecIDStartsWith: string;
    BM_InstructionCustomFields_RecIDEndsWith: string;
    BM_InstructionCustomFields_RecIDContains: string;
    BM_InstructionCustomFields_RecIDLike: string;
    BM_InstructionCustomFields_RecIDBetween: string[];
    BM_InstructionCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_InstructionCustomValues>(); }
    getTypeName() { return "BM_InstructionCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_InstructionsQuery extends QueryDb<BM_Instructions> implements IReturn<QueryResponse<BM_Instructions>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Stages_RecID: string;
    BM_Stages_RecIDStartsWith: string;
    BM_Stages_RecIDEndsWith: string;
    BM_Stages_RecIDContains: string;
    BM_Stages_RecIDLike: string;
    BM_Stages_RecIDBetween: string[];
    BM_Stages_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    InstructionText: string;
    InstructionTextStartsWith: string;
    InstructionTextEndsWith: string;
    InstructionTextContains: string;
    InstructionTextLike: string;
    InstructionTextBetween: string[];
    InstructionTextIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_Instructions>(); }
    getTypeName() { return "BM_InstructionsQuery"; }
}

// @Route("/Queries/BM_Main", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_MainQuery extends QueryDb<BM_Main> implements IReturn<QueryResponse<BM_Main>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BillNo: string;
    BillNoStartsWith: string;
    BillNoEndsWith: string;
    BillNoContains: string;
    BillNoLike: string;
    BillNoBetween: string[];
    BillNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    BM_ProductionLine_RecID: string;
    BM_ProductionLine_RecIDStartsWith: string;
    BM_ProductionLine_RecIDEndsWith: string;
    BM_ProductionLine_RecIDContains: string;
    BM_ProductionLine_RecIDLike: string;
    BM_ProductionLine_RecIDBetween: string[];
    BM_ProductionLine_RecIDIn: string[];
    createResponse() { return new QueryResponse<BM_Main>(); }
    getTypeName() { return "BM_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_NotesQuery extends QueryDb<BM_Notes> implements IReturn<QueryResponse<BM_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Main_RecID: string;
    BM_Main_RecIDStartsWith: string;
    BM_Main_RecIDEndsWith: string;
    BM_Main_RecIDContains: string;
    BM_Main_RecIDLike: string;
    BM_Main_RecIDBetween: string[];
    BM_Main_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_Notes>(); }
    getTypeName() { return "BM_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_OutputCustomFieldsQuery extends QueryDb<BM_OutputCustomFields> implements IReturn<QueryResponse<BM_OutputCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_OutputCustomFields>(); }
    getTypeName() { return "BM_OutputCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_OutputCustomValuesQuery extends QueryDb<BM_OutputCustomValues> implements IReturn<QueryResponse<BM_OutputCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Outputs_RecID: string;
    BM_Outputs_RecIDStartsWith: string;
    BM_Outputs_RecIDEndsWith: string;
    BM_Outputs_RecIDContains: string;
    BM_Outputs_RecIDLike: string;
    BM_Outputs_RecIDBetween: string[];
    BM_Outputs_RecIDIn: string[];
    BM_OutputCustomFields_RecID: string;
    BM_OutputCustomFields_RecIDStartsWith: string;
    BM_OutputCustomFields_RecIDEndsWith: string;
    BM_OutputCustomFields_RecIDContains: string;
    BM_OutputCustomFields_RecIDLike: string;
    BM_OutputCustomFields_RecIDBetween: string[];
    BM_OutputCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_OutputCustomValues>(); }
    getTypeName() { return "BM_OutputCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_OutputsQuery extends QueryDb<BM_Outputs> implements IReturn<QueryResponse<BM_Outputs>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Main_RecID: string;
    BM_Main_RecIDStartsWith: string;
    BM_Main_RecIDEndsWith: string;
    BM_Main_RecIDContains: string;
    BM_Main_RecIDLike: string;
    BM_Main_RecIDBetween: string[];
    BM_Main_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    IsRatio: boolean;
    IsPrimary: boolean;
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    CostPercentage: number;
    CostPercentageGreaterThanOrEqualTo: number;
    CostPercentageGreaterThan: number;
    CostPercentageLessThan: number;
    CostPercentageLessThanOrEqualTo: number;
    CostPercentageNotEqualTo: number;
    CostPercentageBetween: number[];
    CostPercentageIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_Outputs>(); }
    getTypeName() { return "BM_OutputsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_ProductionAreaQuery extends QueryDb<BM_ProductionArea> implements IReturn<QueryResponse<BM_ProductionArea>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ProductionAreaNo: string;
    ProductionAreaNoStartsWith: string;
    ProductionAreaNoEndsWith: string;
    ProductionAreaNoContains: string;
    ProductionAreaNoLike: string;
    ProductionAreaNoBetween: string[];
    ProductionAreaNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_ProductionArea>(); }
    getTypeName() { return "BM_ProductionAreaQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_ProductionLineQuery extends QueryDb<BM_ProductionLine> implements IReturn<QueryResponse<BM_ProductionLine>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_ProductionArea_RecID: string;
    BM_ProductionArea_RecIDStartsWith: string;
    BM_ProductionArea_RecIDEndsWith: string;
    BM_ProductionArea_RecIDContains: string;
    BM_ProductionArea_RecIDLike: string;
    BM_ProductionArea_RecIDBetween: string[];
    BM_ProductionArea_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_ProductionLine>(); }
    getTypeName() { return "BM_ProductionLineQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_ProductionLineWorkCentreQuery extends QueryDb<BM_ProductionLineWorkCentre> implements IReturn<QueryResponse<BM_ProductionLineWorkCentre>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_ProductionLine_RecID: string;
    BM_ProductionLine_RecIDStartsWith: string;
    BM_ProductionLine_RecIDEndsWith: string;
    BM_ProductionLine_RecIDContains: string;
    BM_ProductionLine_RecIDLike: string;
    BM_ProductionLine_RecIDBetween: string[];
    BM_ProductionLine_RecIDIn: string[];
    BM_WorkCentre_RecID: string;
    BM_WorkCentre_RecIDStartsWith: string;
    BM_WorkCentre_RecIDEndsWith: string;
    BM_WorkCentre_RecIDContains: string;
    BM_WorkCentre_RecIDLike: string;
    BM_WorkCentre_RecIDBetween: string[];
    BM_WorkCentre_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_ProductionLineWorkCentre>(); }
    getTypeName() { return "BM_ProductionLineWorkCentreQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_ShiftQuery extends QueryDb<BM_Shift> implements IReturn<QueryResponse<BM_Shift>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    IsDefault: boolean;
    createResponse() { return new QueryResponse<BM_Shift>(); }
    getTypeName() { return "BM_ShiftQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_ShiftWeekdayQuery extends QueryDb<BM_ShiftWeekday> implements IReturn<QueryResponse<BM_ShiftWeekday>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    BM_Shift_RecID: string;
    BM_Shift_RecIDStartsWith: string;
    BM_Shift_RecIDEndsWith: string;
    BM_Shift_RecIDContains: string;
    BM_Shift_RecIDLike: string;
    BM_Shift_RecIDBetween: string[];
    BM_Shift_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    IsWorkDay: boolean;
    StartDateTime: string;
    StartDateTimeGreaterThanOrEqualTo: string;
    StartDateTimeGreaterThan: string;
    StartDateTimeLessThan: string;
    StartDateTimeLessThanOrEqualTo: string;
    StartDateTimeNotEqualTo: string;
    StartDateTimeBetween: string[];
    StartDateTimeIn: string[];
    EndDateTime: string;
    EndDateTimeGreaterThanOrEqualTo: string;
    EndDateTimeGreaterThan: string;
    EndDateTimeLessThan: string;
    EndDateTimeLessThanOrEqualTo: string;
    EndDateTimeNotEqualTo: string;
    EndDateTimeBetween: string[];
    EndDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_ShiftWeekday>(); }
    getTypeName() { return "BM_ShiftWeekdayQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_StageCustomFieldsQuery extends QueryDb<BM_StageCustomFields> implements IReturn<QueryResponse<BM_StageCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_StageCustomFields>(); }
    getTypeName() { return "BM_StageCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_StageCustomValuesQuery extends QueryDb<BM_StageCustomValues> implements IReturn<QueryResponse<BM_StageCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Stages_RecID: string;
    BM_Stages_RecIDStartsWith: string;
    BM_Stages_RecIDEndsWith: string;
    BM_Stages_RecIDContains: string;
    BM_Stages_RecIDLike: string;
    BM_Stages_RecIDBetween: string[];
    BM_Stages_RecIDIn: string[];
    BM_StageCustomFields_RecID: string;
    BM_StageCustomFields_RecIDStartsWith: string;
    BM_StageCustomFields_RecIDEndsWith: string;
    BM_StageCustomFields_RecIDContains: string;
    BM_StageCustomFields_RecIDLike: string;
    BM_StageCustomFields_RecIDBetween: string[];
    BM_StageCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_StageCustomValues>(); }
    getTypeName() { return "BM_StageCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_StagesQuery extends QueryDb<BM_Stages> implements IReturn<QueryResponse<BM_Stages>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_Main_RecID: string;
    BM_Main_RecIDStartsWith: string;
    BM_Main_RecIDEndsWith: string;
    BM_Main_RecIDContains: string;
    BM_Main_RecIDLike: string;
    BM_Main_RecIDBetween: string[];
    BM_Main_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    BM_ProductionLineWorkCentre_RecID: string;
    BM_ProductionLineWorkCentre_RecIDStartsWith: string;
    BM_ProductionLineWorkCentre_RecIDEndsWith: string;
    BM_ProductionLineWorkCentre_RecIDContains: string;
    BM_ProductionLineWorkCentre_RecIDLike: string;
    BM_ProductionLineWorkCentre_RecIDBetween: string[];
    BM_ProductionLineWorkCentre_RecIDIn: string[];
    RequiredCapacity: number;
    RequiredCapacityGreaterThanOrEqualTo: number;
    RequiredCapacityGreaterThan: number;
    RequiredCapacityLessThan: number;
    RequiredCapacityLessThanOrEqualTo: number;
    RequiredCapacityNotEqualTo: number;
    RequiredCapacityBetween: number[];
    RequiredCapacityIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_Stages>(); }
    getTypeName() { return "BM_StagesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WarehouseProductionAreaQuery extends QueryDb<BM_WarehouseProductionArea> implements IReturn<QueryResponse<BM_WarehouseProductionArea>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_ProductionArea_RecID: string;
    BM_ProductionArea_RecIDStartsWith: string;
    BM_ProductionArea_RecIDEndsWith: string;
    BM_ProductionArea_RecIDContains: string;
    BM_ProductionArea_RecIDLike: string;
    BM_ProductionArea_RecIDBetween: string[];
    BM_ProductionArea_RecIDIn: string[];
    IN_Logical_IN_LogicalID: string;
    IN_Logical_IN_LogicalIDStartsWith: string;
    IN_Logical_IN_LogicalIDEndsWith: string;
    IN_Logical_IN_LogicalIDContains: string;
    IN_Logical_IN_LogicalIDLike: string;
    IN_Logical_IN_LogicalIDBetween: string[];
    IN_Logical_IN_LogicalIDIn: string[];
    ProductionAreaNo: string;
    ProductionAreaNoStartsWith: string;
    ProductionAreaNoEndsWith: string;
    ProductionAreaNoContains: string;
    ProductionAreaNoLike: string;
    ProductionAreaNoBetween: string[];
    ProductionAreaNoIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WarehouseProductionArea>(); }
    getTypeName() { return "BM_WarehouseProductionAreaQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WarehouseProductionLineQuery extends QueryDb<BM_WarehouseProductionLine> implements IReturn<QueryResponse<BM_WarehouseProductionLine>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WarehouseProductionArea_RecID: string;
    BM_WarehouseProductionArea_RecIDStartsWith: string;
    BM_WarehouseProductionArea_RecIDEndsWith: string;
    BM_WarehouseProductionArea_RecIDContains: string;
    BM_WarehouseProductionArea_RecIDLike: string;
    BM_WarehouseProductionArea_RecIDBetween: string[];
    BM_WarehouseProductionArea_RecIDIn: string[];
    BM_ProductionLine_RecID: string;
    BM_ProductionLine_RecIDStartsWith: string;
    BM_ProductionLine_RecIDEndsWith: string;
    BM_ProductionLine_RecIDContains: string;
    BM_ProductionLine_RecIDLike: string;
    BM_ProductionLine_RecIDBetween: string[];
    BM_ProductionLine_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WarehouseProductionLine>(); }
    getTypeName() { return "BM_WarehouseProductionLineQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WarehouseProductionLineWorkCentreQuery extends QueryDb<BM_WarehouseProductionLineWorkCentre> implements IReturn<QueryResponse<BM_WarehouseProductionLineWorkCentre>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WarehouseProductionLine_RecID: string;
    BM_WarehouseProductionLine_RecIDStartsWith: string;
    BM_WarehouseProductionLine_RecIDEndsWith: string;
    BM_WarehouseProductionLine_RecIDContains: string;
    BM_WarehouseProductionLine_RecIDLike: string;
    BM_WarehouseProductionLine_RecIDBetween: string[];
    BM_WarehouseProductionLine_RecIDIn: string[];
    BM_WarehouseWorkCentre_RecID: string;
    BM_WarehouseWorkCentre_RecIDStartsWith: string;
    BM_WarehouseWorkCentre_RecIDEndsWith: string;
    BM_WarehouseWorkCentre_RecIDContains: string;
    BM_WarehouseWorkCentre_RecIDLike: string;
    BM_WarehouseWorkCentre_RecIDBetween: string[];
    BM_WarehouseWorkCentre_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WarehouseProductionLineWorkCentre>(); }
    getTypeName() { return "BM_WarehouseProductionLineWorkCentreQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WarehouseWorkCentreQuery extends QueryDb<BM_WarehouseWorkCentre> implements IReturn<QueryResponse<BM_WarehouseWorkCentre>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    IN_Logical_IN_LogicalID: string;
    IN_Logical_IN_LogicalIDStartsWith: string;
    IN_Logical_IN_LogicalIDEndsWith: string;
    IN_Logical_IN_LogicalIDContains: string;
    IN_Logical_IN_LogicalIDLike: string;
    IN_Logical_IN_LogicalIDBetween: string[];
    IN_Logical_IN_LogicalIDIn: string[];
    BM_WorkCentre_RecID: string;
    BM_WorkCentre_RecIDStartsWith: string;
    BM_WorkCentre_RecIDEndsWith: string;
    BM_WorkCentre_RecIDContains: string;
    BM_WorkCentre_RecIDLike: string;
    BM_WorkCentre_RecIDBetween: string[];
    BM_WorkCentre_RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    HR_skills_RecID: string;
    HR_skills_RecIDStartsWith: string;
    HR_skills_RecIDEndsWith: string;
    HR_skills_RecIDContains: string;
    HR_skills_RecIDLike: string;
    HR_skills_RecIDBetween: string[];
    HR_skills_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WarehouseWorkCentre>(); }
    getTypeName() { return "BM_WarehouseWorkCentreQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WarehouseWorkCentreShiftWeekdayCapacityQuery extends QueryDb<BM_WarehouseWorkCentreShiftWeekdayCapacity> implements IReturn<QueryResponse<BM_WarehouseWorkCentreShiftWeekdayCapacity>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WarehouseWorkCentre_RecID: string;
    BM_WarehouseWorkCentre_RecIDStartsWith: string;
    BM_WarehouseWorkCentre_RecIDEndsWith: string;
    BM_WarehouseWorkCentre_RecIDContains: string;
    BM_WarehouseWorkCentre_RecIDLike: string;
    BM_WarehouseWorkCentre_RecIDBetween: string[];
    BM_WarehouseWorkCentre_RecIDIn: string[];
    BM_Shift_RecID: string;
    BM_Shift_RecIDStartsWith: string;
    BM_Shift_RecIDEndsWith: string;
    BM_Shift_RecIDContains: string;
    BM_Shift_RecIDLike: string;
    BM_Shift_RecIDBetween: string[];
    BM_Shift_RecIDIn: string[];
    BM_ShiftWeekday_RecID: string;
    BM_ShiftWeekday_RecIDStartsWith: string;
    BM_ShiftWeekday_RecIDEndsWith: string;
    BM_ShiftWeekday_RecIDContains: string;
    BM_ShiftWeekday_RecIDLike: string;
    BM_ShiftWeekday_RecIDBetween: string[];
    BM_ShiftWeekday_RecIDIn: string[];
    Capacity: number;
    CapacityGreaterThanOrEqualTo: number;
    CapacityGreaterThan: number;
    CapacityLessThan: number;
    CapacityLessThanOrEqualTo: number;
    CapacityNotEqualTo: number;
    CapacityBetween: number[];
    CapacityIn: number[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WarehouseWorkCentreShiftWeekdayCapacity>(); }
    getTypeName() { return "BM_WarehouseWorkCentreShiftWeekdayCapacityQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkCentreQuery extends QueryDb<BM_WorkCentre> implements IReturn<QueryResponse<BM_WorkCentre>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    HR_skills_RecID: string;
    HR_skills_RecIDStartsWith: string;
    HR_skills_RecIDEndsWith: string;
    HR_skills_RecIDContains: string;
    HR_skills_RecIDLike: string;
    HR_skills_RecIDBetween: string[];
    HR_skills_RecIDIn: string[];
    createResponse() { return new QueryResponse<BM_WorkCentre>(); }
    getTypeName() { return "BM_WorkCentreQuery"; }
}

// @Route("/Queries/BM_WorkOrder", "GET")
// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderQuery extends QueryDb<BM_WorkOrder> implements IReturn<QueryResponse<BM_WorkOrder>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    WorkOrderNo: string;
    WorkOrderNoStartsWith: string;
    WorkOrderNoEndsWith: string;
    WorkOrderNoContains: string;
    WorkOrderNoLike: string;
    WorkOrderNoBetween: string[];
    WorkOrderNoIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    BM_Main_RecID: string;
    BM_Main_RecIDStartsWith: string;
    BM_Main_RecIDEndsWith: string;
    BM_Main_RecIDContains: string;
    BM_Main_RecIDLike: string;
    BM_Main_RecIDBetween: string[];
    BM_Main_RecIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    DateCreated: string;
    DateCreatedGreaterThanOrEqualTo: string;
    DateCreatedGreaterThan: string;
    DateCreatedLessThan: string;
    DateCreatedLessThanOrEqualTo: string;
    DateCreatedNotEqualTo: string;
    DateCreatedBetween: string[];
    DateCreatedIn: string[];
    DateRequired: string;
    DateRequiredGreaterThanOrEqualTo: string;
    DateRequiredGreaterThan: string;
    DateRequiredLessThan: string;
    DateRequiredLessThanOrEqualTo: string;
    DateRequiredNotEqualTo: string;
    DateRequiredBetween: string[];
    DateRequiredIn: string[];
    PlannedStartDate: string;
    PlannedStartDateGreaterThanOrEqualTo: string;
    PlannedStartDateGreaterThan: string;
    PlannedStartDateLessThan: string;
    PlannedStartDateLessThanOrEqualTo: string;
    PlannedStartDateNotEqualTo: string;
    PlannedStartDateBetween: string[];
    PlannedStartDateIn: string[];
    ActualStartDate: string;
    ActualStartDateGreaterThanOrEqualTo: string;
    ActualStartDateGreaterThan: string;
    ActualStartDateLessThan: string;
    ActualStartDateLessThanOrEqualTo: string;
    ActualStartDateNotEqualTo: string;
    ActualStartDateBetween: string[];
    ActualStartDateIn: string[];
    DateCompleted: string;
    DateCompletedGreaterThanOrEqualTo: string;
    DateCompletedGreaterThan: string;
    DateCompletedLessThan: string;
    DateCompletedLessThanOrEqualTo: string;
    DateCompletedNotEqualTo: string;
    DateCompletedBetween: string[];
    DateCompletedIn: string[];
    ProductionQuantity: number;
    ProductionQuantityGreaterThanOrEqualTo: number;
    ProductionQuantityGreaterThan: number;
    ProductionQuantityLessThan: number;
    ProductionQuantityLessThanOrEqualTo: number;
    ProductionQuantityNotEqualTo: number;
    ProductionQuantityBetween: number[];
    ProductionQuantityIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    BM_WarehouseProductionLine_RecID: string;
    BM_WarehouseProductionLine_RecIDStartsWith: string;
    BM_WarehouseProductionLine_RecIDEndsWith: string;
    BM_WarehouseProductionLine_RecIDContains: string;
    BM_WarehouseProductionLine_RecIDLike: string;
    BM_WarehouseProductionLine_RecIDBetween: string[];
    BM_WarehouseProductionLine_RecIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    Parent_BM_WorkOrder_RecID: string;
    Parent_BM_WorkOrder_RecIDStartsWith: string;
    Parent_BM_WorkOrder_RecIDEndsWith: string;
    Parent_BM_WorkOrder_RecIDContains: string;
    Parent_BM_WorkOrder_RecIDLike: string;
    Parent_BM_WorkOrder_RecIDBetween: string[];
    Parent_BM_WorkOrder_RecIDIn: string[];
    Parent_BM_WorkOrderInputs_RecID: string;
    Parent_BM_WorkOrderInputs_RecIDStartsWith: string;
    Parent_BM_WorkOrderInputs_RecIDEndsWith: string;
    Parent_BM_WorkOrderInputs_RecIDContains: string;
    Parent_BM_WorkOrderInputs_RecIDLike: string;
    Parent_BM_WorkOrderInputs_RecIDBetween: string[];
    Parent_BM_WorkOrderInputs_RecIDIn: string[];
    WorkOrderType: number;
    WorkOrderTypeGreaterThanOrEqualTo: number;
    WorkOrderTypeGreaterThan: number;
    WorkOrderTypeLessThan: number;
    WorkOrderTypeLessThanOrEqualTo: number;
    WorkOrderTypeNotEqualTo: number;
    WorkOrderTypeBetween: Uint8Array;
    WorkOrderTypeIn: Uint8Array;
    Reversal_BM_WorkOrder_RecID: string;
    Reversal_BM_WorkOrder_RecIDStartsWith: string;
    Reversal_BM_WorkOrder_RecIDEndsWith: string;
    Reversal_BM_WorkOrder_RecIDContains: string;
    Reversal_BM_WorkOrder_RecIDLike: string;
    Reversal_BM_WorkOrder_RecIDBetween: string[];
    Reversal_BM_WorkOrder_RecIDIn: string[];
    Migrated: boolean;
    SO_Lines_InvoiceLineID: string;
    SO_Lines_InvoiceLineIDStartsWith: string;
    SO_Lines_InvoiceLineIDEndsWith: string;
    SO_Lines_InvoiceLineIDContains: string;
    SO_Lines_InvoiceLineIDLike: string;
    SO_Lines_InvoiceLineIDBetween: string[];
    SO_Lines_InvoiceLineIDIn: string[];
    createResponse() { return new QueryResponse<BM_WorkOrder>(); }
    getTypeName() { return "BM_WorkOrderQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderCustomSettingQuery extends QueryDb<BM_WorkOrderCustomSetting> implements IReturn<QueryResponse<BM_WorkOrderCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<BM_WorkOrderCustomSetting>(); }
    getTypeName() { return "BM_WorkOrderCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderCustomSettingValuesQuery extends QueryDb<BM_WorkOrderCustomSettingValues> implements IReturn<QueryResponse<BM_WorkOrderCustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    BM_WorkOrder_RecID: string;
    BM_WorkOrder_RecIDStartsWith: string;
    BM_WorkOrder_RecIDEndsWith: string;
    BM_WorkOrder_RecIDContains: string;
    BM_WorkOrder_RecIDLike: string;
    BM_WorkOrder_RecIDBetween: string[];
    BM_WorkOrder_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_WorkOrderCustomSettingValues>(); }
    getTypeName() { return "BM_WorkOrderCustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderDocumentsQuery extends QueryDb<BM_WorkOrderDocuments> implements IReturn<QueryResponse<BM_WorkOrderDocuments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrder_RecID: string;
    BM_WorkOrder_RecIDStartsWith: string;
    BM_WorkOrder_RecIDEndsWith: string;
    BM_WorkOrder_RecIDContains: string;
    BM_WorkOrder_RecIDLike: string;
    BM_WorkOrder_RecIDBetween: string[];
    BM_WorkOrder_RecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderDocuments>(); }
    getTypeName() { return "BM_WorkOrderDocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderInputCustomFieldsQuery extends QueryDb<BM_WorkOrderInputCustomFields> implements IReturn<QueryResponse<BM_WorkOrderInputCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderInputCustomFields>(); }
    getTypeName() { return "BM_WorkOrderInputCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderInputCustomValuesQuery extends QueryDb<BM_WorkOrderInputCustomValues> implements IReturn<QueryResponse<BM_WorkOrderInputCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrderInputs_RecID: string;
    BM_WorkOrderInputs_RecIDStartsWith: string;
    BM_WorkOrderInputs_RecIDEndsWith: string;
    BM_WorkOrderInputs_RecIDContains: string;
    BM_WorkOrderInputs_RecIDLike: string;
    BM_WorkOrderInputs_RecIDBetween: string[];
    BM_WorkOrderInputs_RecIDIn: string[];
    BM_WorkOrderInputCustomFields_RecID: string;
    BM_WorkOrderInputCustomFields_RecIDStartsWith: string;
    BM_WorkOrderInputCustomFields_RecIDEndsWith: string;
    BM_WorkOrderInputCustomFields_RecIDContains: string;
    BM_WorkOrderInputCustomFields_RecIDLike: string;
    BM_WorkOrderInputCustomFields_RecIDBetween: string[];
    BM_WorkOrderInputCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_WorkOrderInputCustomValues>(); }
    getTypeName() { return "BM_WorkOrderInputCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderInputDetailsQuery extends QueryDb<BM_WorkOrderInputDetails> implements IReturn<QueryResponse<BM_WorkOrderInputDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderInputDetails>(); }
    getTypeName() { return "BM_WorkOrderInputDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderInputsQuery extends QueryDb<BM_WorkOrderInputs> implements IReturn<QueryResponse<BM_WorkOrderInputs>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrderStages_RecID: string;
    BM_WorkOrderStages_RecIDStartsWith: string;
    BM_WorkOrderStages_RecIDEndsWith: string;
    BM_WorkOrderStages_RecIDContains: string;
    BM_WorkOrderStages_RecIDLike: string;
    BM_WorkOrderStages_RecIDBetween: string[];
    BM_WorkOrderStages_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    IsRatio: boolean;
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    QuantityOnBackOrder: number;
    QuantityOnBackOrderGreaterThanOrEqualTo: number;
    QuantityOnBackOrderGreaterThan: number;
    QuantityOnBackOrderLessThan: number;
    QuantityOnBackOrderLessThanOrEqualTo: number;
    QuantityOnBackOrderNotEqualTo: number;
    QuantityOnBackOrderBetween: number[];
    QuantityOnBackOrderIn: number[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    SubAssembly: string;
    SubAssemblyStartsWith: string;
    SubAssemblyEndsWith: string;
    SubAssemblyContains: string;
    SubAssemblyLike: string;
    SubAssemblyBetween: string[];
    SubAssemblyIn: string[];
    SubAssemblyExplodePolicy: number;
    SubAssemblyExplodePolicyGreaterThanOrEqualTo: number;
    SubAssemblyExplodePolicyGreaterThan: number;
    SubAssemblyExplodePolicyLessThan: number;
    SubAssemblyExplodePolicyLessThanOrEqualTo: number;
    SubAssemblyExplodePolicyNotEqualTo: number;
    SubAssemblyExplodePolicyBetween: Uint8Array;
    SubAssemblyExplodePolicyIn: Uint8Array;
    createResponse() { return new QueryResponse<BM_WorkOrderInputs>(); }
    getTypeName() { return "BM_WorkOrderInputsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderInputWastageDetailsQuery extends QueryDb<BM_WorkOrderInputWastageDetails> implements IReturn<QueryResponse<BM_WorkOrderInputWastageDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderInputWastageDetails>(); }
    getTypeName() { return "BM_WorkOrderInputWastageDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderInstructionCustomFieldsQuery extends QueryDb<BM_WorkOrderInstructionCustomFields> implements IReturn<QueryResponse<BM_WorkOrderInstructionCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderInstructionCustomFields>(); }
    getTypeName() { return "BM_WorkOrderInstructionCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderInstructionCustomValuesQuery extends QueryDb<BM_WorkOrderInstructionCustomValues> implements IReturn<QueryResponse<BM_WorkOrderInstructionCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrderInstructions_RecID: string;
    BM_WorkOrderInstructions_RecIDStartsWith: string;
    BM_WorkOrderInstructions_RecIDEndsWith: string;
    BM_WorkOrderInstructions_RecIDContains: string;
    BM_WorkOrderInstructions_RecIDLike: string;
    BM_WorkOrderInstructions_RecIDBetween: string[];
    BM_WorkOrderInstructions_RecIDIn: string[];
    BM_WorkOrderInstructionCustomFields_RecID: string;
    BM_WorkOrderInstructionCustomFields_RecIDStartsWith: string;
    BM_WorkOrderInstructionCustomFields_RecIDEndsWith: string;
    BM_WorkOrderInstructionCustomFields_RecIDContains: string;
    BM_WorkOrderInstructionCustomFields_RecIDLike: string;
    BM_WorkOrderInstructionCustomFields_RecIDBetween: string[];
    BM_WorkOrderInstructionCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_WorkOrderInstructionCustomValues>(); }
    getTypeName() { return "BM_WorkOrderInstructionCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderInstructionsQuery extends QueryDb<BM_WorkOrderInstructions> implements IReturn<QueryResponse<BM_WorkOrderInstructions>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrderStages_RecID: string;
    BM_WorkOrderStages_RecIDStartsWith: string;
    BM_WorkOrderStages_RecIDEndsWith: string;
    BM_WorkOrderStages_RecIDContains: string;
    BM_WorkOrderStages_RecIDLike: string;
    BM_WorkOrderStages_RecIDBetween: string[];
    BM_WorkOrderStages_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    InstructionText: string;
    InstructionTextStartsWith: string;
    InstructionTextEndsWith: string;
    InstructionTextContains: string;
    InstructionTextLike: string;
    InstructionTextBetween: string[];
    InstructionTextIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WorkOrderInstructions>(); }
    getTypeName() { return "BM_WorkOrderInstructionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderLineDetailsAllocationQuery extends QueryDb<BM_WorkOrderLineDetailsAllocation> implements IReturn<QueryResponse<BM_WorkOrderLineDetailsAllocation>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrder_RecID: string;
    BM_WorkOrder_RecIDStartsWith: string;
    BM_WorkOrder_RecIDEndsWith: string;
    BM_WorkOrder_RecIDContains: string;
    BM_WorkOrder_RecIDLike: string;
    BM_WorkOrder_RecIDBetween: string[];
    BM_WorkOrder_RecIDIn: string[];
    BM_WorkOrderInputDetails_RecID: string;
    BM_WorkOrderInputDetails_RecIDStartsWith: string;
    BM_WorkOrderInputDetails_RecIDEndsWith: string;
    BM_WorkOrderInputDetails_RecIDContains: string;
    BM_WorkOrderInputDetails_RecIDLike: string;
    BM_WorkOrderInputDetails_RecIDBetween: string[];
    BM_WorkOrderInputDetails_RecIDIn: string[];
    BM_WorkOrderOutputDetails_RecID: string;
    BM_WorkOrderOutputDetails_RecIDStartsWith: string;
    BM_WorkOrderOutputDetails_RecIDEndsWith: string;
    BM_WorkOrderOutputDetails_RecIDContains: string;
    BM_WorkOrderOutputDetails_RecIDLike: string;
    BM_WorkOrderOutputDetails_RecIDBetween: string[];
    BM_WorkOrderOutputDetails_RecIDIn: string[];
    InputQuantity: number;
    InputQuantityGreaterThanOrEqualTo: number;
    InputQuantityGreaterThan: number;
    InputQuantityLessThan: number;
    InputQuantityLessThanOrEqualTo: number;
    InputQuantityNotEqualTo: number;
    InputQuantityBetween: number[];
    InputQuantityIn: number[];
    OutputQuantity: number;
    OutputQuantityGreaterThanOrEqualTo: number;
    OutputQuantityGreaterThan: number;
    OutputQuantityLessThan: number;
    OutputQuantityLessThanOrEqualTo: number;
    OutputQuantityNotEqualTo: number;
    OutputQuantityBetween: number[];
    OutputQuantityIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WorkOrderLineDetailsAllocation>(); }
    getTypeName() { return "BM_WorkOrderLineDetailsAllocationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderNotesQuery extends QueryDb<BM_WorkOrderNotes> implements IReturn<QueryResponse<BM_WorkOrderNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrder_RecID: string;
    BM_WorkOrder_RecIDStartsWith: string;
    BM_WorkOrder_RecIDEndsWith: string;
    BM_WorkOrder_RecIDContains: string;
    BM_WorkOrder_RecIDLike: string;
    BM_WorkOrder_RecIDBetween: string[];
    BM_WorkOrder_RecIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderNotes>(); }
    getTypeName() { return "BM_WorkOrderNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderOutputCustomFieldsQuery extends QueryDb<BM_WorkOrderOutputCustomFields> implements IReturn<QueryResponse<BM_WorkOrderOutputCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderOutputCustomFields>(); }
    getTypeName() { return "BM_WorkOrderOutputCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderOutputCustomValuesQuery extends QueryDb<BM_WorkOrderOutputCustomValues> implements IReturn<QueryResponse<BM_WorkOrderOutputCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrderOutputs_RecID: string;
    BM_WorkOrderOutputs_RecIDStartsWith: string;
    BM_WorkOrderOutputs_RecIDEndsWith: string;
    BM_WorkOrderOutputs_RecIDContains: string;
    BM_WorkOrderOutputs_RecIDLike: string;
    BM_WorkOrderOutputs_RecIDBetween: string[];
    BM_WorkOrderOutputs_RecIDIn: string[];
    BM_WorkOrderOutputCustomFields_RecID: string;
    BM_WorkOrderOutputCustomFields_RecIDStartsWith: string;
    BM_WorkOrderOutputCustomFields_RecIDEndsWith: string;
    BM_WorkOrderOutputCustomFields_RecIDContains: string;
    BM_WorkOrderOutputCustomFields_RecIDLike: string;
    BM_WorkOrderOutputCustomFields_RecIDBetween: string[];
    BM_WorkOrderOutputCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_WorkOrderOutputCustomValues>(); }
    getTypeName() { return "BM_WorkOrderOutputCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderOutputDetailsQuery extends QueryDb<BM_WorkOrderOutputDetails> implements IReturn<QueryResponse<BM_WorkOrderOutputDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderOutputDetails>(); }
    getTypeName() { return "BM_WorkOrderOutputDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderOutputsQuery extends QueryDb<BM_WorkOrderOutputs> implements IReturn<QueryResponse<BM_WorkOrderOutputs>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrder_RecID: string;
    BM_WorkOrder_RecIDStartsWith: string;
    BM_WorkOrder_RecIDEndsWith: string;
    BM_WorkOrder_RecIDContains: string;
    BM_WorkOrder_RecIDLike: string;
    BM_WorkOrder_RecIDBetween: string[];
    BM_WorkOrder_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    IsRatio: boolean;
    IsPrimary: boolean;
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    QuantityOutput: number;
    QuantityOutputGreaterThanOrEqualTo: number;
    QuantityOutputGreaterThan: number;
    QuantityOutputLessThan: number;
    QuantityOutputLessThanOrEqualTo: number;
    QuantityOutputNotEqualTo: number;
    QuantityOutputBetween: number[];
    QuantityOutputIn: number[];
    QuantityWrittenoff: number;
    QuantityWrittenoffGreaterThanOrEqualTo: number;
    QuantityWrittenoffGreaterThan: number;
    QuantityWrittenoffLessThan: number;
    QuantityWrittenoffLessThanOrEqualTo: number;
    QuantityWrittenoffNotEqualTo: number;
    QuantityWrittenoffBetween: number[];
    QuantityWrittenoffIn: number[];
    Note: string;
    NoteStartsWith: string;
    NoteEndsWith: string;
    NoteContains: string;
    NoteLike: string;
    NoteBetween: string[];
    NoteIn: string[];
    CostPercentage: number;
    CostPercentageGreaterThanOrEqualTo: number;
    CostPercentageGreaterThan: number;
    CostPercentageLessThan: number;
    CostPercentageLessThanOrEqualTo: number;
    CostPercentageNotEqualTo: number;
    CostPercentageBetween: number[];
    CostPercentageIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WorkOrderOutputs>(); }
    getTypeName() { return "BM_WorkOrderOutputsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderOutputWastageDetailsQuery extends QueryDb<BM_WorkOrderOutputWastageDetails> implements IReturn<QueryResponse<BM_WorkOrderOutputWastageDetails>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    Parent_RecID: string;
    Parent_RecIDStartsWith: string;
    Parent_RecIDEndsWith: string;
    Parent_RecIDContains: string;
    Parent_RecIDLike: string;
    Parent_RecIDBetween: string[];
    Parent_RecIDIn: string[];
    IN_SOH_LinkID: string;
    IN_SOH_LinkIDStartsWith: string;
    IN_SOH_LinkIDEndsWith: string;
    IN_SOH_LinkIDContains: string;
    IN_SOH_LinkIDLike: string;
    IN_SOH_LinkIDBetween: string[];
    IN_SOH_LinkIDIn: string[];
    Cost: number;
    CostGreaterThanOrEqualTo: number;
    CostGreaterThan: number;
    CostLessThan: number;
    CostLessThanOrEqualTo: number;
    CostNotEqualTo: number;
    CostBetween: number[];
    CostIn: number[];
    SpecialPrice: number;
    SpecialPriceGreaterThanOrEqualTo: number;
    SpecialPriceGreaterThan: number;
    SpecialPriceLessThan: number;
    SpecialPriceLessThanOrEqualTo: number;
    SpecialPriceNotEqualTo: number;
    SpecialPriceBetween: number[];
    SpecialPriceIn: number[];
    Quantity: number;
    QuantityGreaterThanOrEqualTo: number;
    QuantityGreaterThan: number;
    QuantityLessThan: number;
    QuantityLessThanOrEqualTo: number;
    QuantityNotEqualTo: number;
    QuantityBetween: number[];
    QuantityIn: number[];
    SerialNo: string;
    SerialNoStartsWith: string;
    SerialNoEndsWith: string;
    SerialNoContains: string;
    SerialNoLike: string;
    SerialNoBetween: string[];
    SerialNoIn: string[];
    ExpiryDate: string;
    ExpiryDateGreaterThanOrEqualTo: string;
    ExpiryDateGreaterThan: string;
    ExpiryDateLessThan: string;
    ExpiryDateLessThanOrEqualTo: string;
    ExpiryDateNotEqualTo: string;
    ExpiryDateBetween: string[];
    ExpiryDateIn: string[];
    BinLocation: string;
    BinLocationStartsWith: string;
    BinLocationEndsWith: string;
    BinLocationContains: string;
    BinLocationLike: string;
    BinLocationBetween: string[];
    BinLocationIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderOutputWastageDetails>(); }
    getTypeName() { return "BM_WorkOrderOutputWastageDetailsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderStageCustomFieldsQuery extends QueryDb<BM_WorkOrderStageCustomFields> implements IReturn<QueryResponse<BM_WorkOrderStageCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<BM_WorkOrderStageCustomFields>(); }
    getTypeName() { return "BM_WorkOrderStageCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderStageCustomValuesQuery extends QueryDb<BM_WorkOrderStageCustomValues> implements IReturn<QueryResponse<BM_WorkOrderStageCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrderStages_RecID: string;
    BM_WorkOrderStages_RecIDStartsWith: string;
    BM_WorkOrderStages_RecIDEndsWith: string;
    BM_WorkOrderStages_RecIDContains: string;
    BM_WorkOrderStages_RecIDLike: string;
    BM_WorkOrderStages_RecIDBetween: string[];
    BM_WorkOrderStages_RecIDIn: string[];
    BM_WorkOrderStageCustomFields_RecID: string;
    BM_WorkOrderStageCustomFields_RecIDStartsWith: string;
    BM_WorkOrderStageCustomFields_RecIDEndsWith: string;
    BM_WorkOrderStageCustomFields_RecIDContains: string;
    BM_WorkOrderStageCustomFields_RecIDLike: string;
    BM_WorkOrderStageCustomFields_RecIDBetween: string[];
    BM_WorkOrderStageCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BM_WorkOrderStageCustomValues>(); }
    getTypeName() { return "BM_WorkOrderStageCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderStagesQuery extends QueryDb<BM_WorkOrderStages> implements IReturn<QueryResponse<BM_WorkOrderStages>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrder_RecID: string;
    BM_WorkOrder_RecIDStartsWith: string;
    BM_WorkOrder_RecIDEndsWith: string;
    BM_WorkOrder_RecIDContains: string;
    BM_WorkOrder_RecIDLike: string;
    BM_WorkOrder_RecIDBetween: string[];
    BM_WorkOrder_RecIDIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    BM_WarehouseProductionLineWorkCentre_RecID: string;
    BM_WarehouseProductionLineWorkCentre_RecIDStartsWith: string;
    BM_WarehouseProductionLineWorkCentre_RecIDEndsWith: string;
    BM_WarehouseProductionLineWorkCentre_RecIDContains: string;
    BM_WarehouseProductionLineWorkCentre_RecIDLike: string;
    BM_WarehouseProductionLineWorkCentre_RecIDBetween: string[];
    BM_WarehouseProductionLineWorkCentre_RecIDIn: string[];
    RequiredCapacity: number;
    RequiredCapacityGreaterThanOrEqualTo: number;
    RequiredCapacityGreaterThan: number;
    RequiredCapacityLessThan: number;
    RequiredCapacityLessThanOrEqualTo: number;
    RequiredCapacityNotEqualTo: number;
    RequiredCapacityBetween: number[];
    RequiredCapacityIn: number[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    RowHash: Uint8Array;
    StartDate: string;
    StartDateGreaterThanOrEqualTo: string;
    StartDateGreaterThan: string;
    StartDateLessThan: string;
    StartDateLessThanOrEqualTo: string;
    StartDateNotEqualTo: string;
    StartDateBetween: string[];
    StartDateIn: string[];
    createResponse() { return new QueryResponse<BM_WorkOrderStages>(); }
    getTypeName() { return "BM_WorkOrderStagesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BM_WorkOrderWastageLineDetailsAllocationQuery extends QueryDb<BM_WorkOrderWastageLineDetailsAllocation> implements IReturn<QueryResponse<BM_WorkOrderWastageLineDetailsAllocation>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BM_WorkOrder_RecID: string;
    BM_WorkOrder_RecIDStartsWith: string;
    BM_WorkOrder_RecIDEndsWith: string;
    BM_WorkOrder_RecIDContains: string;
    BM_WorkOrder_RecIDLike: string;
    BM_WorkOrder_RecIDBetween: string[];
    BM_WorkOrder_RecIDIn: string[];
    BM_WorkOrderInputDetails_RecID: string;
    BM_WorkOrderInputDetails_RecIDStartsWith: string;
    BM_WorkOrderInputDetails_RecIDEndsWith: string;
    BM_WorkOrderInputDetails_RecIDContains: string;
    BM_WorkOrderInputDetails_RecIDLike: string;
    BM_WorkOrderInputDetails_RecIDBetween: string[];
    BM_WorkOrderInputDetails_RecIDIn: string[];
    BM_WorkOrderOutputWastageDetails_RecID: string;
    BM_WorkOrderOutputWastageDetails_RecIDStartsWith: string;
    BM_WorkOrderOutputWastageDetails_RecIDEndsWith: string;
    BM_WorkOrderOutputWastageDetails_RecIDContains: string;
    BM_WorkOrderOutputWastageDetails_RecIDLike: string;
    BM_WorkOrderOutputWastageDetails_RecIDBetween: string[];
    BM_WorkOrderOutputWastageDetails_RecIDIn: string[];
    InputQuantity: number;
    InputQuantityGreaterThanOrEqualTo: number;
    InputQuantityGreaterThan: number;
    InputQuantityLessThan: number;
    InputQuantityLessThanOrEqualTo: number;
    InputQuantityNotEqualTo: number;
    InputQuantityBetween: number[];
    InputQuantityIn: number[];
    OutputQuantity: number;
    OutputQuantityGreaterThanOrEqualTo: number;
    OutputQuantityGreaterThan: number;
    OutputQuantityLessThan: number;
    OutputQuantityLessThanOrEqualTo: number;
    OutputQuantityNotEqualTo: number;
    OutputQuantityBetween: number[];
    OutputQuantityIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<BM_WorkOrderWastageLineDetailsAllocation>(); }
    getTypeName() { return "BM_WorkOrderWastageLineDetailsAllocationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BO_ManualReleaseBatchQuery extends QueryDb<BO_ManualReleaseBatch> implements IReturn<QueryResponse<BO_ManualReleaseBatch>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    ActivatedDateTime: string;
    ActivatedDateTimeGreaterThanOrEqualTo: string;
    ActivatedDateTimeGreaterThan: string;
    ActivatedDateTimeLessThan: string;
    ActivatedDateTimeLessThanOrEqualTo: string;
    ActivatedDateTimeNotEqualTo: string;
    ActivatedDateTimeBetween: string[];
    ActivatedDateTimeIn: string[];
    ActivatedByStaffID: string;
    ActivatedByStaffIDStartsWith: string;
    ActivatedByStaffIDEndsWith: string;
    ActivatedByStaffIDContains: string;
    ActivatedByStaffIDLike: string;
    ActivatedByStaffIDBetween: string[];
    ActivatedByStaffIDIn: string[];
    IN_LogicalID: string;
    IN_LogicalIDStartsWith: string;
    IN_LogicalIDEndsWith: string;
    IN_LogicalIDContains: string;
    IN_LogicalIDLike: string;
    IN_LogicalIDBetween: string[];
    IN_LogicalIDIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    Notes: string;
    NotesStartsWith: string;
    NotesEndsWith: string;
    NotesContains: string;
    NotesLike: string;
    NotesBetween: string[];
    NotesIn: string[];
    BORunNo: string;
    BORunNoStartsWith: string;
    BORunNoEndsWith: string;
    BORunNoContains: string;
    BORunNoLike: string;
    BORunNoBetween: string[];
    BORunNoIn: string[];
    createResponse() { return new QueryResponse<BO_ManualReleaseBatch>(); }
    getTypeName() { return "BO_ManualReleaseBatchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BO_ManualReleaseBatchLinesQuery extends QueryDb<BO_ManualReleaseBatchLines> implements IReturn<QueryResponse<BO_ManualReleaseBatchLines>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchID: string;
    BatchIDStartsWith: string;
    BatchIDEndsWith: string;
    BatchIDContains: string;
    BatchIDLike: string;
    BatchIDBetween: string[];
    BatchIDIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    IN_OnBackOrder_OrdersOnBackID: string;
    IN_OnBackOrder_OrdersOnBackIDStartsWith: string;
    IN_OnBackOrder_OrdersOnBackIDEndsWith: string;
    IN_OnBackOrder_OrdersOnBackIDContains: string;
    IN_OnBackOrder_OrdersOnBackIDLike: string;
    IN_OnBackOrder_OrdersOnBackIDBetween: string[];
    IN_OnBackOrder_OrdersOnBackIDIn: string[];
    InventoryID: string;
    InventoryIDStartsWith: string;
    InventoryIDEndsWith: string;
    InventoryIDContains: string;
    InventoryIDLike: string;
    InventoryIDBetween: string[];
    InventoryIDIn: string[];
    PartNo: string;
    PartNoStartsWith: string;
    PartNoEndsWith: string;
    PartNoContains: string;
    PartNoLike: string;
    PartNoBetween: string[];
    PartNoIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    QuantityDecimalPlaces: number;
    QuantityDecimalPlacesGreaterThanOrEqualTo: number;
    QuantityDecimalPlacesGreaterThan: number;
    QuantityDecimalPlacesLessThan: number;
    QuantityDecimalPlacesLessThanOrEqualTo: number;
    QuantityDecimalPlacesNotEqualTo: number;
    QuantityDecimalPlacesBetween: number[];
    QuantityDecimalPlacesIn: number[];
    BackOrderQuantity: number;
    BackOrderQuantityGreaterThanOrEqualTo: number;
    BackOrderQuantityGreaterThan: number;
    BackOrderQuantityLessThan: number;
    BackOrderQuantityLessThanOrEqualTo: number;
    BackOrderQuantityNotEqualTo: number;
    BackOrderQuantityBetween: number[];
    BackOrderQuantityIn: number[];
    BackOrderValue: number;
    BackOrderValueGreaterThanOrEqualTo: number;
    BackOrderValueGreaterThan: number;
    BackOrderValueLessThan: number;
    BackOrderValueLessThanOrEqualTo: number;
    BackOrderValueNotEqualTo: number;
    BackOrderValueBetween: number[];
    BackOrderValueIn: number[];
    QuantityAvailable: number;
    QuantityAvailableGreaterThanOrEqualTo: number;
    QuantityAvailableGreaterThan: number;
    QuantityAvailableLessThan: number;
    QuantityAvailableLessThanOrEqualTo: number;
    QuantityAvailableNotEqualTo: number;
    QuantityAvailableBetween: number[];
    QuantityAvailableIn: number[];
    InvoiceInitDate: string;
    InvoiceInitDateGreaterThanOrEqualTo: string;
    InvoiceInitDateGreaterThan: string;
    InvoiceInitDateLessThan: string;
    InvoiceInitDateLessThanOrEqualTo: string;
    InvoiceInitDateNotEqualTo: string;
    InvoiceInitDateBetween: string[];
    InvoiceInitDateIn: string[];
    ExpectedDeliveryDate: string;
    ExpectedDeliveryDateGreaterThanOrEqualTo: string;
    ExpectedDeliveryDateGreaterThan: string;
    ExpectedDeliveryDateLessThan: string;
    ExpectedDeliveryDateLessThanOrEqualTo: string;
    ExpectedDeliveryDateNotEqualTo: string;
    ExpectedDeliveryDateBetween: string[];
    ExpectedDeliveryDateIn: string[];
    BackOrderPriority: string;
    BackOrderPriorityStartsWith: string;
    BackOrderPriorityEndsWith: string;
    BackOrderPriorityContains: string;
    BackOrderPriorityLike: string;
    BackOrderPriorityBetween: string[];
    BackOrderPriorityIn: string[];
    BackOrderPriorityWeight: number;
    BackOrderPriorityWeightGreaterThanOrEqualTo: number;
    BackOrderPriorityWeightGreaterThan: number;
    BackOrderPriorityWeightLessThan: number;
    BackOrderPriorityWeightLessThanOrEqualTo: number;
    BackOrderPriorityWeightNotEqualTo: number;
    BackOrderPriorityWeightBetween: number[];
    BackOrderPriorityWeightIn: number[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DebtorAccountNo: string;
    DebtorAccountNoStartsWith: string;
    DebtorAccountNoEndsWith: string;
    DebtorAccountNoContains: string;
    DebtorAccountNoLike: string;
    DebtorAccountNoBetween: string[];
    DebtorAccountNoIn: string[];
    DebtorName: string;
    DebtorNameStartsWith: string;
    DebtorNameEndsWith: string;
    DebtorNameContains: string;
    DebtorNameLike: string;
    DebtorNameBetween: string[];
    DebtorNameIn: string[];
    InvoiceID: string;
    InvoiceIDStartsWith: string;
    InvoiceIDEndsWith: string;
    InvoiceIDContains: string;
    InvoiceIDLike: string;
    InvoiceIDBetween: string[];
    InvoiceIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    InvoiceHistoryID: string;
    InvoiceHistoryIDStartsWith: string;
    InvoiceHistoryIDEndsWith: string;
    InvoiceHistoryIDContains: string;
    InvoiceHistoryIDLike: string;
    InvoiceHistoryIDBetween: string[];
    InvoiceHistoryIDIn: string[];
    HistoryNo: number;
    HistoryNoGreaterThanOrEqualTo: number;
    HistoryNoGreaterThan: number;
    HistoryNoLessThan: number;
    HistoryNoLessThanOrEqualTo: number;
    HistoryNoNotEqualTo: number;
    HistoryNoBetween: number[];
    HistoryNoIn: number[];
    InvoiceLineID: string;
    InvoiceLineIDStartsWith: string;
    InvoiceLineIDEndsWith: string;
    InvoiceLineIDContains: string;
    InvoiceLineIDLike: string;
    InvoiceLineIDBetween: string[];
    InvoiceLineIDIn: string[];
    FulfillBackOrderFlag: boolean;
    KitType: number;
    KitTypeGreaterThanOrEqualTo: number;
    KitTypeGreaterThan: number;
    KitTypeLessThan: number;
    KitTypeLessThanOrEqualTo: number;
    KitTypeNotEqualTo: number;
    KitTypeBetween: number[];
    KitTypeIn: number[];
    BillType: number;
    BillTypeGreaterThanOrEqualTo: number;
    BillTypeGreaterThan: number;
    BillTypeLessThan: number;
    BillTypeLessThanOrEqualTo: number;
    BillTypeNotEqualTo: number;
    BillTypeBetween: number[];
    BillTypeIn: number[];
    WholesaleInvoice: number;
    WholesaleInvoiceGreaterThanOrEqualTo: number;
    WholesaleInvoiceGreaterThan: number;
    WholesaleInvoiceLessThan: number;
    WholesaleInvoiceLessThanOrEqualTo: number;
    WholesaleInvoiceNotEqualTo: number;
    WholesaleInvoiceBetween: number[];
    WholesaleInvoiceIn: number[];
    OrderType: number;
    OrderTypeGreaterThanOrEqualTo: number;
    OrderTypeGreaterThan: number;
    OrderTypeLessThan: number;
    OrderTypeLessThanOrEqualTo: number;
    OrderTypeNotEqualTo: number;
    OrderTypeBetween: number[];
    OrderTypeIn: number[];
    ErrorMessage: string;
    ErrorMessageStartsWith: string;
    ErrorMessageEndsWith: string;
    ErrorMessageContains: string;
    ErrorMessageLike: string;
    ErrorMessageBetween: string[];
    ErrorMessageIn: string[];
    QuantityLeft: number;
    QuantityLeftGreaterThanOrEqualTo: number;
    QuantityLeftGreaterThan: number;
    QuantityLeftLessThan: number;
    QuantityLeftLessThanOrEqualTo: number;
    QuantityLeftNotEqualTo: number;
    QuantityLeftBetween: number[];
    QuantityLeftIn: number[];
    createResponse() { return new QueryResponse<BO_ManualReleaseBatchLines>(); }
    getTypeName() { return "BO_ManualReleaseBatchLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BO_ManualReleaseBatchReportsQuery extends QueryDb<BO_ManualReleaseBatchReports> implements IReturn<QueryResponse<BO_ManualReleaseBatchReports>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BatchID: string;
    BatchIDStartsWith: string;
    BatchIDEndsWith: string;
    BatchIDContains: string;
    BatchIDLike: string;
    BatchIDBetween: string[];
    BatchIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    BillType: number;
    BillTypeGreaterThanOrEqualTo: number;
    BillTypeGreaterThan: number;
    BillTypeLessThan: number;
    BillTypeLessThanOrEqualTo: number;
    BillTypeNotEqualTo: number;
    BillTypeBetween: number[];
    BillTypeIn: number[];
    TradingCategory: number;
    TradingCategoryGreaterThanOrEqualTo: number;
    TradingCategoryGreaterThan: number;
    TradingCategoryLessThan: number;
    TradingCategoryLessThanOrEqualTo: number;
    TradingCategoryNotEqualTo: number;
    TradingCategoryBetween: number[];
    TradingCategoryIn: number[];
    BackOrderStatus: number;
    BackOrderStatusGreaterThanOrEqualTo: number;
    BackOrderStatusGreaterThan: number;
    BackOrderStatusLessThan: number;
    BackOrderStatusLessThanOrEqualTo: number;
    BackOrderStatusNotEqualTo: number;
    BackOrderStatusBetween: number[];
    BackOrderStatusIn: number[];
    ReportType: number;
    ReportTypeGreaterThanOrEqualTo: number;
    ReportTypeGreaterThan: number;
    ReportTypeLessThan: number;
    ReportTypeLessThanOrEqualTo: number;
    ReportTypeNotEqualTo: number;
    ReportTypeBetween: number[];
    ReportTypeIn: number[];
    ReportDescription: string;
    ReportDescriptionStartsWith: string;
    ReportDescriptionEndsWith: string;
    ReportDescriptionContains: string;
    ReportDescriptionLike: string;
    ReportDescriptionBetween: string[];
    ReportDescriptionIn: string[];
    NumberOfCopies: number;
    NumberOfCopiesGreaterThanOrEqualTo: number;
    NumberOfCopiesGreaterThan: number;
    NumberOfCopiesLessThan: number;
    NumberOfCopiesLessThanOrEqualTo: number;
    NumberOfCopiesNotEqualTo: number;
    NumberOfCopiesBetween: number[];
    NumberOfCopiesIn: number[];
    PrintFlag: boolean;
    SY_Report_RecID: string;
    SY_Report_RecIDStartsWith: string;
    SY_Report_RecIDEndsWith: string;
    SY_Report_RecIDContains: string;
    SY_Report_RecIDLike: string;
    SY_Report_RecIDBetween: string[];
    SY_Report_RecIDIn: string[];
    SY_PrintGroupLogicalPrinter_RecID: string;
    SY_PrintGroupLogicalPrinter_RecIDStartsWith: string;
    SY_PrintGroupLogicalPrinter_RecIDEndsWith: string;
    SY_PrintGroupLogicalPrinter_RecIDContains: string;
    SY_PrintGroupLogicalPrinter_RecIDLike: string;
    SY_PrintGroupLogicalPrinter_RecIDBetween: string[];
    SY_PrintGroupLogicalPrinter_RecIDIn: string[];
    createResponse() { return new QueryResponse<BO_ManualReleaseBatchReports>(); }
    getTypeName() { return "BO_ManualReleaseBatchReportsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BO_PrioritiesQuery extends QueryDb<BO_Priorities> implements IReturn<QueryResponse<BO_Priorities>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    PriorityDescription: string;
    PriorityDescriptionStartsWith: string;
    PriorityDescriptionEndsWith: string;
    PriorityDescriptionContains: string;
    PriorityDescriptionLike: string;
    PriorityDescriptionBetween: string[];
    PriorityDescriptionIn: string[];
    PriorityWeight: number;
    PriorityWeightGreaterThanOrEqualTo: number;
    PriorityWeightGreaterThan: number;
    PriorityWeightLessThan: number;
    PriorityWeightLessThanOrEqualTo: number;
    PriorityWeightNotEqualTo: number;
    PriorityWeightBetween: number[];
    PriorityWeightIn: number[];
    DefaultPriority: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BO_Priorities>(); }
    getTypeName() { return "BO_PrioritiesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_CustomSettingQuery extends QueryDb<BR_CustomSetting> implements IReturn<QueryResponse<BR_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<BR_CustomSetting>(); }
    getTypeName() { return "BR_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_CustomSettingValuesQuery extends QueryDb<BR_CustomSettingValues> implements IReturn<QueryResponse<BR_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<BR_CustomSettingValues>(); }
    getTypeName() { return "BR_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_DirectCreditorPaymentAllocationsQuery extends QueryDb<BR_DirectCreditorPaymentAllocations> implements IReturn<QueryResponse<BR_DirectCreditorPaymentAllocations>>
{
    DirectCreditorPaymentAllocationID: string;
    DirectCreditorPaymentAllocationIDStartsWith: string;
    DirectCreditorPaymentAllocationIDEndsWith: string;
    DirectCreditorPaymentAllocationIDContains: string;
    DirectCreditorPaymentAllocationIDLike: string;
    DirectCreditorPaymentAllocationIDBetween: string[];
    DirectCreditorPaymentAllocationIDIn: string[];
    DirectCreditorPaymentID: string;
    DirectCreditorPaymentIDStartsWith: string;
    DirectCreditorPaymentIDEndsWith: string;
    DirectCreditorPaymentIDContains: string;
    DirectCreditorPaymentIDLike: string;
    DirectCreditorPaymentIDBetween: string[];
    DirectCreditorPaymentIDIn: string[];
    AmountAllocated: number;
    AmountAllocatedGreaterThanOrEqualTo: number;
    AmountAllocatedGreaterThan: number;
    AmountAllocatedLessThan: number;
    AmountAllocatedLessThanOrEqualTo: number;
    AmountAllocatedNotEqualTo: number;
    AmountAllocatedBetween: number[];
    AmountAllocatedIn: number[];
    TransID: string;
    TransIDStartsWith: string;
    TransIDEndsWith: string;
    TransIDContains: string;
    TransIDLike: string;
    TransIDBetween: string[];
    TransIDIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DiscountAmountAllocated: number;
    DiscountAmountAllocatedGreaterThanOrEqualTo: number;
    DiscountAmountAllocatedGreaterThan: number;
    DiscountAmountAllocatedLessThan: number;
    DiscountAmountAllocatedLessThanOrEqualTo: number;
    DiscountAmountAllocatedNotEqualTo: number;
    DiscountAmountAllocatedBetween: number[];
    DiscountAmountAllocatedIn: number[];
    createResponse() { return new QueryResponse<BR_DirectCreditorPaymentAllocations>(); }
    getTypeName() { return "BR_DirectCreditorPaymentAllocationsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_DirectCreditorPaymentsQuery extends QueryDb<BR_DirectCreditorPayments> implements IReturn<QueryResponse<BR_DirectCreditorPayments>>
{
    DirectCreditorPaymentID: string;
    DirectCreditorPaymentIDStartsWith: string;
    DirectCreditorPaymentIDEndsWith: string;
    DirectCreditorPaymentIDContains: string;
    DirectCreditorPaymentIDLike: string;
    DirectCreditorPaymentIDBetween: string[];
    DirectCreditorPaymentIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    TransactionDateTime: string;
    TransactionDateTimeGreaterThanOrEqualTo: string;
    TransactionDateTimeGreaterThan: string;
    TransactionDateTimeLessThan: string;
    TransactionDateTimeLessThanOrEqualTo: string;
    TransactionDateTimeNotEqualTo: string;
    TransactionDateTimeBetween: string[];
    TransactionDateTimeIn: string[];
    AmountIncGST: number;
    AmountIncGSTGreaterThanOrEqualTo: number;
    AmountIncGSTGreaterThan: number;
    AmountIncGSTLessThan: number;
    AmountIncGSTLessThanOrEqualTo: number;
    AmountIncGSTNotEqualTo: number;
    AmountIncGSTBetween: number[];
    AmountIncGSTIn: number[];
    DebitCredit: number;
    DebitCreditGreaterThanOrEqualTo: number;
    DebitCreditGreaterThan: number;
    DebitCreditLessThan: number;
    DebitCreditLessThanOrEqualTo: number;
    DebitCreditNotEqualTo: number;
    DebitCreditBetween: Uint8Array;
    DebitCreditIn: Uint8Array;
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    DiscountGLLedgerID: string;
    DiscountGLLedgerIDStartsWith: string;
    DiscountGLLedgerIDEndsWith: string;
    DiscountGLLedgerIDContains: string;
    DiscountGLLedgerIDLike: string;
    DiscountGLLedgerIDBetween: string[];
    DiscountGLLedgerIDIn: string[];
    DiscountAmountIncGST: number;
    DiscountAmountIncGSTGreaterThanOrEqualTo: number;
    DiscountAmountIncGSTGreaterThan: number;
    DiscountAmountIncGSTLessThan: number;
    DiscountAmountIncGSTLessThanOrEqualTo: number;
    DiscountAmountIncGSTNotEqualTo: number;
    DiscountAmountIncGSTBetween: number[];
    DiscountAmountIncGSTIn: number[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAccountNo: string;
    BankAccountNoStartsWith: string;
    BankAccountNoEndsWith: string;
    BankAccountNoContains: string;
    BankAccountNoLike: string;
    BankAccountNoBetween: string[];
    BankAccountNoIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    BankAccountName: string;
    BankAccountNameStartsWith: string;
    BankAccountNameEndsWith: string;
    BankAccountNameContains: string;
    BankAccountNameLike: string;
    BankAccountNameBetween: string[];
    BankAccountNameIn: string[];
    DiscountTaxID: string;
    DiscountTaxIDStartsWith: string;
    DiscountTaxIDEndsWith: string;
    DiscountTaxIDContains: string;
    DiscountTaxIDLike: string;
    DiscountTaxIDBetween: string[];
    DiscountTaxIDIn: string[];
    DiscountTaxAmount: number;
    DiscountTaxAmountGreaterThanOrEqualTo: number;
    DiscountTaxAmountGreaterThan: number;
    DiscountTaxAmountLessThan: number;
    DiscountTaxAmountLessThanOrEqualTo: number;
    DiscountTaxAmountNotEqualTo: number;
    DiscountTaxAmountBetween: number[];
    DiscountTaxAmountIn: number[];
    DiscountTaxRate: number;
    DiscountTaxRateGreaterThanOrEqualTo: number;
    DiscountTaxRateGreaterThan: number;
    DiscountTaxRateLessThan: number;
    DiscountTaxRateLessThanOrEqualTo: number;
    DiscountTaxRateNotEqualTo: number;
    DiscountTaxRateBetween: number[];
    DiscountTaxRateIn: number[];
    AmountReconciledIncGST: number;
    AmountReconciledIncGSTGreaterThanOrEqualTo: number;
    AmountReconciledIncGSTGreaterThan: number;
    AmountReconciledIncGSTLessThan: number;
    AmountReconciledIncGSTLessThanOrEqualTo: number;
    AmountReconciledIncGSTNotEqualTo: number;
    AmountReconciledIncGSTBetween: number[];
    AmountReconciledIncGSTIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    PaymentTypeID: string;
    PaymentTypeIDStartsWith: string;
    PaymentTypeIDEndsWith: string;
    PaymentTypeIDContains: string;
    PaymentTypeIDLike: string;
    PaymentTypeIDBetween: string[];
    PaymentTypeIDIn: string[];
    RemitNo: string;
    RemitNoStartsWith: string;
    RemitNoEndsWith: string;
    RemitNoContains: string;
    RemitNoLike: string;
    RemitNoBetween: string[];
    RemitNoIn: string[];
    createResponse() { return new QueryResponse<BR_DirectCreditorPayments>(); }
    getTypeName() { return "BR_DirectCreditorPaymentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_DirectCreditorReceiptsQuery extends QueryDb<BR_DirectCreditorReceipts> implements IReturn<QueryResponse<BR_DirectCreditorReceipts>>
{
    DirectCreditorReceiptID: string;
    DirectCreditorReceiptIDStartsWith: string;
    DirectCreditorReceiptIDEndsWith: string;
    DirectCreditorReceiptIDContains: string;
    DirectCreditorReceiptIDLike: string;
    DirectCreditorReceiptIDBetween: string[];
    DirectCreditorReceiptIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    TransactionDateTime: string;
    TransactionDateTimeGreaterThanOrEqualTo: string;
    TransactionDateTimeGreaterThan: string;
    TransactionDateTimeLessThan: string;
    TransactionDateTimeLessThanOrEqualTo: string;
    TransactionDateTimeNotEqualTo: string;
    TransactionDateTimeBetween: string[];
    TransactionDateTimeIn: string[];
    AmountIncGST: number;
    AmountIncGSTGreaterThanOrEqualTo: number;
    AmountIncGSTGreaterThan: number;
    AmountIncGSTLessThan: number;
    AmountIncGSTLessThanOrEqualTo: number;
    AmountIncGSTNotEqualTo: number;
    AmountIncGSTBetween: number[];
    AmountIncGSTIn: number[];
    DebitCredit: number;
    DebitCreditGreaterThanOrEqualTo: number;
    DebitCreditGreaterThan: number;
    DebitCreditLessThan: number;
    DebitCreditLessThanOrEqualTo: number;
    DebitCreditNotEqualTo: number;
    DebitCreditBetween: Uint8Array;
    DebitCreditIn: Uint8Array;
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAccountNo: string;
    BankAccountNoStartsWith: string;
    BankAccountNoEndsWith: string;
    BankAccountNoContains: string;
    BankAccountNoLike: string;
    BankAccountNoBetween: string[];
    BankAccountNoIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    BankAccountName: string;
    BankAccountNameStartsWith: string;
    BankAccountNameEndsWith: string;
    BankAccountNameContains: string;
    BankAccountNameLike: string;
    BankAccountNameBetween: string[];
    BankAccountNameIn: string[];
    AmountReconciledIncGST: number;
    AmountReconciledIncGSTGreaterThanOrEqualTo: number;
    AmountReconciledIncGSTGreaterThan: number;
    AmountReconciledIncGSTLessThan: number;
    AmountReconciledIncGSTLessThanOrEqualTo: number;
    AmountReconciledIncGSTNotEqualTo: number;
    AmountReconciledIncGSTBetween: number[];
    AmountReconciledIncGSTIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    ReceiptTypeID: string;
    ReceiptTypeIDStartsWith: string;
    ReceiptTypeIDEndsWith: string;
    ReceiptTypeIDContains: string;
    ReceiptTypeIDLike: string;
    ReceiptTypeIDBetween: string[];
    ReceiptTypeIDIn: string[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    createResponse() { return new QueryResponse<BR_DirectCreditorReceipts>(); }
    getTypeName() { return "BR_DirectCreditorReceiptsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_DirectDebtorPaymentsQuery extends QueryDb<BR_DirectDebtorPayments> implements IReturn<QueryResponse<BR_DirectDebtorPayments>>
{
    DirectDebtorPaymentID: string;
    DirectDebtorPaymentIDStartsWith: string;
    DirectDebtorPaymentIDEndsWith: string;
    DirectDebtorPaymentIDContains: string;
    DirectDebtorPaymentIDLike: string;
    DirectDebtorPaymentIDBetween: string[];
    DirectDebtorPaymentIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    TransactionDateTime: string;
    TransactionDateTimeGreaterThanOrEqualTo: string;
    TransactionDateTimeGreaterThan: string;
    TransactionDateTimeLessThan: string;
    TransactionDateTimeLessThanOrEqualTo: string;
    TransactionDateTimeNotEqualTo: string;
    TransactionDateTimeBetween: string[];
    TransactionDateTimeIn: string[];
    AmountIncGST: number;
    AmountIncGSTGreaterThanOrEqualTo: number;
    AmountIncGSTGreaterThan: number;
    AmountIncGSTLessThan: number;
    AmountIncGSTLessThanOrEqualTo: number;
    AmountIncGSTNotEqualTo: number;
    AmountIncGSTBetween: number[];
    AmountIncGSTIn: number[];
    DebitCredit: number;
    DebitCreditGreaterThanOrEqualTo: number;
    DebitCreditGreaterThan: number;
    DebitCreditLessThan: number;
    DebitCreditLessThanOrEqualTo: number;
    DebitCreditNotEqualTo: number;
    DebitCreditBetween: Uint8Array;
    DebitCreditIn: Uint8Array;
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    ParentDebtorID: string;
    ParentDebtorIDStartsWith: string;
    ParentDebtorIDEndsWith: string;
    ParentDebtorIDContains: string;
    ParentDebtorIDLike: string;
    ParentDebtorIDBetween: string[];
    ParentDebtorIDIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAccountNo: string;
    BankAccountNoStartsWith: string;
    BankAccountNoEndsWith: string;
    BankAccountNoContains: string;
    BankAccountNoLike: string;
    BankAccountNoBetween: string[];
    BankAccountNoIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    BankAccountName: string;
    BankAccountNameStartsWith: string;
    BankAccountNameEndsWith: string;
    BankAccountNameContains: string;
    BankAccountNameLike: string;
    BankAccountNameBetween: string[];
    BankAccountNameIn: string[];
    AmountReconciledIncGST: number;
    AmountReconciledIncGSTGreaterThanOrEqualTo: number;
    AmountReconciledIncGSTGreaterThan: number;
    AmountReconciledIncGSTLessThan: number;
    AmountReconciledIncGSTLessThanOrEqualTo: number;
    AmountReconciledIncGSTNotEqualTo: number;
    AmountReconciledIncGSTBetween: number[];
    AmountReconciledIncGSTIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    PaymentTypeID: string;
    PaymentTypeIDStartsWith: string;
    PaymentTypeIDEndsWith: string;
    PaymentTypeIDContains: string;
    PaymentTypeIDLike: string;
    PaymentTypeIDBetween: string[];
    PaymentTypeIDIn: string[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    InvoiceNo: string;
    InvoiceNoStartsWith: string;
    InvoiceNoEndsWith: string;
    InvoiceNoContains: string;
    InvoiceNoLike: string;
    InvoiceNoBetween: string[];
    InvoiceNoIn: string[];
    createResponse() { return new QueryResponse<BR_DirectDebtorPayments>(); }
    getTypeName() { return "BR_DirectDebtorPaymentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_DirectDebtorReceiptAllocationsQuery extends QueryDb<BR_DirectDebtorReceiptAllocations> implements IReturn<QueryResponse<BR_DirectDebtorReceiptAllocations>>
{
    DirectDebtorReceiptAllocationID: string;
    DirectDebtorReceiptAllocationIDStartsWith: string;
    DirectDebtorReceiptAllocationIDEndsWith: string;
    DirectDebtorReceiptAllocationIDContains: string;
    DirectDebtorReceiptAllocationIDLike: string;
    DirectDebtorReceiptAllocationIDBetween: string[];
    DirectDebtorReceiptAllocationIDIn: string[];
    DirectDebtorReceiptID: string;
    DirectDebtorReceiptIDStartsWith: string;
    DirectDebtorReceiptIDEndsWith: string;
    DirectDebtorReceiptIDContains: string;
    DirectDebtorReceiptIDLike: string;
    DirectDebtorReceiptIDBetween: string[];
    DirectDebtorReceiptIDIn: string[];
    AmountAllocated: number;
    AmountAllocatedGreaterThanOrEqualTo: number;
    AmountAllocatedGreaterThan: number;
    AmountAllocatedLessThan: number;
    AmountAllocatedLessThanOrEqualTo: number;
    AmountAllocatedNotEqualTo: number;
    AmountAllocatedBetween: number[];
    AmountAllocatedIn: number[];
    TransID: string;
    TransIDStartsWith: string;
    TransIDEndsWith: string;
    TransIDContains: string;
    TransIDLike: string;
    TransIDBetween: string[];
    TransIDIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DiscountAmountAllocated: number;
    DiscountAmountAllocatedGreaterThanOrEqualTo: number;
    DiscountAmountAllocatedGreaterThan: number;
    DiscountAmountAllocatedLessThan: number;
    DiscountAmountAllocatedLessThanOrEqualTo: number;
    DiscountAmountAllocatedNotEqualTo: number;
    DiscountAmountAllocatedBetween: number[];
    DiscountAmountAllocatedIn: number[];
    createResponse() { return new QueryResponse<BR_DirectDebtorReceiptAllocations>(); }
    getTypeName() { return "BR_DirectDebtorReceiptAllocationsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_DirectDebtorReceiptsQuery extends QueryDb<BR_DirectDebtorReceipts> implements IReturn<QueryResponse<BR_DirectDebtorReceipts>>
{
    DirectDebtorReceiptID: string;
    DirectDebtorReceiptIDStartsWith: string;
    DirectDebtorReceiptIDEndsWith: string;
    DirectDebtorReceiptIDContains: string;
    DirectDebtorReceiptIDLike: string;
    DirectDebtorReceiptIDBetween: string[];
    DirectDebtorReceiptIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    TransactionDateTime: string;
    TransactionDateTimeGreaterThanOrEqualTo: string;
    TransactionDateTimeGreaterThan: string;
    TransactionDateTimeLessThan: string;
    TransactionDateTimeLessThanOrEqualTo: string;
    TransactionDateTimeNotEqualTo: string;
    TransactionDateTimeBetween: string[];
    TransactionDateTimeIn: string[];
    AmountIncGST: number;
    AmountIncGSTGreaterThanOrEqualTo: number;
    AmountIncGSTGreaterThan: number;
    AmountIncGSTLessThan: number;
    AmountIncGSTLessThanOrEqualTo: number;
    AmountIncGSTNotEqualTo: number;
    AmountIncGSTBetween: number[];
    AmountIncGSTIn: number[];
    DebitCredit: number;
    DebitCreditGreaterThanOrEqualTo: number;
    DebitCreditGreaterThan: number;
    DebitCreditLessThan: number;
    DebitCreditLessThanOrEqualTo: number;
    DebitCreditNotEqualTo: number;
    DebitCreditBetween: Uint8Array;
    DebitCreditIn: Uint8Array;
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    DiscountGLLedgerID: string;
    DiscountGLLedgerIDStartsWith: string;
    DiscountGLLedgerIDEndsWith: string;
    DiscountGLLedgerIDContains: string;
    DiscountGLLedgerIDLike: string;
    DiscountGLLedgerIDBetween: string[];
    DiscountGLLedgerIDIn: string[];
    DiscountAmountIncGST: number;
    DiscountAmountIncGSTGreaterThanOrEqualTo: number;
    DiscountAmountIncGSTGreaterThan: number;
    DiscountAmountIncGSTLessThan: number;
    DiscountAmountIncGSTLessThanOrEqualTo: number;
    DiscountAmountIncGSTNotEqualTo: number;
    DiscountAmountIncGSTBetween: number[];
    DiscountAmountIncGSTIn: number[];
    ParentDebtorID: string;
    ParentDebtorIDStartsWith: string;
    ParentDebtorIDEndsWith: string;
    ParentDebtorIDContains: string;
    ParentDebtorIDLike: string;
    ParentDebtorIDBetween: string[];
    ParentDebtorIDIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAccountNo: string;
    BankAccountNoStartsWith: string;
    BankAccountNoEndsWith: string;
    BankAccountNoContains: string;
    BankAccountNoLike: string;
    BankAccountNoBetween: string[];
    BankAccountNoIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    BankAccountName: string;
    BankAccountNameStartsWith: string;
    BankAccountNameEndsWith: string;
    BankAccountNameContains: string;
    BankAccountNameLike: string;
    BankAccountNameBetween: string[];
    BankAccountNameIn: string[];
    DiscountTaxID: string;
    DiscountTaxIDStartsWith: string;
    DiscountTaxIDEndsWith: string;
    DiscountTaxIDContains: string;
    DiscountTaxIDLike: string;
    DiscountTaxIDBetween: string[];
    DiscountTaxIDIn: string[];
    DiscountTaxAmount: number;
    DiscountTaxAmountGreaterThanOrEqualTo: number;
    DiscountTaxAmountGreaterThan: number;
    DiscountTaxAmountLessThan: number;
    DiscountTaxAmountLessThanOrEqualTo: number;
    DiscountTaxAmountNotEqualTo: number;
    DiscountTaxAmountBetween: number[];
    DiscountTaxAmountIn: number[];
    DiscountTaxRate: number;
    DiscountTaxRateGreaterThanOrEqualTo: number;
    DiscountTaxRateGreaterThan: number;
    DiscountTaxRateLessThan: number;
    DiscountTaxRateLessThanOrEqualTo: number;
    DiscountTaxRateNotEqualTo: number;
    DiscountTaxRateBetween: number[];
    DiscountTaxRateIn: number[];
    AmountReconciledIncGST: number;
    AmountReconciledIncGSTGreaterThanOrEqualTo: number;
    AmountReconciledIncGSTGreaterThan: number;
    AmountReconciledIncGSTLessThan: number;
    AmountReconciledIncGSTLessThanOrEqualTo: number;
    AmountReconciledIncGSTNotEqualTo: number;
    AmountReconciledIncGSTBetween: number[];
    AmountReconciledIncGSTIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    ReceiptTypeID: string;
    ReceiptTypeIDStartsWith: string;
    ReceiptTypeIDEndsWith: string;
    ReceiptTypeIDContains: string;
    ReceiptTypeIDLike: string;
    ReceiptTypeIDBetween: string[];
    ReceiptTypeIDIn: string[];
    RemitNo: string;
    RemitNoStartsWith: string;
    RemitNoEndsWith: string;
    RemitNoContains: string;
    RemitNoLike: string;
    RemitNoBetween: string[];
    RemitNoIn: string[];
    createResponse() { return new QueryResponse<BR_DirectDebtorReceipts>(); }
    getTypeName() { return "BR_DirectDebtorReceiptsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_DirectGLTransactionsQuery extends QueryDb<BR_DirectGLTransactions> implements IReturn<QueryResponse<BR_DirectGLTransactions>>
{
    DirectGLTransactionID: string;
    DirectGLTransactionIDStartsWith: string;
    DirectGLTransactionIDEndsWith: string;
    DirectGLTransactionIDContains: string;
    DirectGLTransactionIDLike: string;
    DirectGLTransactionIDBetween: string[];
    DirectGLTransactionIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    TransactionDateTime: string;
    TransactionDateTimeGreaterThanOrEqualTo: string;
    TransactionDateTimeGreaterThan: string;
    TransactionDateTimeLessThan: string;
    TransactionDateTimeLessThanOrEqualTo: string;
    TransactionDateTimeNotEqualTo: string;
    TransactionDateTimeBetween: string[];
    TransactionDateTimeIn: string[];
    AmountIncGST: number;
    AmountIncGSTGreaterThanOrEqualTo: number;
    AmountIncGSTGreaterThan: number;
    AmountIncGSTLessThan: number;
    AmountIncGSTLessThanOrEqualTo: number;
    AmountIncGSTNotEqualTo: number;
    AmountIncGSTBetween: number[];
    AmountIncGSTIn: number[];
    DebitCredit: number;
    DebitCreditGreaterThanOrEqualTo: number;
    DebitCreditGreaterThan: number;
    DebitCreditLessThan: number;
    DebitCreditLessThanOrEqualTo: number;
    DebitCreditNotEqualTo: number;
    DebitCreditBetween: Uint8Array;
    DebitCreditIn: Uint8Array;
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    GLLedgerID: string;
    GLLedgerIDStartsWith: string;
    GLLedgerIDEndsWith: string;
    GLLedgerIDContains: string;
    GLLedgerIDLike: string;
    GLLedgerIDBetween: string[];
    GLLedgerIDIn: string[];
    TransactionType: number;
    TransactionTypeGreaterThanOrEqualTo: number;
    TransactionTypeGreaterThan: number;
    TransactionTypeLessThan: number;
    TransactionTypeLessThanOrEqualTo: number;
    TransactionTypeNotEqualTo: number;
    TransactionTypeBetween: Uint8Array;
    TransactionTypeIn: Uint8Array;
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    PaymentTypeID: string;
    PaymentTypeIDStartsWith: string;
    PaymentTypeIDEndsWith: string;
    PaymentTypeIDContains: string;
    PaymentTypeIDLike: string;
    PaymentTypeIDBetween: string[];
    PaymentTypeIDIn: string[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    AmountReconciledIncGST: number;
    AmountReconciledIncGSTGreaterThanOrEqualTo: number;
    AmountReconciledIncGSTGreaterThan: number;
    AmountReconciledIncGSTLessThan: number;
    AmountReconciledIncGSTLessThanOrEqualTo: number;
    AmountReconciledIncGSTNotEqualTo: number;
    AmountReconciledIncGSTBetween: number[];
    AmountReconciledIncGSTIn: number[];
    createResponse() { return new QueryResponse<BR_DirectGLTransactions>(); }
    getTypeName() { return "BR_DirectGLTransactionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_DocumentsQuery extends QueryDb<BR_Documents> implements IReturn<QueryResponse<BR_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<BR_Documents>(); }
    getTypeName() { return "BR_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_GLTransactionsQuery extends QueryDb<BR_GLTransactions> implements IReturn<QueryResponse<BR_GLTransactions>>
{
    BRGLTransactionID: string;
    BRGLTransactionIDStartsWith: string;
    BRGLTransactionIDEndsWith: string;
    BRGLTransactionIDContains: string;
    BRGLTransactionIDLike: string;
    BRGLTransactionIDBetween: string[];
    BRGLTransactionIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    TransactionDateTime: string;
    TransactionDateTimeGreaterThanOrEqualTo: string;
    TransactionDateTimeGreaterThan: string;
    TransactionDateTimeLessThan: string;
    TransactionDateTimeLessThanOrEqualTo: string;
    TransactionDateTimeNotEqualTo: string;
    TransactionDateTimeBetween: string[];
    TransactionDateTimeIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    GLTransactionID: string;
    GLTransactionIDStartsWith: string;
    GLTransactionIDEndsWith: string;
    GLTransactionIDContains: string;
    GLTransactionIDLike: string;
    GLTransactionIDBetween: string[];
    GLTransactionIDIn: string[];
    AmountReconciledIncGST: number;
    AmountReconciledIncGSTGreaterThanOrEqualTo: number;
    AmountReconciledIncGSTGreaterThan: number;
    AmountReconciledIncGSTLessThan: number;
    AmountReconciledIncGSTLessThanOrEqualTo: number;
    AmountReconciledIncGSTNotEqualTo: number;
    AmountReconciledIncGSTBetween: number[];
    AmountReconciledIncGSTIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    DebitCredit: number;
    DebitCreditGreaterThanOrEqualTo: number;
    DebitCreditGreaterThan: number;
    DebitCreditLessThan: number;
    DebitCreditLessThanOrEqualTo: number;
    DebitCreditNotEqualTo: number;
    DebitCreditBetween: Uint8Array;
    DebitCreditIn: Uint8Array;
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    AmountIncGST: number;
    AmountIncGSTGreaterThanOrEqualTo: number;
    AmountIncGSTGreaterThan: number;
    AmountIncGSTLessThan: number;
    AmountIncGSTLessThanOrEqualTo: number;
    AmountIncGSTNotEqualTo: number;
    AmountIncGSTBetween: number[];
    AmountIncGSTIn: number[];
    FirstAppearanceBankRecID: string;
    FirstAppearanceBankRecIDStartsWith: string;
    FirstAppearanceBankRecIDEndsWith: string;
    FirstAppearanceBankRecIDContains: string;
    FirstAppearanceBankRecIDLike: string;
    FirstAppearanceBankRecIDBetween: string[];
    FirstAppearanceBankRecIDIn: string[];
    createResponse() { return new QueryResponse<BR_GLTransactions>(); }
    getTypeName() { return "BR_GLTransactionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_MainQuery extends QueryDb<BR_Main> implements IReturn<QueryResponse<BR_Main>>
{
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    BankRecNo: string;
    BankRecNoStartsWith: string;
    BankRecNoEndsWith: string;
    BankRecNoContains: string;
    BankRecNoLike: string;
    BankRecNoBetween: string[];
    BankRecNoIn: string[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    BankAccountLedgerID: string;
    BankAccountLedgerIDStartsWith: string;
    BankAccountLedgerIDEndsWith: string;
    BankAccountLedgerIDContains: string;
    BankAccountLedgerIDLike: string;
    BankAccountLedgerIDBetween: string[];
    BankAccountLedgerIDIn: string[];
    BankStatementDate: string;
    BankStatementDateGreaterThanOrEqualTo: string;
    BankStatementDateGreaterThan: string;
    BankStatementDateLessThan: string;
    BankStatementDateLessThanOrEqualTo: string;
    BankStatementDateNotEqualTo: string;
    BankStatementDateBetween: string[];
    BankStatementDateIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    BankStatementOpeningBalance: number;
    BankStatementOpeningBalanceGreaterThanOrEqualTo: number;
    BankStatementOpeningBalanceGreaterThan: number;
    BankStatementOpeningBalanceLessThan: number;
    BankStatementOpeningBalanceLessThanOrEqualTo: number;
    BankStatementOpeningBalanceNotEqualTo: number;
    BankStatementOpeningBalanceBetween: number[];
    BankStatementOpeningBalanceIn: number[];
    BankAccountLedgerCurrentBalance: number;
    BankAccountLedgerCurrentBalanceGreaterThanOrEqualTo: number;
    BankAccountLedgerCurrentBalanceGreaterThan: number;
    BankAccountLedgerCurrentBalanceLessThan: number;
    BankAccountLedgerCurrentBalanceLessThanOrEqualTo: number;
    BankAccountLedgerCurrentBalanceNotEqualTo: number;
    BankAccountLedgerCurrentBalanceBetween: number[];
    BankAccountLedgerCurrentBalanceIn: number[];
    BankStatementClosingBalance: number;
    BankStatementClosingBalanceGreaterThanOrEqualTo: number;
    BankStatementClosingBalanceGreaterThan: number;
    BankStatementClosingBalanceLessThan: number;
    BankStatementClosingBalanceLessThanOrEqualTo: number;
    BankStatementClosingBalanceNotEqualTo: number;
    BankStatementClosingBalanceBetween: number[];
    BankStatementClosingBalanceIn: number[];
    BankAccountLedgerBalanceBroughtForward: number;
    BankAccountLedgerBalanceBroughtForwardGreaterThanOrEqualTo: number;
    BankAccountLedgerBalanceBroughtForwardGreaterThan: number;
    BankAccountLedgerBalanceBroughtForwardLessThan: number;
    BankAccountLedgerBalanceBroughtForwardLessThanOrEqualTo: number;
    BankAccountLedgerBalanceBroughtForwardNotEqualTo: number;
    BankAccountLedgerBalanceBroughtForwardBetween: number[];
    BankAccountLedgerBalanceBroughtForwardIn: number[];
    createResponse() { return new QueryResponse<BR_Main>(); }
    getTypeName() { return "BR_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class BR_OpeningBalanceTransactionsQuery extends QueryDb<BR_OpeningBalanceTransactions> implements IReturn<QueryResponse<BR_OpeningBalanceTransactions>>
{
    OpeningBalanceTransactionID: string;
    OpeningBalanceTransactionIDStartsWith: string;
    OpeningBalanceTransactionIDEndsWith: string;
    OpeningBalanceTransactionIDContains: string;
    OpeningBalanceTransactionIDLike: string;
    OpeningBalanceTransactionIDBetween: string[];
    OpeningBalanceTransactionIDIn: string[];
    BankRecID: string;
    BankRecIDStartsWith: string;
    BankRecIDEndsWith: string;
    BankRecIDContains: string;
    BankRecIDLike: string;
    BankRecIDBetween: string[];
    BankRecIDIn: string[];
    CreatedByStaffID: string;
    CreatedByStaffIDStartsWith: string;
    CreatedByStaffIDEndsWith: string;
    CreatedByStaffIDContains: string;
    CreatedByStaffIDLike: string;
    CreatedByStaffIDBetween: string[];
    CreatedByStaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    TransactionDateTime: string;
    TransactionDateTimeGreaterThanOrEqualTo: string;
    TransactionDateTimeGreaterThan: string;
    TransactionDateTimeLessThan: string;
    TransactionDateTimeLessThanOrEqualTo: string;
    TransactionDateTimeNotEqualTo: string;
    TransactionDateTimeBetween: string[];
    TransactionDateTimeIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: Uint8Array;
    StatusIn: Uint8Array;
    AmountReconciledIncGST: number;
    AmountReconciledIncGSTGreaterThanOrEqualTo: number;
    AmountReconciledIncGSTGreaterThan: number;
    AmountReconciledIncGSTLessThan: number;
    AmountReconciledIncGSTLessThanOrEqualTo: number;
    AmountReconciledIncGSTNotEqualTo: number;
    AmountReconciledIncGSTBetween: number[];
    AmountReconciledIncGSTIn: number[];
    Reference: string;
    ReferenceStartsWith: string;
    ReferenceEndsWith: string;
    ReferenceContains: string;
    ReferenceLike: string;
    ReferenceBetween: string[];
    ReferenceIn: string[];
    DebitCredit: number;
    DebitCreditGreaterThanOrEqualTo: number;
    DebitCreditGreaterThan: number;
    DebitCreditLessThan: number;
    DebitCreditLessThanOrEqualTo: number;
    DebitCreditNotEqualTo: number;
    DebitCreditBetween: Uint8Array;
    DebitCreditIn: Uint8Array;
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    AmountIncGST: number;
    AmountIncGSTGreaterThanOrEqualTo: number;
    AmountIncGSTGreaterThan: number;
    AmountIncGSTLessThan: number;
    AmountIncGSTLessThanOrEqualTo: number;
    AmountIncGSTNotEqualTo: number;
    AmountIncGSTBetween: number[];
    AmountIncGSTIn: number[];
    PreviousBankRecID: string;
    PreviousBankRecIDStartsWith: string;
    PreviousBankRecIDEndsWith: string;
    PreviousBankRecIDContains: string;
    PreviousBankRecIDLike: string;
    PreviousBankRecIDBetween: string[];
    PreviousBankRecIDIn: string[];
    createResponse() { return new QueryResponse<BR_OpeningBalanceTransactions>(); }
    getTypeName() { return "BR_OpeningBalanceTransactionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_BatchTranLineCustomFieldsQuery extends QueryDb<CB_BatchTranLineCustomFields> implements IReturn<QueryResponse<CB_BatchTranLineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<CB_BatchTranLineCustomFields>(); }
    getTypeName() { return "CB_BatchTranLineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_BatchTranLineCustomValuesQuery extends QueryDb<CB_BatchTranLineCustomValues> implements IReturn<QueryResponse<CB_BatchTranLineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CB_BatchTranLine_CBBatchTranLineID: string;
    CB_BatchTranLine_CBBatchTranLineIDStartsWith: string;
    CB_BatchTranLine_CBBatchTranLineIDEndsWith: string;
    CB_BatchTranLine_CBBatchTranLineIDContains: string;
    CB_BatchTranLine_CBBatchTranLineIDLike: string;
    CB_BatchTranLine_CBBatchTranLineIDBetween: string[];
    CB_BatchTranLine_CBBatchTranLineIDIn: string[];
    CB_BatchTranLineCustomFields_RecID: string;
    CB_BatchTranLineCustomFields_RecIDStartsWith: string;
    CB_BatchTranLineCustomFields_RecIDEndsWith: string;
    CB_BatchTranLineCustomFields_RecIDContains: string;
    CB_BatchTranLineCustomFields_RecIDLike: string;
    CB_BatchTranLineCustomFields_RecIDBetween: string[];
    CB_BatchTranLineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CB_BatchTranLineCustomValues>(); }
    getTypeName() { return "CB_BatchTranLineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_BatchTranLinesQuery extends QueryDb<CB_BatchTranLines> implements IReturn<QueryResponse<CB_BatchTranLines>>
{
    CBBatchTranLineID: string;
    CBBatchTranLineIDStartsWith: string;
    CBBatchTranLineIDEndsWith: string;
    CBBatchTranLineIDContains: string;
    CBBatchTranLineIDLike: string;
    CBBatchTranLineIDBetween: string[];
    CBBatchTranLineIDIn: string[];
    CBBatchID: string;
    CBBatchIDStartsWith: string;
    CBBatchIDEndsWith: string;
    CBBatchIDContains: string;
    CBBatchIDLike: string;
    CBBatchIDBetween: string[];
    CBBatchIDIn: string[];
    OffsetLedgerID: string;
    OffsetLedgerIDStartsWith: string;
    OffsetLedgerIDEndsWith: string;
    OffsetLedgerIDContains: string;
    OffsetLedgerIDLike: string;
    OffsetLedgerIDBetween: string[];
    OffsetLedgerIDIn: string[];
    RemitNo: string;
    RemitNoStartsWith: string;
    RemitNoEndsWith: string;
    RemitNoContains: string;
    RemitNoLike: string;
    RemitNoBetween: string[];
    RemitNoIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    DebtorCreditor: number;
    DebtorCreditorGreaterThanOrEqualTo: number;
    DebtorCreditorGreaterThan: number;
    DebtorCreditorLessThan: number;
    DebtorCreditorLessThanOrEqualTo: number;
    DebtorCreditorNotEqualTo: number;
    DebtorCreditorBetween: number[];
    DebtorCreditorIn: number[];
    DebtorCreditorID: string;
    DebtorCreditorIDStartsWith: string;
    DebtorCreditorIDEndsWith: string;
    DebtorCreditorIDContains: string;
    DebtorCreditorIDLike: string;
    DebtorCreditorIDBetween: string[];
    DebtorCreditorIDIn: string[];
    TransType: number;
    TransTypeGreaterThanOrEqualTo: number;
    TransTypeGreaterThan: number;
    TransTypeLessThan: number;
    TransTypeLessThanOrEqualTo: number;
    TransTypeNotEqualTo: number;
    TransTypeBetween: number[];
    TransTypeIn: number[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    HomeAmount: number;
    HomeAmountGreaterThanOrEqualTo: number;
    HomeAmountGreaterThan: number;
    HomeAmountLessThan: number;
    HomeAmountLessThanOrEqualTo: number;
    HomeAmountNotEqualTo: number;
    HomeAmountBetween: number[];
    HomeAmountIn: number[];
    GroupNo: number;
    GroupNoGreaterThanOrEqualTo: number;
    GroupNoGreaterThan: number;
    GroupNoLessThan: number;
    GroupNoLessThanOrEqualTo: number;
    GroupNoNotEqualTo: number;
    GroupNoBetween: number[];
    GroupNoIn: number[];
    TranDate: string;
    TranDateGreaterThanOrEqualTo: string;
    TranDateGreaterThan: string;
    TranDateLessThan: string;
    TranDateLessThanOrEqualTo: string;
    TranDateNotEqualTo: string;
    TranDateBetween: string[];
    TranDateIn: string[];
    DiscountLedgerID: string;
    DiscountLedgerIDStartsWith: string;
    DiscountLedgerIDEndsWith: string;
    DiscountLedgerIDContains: string;
    DiscountLedgerIDLike: string;
    DiscountLedgerIDBetween: string[];
    DiscountLedgerIDIn: string[];
    HomeDiscountTaken: number;
    HomeDiscountTakenGreaterThanOrEqualTo: number;
    HomeDiscountTakenGreaterThan: number;
    HomeDiscountTakenLessThan: number;
    HomeDiscountTakenLessThanOrEqualTo: number;
    HomeDiscountTakenNotEqualTo: number;
    HomeDiscountTakenBetween: number[];
    HomeDiscountTakenIn: number[];
    SupplierAmount: number;
    SupplierAmountGreaterThanOrEqualTo: number;
    SupplierAmountGreaterThan: number;
    SupplierAmountLessThan: number;
    SupplierAmountLessThanOrEqualTo: number;
    SupplierAmountNotEqualTo: number;
    SupplierAmountBetween: number[];
    SupplierAmountIn: number[];
    CurrencyRateUsed: number;
    CurrencyRateUsedGreaterThanOrEqualTo: number;
    CurrencyRateUsedGreaterThan: number;
    CurrencyRateUsedLessThan: number;
    CurrencyRateUsedLessThanOrEqualTo: number;
    CurrencyRateUsedNotEqualTo: number;
    CurrencyRateUsedBetween: number[];
    CurrencyRateUsedIn: number[];
    SupplierDiscountTaken: number;
    SupplierDiscountTakenGreaterThanOrEqualTo: number;
    SupplierDiscountTakenGreaterThan: number;
    SupplierDiscountTakenLessThan: number;
    SupplierDiscountTakenLessThanOrEqualTo: number;
    SupplierDiscountTakenNotEqualTo: number;
    SupplierDiscountTakenBetween: number[];
    SupplierDiscountTakenIn: number[];
    ParentDebtorID: string;
    ParentDebtorIDStartsWith: string;
    ParentDebtorIDEndsWith: string;
    ParentDebtorIDContains: string;
    ParentDebtorIDLike: string;
    ParentDebtorIDBetween: string[];
    ParentDebtorIDIn: string[];
    BankName: string;
    BankNameStartsWith: string;
    BankNameEndsWith: string;
    BankNameContains: string;
    BankNameLike: string;
    BankNameBetween: string[];
    BankNameIn: string[];
    BankAcc: string;
    BankAccStartsWith: string;
    BankAccEndsWith: string;
    BankAccContains: string;
    BankAccLike: string;
    BankAccBetween: string[];
    BankAccIn: string[];
    BSBN: string;
    BSBNStartsWith: string;
    BSBNEndsWith: string;
    BSBNContains: string;
    BSBNLike: string;
    BSBNBetween: string[];
    BSBNIn: string[];
    AccountName: string;
    AccountNameStartsWith: string;
    AccountNameEndsWith: string;
    AccountNameContains: string;
    AccountNameLike: string;
    AccountNameBetween: string[];
    AccountNameIn: string[];
    AllocatedAmount: number;
    AllocatedAmountGreaterThanOrEqualTo: number;
    AllocatedAmountGreaterThan: number;
    AllocatedAmountLessThan: number;
    AllocatedAmountLessThanOrEqualTo: number;
    AllocatedAmountNotEqualTo: number;
    AllocatedAmountBetween: number[];
    AllocatedAmountIn: number[];
    PaymentTypeID: string;
    PaymentTypeIDStartsWith: string;
    PaymentTypeIDEndsWith: string;
    PaymentTypeIDContains: string;
    PaymentTypeIDLike: string;
    PaymentTypeIDBetween: string[];
    PaymentTypeIDIn: string[];
    Approval: string;
    ApprovalStartsWith: string;
    ApprovalEndsWith: string;
    ApprovalContains: string;
    ApprovalLike: string;
    ApprovalBetween: string[];
    ApprovalIn: string[];
    UpdateDebtorBankDetails: boolean;
    GSTRateID: string;
    GSTRateIDStartsWith: string;
    GSTRateIDEndsWith: string;
    GSTRateIDContains: string;
    GSTRateIDLike: string;
    GSTRateIDBetween: string[];
    GSTRateIDIn: string[];
    GSTRate: number;
    GSTRateGreaterThanOrEqualTo: number;
    GSTRateGreaterThan: number;
    GSTRateLessThan: number;
    GSTRateLessThanOrEqualTo: number;
    GSTRateNotEqualTo: number;
    GSTRateBetween: number[];
    GSTRateIn: number[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    DiscountGSTRateID: string;
    DiscountGSTRateIDStartsWith: string;
    DiscountGSTRateIDEndsWith: string;
    DiscountGSTRateIDContains: string;
    DiscountGSTRateIDLike: string;
    DiscountGSTRateIDBetween: string[];
    DiscountGSTRateIDIn: string[];
    DiscountGSTRate: number;
    DiscountGSTRateGreaterThanOrEqualTo: number;
    DiscountGSTRateGreaterThan: number;
    DiscountGSTRateLessThan: number;
    DiscountGSTRateLessThanOrEqualTo: number;
    DiscountGSTRateNotEqualTo: number;
    DiscountGSTRateBetween: number[];
    DiscountGSTRateIn: number[];
    DiscountGSTAmount: number;
    DiscountGSTAmountGreaterThanOrEqualTo: number;
    DiscountGSTAmountGreaterThan: number;
    DiscountGSTAmountLessThan: number;
    DiscountGSTAmountLessThanOrEqualTo: number;
    DiscountGSTAmountNotEqualTo: number;
    DiscountGSTAmountBetween: number[];
    DiscountGSTAmountIn: number[];
    JobNo: string;
    JobNoStartsWith: string;
    JobNoEndsWith: string;
    JobNoContains: string;
    JobNoLike: string;
    JobNoBetween: string[];
    JobNoIn: string[];
    JobChargeAmount: number;
    JobChargeAmountGreaterThanOrEqualTo: number;
    JobChargeAmountGreaterThan: number;
    JobChargeAmountLessThan: number;
    JobChargeAmountLessThanOrEqualTo: number;
    JobChargeAmountNotEqualTo: number;
    JobChargeAmountBetween: number[];
    JobChargeAmountIn: number[];
    FXCurrencyID: string;
    FXCurrencyIDStartsWith: string;
    FXCurrencyIDEndsWith: string;
    FXCurrencyIDContains: string;
    FXCurrencyIDLike: string;
    FXCurrencyIDBetween: string[];
    FXCurrencyIDIn: string[];
    FXDecimalPlaces: number;
    FXDecimalPlacesGreaterThanOrEqualTo: number;
    FXDecimalPlacesGreaterThan: number;
    FXDecimalPlacesLessThan: number;
    FXDecimalPlacesLessThanOrEqualTo: number;
    FXDecimalPlacesNotEqualTo: number;
    FXDecimalPlacesBetween: number[];
    FXDecimalPlacesIn: number[];
    AUDDecimalPlaces: number;
    AUDDecimalPlacesGreaterThanOrEqualTo: number;
    AUDDecimalPlacesGreaterThan: number;
    AUDDecimalPlacesLessThan: number;
    AUDDecimalPlacesLessThanOrEqualTo: number;
    AUDDecimalPlacesNotEqualTo: number;
    AUDDecimalPlacesBetween: number[];
    AUDDecimalPlacesIn: number[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    SupplierAllocatedAmount: number;
    SupplierAllocatedAmountGreaterThanOrEqualTo: number;
    SupplierAllocatedAmountGreaterThan: number;
    SupplierAllocatedAmountLessThan: number;
    SupplierAllocatedAmountLessThanOrEqualTo: number;
    SupplierAllocatedAmountNotEqualTo: number;
    SupplierAllocatedAmountBetween: number[];
    SupplierAllocatedAmountIn: number[];
    createResponse() { return new QueryResponse<CB_BatchTranLines>(); }
    getTypeName() { return "CB_BatchTranLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_BatchTranLinesAllocsQuery extends QueryDb<CB_BatchTranLinesAllocs> implements IReturn<QueryResponse<CB_BatchTranLinesAllocs>>
{
    CBBatchTranLineAllocID: string;
    CBBatchTranLineAllocIDStartsWith: string;
    CBBatchTranLineAllocIDEndsWith: string;
    CBBatchTranLineAllocIDContains: string;
    CBBatchTranLineAllocIDLike: string;
    CBBatchTranLineAllocIDBetween: string[];
    CBBatchTranLineAllocIDIn: string[];
    CBBatchTranLineID: string;
    CBBatchTranLineIDStartsWith: string;
    CBBatchTranLineIDEndsWith: string;
    CBBatchTranLineIDContains: string;
    CBBatchTranLineIDLike: string;
    CBBatchTranLineIDBetween: string[];
    CBBatchTranLineIDIn: string[];
    AllocatedTransID: string;
    AllocatedTransIDStartsWith: string;
    AllocatedTransIDEndsWith: string;
    AllocatedTransIDContains: string;
    AllocatedTransIDLike: string;
    AllocatedTransIDBetween: string[];
    AllocatedTransIDIn: string[];
    AllocatedAmount: number;
    AllocatedAmountGreaterThanOrEqualTo: number;
    AllocatedAmountGreaterThan: number;
    AllocatedAmountLessThan: number;
    AllocatedAmountLessThanOrEqualTo: number;
    AllocatedAmountNotEqualTo: number;
    AllocatedAmountBetween: number[];
    AllocatedAmountIn: number[];
    AllocType: number;
    AllocTypeGreaterThanOrEqualTo: number;
    AllocTypeGreaterThan: number;
    AllocTypeLessThan: number;
    AllocTypeLessThanOrEqualTo: number;
    AllocTypeNotEqualTo: number;
    AllocTypeBetween: number[];
    AllocTypeIn: number[];
    CBBatchID: string;
    CBBatchIDStartsWith: string;
    CBBatchIDEndsWith: string;
    CBBatchIDContains: string;
    CBBatchIDLike: string;
    CBBatchIDBetween: string[];
    CBBatchIDIn: string[];
    createResponse() { return new QueryResponse<CB_BatchTranLinesAllocs>(); }
    getTypeName() { return "CB_BatchTranLinesAllocsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_BatchTransQuery extends QueryDb<CB_BatchTrans> implements IReturn<QueryResponse<CB_BatchTrans>>
{
    CBBatchID: string;
    CBBatchIDStartsWith: string;
    CBBatchIDEndsWith: string;
    CBBatchIDContains: string;
    CBBatchIDLike: string;
    CBBatchIDBetween: string[];
    CBBatchIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    BatchDate: string;
    BatchDateGreaterThanOrEqualTo: string;
    BatchDateGreaterThan: string;
    BatchDateLessThan: string;
    BatchDateLessThanOrEqualTo: string;
    BatchDateNotEqualTo: string;
    BatchDateBetween: string[];
    BatchDateIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    Activated: boolean;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    ReceiptPayment: number;
    ReceiptPaymentGreaterThanOrEqualTo: number;
    ReceiptPaymentGreaterThan: number;
    ReceiptPaymentLessThan: number;
    ReceiptPaymentLessThanOrEqualTo: number;
    ReceiptPaymentNotEqualTo: number;
    ReceiptPaymentBetween: Uint8Array;
    ReceiptPaymentIn: Uint8Array;
    BankLedgerID: string;
    BankLedgerIDStartsWith: string;
    BankLedgerIDEndsWith: string;
    BankLedgerIDContains: string;
    BankLedgerIDLike: string;
    BankLedgerIDBetween: string[];
    BankLedgerIDIn: string[];
    GroupJournals: boolean;
    createResponse() { return new QueryResponse<CB_BatchTrans>(); }
    getTypeName() { return "CB_BatchTransQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_CustomSettingQuery extends QueryDb<CB_CustomSetting> implements IReturn<QueryResponse<CB_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<CB_CustomSetting>(); }
    getTypeName() { return "CB_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_CustomSettingValuesQuery extends QueryDb<CB_CustomSettingValues> implements IReturn<QueryResponse<CB_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    CashBookID: string;
    CashBookIDStartsWith: string;
    CashBookIDEndsWith: string;
    CashBookIDContains: string;
    CashBookIDLike: string;
    CashBookIDBetween: string[];
    CashBookIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CB_CustomSettingValues>(); }
    getTypeName() { return "CB_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_DocumentsQuery extends QueryDb<CB_Documents> implements IReturn<QueryResponse<CB_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CashBookID: string;
    CashBookIDStartsWith: string;
    CashBookIDEndsWith: string;
    CashBookIDContains: string;
    CashBookIDLike: string;
    CashBookIDBetween: string[];
    CashBookIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CB_Documents>(); }
    getTypeName() { return "CB_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CB_NotesQuery extends QueryDb<CB_Notes> implements IReturn<QueryResponse<CB_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CashBookID: string;
    CashBookIDStartsWith: string;
    CashBookIDEndsWith: string;
    CashBookIDContains: string;
    CashBookIDLike: string;
    CashBookIDBetween: string[];
    CashBookIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CB_Notes>(); }
    getTypeName() { return "CB_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CN_ContactQuery extends QueryDb<CN_Contact> implements IReturn<QueryResponse<CN_Contact>>
{
    ContactID: string;
    ContactIDStartsWith: string;
    ContactIDEndsWith: string;
    ContactIDContains: string;
    ContactIDLike: string;
    ContactIDBetween: string[];
    ContactIDIn: string[];
    AccNo: string;
    AccNoStartsWith: string;
    AccNoEndsWith: string;
    AccNoContains: string;
    AccNoLike: string;
    AccNoBetween: string[];
    AccNoIn: string[];
    Title: string;
    TitleStartsWith: string;
    TitleEndsWith: string;
    TitleContains: string;
    TitleLike: string;
    TitleBetween: string[];
    TitleIn: string[];
    FName: string;
    FNameStartsWith: string;
    FNameEndsWith: string;
    FNameContains: string;
    FNameLike: string;
    FNameBetween: string[];
    FNameIn: string[];
    SName: string;
    SNameStartsWith: string;
    SNameEndsWith: string;
    SNameContains: string;
    SNameLike: string;
    SNameBetween: string[];
    SNameIn: string[];
    PrimaryID: string;
    PrimaryIDStartsWith: string;
    PrimaryIDEndsWith: string;
    PrimaryIDContains: string;
    PrimaryIDLike: string;
    PrimaryIDBetween: string[];
    PrimaryIDIn: string[];
    SecondaryID: string;
    SecondaryIDStartsWith: string;
    SecondaryIDEndsWith: string;
    SecondaryIDContains: string;
    SecondaryIDLike: string;
    SecondaryIDBetween: string[];
    SecondaryIDIn: string[];
    TertiaryID: string;
    TertiaryIDStartsWith: string;
    TertiaryIDEndsWith: string;
    TertiaryIDContains: string;
    TertiaryIDLike: string;
    TertiaryIDBetween: string[];
    TertiaryIDIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Mobile: string;
    MobileStartsWith: string;
    MobileEndsWith: string;
    MobileContains: string;
    MobileLike: string;
    MobileBetween: string[];
    MobileIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    ProspectID: string;
    ProspectIDStartsWith: string;
    ProspectIDEndsWith: string;
    ProspectIDContains: string;
    ProspectIDLike: string;
    ProspectIDBetween: string[];
    ProspectIDIn: string[];
    LogonCode: string;
    LogonCodeStartsWith: string;
    LogonCodeEndsWith: string;
    LogonCodeContains: string;
    LogonCodeLike: string;
    LogonCodeBetween: string[];
    LogonCodeIn: string[];
    LogonPassword: string;
    LogonPasswordStartsWith: string;
    LogonPasswordEndsWith: string;
    LogonPasswordContains: string;
    LogonPasswordLike: string;
    LogonPasswordBetween: string[];
    LogonPasswordIn: string[];
    ExternalAppRecID: string;
    ExternalAppRecIDStartsWith: string;
    ExternalAppRecIDEndsWith: string;
    ExternalAppRecIDContains: string;
    ExternalAppRecIDLike: string;
    ExternalAppRecIDBetween: string[];
    ExternalAppRecIDIn: string[];
    DefaultContact: boolean;
    DebtorContact: boolean;
    CreditorContact: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CN_Contact>(); }
    getTypeName() { return "CN_ContactQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CN_ContactPositionQuery extends QueryDb<CN_ContactPosition> implements IReturn<QueryResponse<CN_ContactPosition>>
{
    ContactPositionID: string;
    ContactPositionIDStartsWith: string;
    ContactPositionIDEndsWith: string;
    ContactPositionIDContains: string;
    ContactPositionIDLike: string;
    ContactPositionIDBetween: string[];
    ContactPositionIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Position: string;
    PositionStartsWith: string;
    PositionEndsWith: string;
    PositionContains: string;
    PositionLike: string;
    PositionBetween: string[];
    PositionIn: string[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<CN_ContactPosition>(); }
    getTypeName() { return "CN_ContactPositionQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CN_DocumentsQuery extends QueryDb<CN_Documents> implements IReturn<QueryResponse<CN_Documents>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ProspectID: string;
    ProspectIDStartsWith: string;
    ProspectIDEndsWith: string;
    ProspectIDContains: string;
    ProspectIDLike: string;
    ProspectIDBetween: string[];
    ProspectIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CN_Documents>(); }
    getTypeName() { return "CN_DocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CN_GroupQuery extends QueryDb<CN_Group> implements IReturn<QueryResponse<CN_Group>>
{
    GroupID: string;
    GroupIDStartsWith: string;
    GroupIDEndsWith: string;
    GroupIDContains: string;
    GroupIDLike: string;
    GroupIDBetween: string[];
    GroupIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    createResponse() { return new QueryResponse<CN_Group>(); }
    getTypeName() { return "CN_GroupQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CN_GroupLinkQuery extends QueryDb<CN_GroupLink> implements IReturn<QueryResponse<CN_GroupLink>>
{
    LinkID: string;
    LinkIDStartsWith: string;
    LinkIDEndsWith: string;
    LinkIDContains: string;
    LinkIDLike: string;
    LinkIDBetween: string[];
    LinkIDIn: string[];
    GroupID: string;
    GroupIDStartsWith: string;
    GroupIDEndsWith: string;
    GroupIDContains: string;
    GroupIDLike: string;
    GroupIDBetween: string[];
    GroupIDIn: string[];
    ProspectID: string;
    ProspectIDStartsWith: string;
    ProspectIDEndsWith: string;
    ProspectIDContains: string;
    ProspectIDLike: string;
    ProspectIDBetween: string[];
    ProspectIDIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    DefaultItem: boolean;
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CN_GroupLink>(); }
    getTypeName() { return "CN_GroupLinkQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CN_MainQuery extends QueryDb<CN_Main> implements IReturn<QueryResponse<CN_Main>>
{
    ProspectID: string;
    ProspectIDStartsWith: string;
    ProspectIDEndsWith: string;
    ProspectIDContains: string;
    ProspectIDLike: string;
    ProspectIDBetween: string[];
    ProspectIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    ProspectNumber: string;
    ProspectNumberStartsWith: string;
    ProspectNumberEndsWith: string;
    ProspectNumberContains: string;
    ProspectNumberLike: string;
    ProspectNumberBetween: string[];
    ProspectNumberIn: string[];
    CompanyName: string;
    CompanyNameStartsWith: string;
    CompanyNameEndsWith: string;
    CompanyNameContains: string;
    CompanyNameLike: string;
    CompanyNameBetween: string[];
    CompanyNameIn: string[];
    Address1: string;
    Address1StartsWith: string;
    Address1EndsWith: string;
    Address1Contains: string;
    Address1Like: string;
    Address1Between: string[];
    Address1In: string[];
    Address2: string;
    Address2StartsWith: string;
    Address2EndsWith: string;
    Address2Contains: string;
    Address2Like: string;
    Address2Between: string[];
    Address2In: string[];
    Address3: string;
    Address3StartsWith: string;
    Address3EndsWith: string;
    Address3Contains: string;
    Address3Like: string;
    Address3Between: string[];
    Address3In: string[];
    State: string;
    StateStartsWith: string;
    StateEndsWith: string;
    StateContains: string;
    StateLike: string;
    StateBetween: string[];
    StateIn: string[];
    PostCode: string;
    PostCodeStartsWith: string;
    PostCodeEndsWith: string;
    PostCodeContains: string;
    PostCodeLike: string;
    PostCodeBetween: string[];
    PostCodeIn: string[];
    Phone: string;
    PhoneStartsWith: string;
    PhoneEndsWith: string;
    PhoneContains: string;
    PhoneLike: string;
    PhoneBetween: string[];
    PhoneIn: string[];
    Fax: string;
    FaxStartsWith: string;
    FaxEndsWith: string;
    FaxContains: string;
    FaxLike: string;
    FaxBetween: string[];
    FaxIn: string[];
    EmailAddress: string;
    EmailAddressStartsWith: string;
    EmailAddressEndsWith: string;
    EmailAddressContains: string;
    EmailAddressLike: string;
    EmailAddressBetween: string[];
    EmailAddressIn: string[];
    CRAccountNo: string;
    CRAccountNoStartsWith: string;
    CRAccountNoEndsWith: string;
    CRAccountNoContains: string;
    CRAccountNoLike: string;
    CRAccountNoBetween: string[];
    CRAccountNoIn: string[];
    DBAccountNo: string;
    DBAccountNoStartsWith: string;
    DBAccountNoEndsWith: string;
    DBAccountNoContains: string;
    DBAccountNoLike: string;
    DBAccountNoBetween: string[];
    DBAccountNoIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    DebtorID: string;
    DebtorIDStartsWith: string;
    DebtorIDEndsWith: string;
    DebtorIDContains: string;
    DebtorIDLike: string;
    DebtorIDBetween: string[];
    DebtorIDIn: string[];
    ExternalAppRecID: string;
    ExternalAppRecIDStartsWith: string;
    ExternalAppRecIDEndsWith: string;
    ExternalAppRecIDContains: string;
    ExternalAppRecIDLike: string;
    ExternalAppRecIDBetween: string[];
    ExternalAppRecIDIn: string[];
    AustPostDPID: string;
    AustPostDPIDStartsWith: string;
    AustPostDPIDEndsWith: string;
    AustPostDPIDContains: string;
    AustPostDPIDLike: string;
    AustPostDPIDBetween: string[];
    AustPostDPIDIn: string[];
    AustPostBCSP: string;
    AustPostBCSPStartsWith: string;
    AustPostBCSPEndsWith: string;
    AustPostBCSPContains: string;
    AustPostBCSPLike: string;
    AustPostBCSPBetween: string[];
    AustPostBCSPIn: string[];
    Country: string;
    CountryStartsWith: string;
    CountryEndsWith: string;
    CountryContains: string;
    CountryLike: string;
    CountryBetween: string[];
    CountryIn: string[];
    createResponse() { return new QueryResponse<CN_Main>(); }
    getTypeName() { return "CN_MainQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CN_NotesQuery extends QueryDb<CN_Notes> implements IReturn<QueryResponse<CN_Notes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    ProspectID: string;
    ProspectIDStartsWith: string;
    ProspectIDEndsWith: string;
    ProspectIDContains: string;
    ProspectIDLike: string;
    ProspectIDBetween: string[];
    ProspectIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CN_Notes>(); }
    getTypeName() { return "CN_NotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CN_SyncLogQuery extends QueryDb<CN_SyncLog> implements IReturn<QueryResponse<CN_SyncLog>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SyncFlag: string;
    SyncFlagStartsWith: string;
    SyncFlagEndsWith: string;
    SyncFlagContains: string;
    SyncFlagLike: string;
    SyncFlagBetween: string[];
    SyncFlagIn: string[];
    createResponse() { return new QueryResponse<CN_SyncLog>(); }
    getTypeName() { return "CN_SyncLogQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_AllocationBatchQuery extends QueryDb<CR_AllocationBatch> implements IReturn<QueryResponse<CR_AllocationBatch>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    StaffID: string;
    StaffIDStartsWith: string;
    StaffIDEndsWith: string;
    StaffIDContains: string;
    StaffIDLike: string;
    StaffIDBetween: string[];
    StaffIDIn: string[];
    BatchDate: string;
    BatchDateGreaterThanOrEqualTo: string;
    BatchDateGreaterThan: string;
    BatchDateLessThan: string;
    BatchDateLessThanOrEqualTo: string;
    BatchDateNotEqualTo: string;
    BatchDateBetween: string[];
    BatchDateIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    createResponse() { return new QueryResponse<CR_AllocationBatch>(); }
    getTypeName() { return "CR_AllocationBatchQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_AllocationBatchTransactionsQuery extends QueryDb<CR_AllocationBatchTransactions> implements IReturn<QueryResponse<CR_AllocationBatchTransactions>>
{
    CR_TransAlloc_AllocID: string;
    CR_TransAlloc_AllocIDStartsWith: string;
    CR_TransAlloc_AllocIDEndsWith: string;
    CR_TransAlloc_AllocIDContains: string;
    CR_TransAlloc_AllocIDLike: string;
    CR_TransAlloc_AllocIDBetween: string[];
    CR_TransAlloc_AllocIDIn: string[];
    CR_AllocationBatch_RecID: string;
    CR_AllocationBatch_RecIDStartsWith: string;
    CR_AllocationBatch_RecIDEndsWith: string;
    CR_AllocationBatch_RecIDContains: string;
    CR_AllocationBatch_RecIDLike: string;
    CR_AllocationBatch_RecIDBetween: string[];
    CR_AllocationBatch_RecIDIn: string[];
    createResponse() { return new QueryResponse<CR_AllocationBatchTransactions>(); }
    getTypeName() { return "CR_AllocationBatchTransactionsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_APIKeyQuery extends QueryDb<CR_APIKey> implements IReturn<QueryResponse<CR_APIKey>>
{
    RecID: string;
    RecIDIn: string[];
    Name: string;
    NameStartsWith: string;
    NameEndsWith: string;
    NameContains: string;
    NameLike: string;
    NameBetween: string[];
    NameIn: string[];
    CR_Main_CreditorID: string;
    CR_Main_CreditorIDStartsWith: string;
    CR_Main_CreditorIDEndsWith: string;
    CR_Main_CreditorIDContains: string;
    CR_Main_CreditorIDLike: string;
    CR_Main_CreditorIDBetween: string[];
    CR_Main_CreditorIDIn: string[];
    HR_Staff_StaffID: string;
    HR_Staff_StaffIDStartsWith: string;
    HR_Staff_StaffIDEndsWith: string;
    HR_Staff_StaffIDContains: string;
    HR_Staff_StaffIDLike: string;
    HR_Staff_StaffIDBetween: string[];
    HR_Staff_StaffIDIn: string[];
    CreatedDateTime: string;
    CreatedDateTimeGreaterThanOrEqualTo: string;
    CreatedDateTimeGreaterThan: string;
    CreatedDateTimeLessThan: string;
    CreatedDateTimeLessThanOrEqualTo: string;
    CreatedDateTimeNotEqualTo: string;
    CreatedDateTimeBetween: string[];
    CreatedDateTimeIn: string[];
    ExpiryDateTime: string;
    ExpiryDateTimeGreaterThanOrEqualTo: string;
    ExpiryDateTimeGreaterThan: string;
    ExpiryDateTimeLessThan: string;
    ExpiryDateTimeLessThanOrEqualTo: string;
    ExpiryDateTimeNotEqualTo: string;
    ExpiryDateTimeBetween: string[];
    ExpiryDateTimeIn: string[];
    CancelledDateTime: string;
    CancelledDateTimeGreaterThanOrEqualTo: string;
    CancelledDateTimeGreaterThan: string;
    CancelledDateTimeLessThan: string;
    CancelledDateTimeLessThanOrEqualTo: string;
    CancelledDateTimeNotEqualTo: string;
    CancelledDateTimeBetween: string[];
    CancelledDateTimeIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    KeyValue: string;
    KeyValueStartsWith: string;
    KeyValueEndsWith: string;
    KeyValueContains: string;
    KeyValueLike: string;
    KeyValueBetween: string[];
    KeyValueIn: string[];
    IsEnabled: boolean;
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    RowHash: Uint8Array;
    createResponse() { return new QueryResponse<CR_APIKey>(); }
    getTypeName() { return "CR_APIKeyQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_AUDITQuery extends QueryDb<CR_AUDIT> implements IReturn<QueryResponse<CR_AUDIT>>
{
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    CreditorTotal: number;
    CreditorTotalGreaterThanOrEqualTo: number;
    CreditorTotalGreaterThan: number;
    CreditorTotalLessThan: number;
    CreditorTotalLessThanOrEqualTo: number;
    CreditorTotalNotEqualTo: number;
    CreditorTotalBetween: number[];
    CreditorTotalIn: number[];
    ReportGroup: string;
    ReportGroupStartsWith: string;
    ReportGroupEndsWith: string;
    ReportGroupContains: string;
    ReportGroupLike: string;
    ReportGroupBetween: string[];
    ReportGroupIn: string[];
    createResponse() { return new QueryResponse<CR_AUDIT>(); }
    getTypeName() { return "CR_AUDITQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_AutoTranQuery extends QueryDb<CR_AutoTran> implements IReturn<QueryResponse<CR_AutoTran>>
{
    CRAutoTranID: string;
    CRAutoTranIDStartsWith: string;
    CRAutoTranIDEndsWith: string;
    CRAutoTranIDContains: string;
    CRAutoTranIDLike: string;
    CRAutoTranIDBetween: string[];
    CRAutoTranIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    RunDateTime: string;
    RunDateTimeGreaterThanOrEqualTo: string;
    RunDateTimeGreaterThan: string;
    RunDateTimeLessThan: string;
    RunDateTimeLessThanOrEqualTo: string;
    RunDateTimeNotEqualTo: string;
    RunDateTimeBetween: string[];
    RunDateTimeIn: string[];
    UserName: string;
    UserNameStartsWith: string;
    UserNameEndsWith: string;
    UserNameContains: string;
    UserNameLike: string;
    UserNameBetween: string[];
    UserNameIn: string[];
    RunNo: string;
    RunNoStartsWith: string;
    RunNoEndsWith: string;
    RunNoContains: string;
    RunNoLike: string;
    RunNoBetween: string[];
    RunNoIn: string[];
    createResponse() { return new QueryResponse<CR_AutoTran>(); }
    getTypeName() { return "CR_AutoTranQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_AutoTranLinesQuery extends QueryDb<CR_AutoTranLines> implements IReturn<QueryResponse<CR_AutoTranLines>>
{
    CRAutoTranLineID: string;
    CRAutoTranLineIDStartsWith: string;
    CRAutoTranLineIDEndsWith: string;
    CRAutoTranLineIDContains: string;
    CRAutoTranLineIDLike: string;
    CRAutoTranLineIDBetween: string[];
    CRAutoTranLineIDIn: string[];
    CRAutoTranID: string;
    CRAutoTranIDStartsWith: string;
    CRAutoTranIDEndsWith: string;
    CRAutoTranIDContains: string;
    CRAutoTranIDLike: string;
    CRAutoTranIDBetween: string[];
    CRAutoTranIDIn: string[];
    SourceCRBatchID: string;
    SourceCRBatchIDStartsWith: string;
    SourceCRBatchIDEndsWith: string;
    SourceCRBatchIDContains: string;
    SourceCRBatchIDLike: string;
    SourceCRBatchIDBetween: string[];
    SourceCRBatchIDIn: string[];
    SourceBatchNo: string;
    SourceBatchNoStartsWith: string;
    SourceBatchNoEndsWith: string;
    SourceBatchNoContains: string;
    SourceBatchNoLike: string;
    SourceBatchNoBetween: string[];
    SourceBatchNoIn: string[];
    SourceReceiptType: number;
    SourceReceiptTypeGreaterThanOrEqualTo: number;
    SourceReceiptTypeGreaterThan: number;
    SourceReceiptTypeLessThan: number;
    SourceReceiptTypeLessThanOrEqualTo: number;
    SourceReceiptTypeNotEqualTo: number;
    SourceReceiptTypeBetween: number[];
    SourceReceiptTypeIn: number[];
    SourceDesc: string;
    SourceDescStartsWith: string;
    SourceDescEndsWith: string;
    SourceDescContains: string;
    SourceDescLike: string;
    SourceDescBetween: string[];
    SourceDescIn: string[];
    PostingDue: string;
    PostingDueGreaterThanOrEqualTo: string;
    PostingDueGreaterThan: string;
    PostingDueLessThan: string;
    PostingDueLessThanOrEqualTo: string;
    PostingDueNotEqualTo: string;
    PostingDueBetween: string[];
    PostingDueIn: string[];
    Reason: string;
    ReasonStartsWith: string;
    ReasonEndsWith: string;
    ReasonContains: string;
    ReasonLike: string;
    ReasonBetween: string[];
    ReasonIn: string[];
    DestCRBatchID: string;
    DestCRBatchIDStartsWith: string;
    DestCRBatchIDEndsWith: string;
    DestCRBatchIDContains: string;
    DestCRBatchIDLike: string;
    DestCRBatchIDBetween: string[];
    DestCRBatchIDIn: string[];
    DestBatchNo: string;
    DestBatchNoStartsWith: string;
    DestBatchNoEndsWith: string;
    DestBatchNoContains: string;
    DestBatchNoLike: string;
    DestBatchNoBetween: string[];
    DestBatchNoIn: string[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_AutoTranLines>(); }
    getTypeName() { return "CR_AutoTranLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_BatchPayLinesQuery extends QueryDb<CR_BatchPayLines> implements IReturn<QueryResponse<CR_BatchPayLines>>
{
    CR_BatchPayLinesID: string;
    CR_BatchPayLinesIDStartsWith: string;
    CR_BatchPayLinesIDEndsWith: string;
    CR_BatchPayLinesIDContains: string;
    CR_BatchPayLinesIDLike: string;
    CR_BatchPayLinesIDBetween: string[];
    CR_BatchPayLinesIDIn: string[];
    CR_BatchPayID: string;
    CR_BatchPayIDStartsWith: string;
    CR_BatchPayIDEndsWith: string;
    CR_BatchPayIDContains: string;
    CR_BatchPayIDLike: string;
    CR_BatchPayIDBetween: string[];
    CR_BatchPayIDIn: string[];
    CR_TransID: string;
    CR_TransIDStartsWith: string;
    CR_TransIDEndsWith: string;
    CR_TransIDContains: string;
    CR_TransIDLike: string;
    CR_TransIDBetween: string[];
    CR_TransIDIn: string[];
    PaymentAmount: number;
    PaymentAmountGreaterThanOrEqualTo: number;
    PaymentAmountGreaterThan: number;
    PaymentAmountLessThan: number;
    PaymentAmountLessThanOrEqualTo: number;
    PaymentAmountNotEqualTo: number;
    PaymentAmountBetween: number[];
    PaymentAmountIn: number[];
    BatchLineNo: number;
    BatchLineNoGreaterThanOrEqualTo: number;
    BatchLineNoGreaterThan: number;
    BatchLineNoLessThan: number;
    BatchLineNoLessThanOrEqualTo: number;
    BatchLineNoNotEqualTo: number;
    BatchLineNoBetween: number[];
    BatchLineNoIn: number[];
    HistoryText: string;
    HistoryTextStartsWith: string;
    HistoryTextEndsWith: string;
    HistoryTextContains: string;
    HistoryTextLike: string;
    HistoryTextBetween: string[];
    HistoryTextIn: string[];
    PaymentTransID: string;
    PaymentTransIDStartsWith: string;
    PaymentTransIDEndsWith: string;
    PaymentTransIDContains: string;
    PaymentTransIDLike: string;
    PaymentTransIDBetween: string[];
    PaymentTransIDIn: string[];
    ChequeNo: string;
    ChequeNoStartsWith: string;
    ChequeNoEndsWith: string;
    ChequeNoContains: string;
    ChequeNoLike: string;
    ChequeNoBetween: string[];
    ChequeNoIn: string[];
    LedgerID: string;
    LedgerIDStartsWith: string;
    LedgerIDEndsWith: string;
    LedgerIDContains: string;
    LedgerIDLike: string;
    LedgerIDBetween: string[];
    LedgerIDIn: string[];
    PaymentFromBankAmount: number;
    PaymentFromBankAmountGreaterThanOrEqualTo: number;
    PaymentFromBankAmountGreaterThan: number;
    PaymentFromBankAmountLessThan: number;
    PaymentFromBankAmountLessThanOrEqualTo: number;
    PaymentFromBankAmountNotEqualTo: number;
    PaymentFromBankAmountBetween: number[];
    PaymentFromBankAmountIn: number[];
    PaymentFXAmount: number;
    PaymentFXAmountGreaterThanOrEqualTo: number;
    PaymentFXAmountGreaterThan: number;
    PaymentFXAmountLessThan: number;
    PaymentFXAmountLessThanOrEqualTo: number;
    PaymentFXAmountNotEqualTo: number;
    PaymentFXAmountBetween: number[];
    PaymentFXAmountIn: number[];
    CurrencyRateUsed: number;
    CurrencyRateUsedGreaterThanOrEqualTo: number;
    CurrencyRateUsedGreaterThan: number;
    CurrencyRateUsedLessThan: number;
    CurrencyRateUsedLessThanOrEqualTo: number;
    CurrencyRateUsedNotEqualTo: number;
    CurrencyRateUsedBetween: number[];
    CurrencyRateUsedIn: number[];
    FXShortCode: string;
    FXShortCodeStartsWith: string;
    FXShortCodeEndsWith: string;
    FXShortCodeContains: string;
    FXShortCodeLike: string;
    FXShortCodeBetween: string[];
    FXShortCodeIn: string[];
    DiscountAmount: number;
    DiscountAmountGreaterThanOrEqualTo: number;
    DiscountAmountGreaterThan: number;
    DiscountAmountLessThan: number;
    DiscountAmountLessThanOrEqualTo: number;
    DiscountAmountNotEqualTo: number;
    DiscountAmountBetween: number[];
    DiscountAmountIn: number[];
    HomeDiscountAmount: number;
    HomeDiscountAmountGreaterThanOrEqualTo: number;
    HomeDiscountAmountGreaterThan: number;
    HomeDiscountAmountLessThan: number;
    HomeDiscountAmountLessThanOrEqualTo: number;
    HomeDiscountAmountNotEqualTo: number;
    HomeDiscountAmountBetween: number[];
    HomeDiscountAmountIn: number[];
    GSTID: string;
    GSTIDStartsWith: string;
    GSTIDEndsWith: string;
    GSTIDContains: string;
    GSTIDLike: string;
    GSTIDBetween: string[];
    GSTIDIn: string[];
    GSTAmount: number;
    GSTAmountGreaterThanOrEqualTo: number;
    GSTAmountGreaterThan: number;
    GSTAmountLessThan: number;
    GSTAmountLessThanOrEqualTo: number;
    GSTAmountNotEqualTo: number;
    GSTAmountBetween: number[];
    GSTAmountIn: number[];
    GSTRate: number;
    GSTRateGreaterThanOrEqualTo: number;
    GSTRateGreaterThan: number;
    GSTRateLessThan: number;
    GSTRateLessThanOrEqualTo: number;
    GSTRateNotEqualTo: number;
    GSTRateBetween: number[];
    GSTRateIn: number[];
    DiscountLedgerID: string;
    DiscountLedgerIDStartsWith: string;
    DiscountLedgerIDEndsWith: string;
    DiscountLedgerIDContains: string;
    DiscountLedgerIDLike: string;
    DiscountLedgerIDBetween: string[];
    DiscountLedgerIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    UnrealisedGainLoss: number;
    UnrealisedGainLossGreaterThanOrEqualTo: number;
    UnrealisedGainLossGreaterThan: number;
    UnrealisedGainLossLessThan: number;
    UnrealisedGainLossLessThanOrEqualTo: number;
    UnrealisedGainLossNotEqualTo: number;
    UnrealisedGainLossBetween: number[];
    UnrealisedGainLossIn: number[];
    RealisedGainLoss: number;
    RealisedGainLossGreaterThanOrEqualTo: number;
    RealisedGainLossGreaterThan: number;
    RealisedGainLossLessThan: number;
    RealisedGainLossLessThanOrEqualTo: number;
    RealisedGainLossNotEqualTo: number;
    RealisedGainLossBetween: number[];
    RealisedGainLossIn: number[];
    PaymentFromBankFXAmount: number;
    PaymentFromBankFXAmountGreaterThanOrEqualTo: number;
    PaymentFromBankFXAmountGreaterThan: number;
    PaymentFromBankFXAmountLessThan: number;
    PaymentFromBankFXAmountLessThanOrEqualTo: number;
    PaymentFromBankFXAmountNotEqualTo: number;
    PaymentFromBankFXAmountBetween: number[];
    PaymentFromBankFXAmountIn: number[];
    BankLedgerID: string;
    BankLedgerIDStartsWith: string;
    BankLedgerIDEndsWith: string;
    BankLedgerIDContains: string;
    BankLedgerIDLike: string;
    BankLedgerIDBetween: string[];
    BankLedgerIDIn: string[];
    FeeAmount: number;
    FeeAmountGreaterThanOrEqualTo: number;
    FeeAmountGreaterThan: number;
    FeeAmountLessThan: number;
    FeeAmountLessThanOrEqualTo: number;
    FeeAmountNotEqualTo: number;
    FeeAmountBetween: number[];
    FeeAmountIn: number[];
    FeeGSTID: string;
    FeeGSTIDStartsWith: string;
    FeeGSTIDEndsWith: string;
    FeeGSTIDContains: string;
    FeeGSTIDLike: string;
    FeeGSTIDBetween: string[];
    FeeGSTIDIn: string[];
    FeeGSTRate: number;
    FeeGSTRateGreaterThanOrEqualTo: number;
    FeeGSTRateGreaterThan: number;
    FeeGSTRateLessThan: number;
    FeeGSTRateLessThanOrEqualTo: number;
    FeeGSTRateNotEqualTo: number;
    FeeGSTRateBetween: number[];
    FeeGSTRateIn: number[];
    FeeGSTAmount: number;
    FeeGSTAmountGreaterThanOrEqualTo: number;
    FeeGSTAmountGreaterThan: number;
    FeeGSTAmountLessThan: number;
    FeeGSTAmountLessThanOrEqualTo: number;
    FeeGSTAmountNotEqualTo: number;
    FeeGSTAmountBetween: number[];
    FeeGSTAmountIn: number[];
    FeeIncGSTAmount: number;
    FeeIncGSTAmountGreaterThanOrEqualTo: number;
    FeeIncGSTAmountGreaterThan: number;
    FeeIncGSTAmountLessThan: number;
    FeeIncGSTAmountLessThanOrEqualTo: number;
    FeeIncGSTAmountNotEqualTo: number;
    FeeIncGSTAmountBetween: number[];
    FeeIncGSTAmountIn: number[];
    LineNumber: number;
    LineNumberGreaterThanOrEqualTo: number;
    LineNumberGreaterThan: number;
    LineNumberLessThan: number;
    LineNumberLessThanOrEqualTo: number;
    LineNumberNotEqualTo: number;
    LineNumberBetween: number[];
    LineNumberIn: number[];
    CR_TransOutstandingAmount: number;
    CR_TransOutstandingAmountGreaterThanOrEqualTo: number;
    CR_TransOutstandingAmountGreaterThan: number;
    CR_TransOutstandingAmountLessThan: number;
    CR_TransOutstandingAmountLessThanOrEqualTo: number;
    CR_TransOutstandingAmountNotEqualTo: number;
    CR_TransOutstandingAmountBetween: number[];
    CR_TransOutstandingAmountIn: number[];
    CR_TransOutstandingFXAmount: number;
    CR_TransOutstandingFXAmountGreaterThanOrEqualTo: number;
    CR_TransOutstandingFXAmountGreaterThan: number;
    CR_TransOutstandingFXAmountLessThan: number;
    CR_TransOutstandingFXAmountLessThanOrEqualTo: number;
    CR_TransOutstandingFXAmountNotEqualTo: number;
    CR_TransOutstandingFXAmountBetween: number[];
    CR_TransOutstandingFXAmountIn: number[];
    EFTReference: string;
    EFTReferenceStartsWith: string;
    EFTReferenceEndsWith: string;
    EFTReferenceContains: string;
    EFTReferenceLike: string;
    EFTReferenceBetween: string[];
    EFTReferenceIn: string[];
    createResponse() { return new QueryResponse<CR_BatchPayLines>(); }
    getTypeName() { return "CR_BatchPayLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_BatchPaymentQuery extends QueryDb<CR_BatchPayment> implements IReturn<QueryResponse<CR_BatchPayment>>
{
    CR_BatchPayID: string;
    CR_BatchPayIDStartsWith: string;
    CR_BatchPayIDEndsWith: string;
    CR_BatchPayIDContains: string;
    CR_BatchPayIDLike: string;
    CR_BatchPayIDBetween: string[];
    CR_BatchPayIDIn: string[];
    BatchNo: string;
    BatchNoStartsWith: string;
    BatchNoEndsWith: string;
    BatchNoContains: string;
    BatchNoLike: string;
    BatchNoBetween: string[];
    BatchNoIn: string[];
    CreationDate: string;
    CreationDateGreaterThanOrEqualTo: string;
    CreationDateGreaterThan: string;
    CreationDateLessThan: string;
    CreationDateLessThanOrEqualTo: string;
    CreationDateNotEqualTo: string;
    CreationDateBetween: string[];
    CreationDateIn: string[];
    ActivationDate: string;
    ActivationDateGreaterThanOrEqualTo: string;
    ActivationDateGreaterThan: string;
    ActivationDateLessThan: string;
    ActivationDateLessThanOrEqualTo: string;
    ActivationDateNotEqualTo: string;
    ActivationDateBetween: string[];
    ActivationDateIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Status: number;
    StatusGreaterThanOrEqualTo: number;
    StatusGreaterThan: number;
    StatusLessThan: number;
    StatusLessThanOrEqualTo: number;
    StatusNotEqualTo: number;
    StatusBetween: number[];
    StatusIn: number[];
    GLBankID: string;
    GLBankIDStartsWith: string;
    GLBankIDEndsWith: string;
    GLBankIDContains: string;
    GLBankIDLike: string;
    GLBankIDBetween: string[];
    GLBankIDIn: string[];
    OneCheque: boolean;
    UseSelectedBank: boolean;
    TypeCheque: boolean;
    StartChequeNo: string;
    StartChequeNoStartsWith: string;
    StartChequeNoEndsWith: string;
    StartChequeNoContains: string;
    StartChequeNoLike: string;
    StartChequeNoBetween: string[];
    StartChequeNoIn: string[];
    CreatedBy_HR_Staff_RecID: string;
    CreatedBy_HR_Staff_RecIDStartsWith: string;
    CreatedBy_HR_Staff_RecIDEndsWith: string;
    CreatedBy_HR_Staff_RecIDContains: string;
    CreatedBy_HR_Staff_RecIDLike: string;
    CreatedBy_HR_Staff_RecIDBetween: string[];
    CreatedBy_HR_Staff_RecIDIn: string[];
    createResponse() { return new QueryResponse<CR_BatchPayment>(); }
    getTypeName() { return "CR_BatchPaymentQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_BatchTranLinesQuery extends QueryDb<CR_BatchTranLines> implements IReturn<QueryResponse<CR_BatchTranLines>>
{
    ReceiptLineID: string;
    ReceiptLineIDStartsWith: string;
    ReceiptLineIDEndsWith: string;
    ReceiptLineIDContains: string;
    ReceiptLineIDLike: string;
    ReceiptLineIDBetween: string[];
    ReceiptLineIDIn: string[];
    ReceiptID: string;
    ReceiptIDStartsWith: string;
    ReceiptIDEndsWith: string;
    ReceiptIDContains: string;
    ReceiptIDLike: string;
    ReceiptIDBetween: string[];
    ReceiptIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    AccountID: string;
    AccountIDStartsWith: string;
    AccountIDEndsWith: string;
    AccountIDContains: string;
    AccountIDLike: string;
    AccountIDBetween: string[];
    AccountIDIn: string[];
    LedgerID: string;
    LedgerIDStartsWith: string;
    LedgerIDEndsWith: string;
    LedgerIDContains: string;
    LedgerIDLike: string;
    LedgerIDBetween: string[];
    LedgerIDIn: string[];
    LineReference: string;
    LineReferenceStartsWith: string;
    LineReferenceEndsWith: string;
    LineReferenceContains: string;
    LineReferenceLike: string;
    LineReferenceBetween: string[];
    LineReferenceIn: string[];
    Remark: string;
    RemarkStartsWith: string;
    RemarkEndsWith: string;
    RemarkContains: string;
    RemarkLike: string;
    RemarkBetween: string[];
    RemarkIn: string[];
    RemitNo: string;
    RemitNoStartsWith: string;
    RemitNoEndsWith: string;
    RemitNoContains: string;
    RemitNoLike: string;
    RemitNoBetween: string[];
    RemitNoIn: string[];
    HomeTransAmount: number;
    HomeTransAmountGreaterThanOrEqualTo: number;
    HomeTransAmountGreaterThan: number;
    HomeTransAmountLessThan: number;
    HomeTransAmountLessThanOrEqualTo: number;
    HomeTransAmountNotEqualTo: number;
    HomeTransAmountBetween: number[];
    HomeTransAmountIn: number[];
    LineNum: number;
    LineNumGreaterThanOrEqualTo: number;
    LineNumGreaterThan: number;
    LineNumLessThan: number;
    LineNumLessThanOrEqualTo: number;
    LineNumNotEqualTo: number;
    LineNumBetween: number[];
    LineNumIn: number[];
    OtherLedgerID: string;
    OtherLedgerIDStartsWith: string;
    OtherLedgerIDEndsWith: string;
    OtherLedgerIDContains: string;
    OtherLedgerIDLike: string;
    OtherLedgerIDBetween: string[];
    OtherLedgerIDIn: string[];
    HomeDispAmount: number;
    HomeDispAmountGreaterThanOrEqualTo: number;
    HomeDispAmountGreaterThan: number;
    HomeDispAmountLessThan: number;
    HomeDispAmountLessThanOrEqualTo: number;
    HomeDispAmountNotEqualTo: number;
    HomeDispAmountBetween: number[];
    HomeDispAmountIn: number[];
    ReceiptDate: string;
    ReceiptDateGreaterThanOrEqualTo: string;
    ReceiptDateGreaterThan: string;
    ReceiptDateLessThan: string;
    ReceiptDateLessThanOrEqualTo: string;
    ReceiptDateNotEqualTo: string;
    ReceiptDateBetween: string[];
    ReceiptDateIn: string[];
    SupplierTransAmount: number;
    SupplierTransAmountGreaterThanOrEqualTo: number;
    SupplierTransAmountGreaterThan: number;
    SupplierTransAmountLessThan: number;
    SupplierTransAmountLessThanOrEqualTo: number;
    SupplierTransAmountNotEqualTo: number;
    SupplierTransAmountBetween: number[];
    SupplierTransAmountIn: number[];
    SupplierDispAmount: number;
    SupplierDispAmountGreaterThanOrEqualTo: number;
    SupplierDispAmountGreaterThan: number;
    SupplierDispAmountLessThan: number;
    SupplierDispAmountLessThanOrEqualTo: number;
    SupplierDispAmountNotEqualTo: number;
    SupplierDispAmountBetween: number[];
    SupplierDispAmountIn: number[];
    CurrencyRateUsed: number;
    CurrencyRateUsedGreaterThanOrEqualTo: number;
    CurrencyRateUsedGreaterThan: number;
    CurrencyRateUsedLessThan: number;
    CurrencyRateUsedLessThanOrEqualTo: number;
    CurrencyRateUsedNotEqualTo: number;
    CurrencyRateUsedBetween: number[];
    CurrencyRateUsedIn: number[];
    TaxID: string;
    TaxIDStartsWith: string;
    TaxIDEndsWith: string;
    TaxIDContains: string;
    TaxIDLike: string;
    TaxIDBetween: string[];
    TaxIDIn: string[];
    TaxRate: number;
    TaxRateGreaterThanOrEqualTo: number;
    TaxRateGreaterThan: number;
    TaxRateLessThan: number;
    TaxRateLessThanOrEqualTo: number;
    TaxRateNotEqualTo: number;
    TaxRateBetween: number[];
    TaxRateIn: number[];
    TaxAmount: number;
    TaxAmountGreaterThanOrEqualTo: number;
    TaxAmountGreaterThan: number;
    TaxAmountLessThan: number;
    TaxAmountLessThanOrEqualTo: number;
    TaxAmountNotEqualTo: number;
    TaxAmountBetween: number[];
    TaxAmountIn: number[];
    DueDate: string;
    DueDateGreaterThanOrEqualTo: string;
    DueDateGreaterThan: string;
    DueDateLessThan: string;
    DueDateLessThanOrEqualTo: string;
    DueDateNotEqualTo: string;
    DueDateBetween: string[];
    DueDateIn: string[];
    HomeDispAmountIncGST: number;
    HomeDispAmountIncGSTGreaterThanOrEqualTo: number;
    HomeDispAmountIncGSTGreaterThan: number;
    HomeDispAmountIncGSTLessThan: number;
    HomeDispAmountIncGSTLessThanOrEqualTo: number;
    HomeDispAmountIncGSTNotEqualTo: number;
    HomeDispAmountIncGSTBetween: number[];
    HomeDispAmountIncGSTIn: number[];
    CurrencyID: string;
    CurrencyIDStartsWith: string;
    CurrencyIDEndsWith: string;
    CurrencyIDContains: string;
    CurrencyIDLike: string;
    CurrencyIDBetween: string[];
    CurrencyIDIn: string[];
    JobChargeAmount: number;
    JobChargeAmountGreaterThanOrEqualTo: number;
    JobChargeAmountGreaterThan: number;
    JobChargeAmountLessThan: number;
    JobChargeAmountLessThanOrEqualTo: number;
    JobChargeAmountNotEqualTo: number;
    JobChargeAmountBetween: number[];
    JobChargeAmountIn: number[];
    JB_JobStages_RecID: string;
    JB_JobStages_RecIDStartsWith: string;
    JB_JobStages_RecIDEndsWith: string;
    JB_JobStages_RecIDContains: string;
    JB_JobStages_RecIDLike: string;
    JB_JobStages_RecIDBetween: string[];
    JB_JobStages_RecIDIn: string[];
    createResponse() { return new QueryResponse<CR_BatchTranLines>(); }
    getTypeName() { return "CR_BatchTranLinesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_BatchTransQuery extends QueryDb<CR_BatchTrans> implements IReturn<QueryResponse<CR_BatchTrans>>
{
    ReceiptID: string;
    ReceiptIDStartsWith: string;
    ReceiptIDEndsWith: string;
    ReceiptIDContains: string;
    ReceiptIDLike: string;
    ReceiptIDBetween: string[];
    ReceiptIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    JiwaUser: string;
    JiwaUserStartsWith: string;
    JiwaUserEndsWith: string;
    JiwaUserContains: string;
    JiwaUserLike: string;
    JiwaUserBetween: string[];
    JiwaUserIn: string[];
    ReceiptDate: string;
    ReceiptDateGreaterThanOrEqualTo: string;
    ReceiptDateGreaterThan: string;
    ReceiptDateLessThan: string;
    ReceiptDateLessThanOrEqualTo: string;
    ReceiptDateNotEqualTo: string;
    ReceiptDateBetween: string[];
    ReceiptDateIn: string[];
    BatchNum: string;
    BatchNumStartsWith: string;
    BatchNumEndsWith: string;
    BatchNumContains: string;
    BatchNumLike: string;
    BatchNumBetween: string[];
    BatchNumIn: string[];
    ReceiptType: number;
    ReceiptTypeGreaterThanOrEqualTo: number;
    ReceiptTypeGreaterThan: number;
    ReceiptTypeLessThan: number;
    ReceiptTypeLessThanOrEqualTo: number;
    ReceiptTypeNotEqualTo: number;
    ReceiptTypeBetween: number[];
    ReceiptTypeIn: number[];
    ReceiptStatus: number;
    ReceiptStatusGreaterThanOrEqualTo: number;
    ReceiptStatusGreaterThan: number;
    ReceiptStatusLessThan: number;
    ReceiptStatusLessThanOrEqualTo: number;
    ReceiptStatusNotEqualTo: number;
    ReceiptStatusBetween: number[];
    ReceiptStatusIn: number[];
    BatchType: number;
    BatchTypeGreaterThanOrEqualTo: number;
    BatchTypeGreaterThan: number;
    BatchTypeLessThan: number;
    BatchTypeLessThanOrEqualTo: number;
    BatchTypeNotEqualTo: number;
    BatchTypeBetween: number[];
    BatchTypeIn: number[];
    RepeatingType: number;
    RepeatingTypeGreaterThanOrEqualTo: number;
    RepeatingTypeGreaterThan: number;
    RepeatingTypeLessThan: number;
    RepeatingTypeLessThanOrEqualTo: number;
    RepeatingTypeNotEqualTo: number;
    RepeatingTypeBetween: number[];
    RepeatingTypeIn: number[];
    RepeatingUnits: number;
    RepeatingUnitsGreaterThanOrEqualTo: number;
    RepeatingUnitsGreaterThan: number;
    RepeatingUnitsLessThan: number;
    RepeatingUnitsLessThanOrEqualTo: number;
    RepeatingUnitsNotEqualTo: number;
    RepeatingUnitsBetween: number[];
    RepeatingUnitsIn: number[];
    NextRepeatingDate: string;
    NextRepeatingDateGreaterThanOrEqualTo: string;
    NextRepeatingDateGreaterThan: string;
    NextRepeatingDateLessThan: string;
    NextRepeatingDateLessThanOrEqualTo: string;
    NextRepeatingDateNotEqualTo: string;
    NextRepeatingDateBetween: string[];
    NextRepeatingDateIn: string[];
    RepeatingWillEnd: boolean;
    RepeatingEndDate: string;
    RepeatingEndDateGreaterThanOrEqualTo: string;
    RepeatingEndDateGreaterThan: string;
    RepeatingEndDateLessThan: string;
    RepeatingEndDateLessThanOrEqualTo: string;
    RepeatingEndDateNotEqualTo: string;
    RepeatingEndDateBetween: string[];
    RepeatingEndDateIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    createResponse() { return new QueryResponse<CR_BatchTrans>(); }
    getTypeName() { return "CR_BatchTransQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_BatchTransDocumentsQuery extends QueryDb<CR_BatchTransDocuments> implements IReturn<QueryResponse<CR_BatchTransDocuments>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_BatchTrans_ReceiptID: string;
    CR_BatchTrans_ReceiptIDStartsWith: string;
    CR_BatchTrans_ReceiptIDEndsWith: string;
    CR_BatchTrans_ReceiptIDContains: string;
    CR_BatchTrans_ReceiptIDLike: string;
    CR_BatchTrans_ReceiptIDBetween: string[];
    CR_BatchTrans_ReceiptIDIn: string[];
    DocumentTypeID: string;
    DocumentTypeIDStartsWith: string;
    DocumentTypeIDEndsWith: string;
    DocumentTypeIDContains: string;
    DocumentTypeIDLike: string;
    DocumentTypeIDBetween: string[];
    DocumentTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    FileBinary: Uint8Array;
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    PhysicalFileName: string;
    PhysicalFileNameStartsWith: string;
    PhysicalFileNameEndsWith: string;
    PhysicalFileNameContains: string;
    PhysicalFileNameLike: string;
    PhysicalFileNameBetween: string[];
    PhysicalFileNameIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CR_BatchTransDocuments>(); }
    getTypeName() { return "CR_BatchTransDocumentsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_BatchTransNotesQuery extends QueryDb<CR_BatchTransNotes> implements IReturn<QueryResponse<CR_BatchTransNotes>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_BatchTrans_ReceiptID: string;
    CR_BatchTrans_ReceiptIDStartsWith: string;
    CR_BatchTrans_ReceiptIDEndsWith: string;
    CR_BatchTrans_ReceiptIDContains: string;
    CR_BatchTrans_ReceiptIDLike: string;
    CR_BatchTrans_ReceiptIDBetween: string[];
    CR_BatchTrans_ReceiptIDIn: string[];
    NoteTypeID: string;
    NoteTypeIDStartsWith: string;
    NoteTypeIDEndsWith: string;
    NoteTypeIDContains: string;
    NoteTypeIDLike: string;
    NoteTypeIDBetween: string[];
    NoteTypeIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    LastSavedByStaffID: string;
    LastSavedByStaffIDStartsWith: string;
    LastSavedByStaffIDEndsWith: string;
    LastSavedByStaffIDContains: string;
    LastSavedByStaffIDLike: string;
    LastSavedByStaffIDBetween: string[];
    LastSavedByStaffIDIn: string[];
    NoteText: string;
    NoteTextStartsWith: string;
    NoteTextEndsWith: string;
    NoteTextContains: string;
    NoteTextLike: string;
    NoteTextBetween: string[];
    NoteTextIn: string[];
    ItemNo: number;
    ItemNoGreaterThanOrEqualTo: number;
    ItemNoGreaterThan: number;
    ItemNoLessThan: number;
    ItemNoLessThanOrEqualTo: number;
    ItemNoNotEqualTo: number;
    ItemNoBetween: number[];
    ItemNoIn: number[];
    createResponse() { return new QueryResponse<CR_BatchTransNotes>(); }
    getTypeName() { return "CR_BatchTransNotesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_ClassificationQuery extends QueryDb<CR_Classification> implements IReturn<QueryResponse<CR_Classification>>
{
    CreditorClassificationID: string;
    CreditorClassificationIDStartsWith: string;
    CreditorClassificationIDEndsWith: string;
    CreditorClassificationIDContains: string;
    CreditorClassificationIDLike: string;
    CreditorClassificationIDBetween: string[];
    CreditorClassificationIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    Description: string;
    DescriptionStartsWith: string;
    DescriptionEndsWith: string;
    DescriptionContains: string;
    DescriptionLike: string;
    DescriptionBetween: string[];
    DescriptionIn: string[];
    LedgerIDCreditorControl: string;
    LedgerIDCreditorControlStartsWith: string;
    LedgerIDCreditorControlEndsWith: string;
    LedgerIDCreditorControlContains: string;
    LedgerIDCreditorControlLike: string;
    LedgerIDCreditorControlBetween: string[];
    LedgerIDCreditorControlIn: string[];
    LedgerIDCreditorPurchases: string;
    LedgerIDCreditorPurchasesStartsWith: string;
    LedgerIDCreditorPurchasesEndsWith: string;
    LedgerIDCreditorPurchasesContains: string;
    LedgerIDCreditorPurchasesLike: string;
    LedgerIDCreditorPurchasesBetween: string[];
    LedgerIDCreditorPurchasesIn: string[];
    LedgerIDCreditorDiscounts: string;
    LedgerIDCreditorDiscountsStartsWith: string;
    LedgerIDCreditorDiscountsEndsWith: string;
    LedgerIDCreditorDiscountsContains: string;
    LedgerIDCreditorDiscountsLike: string;
    LedgerIDCreditorDiscountsBetween: string[];
    LedgerIDCreditorDiscountsIn: string[];
    LedgerIDCreditorSourcedPayments: string;
    LedgerIDCreditorSourcedPaymentsStartsWith: string;
    LedgerIDCreditorSourcedPaymentsEndsWith: string;
    LedgerIDCreditorSourcedPaymentsContains: string;
    LedgerIDCreditorSourcedPaymentsLike: string;
    LedgerIDCreditorSourcedPaymentsBetween: string[];
    LedgerIDCreditorSourcedPaymentsIn: string[];
    LedgerIDCreditorSourcedDebitAdjustment: string;
    LedgerIDCreditorSourcedDebitAdjustmentStartsWith: string;
    LedgerIDCreditorSourcedDebitAdjustmentEndsWith: string;
    LedgerIDCreditorSourcedDebitAdjustmentContains: string;
    LedgerIDCreditorSourcedDebitAdjustmentLike: string;
    LedgerIDCreditorSourcedDebitAdjustmentBetween: string[];
    LedgerIDCreditorSourcedDebitAdjustmentIn: string[];
    LedgerIDCreditorSourcedPurchase: string;
    LedgerIDCreditorSourcedPurchaseStartsWith: string;
    LedgerIDCreditorSourcedPurchaseEndsWith: string;
    LedgerIDCreditorSourcedPurchaseContains: string;
    LedgerIDCreditorSourcedPurchaseLike: string;
    LedgerIDCreditorSourcedPurchaseBetween: string[];
    LedgerIDCreditorSourcedPurchaseIn: string[];
    LedgerIDCreditorSourcedCreditAdjustment: string;
    LedgerIDCreditorSourcedCreditAdjustmentStartsWith: string;
    LedgerIDCreditorSourcedCreditAdjustmentEndsWith: string;
    LedgerIDCreditorSourcedCreditAdjustmentContains: string;
    LedgerIDCreditorSourcedCreditAdjustmentLike: string;
    LedgerIDCreditorSourcedCreditAdjustmentBetween: string[];
    LedgerIDCreditorSourcedCreditAdjustmentIn: string[];
    LedgerIDCreditorFreight: string;
    LedgerIDCreditorFreightStartsWith: string;
    LedgerIDCreditorFreightEndsWith: string;
    LedgerIDCreditorFreightContains: string;
    LedgerIDCreditorFreightLike: string;
    LedgerIDCreditorFreightBetween: string[];
    LedgerIDCreditorFreightIn: string[];
    LedgerIDCreditorInsurance: string;
    LedgerIDCreditorInsuranceStartsWith: string;
    LedgerIDCreditorInsuranceEndsWith: string;
    LedgerIDCreditorInsuranceContains: string;
    LedgerIDCreditorInsuranceLike: string;
    LedgerIDCreditorInsuranceBetween: string[];
    LedgerIDCreditorInsuranceIn: string[];
    LedgerIDCreditorDuty: string;
    LedgerIDCreditorDutyStartsWith: string;
    LedgerIDCreditorDutyEndsWith: string;
    LedgerIDCreditorDutyContains: string;
    LedgerIDCreditorDutyLike: string;
    LedgerIDCreditorDutyBetween: string[];
    LedgerIDCreditorDutyIn: string[];
    LedgerIDCreditorRealisedGainLoss: string;
    LedgerIDCreditorRealisedGainLossStartsWith: string;
    LedgerIDCreditorRealisedGainLossEndsWith: string;
    LedgerIDCreditorRealisedGainLossContains: string;
    LedgerIDCreditorRealisedGainLossLike: string;
    LedgerIDCreditorRealisedGainLossBetween: string[];
    LedgerIDCreditorRealisedGainLossIn: string[];
    LedgerIDCreditorUnRealisedGainLoss: string;
    LedgerIDCreditorUnRealisedGainLossStartsWith: string;
    LedgerIDCreditorUnRealisedGainLossEndsWith: string;
    LedgerIDCreditorUnRealisedGainLossContains: string;
    LedgerIDCreditorUnRealisedGainLossLike: string;
    LedgerIDCreditorUnRealisedGainLossBetween: string[];
    LedgerIDCreditorUnRealisedGainLossIn: string[];
    TermsDays: number;
    TermsDaysGreaterThanOrEqualTo: number;
    TermsDaysGreaterThan: number;
    TermsDaysLessThan: number;
    TermsDaysLessThanOrEqualTo: number;
    TermsDaysNotEqualTo: number;
    TermsDaysBetween: number[];
    TermsDaysIn: number[];
    TermsType: number;
    TermsTypeGreaterThanOrEqualTo: number;
    TermsTypeGreaterThan: number;
    TermsTypeLessThan: number;
    TermsTypeLessThanOrEqualTo: number;
    TermsTypeNotEqualTo: number;
    TermsTypeBetween: number[];
    TermsTypeIn: number[];
    PO_Workflows_RecID: string;
    PO_Workflows_RecIDStartsWith: string;
    PO_Workflows_RecIDEndsWith: string;
    PO_Workflows_RecIDContains: string;
    PO_Workflows_RecIDLike: string;
    PO_Workflows_RecIDBetween: string[];
    PO_Workflows_RecIDIn: string[];
    IsDefault: boolean;
    createResponse() { return new QueryResponse<CR_Classification>(); }
    getTypeName() { return "CR_ClassificationQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditAdjustmentCustomSettingQuery extends QueryDb<CR_CreditAdjustmentCustomSetting> implements IReturn<QueryResponse<CR_CreditAdjustmentCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<CR_CreditAdjustmentCustomSetting>(); }
    getTypeName() { return "CR_CreditAdjustmentCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditAdjustmentCustomSettingValuesQuery extends QueryDb<CR_CreditAdjustmentCustomSettingValues> implements IReturn<QueryResponse<CR_CreditAdjustmentCustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    CR_BatchTrans_ReceiptID: string;
    CR_BatchTrans_ReceiptIDStartsWith: string;
    CR_BatchTrans_ReceiptIDEndsWith: string;
    CR_BatchTrans_ReceiptIDContains: string;
    CR_BatchTrans_ReceiptIDLike: string;
    CR_BatchTrans_ReceiptIDBetween: string[];
    CR_BatchTrans_ReceiptIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_CreditAdjustmentCustomSettingValues>(); }
    getTypeName() { return "CR_CreditAdjustmentCustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditorCreditAdjustmentLineCustomFieldsQuery extends QueryDb<CR_CreditorCreditAdjustmentLineCustomFields> implements IReturn<QueryResponse<CR_CreditorCreditAdjustmentLineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<CR_CreditorCreditAdjustmentLineCustomFields>(); }
    getTypeName() { return "CR_CreditorCreditAdjustmentLineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditorCreditAdjustmentLineCustomValuesQuery extends QueryDb<CR_CreditorCreditAdjustmentLineCustomValues> implements IReturn<QueryResponse<CR_CreditorCreditAdjustmentLineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_CreditorCreditAdjustmentLines_RecID: string;
    CR_CreditorCreditAdjustmentLines_RecIDStartsWith: string;
    CR_CreditorCreditAdjustmentLines_RecIDEndsWith: string;
    CR_CreditorCreditAdjustmentLines_RecIDContains: string;
    CR_CreditorCreditAdjustmentLines_RecIDLike: string;
    CR_CreditorCreditAdjustmentLines_RecIDBetween: string[];
    CR_CreditorCreditAdjustmentLines_RecIDIn: string[];
    CR_CreditorCreditAdjustmentLineCustomFields_RecID: string;
    CR_CreditorCreditAdjustmentLineCustomFields_RecIDStartsWith: string;
    CR_CreditorCreditAdjustmentLineCustomFields_RecIDEndsWith: string;
    CR_CreditorCreditAdjustmentLineCustomFields_RecIDContains: string;
    CR_CreditorCreditAdjustmentLineCustomFields_RecIDLike: string;
    CR_CreditorCreditAdjustmentLineCustomFields_RecIDBetween: string[];
    CR_CreditorCreditAdjustmentLineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_CreditorCreditAdjustmentLineCustomValues>(); }
    getTypeName() { return "CR_CreditorCreditAdjustmentLineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditorDebitAdjustmentLineCustomFieldsQuery extends QueryDb<CR_CreditorDebitAdjustmentLineCustomFields> implements IReturn<QueryResponse<CR_CreditorDebitAdjustmentLineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<CR_CreditorDebitAdjustmentLineCustomFields>(); }
    getTypeName() { return "CR_CreditorDebitAdjustmentLineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditorDebitAdjustmentLineCustomValuesQuery extends QueryDb<CR_CreditorDebitAdjustmentLineCustomValues> implements IReturn<QueryResponse<CR_CreditorDebitAdjustmentLineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_CreditorDebitAdjustmentLines_RecID: string;
    CR_CreditorDebitAdjustmentLines_RecIDStartsWith: string;
    CR_CreditorDebitAdjustmentLines_RecIDEndsWith: string;
    CR_CreditorDebitAdjustmentLines_RecIDContains: string;
    CR_CreditorDebitAdjustmentLines_RecIDLike: string;
    CR_CreditorDebitAdjustmentLines_RecIDBetween: string[];
    CR_CreditorDebitAdjustmentLines_RecIDIn: string[];
    CR_CreditorDebitAdjustmentLineCustomFields_RecID: string;
    CR_CreditorDebitAdjustmentLineCustomFields_RecIDStartsWith: string;
    CR_CreditorDebitAdjustmentLineCustomFields_RecIDEndsWith: string;
    CR_CreditorDebitAdjustmentLineCustomFields_RecIDContains: string;
    CR_CreditorDebitAdjustmentLineCustomFields_RecIDLike: string;
    CR_CreditorDebitAdjustmentLineCustomFields_RecIDBetween: string[];
    CR_CreditorDebitAdjustmentLineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_CreditorDebitAdjustmentLineCustomValues>(); }
    getTypeName() { return "CR_CreditorDebitAdjustmentLineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditorPaymentLineCustomFieldsQuery extends QueryDb<CR_CreditorPaymentLineCustomFields> implements IReturn<QueryResponse<CR_CreditorPaymentLineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<CR_CreditorPaymentLineCustomFields>(); }
    getTypeName() { return "CR_CreditorPaymentLineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditorPaymentLineCustomValuesQuery extends QueryDb<CR_CreditorPaymentLineCustomValues> implements IReturn<QueryResponse<CR_CreditorPaymentLineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_CreditorPaymentLines_RecID: string;
    CR_CreditorPaymentLines_RecIDStartsWith: string;
    CR_CreditorPaymentLines_RecIDEndsWith: string;
    CR_CreditorPaymentLines_RecIDContains: string;
    CR_CreditorPaymentLines_RecIDLike: string;
    CR_CreditorPaymentLines_RecIDBetween: string[];
    CR_CreditorPaymentLines_RecIDIn: string[];
    CR_CreditorPaymentLineCustomFields_RecID: string;
    CR_CreditorPaymentLineCustomFields_RecIDStartsWith: string;
    CR_CreditorPaymentLineCustomFields_RecIDEndsWith: string;
    CR_CreditorPaymentLineCustomFields_RecIDContains: string;
    CR_CreditorPaymentLineCustomFields_RecIDLike: string;
    CR_CreditorPaymentLineCustomFields_RecIDBetween: string[];
    CR_CreditorPaymentLineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_CreditorPaymentLineCustomValues>(); }
    getTypeName() { return "CR_CreditorPaymentLineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditorPurchaseLineCustomFieldsQuery extends QueryDb<CR_CreditorPurchaseLineCustomFields> implements IReturn<QueryResponse<CR_CreditorPurchaseLineCustomFields>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    FieldParameter: string;
    FieldParameterStartsWith: string;
    FieldParameterEndsWith: string;
    FieldParameterContains: string;
    FieldParameterLike: string;
    FieldParameterBetween: string[];
    FieldParameterIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    createResponse() { return new QueryResponse<CR_CreditorPurchaseLineCustomFields>(); }
    getTypeName() { return "CR_CreditorPurchaseLineCustomFieldsQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CreditorPurchaseLineCustomValuesQuery extends QueryDb<CR_CreditorPurchaseLineCustomValues> implements IReturn<QueryResponse<CR_CreditorPurchaseLineCustomValues>>
{
    RecID: string;
    RecIDStartsWith: string;
    RecIDEndsWith: string;
    RecIDContains: string;
    RecIDLike: string;
    RecIDBetween: string[];
    RecIDIn: string[];
    CR_CreditorPurchaseLines_RecID: string;
    CR_CreditorPurchaseLines_RecIDStartsWith: string;
    CR_CreditorPurchaseLines_RecIDEndsWith: string;
    CR_CreditorPurchaseLines_RecIDContains: string;
    CR_CreditorPurchaseLines_RecIDLike: string;
    CR_CreditorPurchaseLines_RecIDBetween: string[];
    CR_CreditorPurchaseLines_RecIDIn: string[];
    CR_CreditorPurchaseLineCustomFields_RecID: string;
    CR_CreditorPurchaseLineCustomFields_RecIDStartsWith: string;
    CR_CreditorPurchaseLineCustomFields_RecIDEndsWith: string;
    CR_CreditorPurchaseLineCustomFields_RecIDContains: string;
    CR_CreditorPurchaseLineCustomFields_RecIDLike: string;
    CR_CreditorPurchaseLineCustomFields_RecIDBetween: string[];
    CR_CreditorPurchaseLineCustomFields_RecIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_CreditorPurchaseLineCustomValues>(); }
    getTypeName() { return "CR_CreditorPurchaseLineCustomValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CustomSettingQuery extends QueryDb<CR_CustomSetting> implements IReturn<QueryResponse<CR_CustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<CR_CustomSetting>(); }
    getTypeName() { return "CR_CustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_CustomSettingValuesQuery extends QueryDb<CR_CustomSettingValues> implements IReturn<QueryResponse<CR_CustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    CreditorID: string;
    CreditorIDStartsWith: string;
    CreditorIDEndsWith: string;
    CreditorIDContains: string;
    CreditorIDLike: string;
    CreditorIDBetween: string[];
    CreditorIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_CustomSettingValues>(); }
    getTypeName() { return "CR_CustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_DebitAdjustmentCustomSettingQuery extends QueryDb<CR_DebitAdjustmentCustomSetting> implements IReturn<QueryResponse<CR_DebitAdjustmentCustomSetting>>
{
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    SettingDescription: string;
    SettingDescriptionStartsWith: string;
    SettingDescriptionEndsWith: string;
    SettingDescriptionContains: string;
    SettingDescriptionLike: string;
    SettingDescriptionBetween: string[];
    SettingDescriptionIn: string[];
    SettingName: string;
    SettingNameStartsWith: string;
    SettingNameEndsWith: string;
    SettingNameContains: string;
    SettingNameLike: string;
    SettingNameBetween: string[];
    SettingNameIn: string[];
    DisplayOrder: number;
    DisplayOrderGreaterThanOrEqualTo: number;
    DisplayOrderGreaterThan: number;
    DisplayOrderLessThan: number;
    DisplayOrderLessThanOrEqualTo: number;
    DisplayOrderNotEqualTo: number;
    DisplayOrderBetween: number[];
    DisplayOrderIn: number[];
    CellType: number;
    CellTypeGreaterThanOrEqualTo: number;
    CellTypeGreaterThan: number;
    CellTypeLessThan: number;
    CellTypeLessThanOrEqualTo: number;
    CellTypeNotEqualTo: number;
    CellTypeBetween: number[];
    CellTypeIn: number[];
    ScriptFormatCell: string;
    ScriptFormatCellStartsWith: string;
    ScriptFormatCellEndsWith: string;
    ScriptFormatCellContains: string;
    ScriptFormatCellLike: string;
    ScriptFormatCellBetween: string[];
    ScriptFormatCellIn: string[];
    ScriptButtonClicked: string;
    ScriptButtonClickedStartsWith: string;
    ScriptButtonClickedEndsWith: string;
    ScriptButtonClickedContains: string;
    ScriptButtonClickedLike: string;
    ScriptButtonClickedBetween: string[];
    ScriptButtonClickedIn: string[];
    ScriptReadData: string;
    ScriptReadDataStartsWith: string;
    ScriptReadDataEndsWith: string;
    ScriptReadDataContains: string;
    ScriptReadDataLike: string;
    ScriptReadDataBetween: string[];
    ScriptReadDataIn: string[];
    GridHandlerCode: string;
    GridHandlerCodeStartsWith: string;
    GridHandlerCodeEndsWith: string;
    GridHandlerCodeContains: string;
    GridHandlerCodeLike: string;
    GridHandlerCodeBetween: string[];
    GridHandlerCodeIn: string[];
    SY_Plugin_RecID: string;
    SY_Plugin_RecIDIn: string[];
    createResponse() { return new QueryResponse<CR_DebitAdjustmentCustomSetting>(); }
    getTypeName() { return "CR_DebitAdjustmentCustomSettingQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_DebitAdjustmentCustomSettingValuesQuery extends QueryDb<CR_DebitAdjustmentCustomSettingValues> implements IReturn<QueryResponse<CR_DebitAdjustmentCustomSettingValues>>
{
    SettingValueID: string;
    SettingValueIDStartsWith: string;
    SettingValueIDEndsWith: string;
    SettingValueIDContains: string;
    SettingValueIDLike: string;
    SettingValueIDBetween: string[];
    SettingValueIDIn: string[];
    SettingID: string;
    SettingIDStartsWith: string;
    SettingIDEndsWith: string;
    SettingIDContains: string;
    SettingIDLike: string;
    SettingIDBetween: string[];
    SettingIDIn: string[];
    CR_BatchTrans_ReceiptID: string;
    CR_BatchTrans_ReceiptIDStartsWith: string;
    CR_BatchTrans_ReceiptIDEndsWith: string;
    CR_BatchTrans_ReceiptIDContains: string;
    CR_BatchTrans_ReceiptIDLike: string;
    CR_BatchTrans_ReceiptIDBetween: string[];
    CR_BatchTrans_ReceiptIDIn: string[];
    Contents: string;
    ContentsStartsWith: string;
    ContentsEndsWith: string;
    ContentsContains: string;
    ContentsLike: string;
    ContentsBetween: string[];
    ContentsIn: string[];
    LastSavedDateTime: string;
    LastSavedDateTimeGreaterThanOrEqualTo: string;
    LastSavedDateTimeGreaterThan: string;
    LastSavedDateTimeLessThan: string;
    LastSavedDateTimeLessThanOrEqualTo: string;
    LastSavedDateTimeNotEqualTo: string;
    LastSavedDateTimeBetween: string[];
    LastSavedDateTimeIn: string[];
    createResponse() { return new QueryResponse<CR_DebitAdjustmentCustomSettingValues>(); }
    getTypeName() { return "CR_DebitAdjustmentCustomSettingValuesQuery"; }
}

// @ApiResponse(Description="Read OK", StatusCode=200)
// @ApiResponse(Description="Not authenticated", StatusCode=401)
// @ApiResponse(Description="Not authorised", StatusCode=403)
export class CR_DetailedGLAuditQuery extends QueryDb<CR_DetailedGLAudit> implements IReturn<QueryResponse<CR_DetailedGLAudit>>
{
    ReceiptID: string;
    ReceiptIDStartsWith: string;
    ReceiptIDEndsWith: string;
    ReceiptIDContains: string;
    ReceiptIDLike: string;
    ReceiptIDBetween: string[];
    ReceiptIDIn: string[];
    AccountID: string;
    AccountIDStartsWith: string;
    AccountIDEndsWith: string;
    AccountIDContains: string;
    AccountIDLike: string;
    AccountIDBetween: string[];
    AccountIDIn: string[];
    CRAccountNo: string;
    CRAccountNoStartsWith: string;
    CRAccountNoEndsWith: string;
    CRAccountNoContains: string;
    CRAccountNoLike: string;
    CRAccountNoBetween: string[];
    CRAccountNoIn: string[];
    RemitNo: string;
    RemitNoStartsWith: string;
    RemitNoEndsWith: string;
    RemitNoContains: string;
    RemitNoLike: string;
    RemitNoBetween: string[];
    RemitNoIn: string[];
    ReceiptDate: string;
    ReceiptDateGreaterThanOrEqualTo: string;
    ReceiptDateGreaterThan: string;
    ReceiptDateLessThan: string;
    ReceiptDateLessThanOrEqualTo: string;
    ReceiptDateNotEqualTo: string;
    ReceiptDateBetween: string[];
    ReceiptDateIn: string[];
    HomeTransAmount: number;
    HomeTransAmountGreaterThanOrEqualTo: number;
    HomeTransAmountGreaterThan: number;
    HomeTransAmountLessThan: number;
    HomeTransAmountLessThanOrEqualTo: number;
    HomeTransAmountNotEqualTo: number;
    HomeTransAmountBetween: number[];
    HomeTransAmountIn: number[];
    SourceID: string;
    SourceIDStartsWith: string;
    SourceIDEndsWith: string;
    SourceIDContains: string;
    SourceIDLike: string;
    SourceIDBetween: string[];
    SourceIDIn: string[];
    SetType: number;
    SetTypeGreaterThanOrEqualTo: number;
    SetTypeGreaterThan: number;
    SetTypeLessThan: number;
    SetTypeLessThanOrEqualTo: number;
    SetTypeNotEqualTo: number;
    SetTypeBetween: number[];
    SetTypeIn: number[];
    GLSetID: string;
    GLSetIDStartsWith: string;
    GLSetIDEndsWith: string;
    GLSetIDContains: string;
    GLSetIDLike: string;
    GLSetIDBetween: string[];
    GLSetIDIn: string[];
    GLAccountNo: string;
    GLAccountNoStartsWith: string;
    GLAccountNoEndsWith: string;
    GLAccountNoContains: string;
    GLAccountNoLike: string;
    GLAccountNoBetween: string[];
    GLAccountNoIn: string[];
    Ref: string;
    RefStartsWith: string;
    RefEndsWith: string;
    RefContains: string;
    RefLike: string;
    RefBetween: string[];
    RefIn: string[];
    GLTransAmount: number;
    GLTransAmountGreaterThanOrEqualTo: number;
    GLTransAmountGreaterThan: number;
    GLTransAmountLessThan: number;
    GLTransAmountLessThanOrEqualTo: number;
    GLTransAmountNotEqualTo: number;
    GLTransAmountBetween: number[];
    GLTransAmountIn: number[];
    createResponse() { return new QueryResponse<CR_DetailedGLAudit>(); }
    getTypeName() { return "CR_DetailedGLAuditQuery"; }
}

export class TodayLogsGETManyRequest extends QueryData<RequestLogEntry> implements IReturn<QueryResponse<RequestLogEntry>>
{
    createResponse() { return new QueryResponse<RequestLogEntry>(); }
    getTypeName() { return "TodayLogsGETManyRequest"; }
}

export class TodayErrorLogsGETManyRequest extends QueryData<RequestLogEntry> implements IReturn<QueryResponse<RequestLogEntry>>
{
    createResponse() { return new QueryResponse<RequestLogEntry>(); }
    getTypeName() { return "TodayErrorLogsGETManyRequest"; }
}

export class YesterdayLogsGETManyRequest extends QueryData<RequestLogEntry> implements IReturn<QueryResponse<RequestLogEntry>>
{
    createResponse() { return new QueryResponse<RequestLogEntry>(); }
    getTypeName() { return "YesterdayLogsGETManyRequest"; }
}

export class YesterdayErrorLogsGETManyRequest extends QueryData<RequestLogEntry> implements IReturn<QueryResponse<RequestLogEntry>>
{
    createResponse() { return new QueryResponse<RequestLogEntry>(); }
    getTypeName() { return "YesterdayErrorLogsGETManyRequest"; }
}

export class QueryRequestLogsGETManyRequest extends QueryData<RequestLogEntry> implements IReturn<QueryResponse<RequestLogEntry>>
{
    Date: string;
    ViewErrors: boolean;
    createResponse() { return new QueryResponse<RequestLogEntry>(); }
    getTypeName() { return "QueryRequestLogsGETManyRequest"; }
}