@bisondesk/core-sdk 1.0.651 → 1.0.653

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 (149) hide show
  1. package/lib/apis/leasing.d.ts +1 -1
  2. package/lib/apis/leasing.d.ts.map +1 -1
  3. package/lib/apis/leasing.js +3 -2
  4. package/lib/apis/leasing.js.map +1 -1
  5. package/lib/types/deliveries.d.ts +74 -0
  6. package/lib/types/deliveries.d.ts.map +1 -0
  7. package/lib/types/deliveries.js +24 -0
  8. package/lib/types/deliveries.js.map +1 -0
  9. package/lib/types/quotes.d.ts +5 -64
  10. package/lib/types/quotes.d.ts.map +1 -1
  11. package/lib/types/quotes.js +1 -18
  12. package/lib/types/quotes.js.map +1 -1
  13. package/lib/types/reports-arrivals.d.ts +67 -0
  14. package/lib/types/reports-arrivals.d.ts.map +1 -0
  15. package/lib/types/reports-arrivals.js +4 -0
  16. package/lib/types/reports-arrivals.js.map +1 -0
  17. package/lib/types/reports-sales.d.ts +7 -0
  18. package/lib/types/reports-sales.d.ts.map +1 -1
  19. package/lib/types/reports-sales.js.map +1 -1
  20. package/lib/types/templates.d.ts +22 -0
  21. package/lib/types/templates.d.ts.map +1 -1
  22. package/lib/types/templates.js.map +1 -1
  23. package/lib/types/tenants.d.ts +1 -1
  24. package/lib/types/tenants.d.ts.map +1 -1
  25. package/lib/types/tenants.js +1 -1
  26. package/lib/types/tenants.js.map +1 -1
  27. package/lib/types/transports.d.ts +15 -16
  28. package/lib/types/transports.d.ts.map +1 -1
  29. package/lib/types/transports.js +11 -5
  30. package/lib/types/transports.js.map +1 -1
  31. package/lib/types/vehicle-sales.d.ts +3 -2
  32. package/lib/types/vehicle-sales.d.ts.map +1 -1
  33. package/lib/types/vehicle-sales.js.map +1 -1
  34. package/lib/utils/deliveries.d.ts +3 -0
  35. package/lib/utils/deliveries.d.ts.map +1 -0
  36. package/lib/utils/deliveries.js +3 -0
  37. package/lib/utils/deliveries.js.map +1 -0
  38. package/lib/utils/deliveries.test.d.ts +2 -0
  39. package/lib/utils/deliveries.test.d.ts.map +1 -0
  40. package/lib/utils/deliveries.test.js +34 -0
  41. package/lib/utils/deliveries.test.js.map +1 -0
  42. package/lib/utils/leasing.d.ts +1 -0
  43. package/lib/utils/leasing.d.ts.map +1 -1
  44. package/lib/utils/leasing.js +7 -1
  45. package/lib/utils/leasing.js.map +1 -1
  46. package/lib/utils/leasing.test.d.ts +2 -0
  47. package/lib/utils/leasing.test.d.ts.map +1 -0
  48. package/lib/utils/leasing.test.js +69 -0
  49. package/lib/utils/leasing.test.js.map +1 -0
  50. package/lib/utils/reports-arrivals.d.ts +3 -0
  51. package/lib/utils/reports-arrivals.d.ts.map +1 -0
  52. package/lib/utils/reports-arrivals.js +15 -0
  53. package/lib/utils/reports-arrivals.js.map +1 -0
  54. package/lib/utils/transports.d.ts +1 -0
  55. package/lib/utils/transports.d.ts.map +1 -1
  56. package/lib/utils/transports.js +3 -4
  57. package/lib/utils/transports.js.map +1 -1
  58. package/lib/utils/vehicles.d.ts +3 -1
  59. package/lib/utils/vehicles.d.ts.map +1 -1
  60. package/lib/utils/vehicles.js +6 -1
  61. package/lib/utils/vehicles.js.map +1 -1
  62. package/package.json +1 -1
  63. package/src/apis/leasing.ts +3 -1
  64. package/src/types/activities.js +13 -0
  65. package/src/types/activities.js.map +1 -0
  66. package/src/types/comparables.js +2 -0
  67. package/src/types/comparables.js.map +1 -0
  68. package/src/types/crm.js +58 -0
  69. package/src/types/crm.js.map +1 -0
  70. package/src/types/dashboard.js +2 -0
  71. package/src/types/dashboard.js.map +1 -0
  72. package/src/types/definitions.js +2 -0
  73. package/src/types/definitions.js.map +1 -0
  74. package/src/types/deliveries.ts +92 -0
  75. package/src/types/fields.js +2 -0
  76. package/src/types/fields.js.map +1 -0
  77. package/src/types/insights.js +2 -0
  78. package/src/types/insights.js.map +1 -0
  79. package/src/types/interests.js +6 -0
  80. package/src/types/interests.js.map +1 -0
  81. package/src/types/internal-events.js +18 -0
  82. package/src/types/internal-events.js.map +1 -0
  83. package/src/types/internet-opportunities.js +2 -0
  84. package/src/types/internet-opportunities.js.map +1 -0
  85. package/src/types/internet-vehicles.js +2 -0
  86. package/src/types/internet-vehicles.js.map +1 -0
  87. package/src/types/leasing-administration.js +2 -0
  88. package/src/types/leasing-administration.js.map +1 -0
  89. package/src/types/leasing-debtors.js +2 -0
  90. package/src/types/leasing-debtors.js.map +1 -0
  91. package/src/types/leasing-search.js +2 -0
  92. package/src/types/leasing-search.js.map +1 -0
  93. package/src/types/leasing-settings.js +7 -0
  94. package/src/types/leasing-settings.js.map +1 -0
  95. package/src/types/leasing.js +38 -0
  96. package/src/types/leasing.js.map +1 -0
  97. package/src/types/marketing.js +35 -0
  98. package/src/types/marketing.js.map +1 -0
  99. package/src/types/offers.js +56 -0
  100. package/src/types/opportunities.js +107 -0
  101. package/src/types/opportunities.js.map +1 -0
  102. package/src/types/payments.js +7 -0
  103. package/src/types/picklists.js +2 -0
  104. package/src/types/picklists.js.map +1 -0
  105. package/src/types/quotes.js +42 -0
  106. package/src/types/quotes.ts +17 -72
  107. package/src/types/recently-viewed.js +2 -0
  108. package/src/types/recently-viewed.js.map +1 -0
  109. package/src/types/reports-arrivals.ts +95 -0
  110. package/src/types/reports-sales.ts +13 -0
  111. package/src/types/reservations.js +5 -0
  112. package/src/types/reservations.js.map +1 -0
  113. package/src/types/roi-ratings.js +5 -0
  114. package/src/types/roi-ratings.js.map +1 -0
  115. package/src/types/saved-filters.js +9 -0
  116. package/src/types/saved-filters.js.map +1 -0
  117. package/src/types/search.js +2 -0
  118. package/src/types/search.js.map +1 -0
  119. package/src/types/settings.js +2 -0
  120. package/src/types/settings.js.map +1 -0
  121. package/src/types/templates.js +2 -0
  122. package/src/types/templates.js.map +1 -0
  123. package/src/types/templates.ts +27 -0
  124. package/src/types/tenants.js +21 -0
  125. package/src/types/tenants.js.map +1 -0
  126. package/src/types/tenants.ts +1 -1
  127. package/src/types/transports.ts +35 -25
  128. package/src/types/user-performance.js +7 -0
  129. package/src/types/user-performance.js.map +1 -0
  130. package/src/types/utils.js +2 -0
  131. package/src/types/validation.js +2 -0
  132. package/src/types/validation.js.map +1 -0
  133. package/src/types/vehicle-sales.js +6 -0
  134. package/src/types/vehicle-sales.js.map +1 -0
  135. package/src/types/vehicle-sales.ts +3 -2
  136. package/src/types/vehicles.js +98 -0
  137. package/src/types/vehicles.js.map +1 -0
  138. package/src/utils/deliveries.test.ts +50 -0
  139. package/src/utils/deliveries.ts +13 -0
  140. package/src/utils/leasing.js +6 -0
  141. package/src/utils/leasing.js.map +1 -0
  142. package/src/utils/leasing.test.ts +79 -0
  143. package/src/utils/leasing.ts +22 -1
  144. package/src/utils/opportunities.js +48 -0
  145. package/src/utils/opportunities.js.map +1 -0
  146. package/src/utils/reports-arrivals.ts +19 -0
  147. package/src/utils/transports.ts +11 -7
  148. package/src/utils/vehicles.ts +10 -0
  149. package/tsconfig.tsbuildinfo +1 -1
@@ -1,10 +1,18 @@
1
1
  import { Opportunity } from '../types/opportunities.js';
2
2
  import { SearchTransport, Transport, TransportType } from '../types/transports.js';
3
- import { VehiclePurchase, VehiclePurchaseLogisticsStatus } from '../types/vehicles.js';
3
+ import { VehiclePurchase } from '../types/vehicles.js';
4
+ import { hasPurchaseArrived } from './vehicles.js';
5
+
6
+ /**
7
+ * Both purchase types bring a vehicle to our park: we collect a pickup, and the supplier brings
8
+ * a drop-off. They share the purchase payment and arrival rules.
9
+ */
10
+ export const isPurchaseTransport = (transport: Pick<Transport, 'type'>): boolean =>
11
+ transport.type !== TransportType.SaleDelivery;
4
12
 
5
13
  /**
6
14
  * A transport is finished when the journey it describes has demonstrably happened: the customer has
7
- * the vehicle for a sale delivery, the vehicle is on our park for a purchase pick-up. From then on
15
+ * the vehicle for a sale delivery, the vehicle is on our park for a purchase. From then on
8
16
  * the record is history and the server refuses edits to it.
9
17
  *
10
18
  * Not the same thing as the transport's own `doneAt`. Delivery can be declared on the opportunity
@@ -22,11 +30,7 @@ export const isTransportCompleted = (
22
30
  return context.opportunity?.deliveredAt != null;
23
31
  }
24
32
 
25
- const status = context.purchase?.logistics.status;
26
- return (
27
- status === VehiclePurchaseLogisticsStatus.Arrived ||
28
- status === VehiclePurchaseLogisticsStatus.CheckedIn
29
- );
33
+ return context.purchase != null && hasPurchaseArrived(context.purchase);
30
34
  };
31
35
 
32
36
  /** The same question asked of a search document, which already carries both sides. */
@@ -6,8 +6,18 @@ import {
6
6
  VehicleExternalInfo,
7
7
  VehiclePurchase,
8
8
  VehiclePurchaseDealStatus,
9
+ VehiclePurchaseLogisticsStatus,
9
10
  } from '../types/vehicles.js';
10
11
 
12
+ /** The logistics statuses at which the purchased vehicle is on our park. */
13
+ export const PURCHASE_ARRIVED_STATUSES: readonly VehiclePurchaseLogisticsStatus[] = [
14
+ VehiclePurchaseLogisticsStatus.Arrived,
15
+ VehiclePurchaseLogisticsStatus.CheckedIn,
16
+ ];
17
+
18
+ export const hasPurchaseArrived = (purchase: Pick<VehiclePurchase, 'logistics'>): boolean =>
19
+ PURCHASE_ARRIVED_STATUSES.includes(purchase.logistics.status);
20
+
11
21
  /**
12
22
  * The deal has not been committed: there is no purchase yet, or its deal is still in
13
23
  * `Marketing`. Copies are created in this state; it ends when the owner agrees to buy