@d19n/youfibre-odin-sdk 2.0.326 → 2.0.327

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -162,7 +162,7 @@ This SDK includes **187** entities across **12** modules.
162
162
  | **BillingRequest** | BillingRequest Entity Definition | MANDATE, PAYMENT |
163
163
  | **Commission** | Commission Entity Definition | DEFAULT |
164
164
  | **CreditNote** | CreditNote Entity Definition | DEFAULT |
165
- | **Invoice** | Invoice Entity Definition | ETF |
165
+ | **Invoice** | Invoice Entity Definition | EQUIPMENT, ETF |
166
166
  | **InvoiceItem** | InvoiceItem Entity Definition | DEFAULT |
167
167
  | **Payment** | Payment Entity Definition | DEFAULT |
168
168
  | **PaymentMethod** | PaymentMethod Entity Definition | DEFAULT |
@@ -35,6 +35,8 @@ import { PaymentProperties } from './Payment';
35
35
  export declare enum InvoiceEntityTypes {
36
36
  /** This is the default record type */
37
37
  DEFAULT = "DEFAULT",
38
+ /** A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart. */
39
+ EQUIPMENT = "EQUIPMENT",
38
40
  /** Early Termination Fee Invoices */
39
41
  ETF = "ETF"
40
42
  }
@@ -626,6 +628,321 @@ export interface InvoiceProperties {
626
628
  */
627
629
  ExternalReference: string;
628
630
  }
631
+ /**
632
+ * Properties for EQUIPMENT Invoice records
633
+ *
634
+ * @see BillingModule:Invoice
635
+ */
636
+ export interface EquipmentInvoiceProperties {
637
+ /** Data field for Invoice records. Used by Finance team.
638
+ *
639
+ * @type {TEXT}
640
+ * @default 0
641
+ * @hidden This field is hidden in the UI
642
+ */
643
+ VatNumber: string;
644
+ /** unit cost for the product derived from product components UnitCost (Finance - Invoice)
645
+ *
646
+ * @type {PERCENT}
647
+ * @default 0
648
+ * @hidden This field is hidden in the UI
649
+ */
650
+ TaxRate: number;
651
+ /** Billing terms i.e NET 15,30 (Finance - Invoice)
652
+ *
653
+ * @type {ENUM}
654
+ * @default NET_0
655
+ * @enum {InvoiceBillingTerms}
656
+ * @hidden This field is hidden in the UI
657
+ */
658
+ BillingTerms: InvoiceBillingTerms;
659
+ /** Billing start date (Finance - Invoice)
660
+ *
661
+ * @type {DATE}
662
+ * @format DD/MM/YYYY
663
+ * @hidden This field is hidden in the UI
664
+ */
665
+ BillingStartDate: string;
666
+ /** the type of discount (Finance - Invoice)
667
+ *
668
+ * @type {ENUM}
669
+ * @default AMOUNT
670
+ * @enum {InvoiceDiscountType}
671
+ * @hidden This field is hidden in the UI
672
+ */
673
+ DiscountType: InvoiceDiscountType;
674
+ /** total due including taxes and discounts (Finance - Invoice)
675
+ *
676
+ * @type {CURRENCY}
677
+ * @default 0
678
+ * @hidden This field is hidden in the UI
679
+ */
680
+ TotalDue: string;
681
+ /** Billing period start date (Finance - Invoice)
682
+ *
683
+ * @type {DATE}
684
+ * @format DD/MM/YYYY
685
+ * @hidden This field is hidden in the UI
686
+ */
687
+ BillingPeriodStart: string;
688
+ /** trial length for the discount (Finance - Invoice)
689
+ *
690
+ * @type {NUMBER}
691
+ * @hidden This field is hidden in the UI
692
+ */
693
+ TrialLength: number;
694
+ /** length for the items discount duration (Finance - Invoice)
695
+ *
696
+ * @type {NUMBER}
697
+ * @default 0
698
+ * @hidden This field is hidden in the UI
699
+ */
700
+ DiscountLength: number;
701
+ /** the date the payment was sent to the bank (Finance - Invoice)
702
+ *
703
+ * @type {DATE}
704
+ * @format DD/MM/YYYY
705
+ * @hidden This field is hidden in the UI
706
+ */
707
+ SettledDate: string;
708
+ /** the date the dunning period started (Finance - Invoice)
709
+ *
710
+ * @type {DATE}
711
+ * @hidden This field is hidden in the UI
712
+ */
713
+ DunningStartDate: string;
714
+ /** the date the dunning processes was triggered (Finance - Invoice)
715
+ *
716
+ * @type {DATE}
717
+ * @format DD/MM/YYYY
718
+ * @hidden This field is hidden in the UI
719
+ */
720
+ DunningProcessedAt: string;
721
+ /** will attempt payment retries if failed (Finance - Invoice)
722
+ *
723
+ * @type {BOOLEAN}
724
+ * @default true
725
+ * @tracked Changes to this field are tracked in audit history
726
+ */
727
+ WillAttemptRetry: boolean;
728
+ /** total discounts (Finance - Invoice)
729
+ *
730
+ * @type {CURRENCY}
731
+ * @default 0
732
+ * @hidden This field is hidden in the UI
733
+ */
734
+ TotalDiscounts: string;
735
+ /** the date the order is delivered (Finance - Invoice)
736
+ *
737
+ * @type {DATE}
738
+ * @format DD/MM/YYYY
739
+ * @hidden This field is hidden in the UI
740
+ */
741
+ DeliveryDate: string;
742
+ /** the date the order is issued (Finance - Invoice)
743
+ *
744
+ * @type {DATE}
745
+ * @format DD/MM/YYYY
746
+ * @hidden This field is hidden in the UI
747
+ */
748
+ IssuedDate: string;
749
+ /** total taxes (Finance - Invoice)
750
+ *
751
+ * @type {CURRENCY}
752
+ * @default 0
753
+ * @hidden This field is hidden in the UI
754
+ */
755
+ TotalTaxAmount: string;
756
+ /** invoice name (Finance - Invoice)
757
+ *
758
+ * @type {TEXT}
759
+ * @hidden This field is hidden in the UI
760
+ */
761
+ Name: string;
762
+ /** timestamp indicating when the DunningStatus changed (Finance - Invoice)
763
+ *
764
+ * @type {DATE}
765
+ * @hidden This field is hidden in the UI
766
+ */
767
+ DunningStatusUpdatedAt: string;
768
+ /** trial unit for the discount (Finance - Invoice)
769
+ *
770
+ * @type {ENUM}
771
+ * @default MONTHS
772
+ * @enum {InvoiceTrialUnit}
773
+ * @hidden This field is hidden in the UI
774
+ */
775
+ TrialUnit: InvoiceTrialUnit;
776
+ /** the number of days the invoice is past due (Finance - Invoice)
777
+ *
778
+ * @type {NUMBER}
779
+ * @default
780
+ * @hidden This field is hidden in the UI
781
+ */
782
+ PastDueDays: number;
783
+ /** the date the mandate status was last updated (Finance - Invoice)
784
+ *
785
+ * @type {DATE}
786
+ * @format DD/MM/YYYY
787
+ * @hidden This field is hidden in the UI
788
+ */
789
+ MandateStatusUpdatedAt: string;
790
+ /** The user that processed the dunning for the invoice (Finance - Invoice)
791
+ *
792
+ * @type {TEXT}
793
+ * @hidden This field is hidden in the UI
794
+ */
795
+ DunningProcessedBy: string;
796
+ /** the status of dunning (Finance - Invoice)
797
+ *
798
+ * @type {ENUM}
799
+ * @default NONE
800
+ * @enum {InvoiceDunningStatus}
801
+ * @hidden This field is hidden in the UI
802
+ */
803
+ DunningStatus: InvoiceDunningStatus;
804
+ /** Currency code (Finance - Invoice)
805
+ *
806
+ * @type {ENUM}
807
+ * @default GBP
808
+ * @enum {InvoiceCurrencyCode}
809
+ * @hidden This field is hidden in the UI
810
+ */
811
+ CurrencyCode: InvoiceCurrencyCode;
812
+ /** the value to discount (Finance - Invoice)
813
+ *
814
+ * @type {CURRENCY}
815
+ * @default 0
816
+ * @hidden This field is hidden in the UI
817
+ */
818
+ DiscountValue: string;
819
+ /** invoice due date (Finance - Invoice)
820
+ *
821
+ * @type {DATE}
822
+ * @format DD/MM/YYYY
823
+ * @placeholder due date
824
+ * @hidden This field is hidden in the UI
825
+ */
826
+ DueDate: string;
827
+ /** Billing period end date (Finance - Invoice)
828
+ *
829
+ * @type {DATE}
830
+ * @format DD/MM/YYYY
831
+ * @hidden This field is hidden in the UI
832
+ */
833
+ BillingPeriodEnd: string;
834
+ /** discount duration unit (Finance - Invoice)
835
+ *
836
+ * @type {ENUM}
837
+ * @default MONTHS
838
+ * @enum {InvoiceDiscountUnit}
839
+ * @hidden This field is hidden in the UI
840
+ */
841
+ DiscountUnit: InvoiceDiscountUnit;
842
+ /** Used to identify what billing period this invoice includes (Finance - Invoice)
843
+ *
844
+ * @type {ENUM}
845
+ * @default
846
+ * @enum {InvoiceBillingPeriodType}
847
+ */
848
+ BillingPeriodType: InvoiceBillingPeriodType;
849
+ /** timestamp indicating when the final dunning reminder was sent for invoices where the payment collection won't be retried (Finance - Invoice)
850
+ *
851
+ * @type {DATE}
852
+ */
853
+ FinalDunningReminder: string;
854
+ /** balance left to be paid (Finance - Invoice)
855
+ *
856
+ * @type {CURRENCY}
857
+ * @default 0
858
+ * @placeholder 0
859
+ * @hidden This field is hidden in the UI
860
+ */
861
+ Balance: string;
862
+ /** true if the customer has an active mandate (Finance - Invoice)
863
+ *
864
+ * @type {BOOLEAN}
865
+ * @hidden This field is hidden in the UI
866
+ */
867
+ ActiveMandate: boolean;
868
+ /** The invoice category (Finance - Invoice)
869
+ *
870
+ * @type {TEXT}
871
+ */
872
+ Category: string;
873
+ /** Indicates how this invoice was generated. ORDER: invoice created from a single order. ACCOUNT: invoice consolidates multiple orders from the same account. Used for filtering and reporting. (Finance - Invoice)
874
+ *
875
+ * @type {ENUM}
876
+ * @default ORDER
877
+ * @enum {InvoiceBillingMode}
878
+ */
879
+ BillingMode: InvoiceBillingMode;
880
+ /** JSON array of order IDs included in this invoice. Only populated for account-based invoices (BillingMode=ACCOUNT). Example: ["uuid-1","uuid-2"]. Used to track which orders contributed to a consolidated invoice. (Finance - Invoice)
881
+ *
882
+ * @type {JSON}
883
+ */
884
+ OrderRefs: string;
885
+ /** order reference (Finance - Invoice)
886
+ *
887
+ * @type {TEXT}
888
+ * @hidden This field is hidden in the UI
889
+ */
890
+ OrderRef: string;
891
+ /** JSON array of sub-account IDs (Finance - Invoice)
892
+ *
893
+ * @type {JSON}
894
+ */
895
+ SubAccountRefs: string;
896
+ /** status of the invoice (Finance - Invoice)
897
+ *
898
+ * @type {ENUM}
899
+ * @default DRAFT
900
+ * @placeholder status
901
+ * @enum {InvoiceStatus}
902
+ */
903
+ Status: InvoiceStatus;
904
+ /** timestamp indicating when the first dunning reminder was sent after a payment collection failed on the mandate (Finance - Invoice)
905
+ *
906
+ * @type {DATE}
907
+ */
908
+ InitialDunningReminder: string;
909
+ /** total price including taxes and discounts (Finance - Invoice)
910
+ *
911
+ * @type {NUMBER}
912
+ * @hidden This field is hidden in the UI
913
+ */
914
+ TotalPrice: number;
915
+ /** total taxes (Finance - Invoice)
916
+ *
917
+ * @type {NUMBER}
918
+ * @hidden This field is hidden in the UI
919
+ */
920
+ TotalTaxD: number;
921
+ /** invoice is locked from being modified (Finance - Invoice)
922
+ *
923
+ * @type {BOOLEAN}
924
+ * @default false
925
+ * @hidden This field is hidden in the UI
926
+ */
927
+ IsLocked: boolean;
928
+ /** subtotal of the prices no taxes (Finance - Invoice)
929
+ *
930
+ * @type {CURRENCY}
931
+ * @default 0
932
+ */
933
+ Subtotal: string;
934
+ /** total amount due (Finance - Invoice)
935
+ *
936
+ * @type {NUMBER}
937
+ * @hidden This field is hidden in the UI
938
+ */
939
+ AmountDueD: number;
940
+ /** ExternalReference
941
+ *
942
+ * @type {TEXT}
943
+ */
944
+ ExternalReference: string;
945
+ }
629
946
  /**
630
947
  * Properties for ETF Invoice records
631
948
  *
@@ -1011,6 +1328,12 @@ export declare const ROUTING_KEY_INVOICE_DEFAULT_CREATED = "BillingModule.Invoic
1011
1328
  export declare const ROUTING_KEY_INVOICE_DEFAULT_UPDATED = "BillingModule.Invoice.DEFAULT.SubDbRecordUpdated";
1012
1329
  /** This is the default record type deleted */
1013
1330
  export declare const ROUTING_KEY_INVOICE_DEFAULT_DELETED = "BillingModule.Invoice.DEFAULT.SubDbRecordDeleted";
1331
+ /** A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart. created */
1332
+ export declare const ROUTING_KEY_INVOICE_EQUIPMENT_CREATED = "BillingModule.Invoice.EQUIPMENT.SubDbRecordCreated";
1333
+ /** A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart. updated */
1334
+ export declare const ROUTING_KEY_INVOICE_EQUIPMENT_UPDATED = "BillingModule.Invoice.EQUIPMENT.SubDbRecordUpdated";
1335
+ /** A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart. deleted */
1336
+ export declare const ROUTING_KEY_INVOICE_EQUIPMENT_DELETED = "BillingModule.Invoice.EQUIPMENT.SubDbRecordDeleted";
1014
1337
  /** Early Termination Fee Invoices created */
1015
1338
  export declare const ROUTING_KEY_INVOICE_ETF_CREATED = "BillingModule.Invoice.ETF.SubDbRecordCreated";
1016
1339
  /** Early Termination Fee Invoices updated */
@@ -12,7 +12,7 @@
12
12
  * Generated from Odin schema definition
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ROUTING_KEY_LINK_INVOICE_CREDIT_NOTE_DELETED = exports.ROUTING_KEY_LINK_INVOICE_CREDIT_NOTE_CREATED = exports.ROUTING_KEY_LINK_INVOICE_SMS_MESSAGE_DELETED = exports.ROUTING_KEY_LINK_INVOICE_SMS_MESSAGE_CREATED = exports.ROUTING_KEY_LINK_INVOICE_INVOICE_ITEM_DELETED = exports.ROUTING_KEY_LINK_INVOICE_INVOICE_ITEM_CREATED = exports.ROUTING_KEY_LINK_INVOICE_DISCOUNT_DELETED = exports.ROUTING_KEY_LINK_INVOICE_DISCOUNT_CREATED = exports.ROUTING_KEY_LINK_INVOICE_TRANSACTION_DELETED = exports.ROUTING_KEY_LINK_INVOICE_TRANSACTION_CREATED = exports.ROUTING_KEY_LINK_INVOICE_ADDRESS_DELETED = exports.ROUTING_KEY_LINK_INVOICE_ADDRESS_CREATED = exports.ROUTING_KEY_LINK_INVOICE_CONTACT_DELETED = exports.ROUTING_KEY_LINK_INVOICE_CONTACT_CREATED = exports.ROUTING_KEY_LINK_INVOICE_BILLING_ADJUSTMENT_DELETED = exports.ROUTING_KEY_LINK_INVOICE_BILLING_ADJUSTMENT_CREATED = exports.ROUTING_KEY_LINK_INVOICE_NOTE_DELETED = exports.ROUTING_KEY_LINK_INVOICE_NOTE_CREATED = exports.ROUTING_KEY_LINK_INVOICE_FILE_DELETED = exports.ROUTING_KEY_LINK_INVOICE_FILE_CREATED = exports.ROUTING_KEY_INVOICE_ETF_DELETED = exports.ROUTING_KEY_INVOICE_ETF_UPDATED = exports.ROUTING_KEY_INVOICE_ETF_CREATED = exports.ROUTING_KEY_INVOICE_DEFAULT_DELETED = exports.ROUTING_KEY_INVOICE_DEFAULT_UPDATED = exports.ROUTING_KEY_INVOICE_DEFAULT_CREATED = exports.ROUTING_KEY_INVOICE_DELETED = exports.ROUTING_KEY_INVOICE_UPDATED = exports.ROUTING_KEY_INVOICE_CREATED = exports.Invoice = exports.InvoicePropertyKeys = exports.InvoiceStatus = exports.InvoiceBillingMode = exports.InvoiceBillingPeriodType = exports.InvoiceDiscountUnit = exports.InvoiceCurrencyCode = exports.InvoiceDunningStatus = exports.InvoiceTrialUnit = exports.InvoiceDiscountType = exports.InvoiceBillingTerms = exports.InvoiceEntityTypes = void 0;
15
+ exports.ROUTING_KEY_LINK_INVOICE_CREDIT_NOTE_DELETED = exports.ROUTING_KEY_LINK_INVOICE_CREDIT_NOTE_CREATED = exports.ROUTING_KEY_LINK_INVOICE_SMS_MESSAGE_DELETED = exports.ROUTING_KEY_LINK_INVOICE_SMS_MESSAGE_CREATED = exports.ROUTING_KEY_LINK_INVOICE_INVOICE_ITEM_DELETED = exports.ROUTING_KEY_LINK_INVOICE_INVOICE_ITEM_CREATED = exports.ROUTING_KEY_LINK_INVOICE_DISCOUNT_DELETED = exports.ROUTING_KEY_LINK_INVOICE_DISCOUNT_CREATED = exports.ROUTING_KEY_LINK_INVOICE_TRANSACTION_DELETED = exports.ROUTING_KEY_LINK_INVOICE_TRANSACTION_CREATED = exports.ROUTING_KEY_LINK_INVOICE_ADDRESS_DELETED = exports.ROUTING_KEY_LINK_INVOICE_ADDRESS_CREATED = exports.ROUTING_KEY_LINK_INVOICE_CONTACT_DELETED = exports.ROUTING_KEY_LINK_INVOICE_CONTACT_CREATED = exports.ROUTING_KEY_LINK_INVOICE_BILLING_ADJUSTMENT_DELETED = exports.ROUTING_KEY_LINK_INVOICE_BILLING_ADJUSTMENT_CREATED = exports.ROUTING_KEY_LINK_INVOICE_NOTE_DELETED = exports.ROUTING_KEY_LINK_INVOICE_NOTE_CREATED = exports.ROUTING_KEY_LINK_INVOICE_FILE_DELETED = exports.ROUTING_KEY_LINK_INVOICE_FILE_CREATED = exports.ROUTING_KEY_INVOICE_ETF_DELETED = exports.ROUTING_KEY_INVOICE_ETF_UPDATED = exports.ROUTING_KEY_INVOICE_ETF_CREATED = exports.ROUTING_KEY_INVOICE_EQUIPMENT_DELETED = exports.ROUTING_KEY_INVOICE_EQUIPMENT_UPDATED = exports.ROUTING_KEY_INVOICE_EQUIPMENT_CREATED = exports.ROUTING_KEY_INVOICE_DEFAULT_DELETED = exports.ROUTING_KEY_INVOICE_DEFAULT_UPDATED = exports.ROUTING_KEY_INVOICE_DEFAULT_CREATED = exports.ROUTING_KEY_INVOICE_DELETED = exports.ROUTING_KEY_INVOICE_UPDATED = exports.ROUTING_KEY_INVOICE_CREATED = exports.Invoice = exports.InvoicePropertyKeys = exports.InvoiceStatus = exports.InvoiceBillingMode = exports.InvoiceBillingPeriodType = exports.InvoiceDiscountUnit = exports.InvoiceCurrencyCode = exports.InvoiceDunningStatus = exports.InvoiceTrialUnit = exports.InvoiceDiscountType = exports.InvoiceBillingTerms = exports.InvoiceEntityTypes = void 0;
16
16
  const core_1 = require("@d19n/odin-types/dist/core");
17
17
  /**
18
18
  * Available types for Invoice records
@@ -21,6 +21,8 @@ var InvoiceEntityTypes;
21
21
  (function (InvoiceEntityTypes) {
22
22
  /** This is the default record type */
23
23
  InvoiceEntityTypes["DEFAULT"] = "DEFAULT";
24
+ /** A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart. */
25
+ InvoiceEntityTypes["EQUIPMENT"] = "EQUIPMENT";
24
26
  /** Early Termination Fee Invoices */
25
27
  InvoiceEntityTypes["ETF"] = "ETF";
26
28
  })(InvoiceEntityTypes = exports.InvoiceEntityTypes || (exports.InvoiceEntityTypes = {}));
@@ -341,6 +343,12 @@ exports.ROUTING_KEY_INVOICE_DEFAULT_CREATED = 'BillingModule.Invoice.DEFAULT.Sub
341
343
  exports.ROUTING_KEY_INVOICE_DEFAULT_UPDATED = 'BillingModule.Invoice.DEFAULT.SubDbRecordUpdated';
342
344
  /** This is the default record type deleted */
343
345
  exports.ROUTING_KEY_INVOICE_DEFAULT_DELETED = 'BillingModule.Invoice.DEFAULT.SubDbRecordDeleted';
346
+ /** A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart. created */
347
+ exports.ROUTING_KEY_INVOICE_EQUIPMENT_CREATED = 'BillingModule.Invoice.EQUIPMENT.SubDbRecordCreated';
348
+ /** A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart. updated */
349
+ exports.ROUTING_KEY_INVOICE_EQUIPMENT_UPDATED = 'BillingModule.Invoice.EQUIPMENT.SubDbRecordUpdated';
350
+ /** A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart. deleted */
351
+ exports.ROUTING_KEY_INVOICE_EQUIPMENT_DELETED = 'BillingModule.Invoice.EQUIPMENT.SubDbRecordDeleted';
344
352
  /** Early Termination Fee Invoices created */
345
353
  exports.ROUTING_KEY_INVOICE_ETF_CREATED = 'BillingModule.Invoice.ETF.SubDbRecordCreated';
346
354
  /** Early Termination Fee Invoices updated */
@@ -13,7 +13,7 @@
13
13
  * await record.createInvoice({ ... }).execute();
14
14
  * ```
15
15
  *
16
- * Entity Types: DEFAULT, ETF
16
+ * Entity Types: DEFAULT, EQUIPMENT, ETF
17
17
  *
18
18
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
19
19
  */
@@ -22,7 +22,7 @@ import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
22
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
23
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
24
24
  import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
- import { InvoiceProperties, EtfInvoiceProperties } from '../entities-v2/Invoice';
25
+ import { InvoiceProperties, EquipmentInvoiceProperties, EtfInvoiceProperties } from '../entities-v2/Invoice';
26
26
  import { InvoiceCreateProperties } from '../actions-v2/InvoiceCreateDto';
27
27
  import { InvoiceUpdateProperties } from '../actions-v2/InvoiceUpdateDto';
28
28
  import { SetInvoiceDunningBrqRequestProperties } from '../actions-v2/SetInvoiceDunningBrqRequestDto';
@@ -51,7 +51,7 @@ import { OneTouchSwitchRecord } from './OneTouchSwitchRecord';
51
51
  import { CreditNoteRecord } from './CreditNoteRecord';
52
52
  import { PaymentRecord } from './PaymentRecord';
53
53
  /** Valid entity types for Invoice */
54
- export declare type InvoiceType = 'DEFAULT' | 'ETF';
54
+ export declare type InvoiceType = 'DEFAULT' | 'EQUIPMENT' | 'ETF';
55
55
  /**
56
56
  * Builder for action execution with dryRun support
57
57
  *
@@ -176,6 +176,22 @@ export declare class InvoiceRecord<TProps = InvoiceProperties> {
176
176
  * @remarks This is the default record type
177
177
  */
178
178
  isDefault(): this is InvoiceRecord<InvoiceProperties>;
179
+ /**
180
+ * Type guard: check if this record is of type EQUIPMENT
181
+ *
182
+ * When this returns true, TypeScript automatically narrows the type,
183
+ * giving you access to EQUIPMENT-specific properties.
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * if (record.isEquipment()) {
188
+ * // TypeScript knows record.properties is EquipmentInvoiceProperties
189
+ * console.log(record.properties.SomeTypeSpecificField);
190
+ * }
191
+ * ```
192
+ * @remarks A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart.
193
+ */
194
+ isEquipment(): this is InvoiceRecord<EquipmentInvoiceProperties>;
179
195
  /**
180
196
  * Type guard: check if this record is of type ETF
181
197
  *
@@ -14,7 +14,7 @@
14
14
  * await record.createInvoice({ ... }).execute();
15
15
  * ```
16
16
  *
17
- * Entity Types: DEFAULT, ETF
17
+ * Entity Types: DEFAULT, EQUIPMENT, ETF
18
18
  *
19
19
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
20
20
  */
@@ -181,6 +181,22 @@ class InvoiceRecord {
181
181
  * @remarks This is the default record type
182
182
  */
183
183
  isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
184
+ /**
185
+ * Type guard: check if this record is of type EQUIPMENT
186
+ *
187
+ * When this returns true, TypeScript automatically narrows the type,
188
+ * giving you access to EQUIPMENT-specific properties.
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * if (record.isEquipment()) {
193
+ * // TypeScript knows record.properties is EquipmentInvoiceProperties
194
+ * console.log(record.properties.SomeTypeSpecificField);
195
+ * }
196
+ * ```
197
+ * @remarks A charge for equipment a customer never returned, raised from a COLLECTION_AMCO at Non Returned. Its total equals the WorkOrder.EquipmentCharge the customer was quoted. Separate from DEFAULT so equipment recovery can be reported apart.
198
+ */
199
+ isEquipment() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'EQUIPMENT'; }
184
200
  /**
185
201
  * Type guard: check if this record is of type ETF
186
202
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.326",
3
+ "version": "2.0.327",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",