@happyvertical/smrt-commerce 0.55.7 → 0.55.9

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.
Files changed (47) hide show
  1. package/AGENTS.md +4 -0
  2. package/README.md +34 -0
  3. package/agents/customer-vendor-ui.md +31 -0
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +642 -240
  7. package/dist/index.js.map +1 -1
  8. package/dist/manifest.json +1449 -109
  9. package/dist/models/Contract.d.ts.map +1 -1
  10. package/dist/models/ContractLineItem.d.ts.map +1 -1
  11. package/dist/models/Customer.d.ts.map +1 -1
  12. package/dist/models/Fulfillment.d.ts.map +1 -1
  13. package/dist/models/FulfillmentLineItem.d.ts.map +1 -1
  14. package/dist/models/Invoice.d.ts.map +1 -1
  15. package/dist/models/InvoiceLineItem.d.ts.map +1 -1
  16. package/dist/models/Payment.d.ts.map +1 -1
  17. package/dist/models/PaymentAllocation.d.ts.map +1 -1
  18. package/dist/models/Vendor.d.ts.map +1 -1
  19. package/dist/playground.js +19 -0
  20. package/dist/playground.js.map +1 -1
  21. package/dist/recipes.d.ts +733 -19
  22. package/dist/recipes.d.ts.map +1 -1
  23. package/dist/smrt-knowledge.json +1147 -123
  24. package/dist/svelte/components/CustomerSelect.svelte +53 -0
  25. package/dist/svelte/components/CustomerSelect.svelte.d.ts +47 -0
  26. package/dist/svelte/components/CustomerSelect.svelte.d.ts.map +1 -0
  27. package/dist/svelte/components/PartySelect.svelte +138 -0
  28. package/dist/svelte/components/PartySelect.svelte.d.ts +70 -0
  29. package/dist/svelte/components/PartySelect.svelte.d.ts.map +1 -0
  30. package/dist/svelte/components/VendorSelect.svelte +53 -0
  31. package/dist/svelte/components/VendorSelect.svelte.d.ts +47 -0
  32. package/dist/svelte/components/VendorSelect.svelte.d.ts.map +1 -0
  33. package/dist/svelte/i18n.d.ts +8 -0
  34. package/dist/svelte/i18n.d.ts.map +1 -1
  35. package/dist/svelte/i18n.js +8 -0
  36. package/dist/svelte/index.d.ts +6 -0
  37. package/dist/svelte/index.d.ts.map +1 -1
  38. package/dist/svelte/index.js +6 -0
  39. package/dist/svelte/playground/PartySelectPreview.svelte +108 -0
  40. package/dist/svelte/playground/PartySelectPreview.svelte.d.ts +8 -0
  41. package/dist/svelte/playground/PartySelectPreview.svelte.d.ts.map +1 -0
  42. package/dist/svelte/playground.d.ts.map +1 -1
  43. package/dist/svelte/playground.js +19 -0
  44. package/dist/ui.d.ts.map +1 -1
  45. package/dist/ui.js +20 -0
  46. package/dist/ui.js.map +1 -1
  47. package/package.json +16 -12
package/dist/recipes.d.ts CHANGED
@@ -1,53 +1,144 @@
1
1
  /**
2
- * Declared recipes for smrt-commerce (#3590): small, user-facing units of
2
+ * Declared recipes for smrt-commerce (#3590, #3604): user-facing units of
3
3
  * functionality an app or agent can pick instead of the whole package.
4
- *
5
- * Deliberately minimal: headers only. Line items, fulfilment, invoices, and
6
- * payments are later recipes.
4
+ * The scanner reads these statics into the `recipes` array of `manifest.json`
5
+ * and `smrt-knowledge.json`; nothing here runs at that point.
7
6
  *
8
7
  * @packageDocumentation
9
8
  */
10
9
  import { SmrtRecipe } from '@happyvertical/smrt-core';
11
- import { Order, PurchaseOrder } from './models/Contract.js';
10
+ import { Agreement, Contract, Estimate, Lease, LicenseSale, Order, PurchaseOrder, WholesaleOrder } from './models/Contract.js';
11
+ import { ContractLineItem } from './models/ContractLineItem.js';
12
12
  import { Customer } from './models/Customer.js';
13
+ import { Fulfillment } from './models/Fulfillment.js';
14
+ import { FulfillmentLineItem } from './models/FulfillmentLineItem.js';
15
+ import { Invoice } from './models/Invoice.js';
16
+ import { InvoiceLineItem } from './models/InvoiceLineItem.js';
17
+ import { Payment } from './models/Payment.js';
18
+ import { PaymentAllocation } from './models/PaymentAllocation.js';
13
19
  import { Vendor } from './models/Vendor.js';
14
- /** The people and organisations you sell to. */
20
+ /** Customers: Keep a list of the people and companies you sell to. */
15
21
  export declare class CustomersRecipe extends SmrtRecipe {
16
22
  static id: string;
17
23
  static help: string;
18
24
  static label: string;
19
25
  static summary: string;
20
26
  static synonyms: string[];
27
+ static section: {
28
+ id: string;
29
+ label: string;
30
+ icon: string;
31
+ description: string;
32
+ };
21
33
  static models: (typeof Customer)[];
22
34
  static nav: {
23
35
  label: string;
24
36
  model: typeof Customer;
37
+ icon: string;
38
+ description: string;
25
39
  }[];
40
+ static options: {
41
+ readonly Customer: {
42
+ readonly fields: {
43
+ readonly profileId: {
44
+ readonly label: "Name";
45
+ readonly order: -1;
46
+ };
47
+ };
48
+ };
49
+ };
26
50
  }
27
- /** The people and organisations you buy from. */
28
- export declare class VendorsRecipe extends SmrtRecipe {
51
+ /** Purchases: Order from your vendors and track what you have bought. */
52
+ export declare class PurchasesRecipe extends SmrtRecipe {
29
53
  static id: string;
30
54
  static help: string;
31
55
  static label: string;
32
56
  static summary: string;
33
57
  static synonyms: string[];
34
- static models: (typeof Vendor)[];
58
+ static section: {
59
+ id: string;
60
+ label: string;
61
+ icon: string;
62
+ description: string;
63
+ };
64
+ static models: (typeof PurchaseOrder | typeof ContractLineItem)[];
35
65
  static nav: {
36
66
  label: string;
37
- model: typeof Vendor;
67
+ model: typeof PurchaseOrder;
68
+ icon: string;
69
+ description: string;
38
70
  }[];
71
+ static requires: string[];
72
+ static options: {
73
+ readonly PurchaseOrder: {
74
+ readonly fields: {
75
+ readonly contractType: {
76
+ readonly default: "purchase_order";
77
+ readonly visibility: "hidden";
78
+ readonly locked: true;
79
+ };
80
+ readonly customerId: {
81
+ readonly visibility: "hidden";
82
+ readonly locked: true;
83
+ };
84
+ readonly vendorId: {
85
+ readonly label: "Vendor";
86
+ readonly order: 1;
87
+ };
88
+ readonly channelId: {
89
+ readonly visibility: "hidden";
90
+ };
91
+ readonly expiryDate: {
92
+ readonly visibility: "hidden";
93
+ };
94
+ };
95
+ };
96
+ readonly ContractLineItem: {
97
+ readonly fields: {
98
+ readonly sku: {
99
+ readonly visibility: "hidden";
100
+ };
101
+ readonly startDate: {
102
+ readonly visibility: "hidden";
103
+ };
104
+ readonly endDate: {
105
+ readonly visibility: "hidden";
106
+ };
107
+ readonly billingPeriod: {
108
+ readonly visibility: "hidden";
109
+ };
110
+ readonly sortOrder: {
111
+ readonly visibility: "hidden";
112
+ };
113
+ readonly discount: {
114
+ readonly visibility: "hidden";
115
+ };
116
+ readonly taxRate: {
117
+ readonly help: "Type a percentage: 5 means 5%.";
118
+ };
119
+ };
120
+ };
121
+ };
39
122
  }
40
- /** Customer orders. */
123
+ /** Sales: Take customer orders and track them. */
41
124
  export declare class SalesRecipe extends SmrtRecipe {
42
125
  static id: string;
43
126
  static help: string;
44
127
  static label: string;
45
128
  static summary: string;
46
129
  static synonyms: string[];
47
- static models: (typeof Order)[];
130
+ static section: {
131
+ id: string;
132
+ label: string;
133
+ icon: string;
134
+ description: string;
135
+ };
136
+ static models: (typeof Order | typeof ContractLineItem)[];
48
137
  static nav: {
49
138
  label: string;
50
139
  model: typeof Order;
140
+ icon: string;
141
+ description: string;
51
142
  }[];
52
143
  static requires: string[];
53
144
  static options: {
@@ -65,40 +156,663 @@ export declare class SalesRecipe extends SmrtRecipe {
65
156
  readonly customerId: {
66
157
  readonly label: "Customer";
67
158
  readonly order: 1;
159
+ readonly required: true;
160
+ };
161
+ readonly channelId: {
162
+ readonly visibility: "hidden";
163
+ };
164
+ readonly expiryDate: {
165
+ readonly visibility: "hidden";
166
+ };
167
+ };
168
+ };
169
+ readonly ContractLineItem: {
170
+ readonly fields: {
171
+ readonly sku: {
172
+ readonly visibility: "hidden";
173
+ };
174
+ readonly startDate: {
175
+ readonly visibility: "hidden";
176
+ };
177
+ readonly endDate: {
178
+ readonly visibility: "hidden";
179
+ };
180
+ readonly billingPeriod: {
181
+ readonly visibility: "hidden";
182
+ };
183
+ readonly sortOrder: {
184
+ readonly visibility: "hidden";
185
+ };
186
+ readonly discount: {
187
+ readonly visibility: "hidden";
188
+ };
189
+ readonly taxRate: {
190
+ readonly help: "Type a percentage: 5 means 5%.";
68
191
  };
69
192
  };
70
193
  };
71
194
  };
72
195
  }
73
- /** Orders placed with vendors. */
74
- export declare class PurchasesRecipe extends SmrtRecipe {
196
+ /** Vendors: Keep a list of the suppliers you buy from. */
197
+ export declare class VendorsRecipe extends SmrtRecipe {
75
198
  static id: string;
76
199
  static help: string;
77
200
  static label: string;
78
201
  static summary: string;
79
202
  static synonyms: string[];
80
- static models: (typeof PurchaseOrder)[];
203
+ static section: {
204
+ id: string;
205
+ label: string;
206
+ icon: string;
207
+ description: string;
208
+ };
209
+ static models: (typeof Vendor)[];
81
210
  static nav: {
82
211
  label: string;
83
- model: typeof PurchaseOrder;
212
+ model: typeof Vendor;
213
+ icon: string;
214
+ description: string;
215
+ }[];
216
+ static options: {
217
+ readonly Vendor: {
218
+ readonly fields: {
219
+ readonly profileId: {
220
+ readonly label: "Name";
221
+ readonly order: -1;
222
+ };
223
+ };
224
+ };
225
+ };
226
+ }
227
+ /** Estimates: Send customers a price quote before they commit. */
228
+ export declare class EstimatesRecipe extends SmrtRecipe {
229
+ static id: string;
230
+ static help: string;
231
+ static label: string;
232
+ static summary: string;
233
+ static synonyms: string[];
234
+ static section: {
235
+ id: string;
236
+ label: string;
237
+ icon: string;
238
+ description: string;
239
+ };
240
+ static models: (typeof Estimate | typeof ContractLineItem)[];
241
+ static nav: {
242
+ label: string;
243
+ model: typeof Estimate;
244
+ icon: string;
245
+ description: string;
84
246
  }[];
85
247
  static requires: string[];
86
248
  static options: {
87
- readonly PurchaseOrder: {
249
+ readonly Estimate: {
88
250
  readonly fields: {
89
251
  readonly contractType: {
90
- readonly default: "purchase_order";
252
+ readonly default: "estimate";
253
+ readonly visibility: "hidden";
254
+ readonly locked: true;
255
+ };
256
+ readonly vendorId: {
91
257
  readonly visibility: "hidden";
92
258
  readonly locked: true;
93
259
  };
94
260
  readonly customerId: {
261
+ readonly label: "Customer";
262
+ readonly order: 1;
263
+ readonly required: true;
264
+ };
265
+ readonly channelId: {
266
+ readonly visibility: "hidden";
267
+ };
268
+ };
269
+ };
270
+ readonly ContractLineItem: {
271
+ readonly fields: {
272
+ readonly sku: {
273
+ readonly visibility: "hidden";
274
+ };
275
+ readonly startDate: {
276
+ readonly visibility: "hidden";
277
+ };
278
+ readonly endDate: {
279
+ readonly visibility: "hidden";
280
+ };
281
+ readonly billingPeriod: {
282
+ readonly visibility: "hidden";
283
+ };
284
+ readonly sortOrder: {
285
+ readonly visibility: "hidden";
286
+ };
287
+ readonly discount: {
288
+ readonly visibility: "hidden";
289
+ };
290
+ readonly taxRate: {
291
+ readonly help: "Type a percentage: 5 means 5%.";
292
+ };
293
+ };
294
+ };
295
+ };
296
+ }
297
+ /** Wholesale orders: Take bulk orders from trade customers. */
298
+ export declare class WholesaleRecipe extends SmrtRecipe {
299
+ static id: string;
300
+ static help: string;
301
+ static label: string;
302
+ static summary: string;
303
+ static synonyms: string[];
304
+ static section: {
305
+ id: string;
306
+ label: string;
307
+ icon: string;
308
+ description: string;
309
+ };
310
+ static models: (typeof WholesaleOrder | typeof ContractLineItem)[];
311
+ static nav: {
312
+ label: string;
313
+ model: typeof WholesaleOrder;
314
+ icon: string;
315
+ description: string;
316
+ }[];
317
+ static requires: string[];
318
+ static options: {
319
+ readonly WholesaleOrder: {
320
+ readonly fields: {
321
+ readonly contractType: {
322
+ readonly default: "wholesale_order";
95
323
  readonly visibility: "hidden";
96
324
  readonly locked: true;
97
325
  };
98
326
  readonly vendorId: {
99
- readonly label: "Vendor";
327
+ readonly visibility: "hidden";
328
+ readonly locked: true;
329
+ };
330
+ readonly customerId: {
331
+ readonly label: "Customer";
100
332
  readonly order: 1;
101
333
  };
334
+ readonly channelId: {
335
+ readonly visibility: "hidden";
336
+ };
337
+ readonly expiryDate: {
338
+ readonly visibility: "hidden";
339
+ };
340
+ };
341
+ };
342
+ readonly ContractLineItem: {
343
+ readonly fields: {
344
+ readonly sku: {
345
+ readonly visibility: "hidden";
346
+ };
347
+ readonly startDate: {
348
+ readonly visibility: "hidden";
349
+ };
350
+ readonly endDate: {
351
+ readonly visibility: "hidden";
352
+ };
353
+ readonly billingPeriod: {
354
+ readonly visibility: "hidden";
355
+ };
356
+ readonly sortOrder: {
357
+ readonly visibility: "hidden";
358
+ };
359
+ readonly discount: {
360
+ readonly visibility: "hidden";
361
+ };
362
+ readonly taxRate: {
363
+ readonly help: "Type a percentage: 5 means 5%.";
364
+ };
365
+ };
366
+ };
367
+ };
368
+ }
369
+ /** Invoicing: Bill customers and record the payments that come in. */
370
+ export declare class InvoicingRecipe extends SmrtRecipe {
371
+ static id: string;
372
+ static help: string;
373
+ static label: string;
374
+ static summary: string;
375
+ static synonyms: string[];
376
+ static group: {
377
+ id: string;
378
+ label: string;
379
+ summary: string;
380
+ };
381
+ static section: {
382
+ id: string;
383
+ label: string;
384
+ icon: string;
385
+ description: string;
386
+ };
387
+ static models: (typeof InvoiceLineItem | typeof Payment | typeof Invoice | typeof PaymentAllocation)[];
388
+ static nav: ({
389
+ label: string;
390
+ model: typeof Invoice;
391
+ icon: string;
392
+ description: string;
393
+ } | {
394
+ label: string;
395
+ model: typeof Payment;
396
+ icon: string;
397
+ description: string;
398
+ })[];
399
+ static requires: string[];
400
+ static options: {
401
+ readonly Invoice: {
402
+ readonly fields: {
403
+ readonly providerTaxAmount: {
404
+ readonly visibility: "hidden";
405
+ };
406
+ readonly arJournalId: {
407
+ readonly visibility: "hidden";
408
+ };
409
+ readonly revenueJournalId: {
410
+ readonly visibility: "hidden";
411
+ };
412
+ readonly externalId: {
413
+ readonly visibility: "hidden";
414
+ };
415
+ readonly customerExternalId: {
416
+ readonly visibility: "hidden";
417
+ };
418
+ readonly externalProvider: {
419
+ readonly visibility: "hidden";
420
+ };
421
+ readonly syncedAt: {
422
+ readonly visibility: "hidden";
423
+ };
424
+ readonly collectionMethod: {
425
+ readonly visibility: "hidden";
426
+ };
427
+ readonly sentAt: {
428
+ readonly visibility: "hidden";
429
+ };
430
+ readonly viewedAt: {
431
+ readonly visibility: "hidden";
432
+ };
433
+ readonly remindersSent: {
434
+ readonly visibility: "hidden";
435
+ };
436
+ readonly lastReminderAt: {
437
+ readonly visibility: "hidden";
438
+ };
439
+ readonly reference: {
440
+ readonly visibility: "hidden";
441
+ };
442
+ readonly customerId: {
443
+ readonly required: true;
444
+ };
445
+ };
446
+ };
447
+ readonly InvoiceLineItem: {
448
+ readonly fields: {
449
+ readonly invoiceEditorStateJson: {
450
+ readonly visibility: "hidden";
451
+ };
452
+ readonly sourceType: {
453
+ readonly visibility: "hidden";
454
+ };
455
+ readonly sourceId: {
456
+ readonly visibility: "hidden";
457
+ };
458
+ readonly periodStart: {
459
+ readonly visibility: "hidden";
460
+ };
461
+ readonly periodEnd: {
462
+ readonly visibility: "hidden";
463
+ };
464
+ readonly revenueAccountId: {
465
+ readonly visibility: "hidden";
466
+ };
467
+ readonly sortOrder: {
468
+ readonly visibility: "hidden";
469
+ };
470
+ readonly sku: {
471
+ readonly visibility: "hidden";
472
+ };
473
+ readonly discount: {
474
+ readonly visibility: "hidden";
475
+ };
476
+ readonly taxRate: {
477
+ readonly help: "Type a percentage: 5 means 5%.";
478
+ };
479
+ };
480
+ };
481
+ readonly Payment: {
482
+ readonly fields: {
483
+ readonly journalId: {
484
+ readonly visibility: "hidden";
485
+ };
486
+ readonly externalId: {
487
+ readonly visibility: "hidden";
488
+ };
489
+ readonly externalProvider: {
490
+ readonly visibility: "hidden";
491
+ };
492
+ readonly syncedAt: {
493
+ readonly visibility: "hidden";
494
+ };
495
+ readonly backendId: {
496
+ readonly visibility: "hidden";
497
+ };
498
+ readonly backendTxRef: {
499
+ readonly visibility: "hidden";
500
+ };
501
+ readonly nativeAmount: {
502
+ readonly visibility: "hidden";
503
+ };
504
+ readonly nativeCurrency: {
505
+ readonly visibility: "hidden";
506
+ };
507
+ readonly usdAtQuote: {
508
+ readonly visibility: "hidden";
509
+ };
510
+ readonly usdAtConfirmation: {
511
+ readonly visibility: "hidden";
512
+ };
513
+ readonly transactionId: {
514
+ readonly visibility: "hidden";
515
+ };
516
+ };
517
+ };
518
+ readonly PaymentAllocation: {
519
+ readonly fields: {
520
+ readonly allocatedBy: {
521
+ readonly visibility: "hidden";
522
+ };
523
+ };
524
+ };
525
+ };
526
+ }
527
+ /** Shipping: Pack, ship and deliver orders, with tracking. */
528
+ export declare class FulfillmentRecipe extends SmrtRecipe {
529
+ static id: string;
530
+ static help: string;
531
+ static label: string;
532
+ static summary: string;
533
+ static synonyms: string[];
534
+ static group: {
535
+ id: string;
536
+ label: string;
537
+ summary: string;
538
+ };
539
+ static section: {
540
+ id: string;
541
+ label: string;
542
+ icon: string;
543
+ description: string;
544
+ };
545
+ static models: (typeof Fulfillment | typeof FulfillmentLineItem)[];
546
+ static nav: {
547
+ label: string;
548
+ model: typeof Fulfillment;
549
+ icon: string;
550
+ description: string;
551
+ }[];
552
+ static requiresAny: string[][];
553
+ static options: {
554
+ readonly Fulfillment: {
555
+ readonly fields: {
556
+ readonly estimatedDelivery: {
557
+ readonly visibility: "hidden";
558
+ };
559
+ readonly shippingAddress: {
560
+ readonly visibility: "hidden";
561
+ };
562
+ };
563
+ };
564
+ readonly FulfillmentLineItem: {
565
+ readonly fields: {
566
+ readonly notes: {
567
+ readonly visibility: "hidden";
568
+ };
569
+ };
570
+ };
571
+ };
572
+ }
573
+ /** General agreements: Keep signed agreements with customers, and see every contract in one list. */
574
+ export declare class AgreementsRecipe extends SmrtRecipe {
575
+ static id: string;
576
+ static help: string;
577
+ static label: string;
578
+ static summary: string;
579
+ static synonyms: string[];
580
+ static group: {
581
+ id: string;
582
+ label: string;
583
+ summary: string;
584
+ };
585
+ static section: {
586
+ id: string;
587
+ label: string;
588
+ icon: string;
589
+ description: string;
590
+ };
591
+ static models: (typeof Contract | typeof ContractLineItem)[];
592
+ static nav: {
593
+ label: string;
594
+ model: typeof Agreement;
595
+ icon: string;
596
+ description: string;
597
+ }[];
598
+ static requires: string[];
599
+ static options: {
600
+ readonly Agreement: {
601
+ readonly fields: {
602
+ readonly contractType: {
603
+ readonly default: "agreement";
604
+ readonly visibility: "hidden";
605
+ readonly locked: true;
606
+ };
607
+ readonly customerId: {
608
+ readonly label: "Customer";
609
+ readonly order: 1;
610
+ readonly required: true;
611
+ };
612
+ readonly vendorId: {
613
+ readonly visibility: "hidden";
614
+ };
615
+ readonly subtotal: {
616
+ readonly visibility: "hidden";
617
+ };
618
+ readonly taxAmount: {
619
+ readonly visibility: "hidden";
620
+ };
621
+ readonly channelId: {
622
+ readonly visibility: "hidden";
623
+ };
624
+ };
625
+ };
626
+ readonly ContractLineItem: {
627
+ readonly fields: {
628
+ readonly sku: {
629
+ readonly visibility: "hidden";
630
+ };
631
+ readonly startDate: {
632
+ readonly visibility: "hidden";
633
+ };
634
+ readonly endDate: {
635
+ readonly visibility: "hidden";
636
+ };
637
+ readonly billingPeriod: {
638
+ readonly visibility: "hidden";
639
+ };
640
+ readonly sortOrder: {
641
+ readonly visibility: "hidden";
642
+ };
643
+ readonly discount: {
644
+ readonly visibility: "hidden";
645
+ };
646
+ readonly taxRate: {
647
+ readonly help: "Type a percentage: 5 means 5%.";
648
+ };
649
+ };
650
+ };
651
+ readonly Contract: {
652
+ readonly fields: {
653
+ readonly channelId: {
654
+ readonly visibility: "hidden";
655
+ };
656
+ };
657
+ };
658
+ };
659
+ }
660
+ /** Leases: Rent things out and track the term and the payments due. */
661
+ export declare class LeasesRecipe extends SmrtRecipe {
662
+ static id: string;
663
+ static help: string;
664
+ static label: string;
665
+ static summary: string;
666
+ static synonyms: string[];
667
+ static group: {
668
+ id: string;
669
+ label: string;
670
+ summary: string;
671
+ };
672
+ static section: {
673
+ id: string;
674
+ label: string;
675
+ icon: string;
676
+ description: string;
677
+ };
678
+ static models: (typeof Lease | typeof ContractLineItem)[];
679
+ static nav: {
680
+ label: string;
681
+ model: typeof Lease;
682
+ icon: string;
683
+ description: string;
684
+ }[];
685
+ static requires: string[];
686
+ static options: {
687
+ readonly Lease: {
688
+ readonly fields: {
689
+ readonly contractType: {
690
+ readonly default: "lease";
691
+ readonly visibility: "hidden";
692
+ readonly locked: true;
693
+ };
694
+ readonly customerId: {
695
+ readonly label: "Customer";
696
+ readonly order: 1;
697
+ readonly required: true;
698
+ };
699
+ readonly vendorId: {
700
+ readonly visibility: "hidden";
701
+ };
702
+ readonly subtotal: {
703
+ readonly visibility: "hidden";
704
+ };
705
+ readonly taxAmount: {
706
+ readonly visibility: "hidden";
707
+ };
708
+ readonly channelId: {
709
+ readonly visibility: "hidden";
710
+ };
711
+ };
712
+ };
713
+ readonly ContractLineItem: {
714
+ readonly fields: {
715
+ readonly sku: {
716
+ readonly visibility: "hidden";
717
+ };
718
+ readonly startDate: {
719
+ readonly visibility: "hidden";
720
+ };
721
+ readonly endDate: {
722
+ readonly visibility: "hidden";
723
+ };
724
+ readonly billingPeriod: {
725
+ readonly visibility: "hidden";
726
+ };
727
+ readonly sortOrder: {
728
+ readonly visibility: "hidden";
729
+ };
730
+ readonly discount: {
731
+ readonly visibility: "hidden";
732
+ };
733
+ readonly taxRate: {
734
+ readonly help: "Type a percentage: 5 means 5%.";
735
+ };
736
+ };
737
+ };
738
+ };
739
+ }
740
+ /** Licence sales: Sell licences to software, content or other rights. */
741
+ export declare class LicensesRecipe extends SmrtRecipe {
742
+ static id: string;
743
+ static help: string;
744
+ static label: string;
745
+ static summary: string;
746
+ static synonyms: string[];
747
+ static group: {
748
+ id: string;
749
+ label: string;
750
+ summary: string;
751
+ };
752
+ static section: {
753
+ id: string;
754
+ label: string;
755
+ icon: string;
756
+ description: string;
757
+ };
758
+ static models: (typeof LicenseSale | typeof ContractLineItem)[];
759
+ static nav: {
760
+ label: string;
761
+ model: typeof LicenseSale;
762
+ icon: string;
763
+ description: string;
764
+ }[];
765
+ static requires: string[];
766
+ static options: {
767
+ readonly LicenseSale: {
768
+ readonly fields: {
769
+ readonly contractType: {
770
+ readonly default: "license_sale";
771
+ readonly visibility: "hidden";
772
+ readonly locked: true;
773
+ };
774
+ readonly customerId: {
775
+ readonly label: "Customer";
776
+ readonly order: 1;
777
+ readonly required: true;
778
+ };
779
+ readonly vendorId: {
780
+ readonly visibility: "hidden";
781
+ };
782
+ readonly subtotal: {
783
+ readonly visibility: "hidden";
784
+ };
785
+ readonly taxAmount: {
786
+ readonly visibility: "hidden";
787
+ };
788
+ readonly channelId: {
789
+ readonly visibility: "hidden";
790
+ };
791
+ };
792
+ };
793
+ readonly ContractLineItem: {
794
+ readonly fields: {
795
+ readonly sku: {
796
+ readonly visibility: "hidden";
797
+ };
798
+ readonly startDate: {
799
+ readonly visibility: "hidden";
800
+ };
801
+ readonly endDate: {
802
+ readonly visibility: "hidden";
803
+ };
804
+ readonly billingPeriod: {
805
+ readonly visibility: "hidden";
806
+ };
807
+ readonly sortOrder: {
808
+ readonly visibility: "hidden";
809
+ };
810
+ readonly discount: {
811
+ readonly visibility: "hidden";
812
+ };
813
+ readonly taxRate: {
814
+ readonly help: "Type a percentage: 5 means 5%.";
815
+ };
102
816
  };
103
817
  };
104
818
  };