@bisondesk/core-sdk 1.0.588 → 1.0.590

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 (164) hide show
  1. package/lib/apis/crm.js.map +1 -1
  2. package/lib/apis/debtors.js.map +1 -1
  3. package/lib/apis/email-templates.js.map +1 -1
  4. package/lib/apis/insights.d.ts.map +1 -1
  5. package/lib/apis/insights.js.map +1 -1
  6. package/lib/apis/leasing-administration.js.map +1 -1
  7. package/lib/apis/leasing.d.ts +1 -1
  8. package/lib/apis/leasing.d.ts.map +1 -1
  9. package/lib/apis/leasing.js.map +1 -1
  10. package/lib/apis/offers.d.ts.map +1 -1
  11. package/lib/apis/offers.js.map +1 -1
  12. package/lib/apis/opportunities.d.ts.map +1 -1
  13. package/lib/apis/opportunities.js.map +1 -1
  14. package/lib/apis/tenants.js.map +1 -1
  15. package/lib/apis/users.d.ts.map +1 -1
  16. package/lib/apis/users.js +1 -1
  17. package/lib/apis/users.js.map +1 -1
  18. package/lib/apis/vehicle-sales.js.map +1 -1
  19. package/lib/apis/vehicles.js.map +1 -1
  20. package/lib/types/leasing-administration.js.map +1 -1
  21. package/lib/types/leasing.d.ts.map +1 -1
  22. package/lib/types/leasing.js.map +1 -1
  23. package/lib/types/offers.d.ts.map +1 -1
  24. package/lib/types/offers.js +1 -4
  25. package/lib/types/offers.js.map +1 -1
  26. package/lib/types/opportunities.d.ts +4 -0
  27. package/lib/types/opportunities.d.ts.map +1 -1
  28. package/lib/types/opportunities.js.map +1 -1
  29. package/lib/types/prospects.d.ts +4 -5
  30. package/lib/types/prospects.d.ts.map +1 -1
  31. package/lib/types/prospects.js.map +1 -1
  32. package/lib/types/quotes.d.ts.map +1 -1
  33. package/lib/types/quotes.js.map +1 -1
  34. package/lib/types/recently-viewed.js.map +1 -1
  35. package/lib/types/tenants.d.ts +2 -1
  36. package/lib/types/tenants.d.ts.map +1 -1
  37. package/lib/types/tenants.js +1 -0
  38. package/lib/types/tenants.js.map +1 -1
  39. package/lib/types/transports.d.ts +110 -0
  40. package/lib/types/transports.d.ts.map +1 -0
  41. package/lib/types/transports.js +44 -0
  42. package/lib/types/transports.js.map +1 -0
  43. package/lib/types/vehicles.d.ts +11 -2
  44. package/lib/types/vehicles.d.ts.map +1 -1
  45. package/lib/types/vehicles.js.map +1 -1
  46. package/lib/utils/debtors-dossiers.js.map +1 -1
  47. package/lib/utils/forms.js.map +1 -1
  48. package/lib/utils/integrations/vehicles.js.map +1 -1
  49. package/lib/utils/interests.js.map +1 -1
  50. package/lib/utils/leasing.d.ts +1 -1
  51. package/lib/utils/leasing.d.ts.map +1 -1
  52. package/lib/utils/leasing.js.map +1 -1
  53. package/lib/utils/opportunities.js.map +1 -1
  54. package/lib/utils/search.d.ts +1 -1
  55. package/lib/utils/search.d.ts.map +1 -1
  56. package/lib/utils/search.js.map +1 -1
  57. package/lib/utils/slug.js.map +1 -1
  58. package/lib/utils/vehicles.js.map +1 -1
  59. package/lib/utils/vehicles.test.js +1 -1
  60. package/lib/utils/vehicles.test.js.map +1 -1
  61. package/package.json +15 -10
  62. package/src/apis/crm.ts +14 -14
  63. package/src/apis/debtors.ts +1 -1
  64. package/src/apis/email-templates.ts +2 -2
  65. package/src/apis/insights.ts +3 -3
  66. package/src/apis/leasing-administration.ts +2 -2
  67. package/src/apis/leasing.ts +19 -19
  68. package/src/apis/offers.ts +9 -12
  69. package/src/apis/opportunities.ts +21 -24
  70. package/src/apis/tenants.ts +3 -3
  71. package/src/apis/users.ts +2 -2
  72. package/src/apis/vehicle-sales.ts +4 -4
  73. package/src/apis/vehicles.ts +12 -12
  74. package/src/types/activities.js +13 -0
  75. package/src/types/activities.js.map +1 -0
  76. package/src/types/comparables.js +2 -0
  77. package/src/types/comparables.js.map +1 -0
  78. package/src/types/crm.js +58 -0
  79. package/src/types/crm.js.map +1 -0
  80. package/src/types/dashboard.js +2 -0
  81. package/src/types/dashboard.js.map +1 -0
  82. package/src/types/definitions.js +2 -0
  83. package/src/types/definitions.js.map +1 -0
  84. package/src/types/fields.js +2 -0
  85. package/src/types/fields.js.map +1 -0
  86. package/src/types/insights.js +2 -0
  87. package/src/types/insights.js.map +1 -0
  88. package/src/types/interests.js +6 -0
  89. package/src/types/interests.js.map +1 -0
  90. package/src/types/internal-events.js +18 -0
  91. package/src/types/internal-events.js.map +1 -0
  92. package/src/types/internet-opportunities.js +2 -0
  93. package/src/types/internet-opportunities.js.map +1 -0
  94. package/src/types/internet-vehicles.js +2 -0
  95. package/src/types/internet-vehicles.js.map +1 -0
  96. package/src/types/leasing-administration.js +2 -0
  97. package/src/types/leasing-administration.js.map +1 -0
  98. package/src/types/leasing-administration.ts +3 -3
  99. package/src/types/leasing-debtors.js +2 -0
  100. package/src/types/leasing-debtors.js.map +1 -0
  101. package/src/types/leasing-search.js +2 -0
  102. package/src/types/leasing-search.js.map +1 -0
  103. package/src/types/leasing-settings.js +7 -0
  104. package/src/types/leasing-settings.js.map +1 -0
  105. package/src/types/leasing.js +38 -0
  106. package/src/types/leasing.js.map +1 -0
  107. package/src/types/leasing.ts +2 -2
  108. package/src/types/marketing.js +35 -0
  109. package/src/types/marketing.js.map +1 -0
  110. package/src/types/offers.js +56 -0
  111. package/src/types/offers.ts +1 -4
  112. package/src/types/opportunities.js +107 -0
  113. package/src/types/opportunities.js.map +1 -0
  114. package/src/types/opportunities.ts +4 -0
  115. package/src/types/payments.js +7 -0
  116. package/src/types/picklists.js +2 -0
  117. package/src/types/picklists.js.map +1 -0
  118. package/src/types/prospects.ts +4 -5
  119. package/src/types/quotes.js +42 -0
  120. package/src/types/quotes.ts +5 -5
  121. package/src/types/recently-viewed.js +2 -0
  122. package/src/types/recently-viewed.js.map +1 -0
  123. package/src/types/recently-viewed.ts +1 -1
  124. package/src/types/reservations.js +5 -0
  125. package/src/types/reservations.js.map +1 -0
  126. package/src/types/roi-ratings.js +5 -0
  127. package/src/types/roi-ratings.js.map +1 -0
  128. package/src/types/saved-filters.js +9 -0
  129. package/src/types/saved-filters.js.map +1 -0
  130. package/src/types/search.js +2 -0
  131. package/src/types/search.js.map +1 -0
  132. package/src/types/settings.js +2 -0
  133. package/src/types/settings.js.map +1 -0
  134. package/src/types/templates.js +2 -0
  135. package/src/types/templates.js.map +1 -0
  136. package/src/types/tenants.js +21 -0
  137. package/src/types/tenants.js.map +1 -0
  138. package/src/types/tenants.ts +1 -0
  139. package/src/types/transports.ts +149 -0
  140. package/src/types/user-performance.js +7 -0
  141. package/src/types/user-performance.js.map +1 -0
  142. package/src/types/utils.js +2 -0
  143. package/src/types/validation.js +2 -0
  144. package/src/types/validation.js.map +1 -0
  145. package/src/types/vehicle-sales.js +6 -0
  146. package/src/types/vehicle-sales.js.map +1 -0
  147. package/src/types/vehicles.js +98 -0
  148. package/src/types/vehicles.js.map +1 -0
  149. package/src/types/vehicles.ts +13 -2
  150. package/src/utils/debtors-dossiers.ts +1 -1
  151. package/src/utils/forms.ts +1 -1
  152. package/src/utils/integrations/vehicles.ts +1 -1
  153. package/src/utils/interests.ts +2 -2
  154. package/src/utils/leasing.js +6 -0
  155. package/src/utils/leasing.js.map +1 -0
  156. package/src/utils/leasing.ts +6 -6
  157. package/src/utils/opportunities.js +48 -0
  158. package/src/utils/opportunities.js.map +1 -0
  159. package/src/utils/opportunities.ts +1 -1
  160. package/src/utils/search.ts +16 -16
  161. package/src/utils/slug.ts +1 -1
  162. package/src/utils/vehicles.test.ts +1 -1
  163. package/src/utils/vehicles.ts +1 -1
  164. package/tsconfig.tsbuildinfo +1 -1
@@ -8,6 +8,7 @@ import { Payment } from './payments.js';
8
8
  import { Quote, QuoteStatus } from './quotes.js';
9
9
  import { OpportunityReservation } from './reservations.js';
10
10
  import { BaseSearchRequest } from './search.js';
11
+ import { Transport } from './transports.js';
11
12
  import { DataRecord, ReferenceData } from './utils.js';
12
13
  import { Vehicle } from './vehicles.js';
13
14
 
@@ -272,6 +273,7 @@ export type OpportunityBFF = {
272
273
  contact: DataRecord<Contact, ContactMetdata>;
273
274
  org?: DataRecord<Organization>;
274
275
  };
276
+ transport?: Transport;
275
277
  };
276
278
 
277
279
  type BaseOpportunityEvent = BaseEvent & {
@@ -315,6 +317,7 @@ export type SearchOpportunity = {
315
317
  opportunity: Opportunity;
316
318
  org?: Organization;
317
319
  vehicle?: Vehicle;
320
+ transport?: Transport;
318
321
  quote?: QuoteInfo;
319
322
  custom: {
320
323
  groupKey: string;
@@ -323,6 +326,7 @@ export type SearchOpportunity = {
323
326
  unassigned: boolean;
324
327
  lost: boolean;
325
328
  assignees: string[];
329
+ accountManagers: string[];
326
330
  vehicleCheckedIn: boolean;
327
331
  status: OpportunityStatus | 'won';
328
332
  };
@@ -0,0 +1,7 @@
1
+ export var PaymentActions;
2
+ (function (PaymentActions) {
3
+ PaymentActions["DELETE"] = "delete";
4
+ PaymentActions["EDIT"] = "edit";
5
+ })(PaymentActions || (PaymentActions = {}));
6
+ export const PAYMENT_NOTIFICATION_ORIGIN = 'payment-notification';
7
+ //# sourceMappingURL=payments.js.map
@@ -0,0 +1,2 @@
1
+ export * from '@bisondesk/commons-sdk/picklists';
2
+ //# sourceMappingURL=picklists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"picklists.js","sourceRoot":"","sources":["picklists.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
@@ -1,11 +1,10 @@
1
- import { MultiLangValue } from '@bisondesk/commons-sdk/types';
2
- import { BaseEvent } from './internal-events.js';
3
- import { BaseSearchRequest } from './search.js';
1
+ import { Task } from '@bisondesk/commons-sdk/tasks';
2
+ import { MultiLangValue, NextList } from '@bisondesk/commons-sdk/types';
4
3
  import { Contact, Organization } from './crm.js';
5
4
  import { Interest } from './interests.js';
5
+ import { BaseEvent } from './internal-events.js';
6
+ import { BaseSearchRequest } from './search.js';
6
7
  import { DataRecord, ReferenceData } from './utils.js';
7
- import { NextList } from '@bisondesk/commons-sdk/types';
8
- import { Task } from '@bisondesk/commons-sdk/tasks';
9
8
 
10
9
  export enum ProspectActions {
11
10
  CLOSE = 'close',
@@ -0,0 +1,42 @@
1
+ export var QuoteActions;
2
+ (function (QuoteActions) {
3
+ QuoteActions["ACCEPT"] = "accept";
4
+ QuoteActions["VALIDATE"] = "validate";
5
+ QuoteActions["DONWLOAD_PDFS"] = "download-pdfs";
6
+ QuoteActions["CANCEL"] = "cancel";
7
+ })(QuoteActions || (QuoteActions = {}));
8
+ export var QuoteStatus;
9
+ (function (QuoteStatus) {
10
+ QuoteStatus["CREATED"] = "created";
11
+ QuoteStatus["VALIDATED"] = "validated";
12
+ QuoteStatus["INVALIDATED"] = "invalidated";
13
+ QuoteStatus["ACCEPTED"] = "accepted";
14
+ QuoteStatus["REJECTED"] = "rejected";
15
+ QuoteStatus["CANCELLED"] = "cancelled";
16
+ QuoteStatus["MANAGER_REJECTED"] = "managerRejected";
17
+ QuoteStatus["MANAGER_ACCEPTED"] = "managerAccepted";
18
+ })(QuoteStatus || (QuoteStatus = {}));
19
+ export var QuoteMetricsScore;
20
+ (function (QuoteMetricsScore) {
21
+ QuoteMetricsScore["DANGER"] = "danger";
22
+ QuoteMetricsScore["NEUTRAL"] = "neutral";
23
+ QuoteMetricsScore["GOOD"] = "good";
24
+ })(QuoteMetricsScore || (QuoteMetricsScore = {}));
25
+ export var DeliveryTypes;
26
+ (function (DeliveryTypes) {
27
+ DeliveryTypes["PICK_UP"] = "pickUp";
28
+ DeliveryTypes["ADDRESS"] = "address";
29
+ DeliveryTypes["PORT"] = "port";
30
+ })(DeliveryTypes || (DeliveryTypes = {}));
31
+ export var SpoilerInfo;
32
+ (function (SpoilerInfo) {
33
+ SpoilerInfo["MOUNT"] = "mount";
34
+ SpoilerInfo["UNMOUNT"] = "unmount";
35
+ SpoilerInfo["NO_ACTION"] = "noAction";
36
+ })(SpoilerInfo || (SpoilerInfo = {}));
37
+ export var TransportationMode;
38
+ (function (TransportationMode) {
39
+ TransportationMode["BY_ROAD"] = "byRoad";
40
+ TransportationMode["ON_LOW_BED"] = "onLowBed";
41
+ })(TransportationMode || (TransportationMode = {}));
42
+ //# sourceMappingURL=quotes.js.map
@@ -1,11 +1,11 @@
1
1
  import { AttachmentValue, LocationValue } from '@bisondesk/commons-sdk/types';
2
2
  import { OpportunityType } from '../constants.js';
3
3
  import {
4
- CustomLeasingQuoteExtraInput,
5
- CustomSalesQuoteExtraInput,
6
- LeasingDeliveryPackageInput,
7
- LeasingQuoteExtraInput,
8
- SalesQuoteExtraInput,
4
+ CustomLeasingQuoteExtraInput,
5
+ CustomSalesQuoteExtraInput,
6
+ LeasingDeliveryPackageInput,
7
+ LeasingQuoteExtraInput,
8
+ SalesQuoteExtraInput,
9
9
  } from './leasing-settings.js';
10
10
  import { MatchingRuleValue } from './roi-ratings.js';
11
11
  import { PricePercentageMode } from './utils.js';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=recently-viewed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recently-viewed.js","sourceRoot":"","sources":["recently-viewed.ts"],"names":[],"mappings":""}
@@ -33,7 +33,7 @@ export type ViewedItemHandler = (
33
33
  requester: Requester,
34
34
  req: ViewedItemsRequest,
35
35
  itemsBusinessEntity: BusinessEntityIds,
36
- items: RawViewedItem[]
36
+ items: RawViewedItem[],
37
37
  ) => Promise<ViewedItem[]>;
38
38
 
39
39
  export type ViewedItemsContextHandlers = {
@@ -0,0 +1,5 @@
1
+ export var ReservationActions;
2
+ (function (ReservationActions) {
3
+ ReservationActions["SET_RESERVATION_EXPIRE"] = "update_expires_at";
4
+ })(ReservationActions || (ReservationActions = {}));
5
+ //# sourceMappingURL=reservations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reservations.js","sourceRoot":"","sources":["reservations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC5B,kEAA4C,CAAA;AAC9C,CAAC,EAFW,kBAAkB,KAAlB,kBAAkB,QAE7B"}
@@ -0,0 +1,5 @@
1
+ export var DisplayType;
2
+ (function (DisplayType) {
3
+ DisplayType["StarsRating"] = "stars-rating";
4
+ })(DisplayType || (DisplayType = {}));
5
+ //# sourceMappingURL=roi-ratings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roi-ratings.js","sourceRoot":"","sources":["roi-ratings.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,2CAA4B,CAAA;AAC9B,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB"}
@@ -0,0 +1,9 @@
1
+ export var SavedFiltersActions;
2
+ (function (SavedFiltersActions) {
3
+ SavedFiltersActions["Share"] = "share";
4
+ SavedFiltersActions["Update"] = "update";
5
+ SavedFiltersActions["Delete"] = "delete";
6
+ SavedFiltersActions["SetPersonalDefault"] = "set_own_default";
7
+ SavedFiltersActions["SetGlobalDefault"] = "set_global_default";
8
+ })(SavedFiltersActions || (SavedFiltersActions = {}));
9
+ //# sourceMappingURL=saved-filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saved-filters.js","sourceRoot":"","sources":["saved-filters.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,wCAAiB,CAAA;IACjB,6DAAsC,CAAA;IACtC,8DAAuC,CAAA;AACzC,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B"}
@@ -0,0 +1,2 @@
1
+ export * from '@bisondesk/commons-sdk/search';
2
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["search.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["settings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["templates.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ export var TenantModule;
2
+ (function (TenantModule) {
3
+ TenantModule["Administration"] = "administration";
4
+ TenantModule["App"] = "app";
5
+ TenantModule["CRM"] = "crm";
6
+ TenantModule["Docs"] = "docs";
7
+ TenantModule["Leads"] = "leads";
8
+ TenantModule["Leasing"] = "leasing";
9
+ TenantModule["Marketing"] = "marketing";
10
+ TenantModule["Insights"] = "insights";
11
+ TenantModule["Opportunities"] = "opportunities";
12
+ TenantModule["Offers"] = "offers";
13
+ TenantModule["VehiclesMasterData"] = "vehicles_master_data";
14
+ TenantModule["Vehicles"] = "vehicles";
15
+ TenantModule["Tasks"] = "tasks";
16
+ TenantModule["TrackAndTrace"] = "track_and_trace";
17
+ TenantModule["Bootstrap"] = "bootstrap";
18
+ TenantModule["WhatsappNotifications"] = "whatsapp_notifications";
19
+ TenantModule["Hexon"] = "hexon";
20
+ })(TenantModule || (TenantModule = {}));
21
+ //# sourceMappingURL=tenants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenants.js","sourceRoot":"","sources":["tenants.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,YAkBX;AAlBD,WAAY,YAAY;IACtB,iDAAiC,CAAA;IACjC,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,+CAA+B,CAAA;IAC/B,iCAAiB,CAAA;IACjB,2DAA2C,CAAA;IAC3C,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,iDAAiC,CAAA;IACjC,uCAAuB,CAAA;IACvB,gEAAgD,CAAA;IAChD,+BAAe,CAAA;AACjB,CAAC,EAlBW,YAAY,KAAZ,YAAY,QAkBvB"}
@@ -32,6 +32,7 @@ export enum TenantModule {
32
32
  Bootstrap = 'bootstrap',
33
33
  WhatsappNotifications = 'whatsapp_notifications',
34
34
  Hexon = 'hexon',
35
+ Transport = 'transport',
35
36
  }
36
37
 
37
38
  export type Tenant = PublicTenant & {
@@ -0,0 +1,149 @@
1
+ import { LocationValue, NextList, PaginatedList } from '@bisondesk/commons-sdk/types';
2
+ import { Organization } from './crm.js';
3
+ import { Opportunity } from './opportunities.js';
4
+ import { DeliveryTypes } from './quotes.js';
5
+ import { BaseSearchRequest, SortOrder } from './search.js';
6
+ import { DataRecord, ReferenceData } from './utils.js';
7
+ import { Vehicle, VehiclePurchase } from './vehicles.js';
8
+
9
+ export enum TransportType {
10
+ PurchasePickUp = 'PURCHASE_PICK_UP',
11
+ SaleDelivery = 'SALE_DELIVERY',
12
+ }
13
+
14
+ export enum TransportStatus {
15
+ Todo = 'TODO',
16
+ Planning = 'PLANNING',
17
+ Ready = 'READY',
18
+ OngoingInternal = 'ONGOING_INTERNAL',
19
+ OngoingExternal = 'ONGOING_EXTERNAL',
20
+ Done = 'DONE',
21
+ }
22
+
23
+ export const TransportStatusOrder: TransportStatus[] = [
24
+ TransportStatus.Todo,
25
+ TransportStatus.Planning,
26
+ TransportStatus.Ready,
27
+ TransportStatus.OngoingInternal,
28
+ TransportStatus.OngoingExternal,
29
+ ];
30
+
31
+ export const TransportDoneColumnId = TransportStatus.Done;
32
+
33
+ export const TransportKanbanEndColumns: TransportStatus[] = [TransportDoneColumnId];
34
+ export const TransportKanbanColumns: TransportStatus[] = [
35
+ ...TransportStatusOrder,
36
+ ...TransportKanbanEndColumns,
37
+ ];
38
+
39
+ export enum TransportPriority {
40
+ Normal = 'NORMAL',
41
+ High = 'HIGH',
42
+ Urgent = 'URGENT',
43
+ }
44
+
45
+ export const TransportDeliveryType = {
46
+ Address: DeliveryTypes.ADDRESS,
47
+ Port: DeliveryTypes.PORT,
48
+ PortAndShip: DeliveryTypes.PORT_AND_SHIP,
49
+ } as const;
50
+
51
+ export type TransportDeliveryType =
52
+ (typeof TransportDeliveryType)[keyof typeof TransportDeliveryType];
53
+
54
+ export type Transport = {
55
+ id: string;
56
+ vehicleId: string;
57
+ opportunityId?: string;
58
+
59
+ type: TransportType;
60
+ deliveryType: TransportDeliveryType;
61
+ status: TransportStatus;
62
+
63
+ priority: TransportPriority;
64
+
65
+ // administrative fields
66
+ adminApproved: boolean;
67
+
68
+ notes?: string;
69
+
70
+ // semi-trailer specific fields
71
+ cleaningNeeded?: boolean;
72
+ stacking?: boolean;
73
+ stackingDetails?: string;
74
+
75
+ port?: {
76
+ sourcePort?: string;
77
+ destinationPort?: string;
78
+
79
+ deliveryLocation?: string;
80
+ bookingRef?: string;
81
+ shippingCompany?: string;
82
+ ets?: string;
83
+ eta?: string;
84
+ };
85
+
86
+ address?: LocationValue;
87
+
88
+ log: Array<{
89
+ status: TransportStatus;
90
+ completedAt: string;
91
+ completedBy: string;
92
+ }>;
93
+
94
+ doneAt?: string;
95
+ doneBy?: string;
96
+ canceledAt?: string;
97
+ canceledBy?: string;
98
+
99
+ createdAt: string;
100
+ createdBy: string;
101
+ updatedAt: string;
102
+ updatedBy: string;
103
+ };
104
+
105
+ export enum TransportWarningCode {
106
+ PurchaseLogisticsNotReady = 'purchase_logistics_not_ready',
107
+ }
108
+
109
+ export type TransportWarning = {
110
+ code: TransportWarningCode;
111
+ details?: Record<string, string | number | boolean>;
112
+ };
113
+
114
+ export type SearchTransport = {
115
+ transport: Transport;
116
+ vehicle: Vehicle;
117
+ org: Organization;
118
+ opportunity?: Opportunity;
119
+ purchase: VehiclePurchase;
120
+ custom: {
121
+ commercialUserIds: string[];
122
+ warnings: TransportWarning[];
123
+ };
124
+ };
125
+
126
+ export type SearchTransportList = PaginatedList<SearchTransport, ReferenceData>;
127
+
128
+ export type TransportKanbanColumn = {
129
+ status: TransportStatus;
130
+ results: SearchTransport[];
131
+ totalCount: number;
132
+ };
133
+
134
+ export type MSearchTransportsKanbanColumn = {
135
+ column: TransportKanbanColumn;
136
+ nextToken?: string;
137
+ };
138
+
139
+ export type KanbanTransportsSearchRequest = BaseSearchRequest & {
140
+ nextTokens?: Record<string, string | undefined>;
141
+ statusSortBy?: Record<TransportStatus, { fieldId: string; order: SortOrder }[]>;
142
+ };
143
+
144
+ export type KanbanTransportsNextList = Omit<
145
+ NextList<TransportKanbanColumn, ReferenceData>,
146
+ 'nextToken'
147
+ > & {
148
+ nextTokens?: Record<string, string | undefined>;
149
+ };
@@ -0,0 +1,7 @@
1
+ export var CommissionGrade;
2
+ (function (CommissionGrade) {
3
+ CommissionGrade["TooLow"] = "tooLow";
4
+ CommissionGrade["Low"] = "low";
5
+ CommissionGrade["OnTarget"] = "onTarget";
6
+ })(CommissionGrade || (CommissionGrade = {}));
7
+ //# sourceMappingURL=user-performance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-performance.js","sourceRoot":"","sources":["user-performance.ts"],"names":[],"mappings":"AAsCA,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,wCAAqB,CAAA;AACvB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B"}
@@ -0,0 +1,2 @@
1
+ export * from '@bisondesk/commons-sdk/utils';
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["validation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export var VehicleSaleInfoActions;
2
+ (function (VehicleSaleInfoActions) {
3
+ VehicleSaleInfoActions["VIEW_COSTS"] = "canSeeCosts";
4
+ VehicleSaleInfoActions["VIEW_CUSTOMER"] = "canSeeCustomer";
5
+ })(VehicleSaleInfoActions || (VehicleSaleInfoActions = {}));
6
+ //# sourceMappingURL=vehicle-sales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vehicle-sales.js","sourceRoot":"","sources":["vehicle-sales.ts"],"names":[],"mappings":"AAOA,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,oDAA0B,CAAA;IAC1B,0DAAgC,CAAA;AAClC,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC"}
@@ -0,0 +1,98 @@
1
+ export var VehicleRoles;
2
+ (function (VehicleRoles) {
3
+ VehicleRoles["SALE"] = "SALE";
4
+ VehicleRoles["OWN_USE"] = "OWN_USE";
5
+ VehicleRoles["RENTAL"] = "RENTAL";
6
+ VehicleRoles["BUILD"] = "BUILD";
7
+ VehicleRoles["UNKNOWN"] = "UNKNOWN";
8
+ VehicleRoles["BANK_FINANCE"] = "BANK_FINANCE";
9
+ })(VehicleRoles || (VehicleRoles = {}));
10
+ export var VehicleFuelType;
11
+ (function (VehicleFuelType) {
12
+ VehicleFuelType["Petrol"] = "PETROL";
13
+ VehicleFuelType["Diesel"] = "DIESEL";
14
+ VehicleFuelType["LPG"] = "LPG";
15
+ VehicleFuelType["LPG_G3"] = "LPG_G3";
16
+ VehicleFuelType["Electric"] = "ELECTRIC";
17
+ VehicleFuelType["CNG"] = "CNG";
18
+ VehicleFuelType["Hydrogen"] = "HYDROGEN";
19
+ VehicleFuelType["BioEthanol"] = "BIO_ETHANOL";
20
+ VehicleFuelType["BioDiesel"] = "BIO_DIESEL";
21
+ VehicleFuelType["E85"] = "E85";
22
+ VehicleFuelType["HCNG"] = "HCNG";
23
+ VehicleFuelType["LPG_Petrol"] = "LPG_PETROL";
24
+ VehicleFuelType["LPG_Diesel"] = "LPG_DIESEL";
25
+ VehicleFuelType["LPG_G3_Petrol"] = "LPG_G3_PETROL";
26
+ VehicleFuelType["LPG_G3_Diesel"] = "LPG_G3_DIESEL";
27
+ VehicleFuelType["Electric_Diesel"] = "ELECTRIC_DIESEL";
28
+ VehicleFuelType["Electric_Petrol"] = "ELECTRIC_PETROL";
29
+ VehicleFuelType["Hybrid"] = "HYBRID";
30
+ VehicleFuelType["Other"] = "OTHER";
31
+ })(VehicleFuelType || (VehicleFuelType = {}));
32
+ export var VehicleTachoTypes;
33
+ (function (VehicleTachoTypes) {
34
+ VehicleTachoTypes["Analog"] = "ANALOG";
35
+ VehicleTachoTypes["Digital"] = "DIGITAL";
36
+ VehicleTachoTypes["SmartTacho1"] = "SMART_TACHO_1";
37
+ VehicleTachoTypes["SmartTacho2"] = "SMART_TACHO_2";
38
+ })(VehicleTachoTypes || (VehicleTachoTypes = {}));
39
+ export var SearchVehicleSaleDealStatus;
40
+ (function (SearchVehicleSaleDealStatus) {
41
+ SearchVehicleSaleDealStatus["NotSold"] = "NOT_SOLD";
42
+ SearchVehicleSaleDealStatus["Reserved"] = "RESERVED";
43
+ SearchVehicleSaleDealStatus["Sold"] = "SOLD";
44
+ })(SearchVehicleSaleDealStatus || (SearchVehicleSaleDealStatus = {}));
45
+ export var VehiclePurchaseDealStatus;
46
+ (function (VehiclePurchaseDealStatus) {
47
+ VehiclePurchaseDealStatus["Marketing"] = "MARKETING";
48
+ VehiclePurchaseDealStatus["PurchaseEvaluation"] = "PURCHASE_EVALUATION";
49
+ VehiclePurchaseDealStatus["PurchaseAgreed"] = "PURCHASE_AGREED";
50
+ VehiclePurchaseDealStatus["FirstPaymentAllowed"] = "FIRST_PAYMENT_ALLOWED";
51
+ VehiclePurchaseDealStatus["FirstPaymentSent"] = "FIRST_PAYMENT_SENT";
52
+ VehiclePurchaseDealStatus["FullPaymentAllowed"] = "FULL_PAYMENT_ALLOWED";
53
+ VehiclePurchaseDealStatus["FullPaymentSent"] = "FULL_PAYMENT_SENT";
54
+ })(VehiclePurchaseDealStatus || (VehiclePurchaseDealStatus = {}));
55
+ export var VehiclePurchaseLogisticsStatus;
56
+ (function (VehiclePurchaseLogisticsStatus) {
57
+ VehiclePurchaseLogisticsStatus["AtOrigin"] = "AT_ORIGIN";
58
+ VehiclePurchaseLogisticsStatus["Arrived"] = "ARRIVED";
59
+ VehiclePurchaseLogisticsStatus["CheckedIn"] = "CHECKED_IN";
60
+ })(VehiclePurchaseLogisticsStatus || (VehiclePurchaseLogisticsStatus = {}));
61
+ export var VehiclePurchaseDeliveryType;
62
+ (function (VehiclePurchaseDeliveryType) {
63
+ VehiclePurchaseDeliveryType["PickUp"] = "PICK_UP";
64
+ VehiclePurchaseDeliveryType["DropOff"] = "DROP_OFF";
65
+ })(VehiclePurchaseDeliveryType || (VehiclePurchaseDeliveryType = {}));
66
+ export var VehicleActions;
67
+ (function (VehicleActions) {
68
+ VehicleActions["EditAdminDocs"] = "edit_admin_docs";
69
+ VehicleActions["EditEngineeringDocs"] = "edit_engineering_docs";
70
+ VehicleActions["EditMarketing"] = "edit_marketing";
71
+ VehicleActions["EditMedia"] = "edit_media";
72
+ VehicleActions["EditPictures"] = "edit_pictures";
73
+ VehicleActions["EditPrices"] = "edit_prices";
74
+ VehicleActions["EditPurchaseDeal"] = "edit_purchase_deal";
75
+ VehicleActions["EditPurchaseLogistics"] = "edit_purchase_logistics";
76
+ VehicleActions["EditSpecs"] = "edit_specs";
77
+ VehicleActions["EditVideos"] = "edit_videos";
78
+ VehicleActions["ViewLeads"] = "view_leads";
79
+ VehicleActions["ViewSimilarOnline"] = "view_similar_online";
80
+ VehicleActions["ViewPurchase"] = "view_purchase";
81
+ VehicleActions["ViewPriceHistory"] = "view_price_history";
82
+ VehicleActions["DeleteVehicle"] = "delete_vehicle";
83
+ })(VehicleActions || (VehicleActions = {}));
84
+ export var PurchaseActions;
85
+ (function (PurchaseActions) {
86
+ PurchaseActions["ViewDeal"] = "view_deal";
87
+ PurchaseActions["ViewSupplierOrganization"] = "view_supplier_organization";
88
+ PurchaseActions["ViewContact"] = "view_contact";
89
+ PurchaseActions["ViewLegalAddress"] = "view_legal_address";
90
+ PurchaseActions["ViewPickupAddress"] = "view_pickup_address";
91
+ PurchaseActions["ViewEstimatedCosts"] = "view_estimated_costs";
92
+ PurchaseActions["ViewFinanceDocuments"] = "view_finance_documents";
93
+ PurchaseActions["AddPayment"] = "add_payment";
94
+ PurchaseActions["EditPayment"] = "edit_payment";
95
+ PurchaseActions["MarkPaymentDone"] = "mark_payment_done";
96
+ PurchaseActions["AddRemarks"] = "add_remarks";
97
+ })(PurchaseActions || (PurchaseActions = {}));
98
+ //# sourceMappingURL=vehicles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vehicles.js","sourceRoot":"","sources":["vehicles.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,6CAA6B,CAAA;AAC/B,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAED,MAAM,CAAN,IAAY,eAoBX;AApBD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IACrB,8BAAW,CAAA;IACX,wCAAqB,CAAA;IACrB,6CAA0B,CAAA;IAC1B,2CAAwB,CAAA;IACxB,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,4CAAyB,CAAA;IACzB,4CAAyB,CAAA;IACzB,kDAA+B,CAAA;IAC/B,kDAA+B,CAAA;IAC/B,sDAAmC,CAAA;IACnC,sDAAmC,CAAA;IACnC,oCAAiB,CAAA;IACjB,kCAAe,CAAA;AACjB,CAAC,EApBW,eAAe,KAAf,eAAe,QAoB1B;AAED,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;AAC/B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAiLD,MAAM,CAAN,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,mDAAoB,CAAA;IACpB,oDAAqB,CAAA;IACrB,4CAAa,CAAA;AACf,CAAC,EAJW,2BAA2B,KAA3B,2BAA2B,QAItC;AAwWD,MAAM,CAAN,IAAY,yBAQX;AARD,WAAY,yBAAyB;IACnC,oDAAuB,CAAA;IACvB,uEAA0C,CAAA;IAC1C,+DAAkC,CAAA;IAClC,0EAA6C,CAAA;IAC7C,oEAAuC,CAAA;IACvC,wEAA2C,CAAA;IAC3C,kEAAqC,CAAA;AACvC,CAAC,EARW,yBAAyB,KAAzB,yBAAyB,QAQpC;AAED,MAAM,CAAN,IAAY,8BAIX;AAJD,WAAY,8BAA8B;IACxC,wDAAsB,CAAA;IACtB,qDAAmB,CAAA;IACnB,0DAAwB,CAAA;AAC1B,CAAC,EAJW,8BAA8B,KAA9B,8BAA8B,QAIzC;AAED,MAAM,CAAN,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,iDAAkB,CAAA;IAClB,mDAAoB,CAAA;AACtB,CAAC,EAHW,2BAA2B,KAA3B,2BAA2B,QAGtC;AAwGD,MAAM,CAAN,IAAY,cAgBX;AAhBD,WAAY,cAAc;IACxB,mDAAiC,CAAA;IACjC,+DAA6C,CAAA;IAC7C,kDAAgC,CAAA;IAChC,0CAAwB,CAAA;IACxB,gDAA8B,CAAA;IAC9B,4CAA0B,CAAA;IAC1B,yDAAuC,CAAA;IACvC,mEAAiD,CAAA;IACjD,0CAAwB,CAAA;IACxB,4CAA0B,CAAA;IAC1B,0CAAwB,CAAA;IACxB,2DAAyC,CAAA;IACzC,gDAA8B,CAAA;IAC9B,yDAAuC,CAAA;IACvC,kDAAgC,CAAA;AAClC,CAAC,EAhBW,cAAc,KAAd,cAAc,QAgBzB;AAED,MAAM,CAAN,IAAY,eAYX;AAZD,WAAY,eAAe;IACzB,yCAAsB,CAAA;IACtB,0EAAuD,CAAA;IACvD,+CAA4B,CAAA;IAC5B,0DAAuC,CAAA;IACvC,4DAAyC,CAAA;IACzC,8DAA2C,CAAA;IAC3C,kEAA+C,CAAA;IAC/C,6CAA0B,CAAA;IAC1B,+CAA4B,CAAA;IAC5B,wDAAqC,CAAA;IACrC,6CAA0B,CAAA;AAC5B,CAAC,EAZW,eAAe,KAAf,eAAe,QAY1B"}
@@ -8,11 +8,13 @@ import {
8
8
  ShareEmailRequest,
9
9
  ShareWhatsappRequest,
10
10
  } from '@bisondesk/commons-sdk/types';
11
- import { ComplexFilter, Filter } from './search.js';
11
+ import { ReferenceData } from '@bisondesk/commons-sdk/utils';
12
12
  import { BaseEvent } from './internal-events.js';
13
13
  import { VehicleSaleLogisticsStatus } from './opportunities.js';
14
14
  import { OpportunityReservation } from './reservations.js';
15
- import { DataRecord, ReferenceData } from './utils.js';
15
+ import { ComplexFilter, Filter } from './search.js';
16
+ import { Transport } from './transports.js';
17
+ import { DataRecord } from './utils.js';
16
18
  import { VehicleBusinessOverviewXL } from './vehicle-performance.js';
17
19
  import { VehicleSaleInfo } from './vehicle-sales.js';
18
20
 
@@ -264,6 +266,7 @@ export type SearchVehicle = {
264
266
  arrivedAt?: string;
265
267
  };
266
268
  reservation?: Pick<OpportunityReservation, 'expiresAt' | 'opportunityId' | 'createdBy'>;
269
+ transports: Transport[];
267
270
  vehicle: Vehicle;
268
271
  sale: {
269
272
  opportunityId?: string;
@@ -769,6 +772,14 @@ export type VehiclePurchase = {
769
772
  };
770
773
  };
771
774
 
775
+ export type PurchaseRecordMeta = ReferenceData & {
776
+ allowedLogisticsTransitions?: VehiclePurchaseLogisticsStatus[];
777
+ };
778
+
779
+ export type SaveVehiclePurchaseOpts = {
780
+ skipTransportValidation?: boolean;
781
+ };
782
+
772
783
  export enum VehicleActions {
773
784
  EditAdminDocs = 'edit_admin_docs',
774
785
  EditEngineeringDocs = 'edit_engineering_docs',
@@ -28,7 +28,7 @@ const compareDebtorsDossierStatus = (input: CompareInput) => {
28
28
  };
29
29
 
30
30
  export const getPreviousStatus = (
31
- currentStatus: DebtorsDossierStatus
31
+ currentStatus: DebtorsDossierStatus,
32
32
  ): DebtorsDossierStatus | undefined => {
33
33
  const currentIndex = DebtorsDossierStatusOrder.indexOf(currentStatus);
34
34
  if (currentIndex <= 0) {
@@ -7,7 +7,7 @@ export const computePricePercentage = (
7
7
  totalAmount: string,
8
8
  percentage: string,
9
9
  partialAmount: string = '0',
10
- mode: PricePercentageMode = PricePercentageMode.PERCENTAGE
10
+ mode: PricePercentageMode = PricePercentageMode.PERCENTAGE,
11
11
  ): { percentageAmount: string; currencyAmount: string } => {
12
12
  const output: { percentageAmount: string; currencyAmount: string } = {
13
13
  percentageAmount: percentage,
@@ -1,5 +1,5 @@
1
1
  export const guessDrivingCabFromTitle = (
2
- title: string
2
+ title: string,
3
3
  ): 'Sleep / Large' | 'Sleep / Medium' | 'Day' | undefined => {
4
4
  const largeKeywords = [
5
5
  'active space', // Iveco
@@ -9,7 +9,7 @@ import { VehicleExternalInfo } from '../types/vehicles.js';
9
9
  export const mapVehicleToInterest = (
10
10
  userId: string,
11
11
  vehicleExternalInfo: VehicleExternalInfo,
12
- referenceDate: Date = new UTCDate()
12
+ referenceDate: Date = new UTCDate(),
13
13
  ): Interest => {
14
14
  return {
15
15
  id: generateId(),
@@ -135,7 +135,7 @@ const toMaxPrice = (value?: number | string) =>
135
135
 
136
136
  const toMinHorsepower = (
137
137
  vehicleExternalInfo: VehicleExternalInfo,
138
- shiftRatio: number
138
+ shiftRatio: number,
139
139
  ): number | undefined => {
140
140
  const hasHorsepower = vehicleExternalInfo.powertrain?.engine?.power?.hp != null;
141
141
  const isHorsepowerImportant = isHeavyVehicle(vehicleExternalInfo);
@@ -0,0 +1,6 @@
1
+ import { UTCDate } from '@date-fns/utc';
2
+ import { format } from 'date-fns';
3
+ import { last, map, sortBy, uniqBy } from 'lodash-es';
4
+ export const sortContractClients = (clients) => sortBy(map(uniqBy(clients, (c) => c.takeoverId), (c) => ({ ...c, since: format(new UTCDate(c.since), 'yyyy-MM-dd') })), (cli) => cli.since, (cli) => (cli.takeoverId ? parseInt(cli.takeoverId.replace(/[^0-9]/g, '')) : 0));
5
+ export const getDealRef = ({ conditions, opportunities, }) => last(conditions) ?? last(opportunities);
6
+ //# sourceMappingURL=leasing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leasing.js","sourceRoot":"","sources":["leasing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAStD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAgC,EAA2B,EAAE,CAC/F,MAAM,CACJ,GAAG,CACD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CACrE,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAClB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;AAEJ,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,UAAU,EACV,aAAa,GACyC,EAAkC,EAAE,CAC1F,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,CAAE,CAAC"}