@bisondesk/core-sdk 1.0.676 → 1.0.677

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 (130) hide show
  1. package/lib/apis/exchange-rates.d.ts +3 -0
  2. package/lib/apis/exchange-rates.d.ts.map +1 -1
  3. package/lib/apis/exchange-rates.js +29 -0
  4. package/lib/apis/exchange-rates.js.map +1 -1
  5. package/lib/types/intercompany-payments.d.ts.map +1 -1
  6. package/lib/types/intercompany-payments.js.map +1 -1
  7. package/lib/types/offers.d.ts +2 -1
  8. package/lib/types/offers.d.ts.map +1 -1
  9. package/lib/types/offers.js.map +1 -1
  10. package/lib/types/opportunities.d.ts +9 -0
  11. package/lib/types/opportunities.d.ts.map +1 -1
  12. package/lib/types/opportunities.js.map +1 -1
  13. package/lib/types/opportunity-payments.d.ts +9 -0
  14. package/lib/types/opportunity-payments.d.ts.map +1 -1
  15. package/lib/types/opportunity-payments.js.map +1 -1
  16. package/lib/types/quote-settings.d.ts +1 -0
  17. package/lib/types/quote-settings.d.ts.map +1 -1
  18. package/lib/types/quote-settings.js.map +1 -1
  19. package/lib/types/quotes.d.ts +1 -0
  20. package/lib/types/quotes.d.ts.map +1 -1
  21. package/lib/types/quotes.js.map +1 -1
  22. package/lib/types/tenants.d.ts +1 -0
  23. package/lib/types/tenants.d.ts.map +1 -1
  24. package/lib/types/tenants.js.map +1 -1
  25. package/lib/types/vehicle-purchase-payments.d.ts +8 -1
  26. package/lib/types/vehicle-purchase-payments.d.ts.map +1 -1
  27. package/lib/types/vehicle-purchase-payments.js.map +1 -1
  28. package/lib/types/vehicles.d.ts +7 -0
  29. package/lib/types/vehicles.d.ts.map +1 -1
  30. package/lib/types/vehicles.js.map +1 -1
  31. package/lib/utils/opportunity-payments.d.ts +3 -0
  32. package/lib/utils/opportunity-payments.d.ts.map +1 -0
  33. package/lib/utils/opportunity-payments.js +5 -0
  34. package/lib/utils/opportunity-payments.js.map +1 -0
  35. package/lib/utils/opportunity-payments.test.d.ts +2 -0
  36. package/lib/utils/opportunity-payments.test.d.ts.map +1 -0
  37. package/lib/utils/opportunity-payments.test.js +23 -0
  38. package/lib/utils/opportunity-payments.test.js.map +1 -0
  39. package/lib/utils/tenants.d.ts +4 -0
  40. package/lib/utils/tenants.d.ts.map +1 -1
  41. package/lib/utils/tenants.js +8 -0
  42. package/lib/utils/tenants.js.map +1 -1
  43. package/lib/utils/tenants.test.js +44 -1
  44. package/lib/utils/tenants.test.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/apis/exchange-rates.ts +49 -0
  47. package/src/types/activities.js +13 -0
  48. package/src/types/activities.js.map +1 -0
  49. package/src/types/comparables.js +2 -0
  50. package/src/types/comparables.js.map +1 -0
  51. package/src/types/crm.js +58 -0
  52. package/src/types/crm.js.map +1 -0
  53. package/src/types/dashboard.js +2 -0
  54. package/src/types/dashboard.js.map +1 -0
  55. package/src/types/definitions.js +2 -0
  56. package/src/types/definitions.js.map +1 -0
  57. package/src/types/fields.js +2 -0
  58. package/src/types/fields.js.map +1 -0
  59. package/src/types/insights.js +2 -0
  60. package/src/types/insights.js.map +1 -0
  61. package/src/types/intercompany-payments.ts +4 -3
  62. package/src/types/interests.js +6 -0
  63. package/src/types/interests.js.map +1 -0
  64. package/src/types/internal-events.js +18 -0
  65. package/src/types/internal-events.js.map +1 -0
  66. package/src/types/internet-opportunities.js +2 -0
  67. package/src/types/internet-opportunities.js.map +1 -0
  68. package/src/types/internet-vehicles.js +2 -0
  69. package/src/types/internet-vehicles.js.map +1 -0
  70. package/src/types/leasing-administration.js +2 -0
  71. package/src/types/leasing-administration.js.map +1 -0
  72. package/src/types/leasing-debtors.js +2 -0
  73. package/src/types/leasing-debtors.js.map +1 -0
  74. package/src/types/leasing-search.js +2 -0
  75. package/src/types/leasing-search.js.map +1 -0
  76. package/src/types/leasing-settings.js +7 -0
  77. package/src/types/leasing-settings.js.map +1 -0
  78. package/src/types/leasing.js +38 -0
  79. package/src/types/leasing.js.map +1 -0
  80. package/src/types/marketing.js +35 -0
  81. package/src/types/marketing.js.map +1 -0
  82. package/src/types/offers.js +56 -0
  83. package/src/types/offers.ts +2 -0
  84. package/src/types/opportunities.js +107 -0
  85. package/src/types/opportunities.js.map +1 -0
  86. package/src/types/opportunities.ts +16 -0
  87. package/src/types/opportunity-payments.ts +23 -0
  88. package/src/types/payments.js +7 -0
  89. package/src/types/picklists.js +2 -0
  90. package/src/types/picklists.js.map +1 -0
  91. package/src/types/quote-settings.ts +2 -0
  92. package/src/types/quotes.js +42 -0
  93. package/src/types/quotes.ts +2 -0
  94. package/src/types/recently-viewed.js +2 -0
  95. package/src/types/recently-viewed.js.map +1 -0
  96. package/src/types/reservations.js +5 -0
  97. package/src/types/reservations.js.map +1 -0
  98. package/src/types/roi-ratings.js +5 -0
  99. package/src/types/roi-ratings.js.map +1 -0
  100. package/src/types/saved-filters.js +9 -0
  101. package/src/types/saved-filters.js.map +1 -0
  102. package/src/types/search.js +2 -0
  103. package/src/types/search.js.map +1 -0
  104. package/src/types/settings.js +2 -0
  105. package/src/types/settings.js.map +1 -0
  106. package/src/types/templates.js +2 -0
  107. package/src/types/templates.js.map +1 -0
  108. package/src/types/tenants.js +21 -0
  109. package/src/types/tenants.js.map +1 -0
  110. package/src/types/tenants.ts +6 -0
  111. package/src/types/user-performance.js +7 -0
  112. package/src/types/user-performance.js.map +1 -0
  113. package/src/types/utils.js +2 -0
  114. package/src/types/validation.js +2 -0
  115. package/src/types/validation.js.map +1 -0
  116. package/src/types/vehicle-purchase-payments.ts +16 -1
  117. package/src/types/vehicle-sales.js +6 -0
  118. package/src/types/vehicle-sales.js.map +1 -0
  119. package/src/types/vehicles.js +98 -0
  120. package/src/types/vehicles.js.map +1 -0
  121. package/src/types/vehicles.ts +15 -1
  122. package/src/utils/leasing.js +6 -0
  123. package/src/utils/leasing.js.map +1 -0
  124. package/src/utils/opportunities.js +48 -0
  125. package/src/utils/opportunities.js.map +1 -0
  126. package/src/utils/opportunity-payments.test.ts +31 -0
  127. package/src/utils/opportunity-payments.ts +15 -0
  128. package/src/utils/tenants.test.ts +60 -2
  129. package/src/utils/tenants.ts +28 -0
  130. package/tsconfig.tsbuildinfo +1 -1
@@ -1,5 +1,8 @@
1
+ import { CurrencyConversionRequest, CurrencyConversionResponse } from '@bisondesk/commons-sdk/types';
1
2
  import { ExchangeRate } from '../types/exchange-rates.js';
2
3
  export declare const listExchangeRates: () => Promise<ExchangeRate[]>;
3
4
  export declare const getExchangeRate: (fromCurrency: string, toCurrency: string) => Promise<ExchangeRate | undefined>;
5
+ export declare const getCurrencyConversionRates: (request: CurrencyConversionRequest) => Promise<CurrencyConversionResponse>;
6
+ export declare const getDailyConversionRate: (fromCurrency: string, toCurrency: string, date?: string) => Promise<string | undefined>;
4
7
  export declare const getConversionRate: (fromCurrency: string, toCurrency: string) => Promise<number | undefined>;
5
8
  //# sourceMappingURL=exchange-rates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-rates.d.ts","sourceRoot":"/","sources":["apis/exchange-rates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,YAAY,EAAE,CAehE,CAAC;AAEF,eAAO,MAAM,eAAe,iBACZ,MAAM,cACR,MAAM,KACjB,OAAO,CAAC,YAAY,GAAG,SAAS,CAqBlC,CAAC;AAQF,eAAO,MAAM,iBAAiB,iBACd,MAAM,cACR,MAAM,KACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAgB5B,CAAC"}
1
+ {"version":3,"file":"exchange-rates.d.ts","sourceRoot":"/","sources":["apis/exchange-rates.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,YAAY,EAAE,CAehE,CAAC;AAEF,eAAO,MAAM,eAAe,iBACZ,MAAM,cACR,MAAM,KACjB,OAAO,CAAC,YAAY,GAAG,SAAS,CAqBlC,CAAC;AAGF,eAAO,MAAM,0BAA0B,YAC5B,yBAAyB,KACjC,OAAO,CAAC,0BAA0B,CAkBpC,CAAC;AAMF,eAAO,MAAM,sBAAsB,iBACnB,MAAM,cACR,MAAM,SACX,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,SAAS,CAY5B,CAAC;AAQF,eAAO,MAAM,iBAAiB,iBACd,MAAM,cACR,MAAM,KACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAgB5B,CAAC"}
@@ -32,6 +32,35 @@ export const getExchangeRate = async (fromCurrency, toCurrency) => {
32
32
  const body = await response.text();
33
33
  throw new XError(response.statusText, { url, body, fromCurrency, toCurrency });
34
34
  };
35
+ export const getCurrencyConversionRates = async (request) => {
36
+ const auth = await getAdminAuth();
37
+ const url = `${process.env.CORE_API_ORIGIN}/api/currency/rates`;
38
+ const response = await fetch(url, {
39
+ method: 'POST',
40
+ headers: {
41
+ Authorization: auth,
42
+ 'Content-Type': 'application/json',
43
+ },
44
+ body: JSON.stringify(request),
45
+ });
46
+ if (response.ok) {
47
+ return response.json();
48
+ }
49
+ const body = await response.text();
50
+ throw new XError(response.statusText, { url, body, request });
51
+ };
52
+ export const getDailyConversionRate = async (fromCurrency, toCurrency, date) => {
53
+ if (fromCurrency === toCurrency) {
54
+ return '1';
55
+ }
56
+ const { rates } = await getCurrencyConversionRates({
57
+ sourceCurrency: fromCurrency,
58
+ targetCurrency: toCurrency,
59
+ date,
60
+ bankFeeMarkup: false,
61
+ });
62
+ return rates[toCurrency];
63
+ };
35
64
  export const getConversionRate = async (fromCurrency, toCurrency) => {
36
65
  if (fromCurrency === toCurrency) {
37
66
  return 1;
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-rates.js","sourceRoot":"/","sources":["apis/exchange-rates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAmB,MAAM,YAAY,CAAC;AAG7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAA6B,EAAE;IACnE,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,8BAA8B,CAAC;IACzE,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,GAAG,EAAE;QAC1C,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;SACpB;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC,IAAI,EAAS,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,YAAoB,EACpB,UAAkB,EACiB,EAAE;IACrC,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,gCAAgC,kBAAkB,CAC1F,YAAY,CACb,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,GAAG,EAAE;QAC1C,OAAO,EAAE;YACP,aAAa,EAAE,IAAI;SACpB;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAE,QAAQ,CAAC,IAAI,EAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,YAAoB,EACpB,UAAkB,EACW,EAAE;IAC/B,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC/D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAChE,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["import { XError } from '@bisondesk/commons-sdk/errors';\nimport { getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport fetch, { Response } from 'node-fetch';\nimport { ExchangeRate } from '../types/exchange-rates.js';\n\nexport const listExchangeRates = async (): Promise<ExchangeRate[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/settings/exchange-rates`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n },\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, body });\n};\n\nexport const getExchangeRate = async (\n fromCurrency: string,\n toCurrency: string,\n): Promise<ExchangeRate | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/settings/exchange-rates/${encodeURIComponent(\n fromCurrency,\n )}/${encodeURIComponent(toCurrency)}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n },\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n if (response.status === 404) {\n return undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, body, fromCurrency, toCurrency });\n};\n\n/**\n * Direction-agnostic conversion multiplier: how many units of `toCurrency`\n * equal 1 unit of `fromCurrency`. Tries a direct pair first, then falls back\n * to the inverse of the reverse pair (configured rows only need one direction\n * per pair). Returns `undefined` if neither is configured.\n */\nexport const getConversionRate = async (\n fromCurrency: string,\n toCurrency: string,\n): Promise<number | undefined> => {\n if (fromCurrency === toCurrency) {\n return 1;\n }\n\n const direct = await getExchangeRate(fromCurrency, toCurrency);\n if (direct) {\n return direct.rate;\n }\n\n const inverse = await getExchangeRate(toCurrency, fromCurrency);\n if (inverse && inverse.rate > 0) {\n return 1 / inverse.rate;\n }\n\n return undefined;\n};\n"]}
1
+ {"version":3,"file":"exchange-rates.js","sourceRoot":"/","sources":["apis/exchange-rates.ts"],"names":[],"mappings":"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","sourcesContent":["import { XError } from '@bisondesk/commons-sdk/errors';\nimport { getAdminAuth } from '@bisondesk/commons-sdk/fetch';\nimport {\n CurrencyConversionRequest,\n CurrencyConversionResponse,\n} from '@bisondesk/commons-sdk/types';\nimport fetch, { Response } from 'node-fetch';\nimport { ExchangeRate } from '../types/exchange-rates.js';\n\nexport const listExchangeRates = async (): Promise<ExchangeRate[]> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/settings/exchange-rates`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n },\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, body });\n};\n\nexport const getExchangeRate = async (\n fromCurrency: string,\n toCurrency: string,\n): Promise<ExchangeRate | undefined> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/settings/exchange-rates/${encodeURIComponent(\n fromCurrency,\n )}/${encodeURIComponent(toCurrency)}`;\n const response: Response = await fetch(url, {\n headers: {\n Authorization: auth,\n },\n });\n\n if (response.ok) {\n return response.status === 200 ? (response.json() as any) : undefined;\n }\n\n if (response.status === 404) {\n return undefined;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, body, fromCurrency, toCurrency });\n};\n\n/** The daily rates of the rate provider, as the quote and invoice forms get them. */\nexport const getCurrencyConversionRates = async (\n request: CurrencyConversionRequest,\n): Promise<CurrencyConversionResponse> => {\n const auth = await getAdminAuth();\n const url = `${process.env.CORE_API_ORIGIN}/api/currency/rates`;\n const response: Response = await fetch(url, {\n method: 'POST',\n headers: {\n Authorization: auth,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(request),\n });\n\n if (response.ok) {\n return response.json() as any;\n }\n\n const body = await response.text();\n throw new XError(response.statusText, { url, body, request });\n};\n\n/**\n * The plain daily rate of `date`: how many units of `toCurrency` equal 1 unit of `fromCurrency`,\n * without the bank-fee markup. Undefined when the provider has no rate for the pair.\n */\nexport const getDailyConversionRate = async (\n fromCurrency: string,\n toCurrency: string,\n date?: string,\n): Promise<string | undefined> => {\n if (fromCurrency === toCurrency) {\n return '1';\n }\n\n const { rates } = await getCurrencyConversionRates({\n sourceCurrency: fromCurrency,\n targetCurrency: toCurrency,\n date,\n bankFeeMarkup: false,\n });\n return rates[toCurrency];\n};\n\n/**\n * Direction-agnostic conversion multiplier: how many units of `toCurrency`\n * equal 1 unit of `fromCurrency`. Tries a direct pair first, then falls back\n * to the inverse of the reverse pair (configured rows only need one direction\n * per pair). Returns `undefined` if neither is configured.\n */\nexport const getConversionRate = async (\n fromCurrency: string,\n toCurrency: string,\n): Promise<number | undefined> => {\n if (fromCurrency === toCurrency) {\n return 1;\n }\n\n const direct = await getExchangeRate(fromCurrency, toCurrency);\n if (direct) {\n return direct.rate;\n }\n\n const inverse = await getExchangeRate(toCurrency, fromCurrency);\n if (inverse && inverse.rate > 0) {\n return 1 / inverse.rate;\n }\n\n return undefined;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intercompany-payments.d.ts","sourceRoot":"/","sources":["types/intercompany-payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAQvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,EAAE,MAAM,CAAC;IAKvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,iBAAiB,CAAC;QAE1B,IAAI,EAAE,eAAe,CAAC;KACvB,CAAC;IAKF,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,sBAAsB,EAAE,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"intercompany-payments.d.ts","sourceRoot":"/","sources":["types/intercompany-payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAQvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,EAAE,MAAM,CAAC;IAMvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,iBAAiB,CAAC;QAE1B,IAAI,EAAE,eAAe,CAAC;KACvB,CAAC;IAKF,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,sBAAsB,EAAE,CAAC;CAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intercompany-payments.js","sourceRoot":"/","sources":["types/intercompany-payments.ts"],"names":[],"mappings":"","sourcesContent":["import { OpportunityType } from '../constants.js';\nimport { OpportunityStatus } from './opportunities.js';\n\n/**\n * One downstream tenant on the cross-tenant copy chain of an opportunity's vehicle,\n * with the aggregate state of that tenant's own sale payments. Only hops whose copy\n * has an active (not lost, reserved-stage) sale opportunity are returned; individual\n * payment entries never leave their tenant (ADR-0024).\n */\nexport type IntercompanyPaymentHop = {\n tenantId: string;\n tenantName: string;\n /** Deep link to the hop opportunity on the target tenant's own subdomain. */\n opportunityUrl: string;\n /**\n * Currency of the amounts: the hop opportunity's quote currency. A reserved-stage\n * opportunity always carries a quote; hops missing one (malformed) are skipped.\n */\n currency: string;\n vehicle: {\n id: string;\n stockNumber: string;\n };\n sale: {\n opportunityId: string;\n status: OpportunityStatus;\n /** Lets the client mirror the hop's own label (total payment vs total before delivery). */\n type: OpportunityType;\n };\n /**\n * Exactly the figure the hop's own payments section shows (the accepted quote's\n * total payment before delivery). Absent until that hop's quote is manager-accepted.\n */\n expectedTotal?: string;\n /** Sum of the hop opportunity's non-deleted payment amounts. */\n paid: string;\n};\n\nexport type IntercompanyPaymentsResponse = {\n hops: IntercompanyPaymentHop[];\n};\n"]}
1
+ {"version":3,"file":"intercompany-payments.js","sourceRoot":"/","sources":["types/intercompany-payments.ts"],"names":[],"mappings":"","sourcesContent":["import { OpportunityType } from '../constants.js';\nimport { OpportunityStatus } from './opportunities.js';\n\n/**\n * One downstream tenant on the cross-tenant copy chain of an opportunity's vehicle,\n * with the aggregate state of that tenant's own sale payments. Only hops whose copy\n * has an active (not lost, reserved-stage) sale opportunity are returned; individual\n * payment entries never leave their tenant (ADR-0024).\n */\nexport type IntercompanyPaymentHop = {\n tenantId: string;\n tenantName: string;\n /** Deep link to the hop opportunity on the target tenant's own subdomain. */\n opportunityUrl: string;\n /**\n * Currency of the amounts: the hop opportunity's quote currency, or the quote's alternative\n * currency when every payment of the hop arrived in it. A reserved-stage opportunity always\n * carries a quote; hops missing one (malformed) are skipped.\n */\n currency: string;\n vehicle: {\n id: string;\n stockNumber: string;\n };\n sale: {\n opportunityId: string;\n status: OpportunityStatus;\n /** Lets the client mirror the hop's own label (total payment vs total before delivery). */\n type: OpportunityType;\n };\n /**\n * Exactly the figure the hop's own payments section shows (the accepted quote's\n * total payment before delivery). Absent until that hop's quote is manager-accepted.\n */\n expectedTotal?: string;\n /** Sum of the hop opportunity's non-deleted payment amounts, in `currency`. */\n paid: string;\n};\n\nexport type IntercompanyPaymentsResponse = {\n hops: IntercompanyPaymentHop[];\n};\n"]}
@@ -5,7 +5,7 @@ import { Insights, InsightsComparableSpecs } from './insights.js';
5
5
  import { BaseEvent } from './internal-events.js';
6
6
  import { BaseSearchRequest } from './search.js';
7
7
  import { DataRecord, ReferenceData } from './utils.js';
8
- import { SearchVehicle, VehicleExternalInfo, VehicleInternalInfo, VehiclePurchaseDealStatus, VehiclePurchaseDeliveryType } from './vehicles.js';
8
+ import { SearchVehicle, VehicleExternalInfo, VehicleInternalInfo, VehiclePurchaseDealForeign, VehiclePurchaseDealStatus, VehiclePurchaseDeliveryType } from './vehicles.js';
9
9
  export declare enum OfferActions {
10
10
  CREATE_BID = "create_bid",
11
11
  SET_FINAL_VALUATION = "set_final_valuation",
@@ -256,6 +256,7 @@ export type OfferPurchase = {
256
256
  dealStatus: VehiclePurchaseDealStatus.PurchaseEvaluation | VehiclePurchaseDealStatus.PurchaseAgreed | VehiclePurchaseDealStatus.Marketing;
257
257
  costs: {
258
258
  purchase: string;
259
+ foreign?: VehiclePurchaseDealForeign;
259
260
  purchaseVatPercentage: string;
260
261
  internalGarage?: string;
261
262
  externalGarage?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"offers.d.ts","sourceRoot":"/","sources":["types/offers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,eAAe,CAAC;AAEvB,oBAAY,YAAY;IACtB,UAAU,eAAe;IACzB,mBAAmB,wBAAwB;IAC3C,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,sBAAsB,2BAA2B;IACjD,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,YAAY,iBAAiB;IAC7B,oBAAoB,yBAAyB;CAC9C;AAED,oBAAY,eAAe;IACzB,QAAQ,eAAe;IACvB,UAAU,eAAe;CAC1B;AAED,oBAAY,WAAW;IACrB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;CAC5B;AAED,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAID,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,oBAAY,qBAAqB;IAC/B,SAAS,cAAc;IACvB,QAAQ,cAAc;IACtB,aAAa,mBAAmB;IAChC,QAAQ,iBAAiB;IACzB,KAAK,UAAU;IACf,SAAS,cAAc;CACxB;AAED,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;CAC5B;AAED,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAAuD,CAAC;AAGlG,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAC7D,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C,eAAO,MAAM,kBAAkB,UAI9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAAuB,CAAC;AAElE,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;IAExB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7D,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,YAAY,EAAE,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG;IACjC,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAGzE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,YAAY,EAAE,CAAC;KAC9B,CAAC;IAEF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,UAAU,EAAE,uBAAuB,CAAC;IACpC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,8BAA8B,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACxC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,GAAG,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;KAChC,CAAC;CACH,CAAC;AAOF,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG,gBAAgB,CACxC,QAAQ,EACR,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAC3E,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAOF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE;QACN,IAAI,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,iBAAiB,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,eAAe,EAAE,OAAO,CAAC;QACzB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;CACH,CAAC;AAOF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAC3C,WAAW,CACZ,GAAG;IACF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACjD,CAAC;AAMF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,EAAE;QACJ,WAAW,EAAE;YACX,gBAAgB,EAAE,MAAM,CAAC;SAC1B,CAAC;QACF,UAAU,EACN,yBAAyB,CAAC,kBAAkB,GAC5C,yBAAyB,CAAC,cAAc,GACxC,yBAAyB,CAAC,SAAS,CAAC;QACxC,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,qBAAqB,EAAE,MAAM,CAAC;YAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IAEF,SAAS,EAAE;QACT,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,2BAA2B,CAAC;QAC3C,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC,CAAC;IAEF,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"offers.d.ts","sourceRoot":"/","sources":["types/offers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"offers.js","sourceRoot":"/","sources":["types/offers.ts"],"names":[],"mappings":"AAeA,MAAM,CAAN,IAAY,YAiBX;AAjBD,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,2DAA2C,CAAA;IAC3C,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,+CAA+B,CAAA;IAC/B,6CAA6B,CAAA;IAC7B,6CAA6B,CAAA;IAC7B,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,iEAAiD,CAAA;IACjD,qDAAqC,CAAA;IACrC,yDAAyC,CAAA;IACzC,mEAAmD,CAAA;IACnD,6DAA6C,CAAA;IAC7C,6CAA6B,CAAA;IAC7B,6DAA6C,CAAA;AAC/C,CAAC,EAjBW,YAAY,KAAZ,YAAY,QAiBvB;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC3B,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,0CAA2B,CAAA;AAC7B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;AACnB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAID,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,MAAM,CAAN,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,gDAAuB,CAAA;IACvB,+CAAsB,CAAA;IACtB,yDAAgC,CAAA;IAChC,kDAAyB,CAAA;IACzB,wCAAe,CAAA;IACf,gDAAuB,CAAA;AACzB,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,gDAA2B,CAAA;AAC7B,CAAC,EAFW,iBAAiB,KAAjB,iBAAiB,QAE5B;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAkB,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;AAGlG,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAC7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,gBAAgB;IACnB,2BAA2B;IAC3B,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAa,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { DistributiveOmit, Document, LocationValue, NextList } from '@bisondesk/commons-sdk/types';\nimport { BusinessEntityIds, WarningHints } from '../constants.js';\nimport { Contact, Organization, PartnerLevel } from './crm.js';\nimport { Insights, InsightsComparableSpecs } from './insights.js';\nimport { BaseEvent } from './internal-events.js';\nimport { BaseSearchRequest } from './search.js';\nimport { DataRecord, ReferenceData } from './utils.js';\nimport {\n SearchVehicle,\n VehicleExternalInfo,\n VehicleInternalInfo,\n VehiclePurchaseDealStatus,\n VehiclePurchaseDeliveryType,\n} from './vehicles.js';\n\nexport enum OfferActions {\n CREATE_BID = 'create_bid',\n SET_FINAL_VALUATION = 'set_final_valuation',\n LOSE = 'lose',\n REOPEN = 'reopen',\n SET_DOCUMENTS = 'set_documents',\n SET_METADATA = 'set_metadata',\n SEE_SUPPLIER = 'see_supplier',\n SEE_INSIGHTS = 'see_insights',\n VIEW_BIDS = 'view_bids',\n DELETE_FINAL_VALUATION = 'delete_final_valuation',\n SEE_ASKING_PRICE = 'see_asking_price',\n ACCEPT_NEGOTIATION = 'accept_negotiation',\n UNDO_ACCEPT_NEGOTIATION = 'undo_accept_negotiation',\n SET_SUPPLIER_VEHICLE = 'set_supplier_vehicle',\n CAN_PURCHASE = 'can_purchase',\n MARK_STILL_AVAILABLE = 'mark_still_available',\n}\n\nexport enum OfferBidActions {\n EDIT_BID = 'create_bid',\n DELETE_BID = 'delete_bid',\n}\n\nexport enum OfferStatus {\n PROSPECTION = 'prospection', // initial status\n NEGOTIATION = 'negotiation', // there is a final valuation, purchaser is talking to the supplier\n}\n\nexport enum OfferPriority {\n NORMAL = 'normal',\n URGENT = 'urgent',\n}\n\n// opportunity_source picklist id marking website-originated offers; core's\n// newOfferSchema relaxes the organization requirement for these.\nexport const WebsiteOfferSource = 'own_website';\n\nexport enum OfferLostReasonValues {\n Expensive = 'expensive',\n NoMarket = 'no_market',\n BadExperience = 'bad_experience',\n NoAnswer = 'supplier_mia',\n Other = 'other',\n Automatic = 'automatic',\n}\n\nexport enum OfferBidType {\n INTERNAL = 'internal',\n EXTERNAL = 'external',\n}\n\nexport enum OfferWarningsCode {\n NO_SUPPLIER = 'no_supplier',\n}\n\nexport const OfferStatusOrder: OfferStatus[] = [OfferStatus.PROSPECTION, OfferStatus.NEGOTIATION];\n\n// Synthetic kanban column ID — not a real status, but displayed as a kanban column\nexport const OfferStillAvailableColumnId = 'still_available';\nexport const OfferWonColumnId = 'closed_won';\n\nexport const OfferKanbanColumns = [\n ...OfferStatusOrder,\n OfferStillAvailableColumnId,\n OfferWonColumnId,\n];\n\nexport const OfferKanbanEndColumns: string[] = [OfferWonColumnId];\n\ntype BaseOffer = {\n branchId: string;\n availableWeek?: string; // ISOWEEK, e.g. 2016-W02\n askingPrice?: string;\n currency?: string;\n quantity: number;\n specs: VehicleExternalInfo;\n documents: Document[];\n source?: string; // e.g., website, email, visit\n contactId?: string;\n organizationId?: string;\n priority: OfferPriority;\n\n supplierNotes?: string; // Optional notes from the supplier\n description: { remarks?: string; technicalRemarks?: string };\n\n marketing?: {\n price?: string;\n currency?: string;\n remarks?: string;\n available: boolean;\n clientLevels: PartnerLevel[];\n };\n};\n\nexport type NewOffer = BaseOffer & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n};\n\nexport type Offer = BaseOffer & {\n id: string;\n accountManager?: string; // optional since some offers might come directly from the internet\n accountManagerAssistant?: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n firstBidAt?: string;\n\n lostReason?: OfferLostReasonValues;\n status: OfferStatus;\n quantity: number;\n\n wonAt?: string;\n wonBy?: string;\n lostAt?: string;\n lostBy?: string;\n\n valuation?: { amount: string; valuationAt: string; valuationBy: string };\n\n // \"still available\" flag — offer is in NEGOTIATION but stalled on price\n stillAvailable?: boolean;\n stillAvailableAt?: string; // ISO timestamp when the flag was set\n stillAvailableBy?: string; // userId who set it\n\n agreedAt?: string;\n agreedBy?: string;\n};\n\nexport type OfferUpdate = {\n accountManager?: string | null;\n accountManagerAssistant?: string | null;\n branchId?: string | null;\n supplierNotes?: string | null;\n contactId?: string | null;\n organizationId?: string | null;\n lost?: boolean;\n lostReason?: OfferLostReasonValues;\n source?: string;\n availableWeek?: string | null;\n askingPrice?: string;\n currency?: string;\n quantity?: number;\n specs?: VehicleExternalInfo;\n addNewBid?: boolean;\n documents?: Document[];\n priority?: OfferPriority;\n markStillAvailable?: boolean;\n\n marketing?: {\n price?: string | null;\n currency?: string | null;\n remarks?: string | null;\n available: boolean;\n clientLevels: PartnerLevel[];\n };\n\n finalValuation?: string | null;\n agreed?: boolean;\n description?: { remarks?: string; technicalRemarks?: string };\n};\n\ntype OfferWarningActionLink = {\n businessEntityId: BusinessEntityIds;\n recordId: string;\n};\n\ntype OfferWarningActionData = { [key: string]: string | number };\n\nexport type OfferWarning = {\n code: OfferWarningsCode;\n level: WarningHints;\n link?: OfferWarningActionLink;\n data?: OfferWarningActionData;\n showAction?: boolean;\n};\n\nexport type OfferMetadata = {\n insights?: Insights['metrics'];\n stock?: {\n available: number;\n leads: number;\n };\n comparable: InsightsComparableSpecs;\n warnings: OfferWarning[];\n supplierGrandfathered: boolean;\n};\n\nexport type OfferUserPermissions = {\n canCreateUrgentWithoutSupplier: boolean;\n};\n\nexport type OfferBff = {\n offer: DataRecord<Offer, OfferMetadata>;\n bids: DataRecord<OfferBid>[];\n vehicles: SearchVehicle[];\n customer?: {\n contact: DataRecord<Contact>;\n org?: DataRecord<Organization>;\n };\n};\n\n/************\n *\n * Bids\n */\n\ntype BaseOfferBid = {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n offerId: string;\n amount: string;\n currency: string;\n description?: string;\n deleted: boolean;\n};\n\nexport type InternalOfferBid = BaseOfferBid & {\n userId: string;\n final?: boolean; // Optional flag to indicate if this is the final valuation\n type: OfferBidType.INTERNAL;\n};\n\nexport type ExternalOfferBid = BaseOfferBid & {\n contactId: string;\n organizationId: string;\n notes?: string;\n type: OfferBidType.EXTERNAL;\n};\n\nexport type OfferBid = InternalOfferBid | ExternalOfferBid;\n\nexport type NewOfferBid = DistributiveOmit<\n OfferBid,\n 'id' | 'createdAt' | 'createdBy' | 'modifiedAt' | 'modifiedBy' | 'deleted'\n>;\n\nexport type InternalOfferBidUpdate = {\n amount?: string | null;\n currency?: string | null;\n description?: string | null;\n};\n\n/************\n *\n * Search\n */\n\nexport type SearchOffer = {\n contact?: Contact;\n offer: Offer;\n org?: Organization;\n custom: {\n lost: boolean;\n status: OfferStatus | 'won' | 'still_available';\n totalBids: number;\n bidders: string[];\n missingSupplier: boolean;\n accountManagers: string[];\n };\n};\n\n/************\n *\n * Kanban\n */\n\nexport type OffersKanbanColumn = {\n status: string;\n results: SearchOffer[];\n totalCount: number;\n totalValue: string;\n};\n\nexport type MSearchOffersKanbanColumn = {\n column: OffersKanbanColumn;\n nextToken?: string;\n};\n\nexport type KanbanOffersSearchRequest = BaseSearchRequest & {\n nextTokens?: Record<string, string | undefined>;\n};\n\nexport type KanbanOffersNextList = Omit<\n NextList<OffersKanbanColumn, ReferenceData>,\n 'nextToken'\n> & {\n nextTokens?: Record<string, string | undefined>;\n};\n\n/********\n * Vehicle Purchase\n */\n\nexport type OfferPurchase = {\n offerId: string;\n vin: string;\n supplierStockNumber?: string;\n odometerKm?: number;\n\n deal: {\n description: {\n technicalRemarks: string;\n };\n dealStatus:\n | VehiclePurchaseDealStatus.PurchaseEvaluation\n | VehiclePurchaseDealStatus.PurchaseAgreed\n | VehiclePurchaseDealStatus.Marketing;\n costs: {\n purchase: string;\n purchaseVatPercentage: string;\n internalGarage?: string;\n externalGarage?: string;\n internalTransport?: string;\n externalTransport?: string;\n other?: string;\n commission?: string;\n };\n };\n\n logistics: {\n vehicleRole: VehicleInternalInfo['role'];\n availabilityDate?: string;\n deliveryType?: VehiclePurchaseDeliveryType;\n pickupAddress?: LocationValue;\n transportWithoutPayment?: boolean;\n };\n\n salesPrices?: {\n internet?: string;\n premium?: string;\n minimum?: string;\n };\n};\n\ntype BaseOfferEvent = BaseEvent & {\n id: string;\n actionAt: string;\n tenantId: string;\n userId: string;\n};\n\nexport type OfferCreatedEvent = BaseOfferEvent & {\n action: 'create';\n offer: Offer;\n previousOffer?: undefined;\n};\n\nexport type OfferUpdatedEvent = BaseOfferEvent & {\n action: 'update';\n offer: Offer;\n previousOffer: Offer;\n};\n\nexport type OfferEvent = OfferCreatedEvent | OfferUpdatedEvent;\n"]}
1
+ {"version":3,"file":"offers.js","sourceRoot":"/","sources":["types/offers.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,YAiBX;AAjBD,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,2DAA2C,CAAA;IAC3C,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,+CAA+B,CAAA;IAC/B,6CAA6B,CAAA;IAC7B,6CAA6B,CAAA;IAC7B,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,iEAAiD,CAAA;IACjD,qDAAqC,CAAA;IACrC,yDAAyC,CAAA;IACzC,mEAAmD,CAAA;IACnD,6DAA6C,CAAA;IAC7C,6CAA6B,CAAA;IAC7B,6DAA6C,CAAA;AAC/C,CAAC,EAjBW,YAAY,KAAZ,YAAY,QAiBvB;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC3B,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,0CAA2B,CAAA;AAC7B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;AACnB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAID,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,MAAM,CAAN,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,gDAAuB,CAAA;IACvB,+CAAsB,CAAA;IACtB,yDAAgC,CAAA;IAChC,kDAAyB,CAAA;IACzB,wCAAe,CAAA;IACf,gDAAuB,CAAA;AACzB,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,gDAA2B,CAAA;AAC7B,CAAC,EAFW,iBAAiB,KAAjB,iBAAiB,QAE5B;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAkB,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;AAGlG,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAC7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,gBAAgB;IACnB,2BAA2B;IAC3B,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAa,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { DistributiveOmit, Document, LocationValue, NextList } from '@bisondesk/commons-sdk/types';\nimport { BusinessEntityIds, WarningHints } from '../constants.js';\nimport { Contact, Organization, PartnerLevel } from './crm.js';\nimport { Insights, InsightsComparableSpecs } from './insights.js';\nimport { BaseEvent } from './internal-events.js';\nimport { BaseSearchRequest } from './search.js';\nimport { DataRecord, ReferenceData } from './utils.js';\nimport {\n SearchVehicle,\n VehicleExternalInfo,\n VehicleInternalInfo,\n VehiclePurchaseDealForeign,\n VehiclePurchaseDealStatus,\n VehiclePurchaseDeliveryType,\n} from './vehicles.js';\n\nexport enum OfferActions {\n CREATE_BID = 'create_bid',\n SET_FINAL_VALUATION = 'set_final_valuation',\n LOSE = 'lose',\n REOPEN = 'reopen',\n SET_DOCUMENTS = 'set_documents',\n SET_METADATA = 'set_metadata',\n SEE_SUPPLIER = 'see_supplier',\n SEE_INSIGHTS = 'see_insights',\n VIEW_BIDS = 'view_bids',\n DELETE_FINAL_VALUATION = 'delete_final_valuation',\n SEE_ASKING_PRICE = 'see_asking_price',\n ACCEPT_NEGOTIATION = 'accept_negotiation',\n UNDO_ACCEPT_NEGOTIATION = 'undo_accept_negotiation',\n SET_SUPPLIER_VEHICLE = 'set_supplier_vehicle',\n CAN_PURCHASE = 'can_purchase',\n MARK_STILL_AVAILABLE = 'mark_still_available',\n}\n\nexport enum OfferBidActions {\n EDIT_BID = 'create_bid',\n DELETE_BID = 'delete_bid',\n}\n\nexport enum OfferStatus {\n PROSPECTION = 'prospection', // initial status\n NEGOTIATION = 'negotiation', // there is a final valuation, purchaser is talking to the supplier\n}\n\nexport enum OfferPriority {\n NORMAL = 'normal',\n URGENT = 'urgent',\n}\n\n// opportunity_source picklist id marking website-originated offers; core's\n// newOfferSchema relaxes the organization requirement for these.\nexport const WebsiteOfferSource = 'own_website';\n\nexport enum OfferLostReasonValues {\n Expensive = 'expensive',\n NoMarket = 'no_market',\n BadExperience = 'bad_experience',\n NoAnswer = 'supplier_mia',\n Other = 'other',\n Automatic = 'automatic',\n}\n\nexport enum OfferBidType {\n INTERNAL = 'internal',\n EXTERNAL = 'external',\n}\n\nexport enum OfferWarningsCode {\n NO_SUPPLIER = 'no_supplier',\n}\n\nexport const OfferStatusOrder: OfferStatus[] = [OfferStatus.PROSPECTION, OfferStatus.NEGOTIATION];\n\n// Synthetic kanban column ID — not a real status, but displayed as a kanban column\nexport const OfferStillAvailableColumnId = 'still_available';\nexport const OfferWonColumnId = 'closed_won';\n\nexport const OfferKanbanColumns = [\n ...OfferStatusOrder,\n OfferStillAvailableColumnId,\n OfferWonColumnId,\n];\n\nexport const OfferKanbanEndColumns: string[] = [OfferWonColumnId];\n\ntype BaseOffer = {\n branchId: string;\n availableWeek?: string; // ISOWEEK, e.g. 2016-W02\n askingPrice?: string;\n currency?: string;\n quantity: number;\n specs: VehicleExternalInfo;\n documents: Document[];\n source?: string; // e.g., website, email, visit\n contactId?: string;\n organizationId?: string;\n priority: OfferPriority;\n\n supplierNotes?: string; // Optional notes from the supplier\n description: { remarks?: string; technicalRemarks?: string };\n\n marketing?: {\n price?: string;\n currency?: string;\n remarks?: string;\n available: boolean;\n clientLevels: PartnerLevel[];\n };\n};\n\nexport type NewOffer = BaseOffer & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n};\n\nexport type Offer = BaseOffer & {\n id: string;\n accountManager?: string; // optional since some offers might come directly from the internet\n accountManagerAssistant?: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n firstBidAt?: string;\n\n lostReason?: OfferLostReasonValues;\n status: OfferStatus;\n quantity: number;\n\n wonAt?: string;\n wonBy?: string;\n lostAt?: string;\n lostBy?: string;\n\n valuation?: { amount: string; valuationAt: string; valuationBy: string };\n\n // \"still available\" flag — offer is in NEGOTIATION but stalled on price\n stillAvailable?: boolean;\n stillAvailableAt?: string; // ISO timestamp when the flag was set\n stillAvailableBy?: string; // userId who set it\n\n agreedAt?: string;\n agreedBy?: string;\n};\n\nexport type OfferUpdate = {\n accountManager?: string | null;\n accountManagerAssistant?: string | null;\n branchId?: string | null;\n supplierNotes?: string | null;\n contactId?: string | null;\n organizationId?: string | null;\n lost?: boolean;\n lostReason?: OfferLostReasonValues;\n source?: string;\n availableWeek?: string | null;\n askingPrice?: string;\n currency?: string;\n quantity?: number;\n specs?: VehicleExternalInfo;\n addNewBid?: boolean;\n documents?: Document[];\n priority?: OfferPriority;\n markStillAvailable?: boolean;\n\n marketing?: {\n price?: string | null;\n currency?: string | null;\n remarks?: string | null;\n available: boolean;\n clientLevels: PartnerLevel[];\n };\n\n finalValuation?: string | null;\n agreed?: boolean;\n description?: { remarks?: string; technicalRemarks?: string };\n};\n\ntype OfferWarningActionLink = {\n businessEntityId: BusinessEntityIds;\n recordId: string;\n};\n\ntype OfferWarningActionData = { [key: string]: string | number };\n\nexport type OfferWarning = {\n code: OfferWarningsCode;\n level: WarningHints;\n link?: OfferWarningActionLink;\n data?: OfferWarningActionData;\n showAction?: boolean;\n};\n\nexport type OfferMetadata = {\n insights?: Insights['metrics'];\n stock?: {\n available: number;\n leads: number;\n };\n comparable: InsightsComparableSpecs;\n warnings: OfferWarning[];\n supplierGrandfathered: boolean;\n};\n\nexport type OfferUserPermissions = {\n canCreateUrgentWithoutSupplier: boolean;\n};\n\nexport type OfferBff = {\n offer: DataRecord<Offer, OfferMetadata>;\n bids: DataRecord<OfferBid>[];\n vehicles: SearchVehicle[];\n customer?: {\n contact: DataRecord<Contact>;\n org?: DataRecord<Organization>;\n };\n};\n\n/************\n *\n * Bids\n */\n\ntype BaseOfferBid = {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n offerId: string;\n amount: string;\n currency: string;\n description?: string;\n deleted: boolean;\n};\n\nexport type InternalOfferBid = BaseOfferBid & {\n userId: string;\n final?: boolean; // Optional flag to indicate if this is the final valuation\n type: OfferBidType.INTERNAL;\n};\n\nexport type ExternalOfferBid = BaseOfferBid & {\n contactId: string;\n organizationId: string;\n notes?: string;\n type: OfferBidType.EXTERNAL;\n};\n\nexport type OfferBid = InternalOfferBid | ExternalOfferBid;\n\nexport type NewOfferBid = DistributiveOmit<\n OfferBid,\n 'id' | 'createdAt' | 'createdBy' | 'modifiedAt' | 'modifiedBy' | 'deleted'\n>;\n\nexport type InternalOfferBidUpdate = {\n amount?: string | null;\n currency?: string | null;\n description?: string | null;\n};\n\n/************\n *\n * Search\n */\n\nexport type SearchOffer = {\n contact?: Contact;\n offer: Offer;\n org?: Organization;\n custom: {\n lost: boolean;\n status: OfferStatus | 'won' | 'still_available';\n totalBids: number;\n bidders: string[];\n missingSupplier: boolean;\n accountManagers: string[];\n };\n};\n\n/************\n *\n * Kanban\n */\n\nexport type OffersKanbanColumn = {\n status: string;\n results: SearchOffer[];\n totalCount: number;\n totalValue: string;\n};\n\nexport type MSearchOffersKanbanColumn = {\n column: OffersKanbanColumn;\n nextToken?: string;\n};\n\nexport type KanbanOffersSearchRequest = BaseSearchRequest & {\n nextTokens?: Record<string, string | undefined>;\n};\n\nexport type KanbanOffersNextList = Omit<\n NextList<OffersKanbanColumn, ReferenceData>,\n 'nextToken'\n> & {\n nextTokens?: Record<string, string | undefined>;\n};\n\n/********\n * Vehicle Purchase\n */\n\nexport type OfferPurchase = {\n offerId: string;\n vin: string;\n supplierStockNumber?: string;\n odometerKm?: number;\n\n deal: {\n description: {\n technicalRemarks: string;\n };\n dealStatus:\n | VehiclePurchaseDealStatus.PurchaseEvaluation\n | VehiclePurchaseDealStatus.PurchaseAgreed\n | VehiclePurchaseDealStatus.Marketing;\n costs: {\n purchase: string;\n foreign?: VehiclePurchaseDealForeign;\n purchaseVatPercentage: string;\n internalGarage?: string;\n externalGarage?: string;\n internalTransport?: string;\n externalTransport?: string;\n other?: string;\n commission?: string;\n };\n };\n\n logistics: {\n vehicleRole: VehicleInternalInfo['role'];\n availabilityDate?: string;\n deliveryType?: VehiclePurchaseDeliveryType;\n pickupAddress?: LocationValue;\n transportWithoutPayment?: boolean;\n };\n\n salesPrices?: {\n internet?: string;\n premium?: string;\n minimum?: string;\n };\n};\n\ntype BaseOfferEvent = BaseEvent & {\n id: string;\n actionAt: string;\n tenantId: string;\n userId: string;\n};\n\nexport type OfferCreatedEvent = BaseOfferEvent & {\n action: 'create';\n offer: Offer;\n previousOffer?: undefined;\n};\n\nexport type OfferUpdatedEvent = BaseOfferEvent & {\n action: 'update';\n offer: Offer;\n previousOffer: Offer;\n};\n\nexport type OfferEvent = OfferCreatedEvent | OfferUpdatedEvent;\n"]}
@@ -223,6 +223,14 @@ export type OpportunityUpdate = {
223
223
  export type OpportunityPaymentSummary = {
224
224
  total: string;
225
225
  paid: string;
226
+ foreign?: {
227
+ total: string;
228
+ paid: string;
229
+ currencyCode: string;
230
+ exchangeRate: string;
231
+ };
232
+ status: OpportunityPaymentStatus;
233
+ percentagePaid: string;
226
234
  entries: DataRecord<OpportunityPayment>[];
227
235
  };
228
236
  export type PaymentSummary = OpportunityPaymentSummary;
@@ -473,6 +481,7 @@ export type HpLeasingContractRequest = {
473
481
  vanCourier: boolean;
474
482
  startDate: number;
475
483
  opportunityContractId: string;
484
+ maxKmPerYear?: number;
476
485
  data: {
477
486
  leasingParameter: {
478
487
  allRisksPercentage: number;
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities.d.ts","sourceRoot":"/","sources":["types/opportunities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opportunities.d.ts","sourceRoot":"/","sources":["types/opportunities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAW,YAAY,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,kBAAkB;IAC5B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,aAAa,qBAAqB;IAClC,aAAa,kBAAkB;IAC/B,2BAA2B,gCAAgC;CAC5D;AAED,oBAAY,wBAAwB;IAClC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,UAAU,eAAe;CAC1B;AAED,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,EAOrD,CAAC;AAEF,oBAAY,2BAA2B;IACrC,iBAAiB,sBAAsB;IACvC,iBAAiB,cAAc;IAC/B,uBAAuB,4BAA4B;CACpD;AAED,oBAAY,uBAAuB;IACjC,wBAAwB,6BAA6B;IACrD,6BAA6B,mCAAmC;IAChE,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,gCAAgC,qCAAqC;IACrE,0BAA0B,+BAA+B;IACzD,6BAA6B,kCAAkC;IAC/D,8BAA8B,mCAAmC;IACjE,iCAAiC,sCAAsC;IACvE,+BAA+B,oCAAoC;IACnE,uBAAuB,4BAA4B;IACnD,6BAA6B,kCAAkC;IAC/D,mBAAmB,wBAAwB;IAC3C,+BAA+B,oCAAoC;IACnE,8BAA8B,mCAAmC;CAClE;AAED,eAAO,MAAM,sBAAsB,eAAe,CAAC;AAEnD,eAAO,MAAM,wBAAwB,UAAsD,CAAC;AAE5F,eAAO,MAAM,2BAA2B,EAAE,MAAM,EAA6B,CAAC;AAE9E,oBAAY,2BAA2B;IACrC,SAAS,cAAc;IACvB,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,yBAAyB,gCAAgC;IACzD,OAAO,qBAAqB;IAC5B,YAAY,kBAAkB;IAC9B,WAAW,qBAAqB;IAChC,QAAQ,wBAAwB;IAChC,SAAS,cAAc;IACvB,WAAW,qBAAqB;IAChC,mBAAmB,yBAAyB;IAE5C,oBAAoB,0BAA0B;CAC/C;AAED,KAAK,OAAO,GAAG;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC;AAElC,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AASF,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,2BAA2B,CAAC;CAC5C,CAAC;AAIF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,eAAe,CAAC,GACrF,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC,GAAG;IACpE,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB,CAAC;AAEJ,oBAAY,qBAAqB;IAC/B,UAAU,gBAAgB;IAC1B,oBAAoB,2BAA2B;IAC/C,mBAAmB,0BAA0B;CAC9C;AAED,oBAAY,0BAA0B;IACpC,QAAQ,cAAc;IACtB,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,sBAAsB,CAAC;IAC1D,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE;QACrB,CAAC,IAAI,EAAE,MAAM,GAAG;YAAE,QAAQ,EAAE,IAAI,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KACzF,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE;QACrB,CAAC,IAAI,EAAE,MAAM,GAAG;YAAE,QAAQ,EAAE,IAAI,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KACzF,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IAEtC,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,MAAM,CAAC;IAKb,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,MAAM,EAAE,wBAAwB,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;CAC3C,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAAE,IAAI,EAAE,2BAA2B,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IAMjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,2BAA2B,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,2BAA2B,CAAC;IACnC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,oBAAY,4BAA4B;IACtC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;CAClC;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,4BAA4B,CAAC;IACnC,IAAI,CAAC,EAAE,2BAA2B,CAAC;CACpC,CAAC;AAOF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,YAAY,EAAE,4BAA4B,EAAE,CAAC;IAC7C,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,cAAc,EAAE,wBAAwB,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACjD,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;IAExB,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACjD,QAAQ,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAChD,WAAW,CAAC,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACjD,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC7C,GAAG,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;KAChC,CAAC;IACF,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,KAAK,oBAAoB,GAAG,SAAS,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG;IAC1D,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG;IAC1D,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,WAAW,CAAC;IACjC,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAE/E,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IAIX,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE;YAAE,MAAM,EAAE,wBAAwB,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,UAAU,EAAE,OAAO,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,iBAAiB,GAAG,KAAK,CAAC;QAGlC,WAAW,CAAC,EAAE,MAAM,CAAC;QAGrB,aAAa,CAAC,EAAE,MAAM,CAAC;QAGvB,cAAc,CAAC,EAAE,MAAM,CAAC;QAGxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,0CAA0C,qBAAqB,CAAC;AAC7E,eAAO,MAAM,oCAAoC,yCAAyC,CAAC;AAC3F,eAAO,MAAM,4CAA4C,8BAA8B,CAAC;AAExF,eAAO,MAAM,wCAAwC,yBAAyB,CAAC;AAC/E,eAAO,MAAM,iDAAiD,kCAAkC,CAAC;AACjG,eAAO,MAAM,gDAAgD,iCAAiC,CAAC;AAC/F,eAAO,MAAM,mEAAmE,8CACnC,CAAC;AAC9C,eAAO,MAAM,2DAA2D,4CAC7B,CAAC;AAC5C,eAAO,MAAM,qDAAqD,sCAC7B,CAAC;AAEtC,eAAO,MAAM,gCAAgC,8BAA8B,CAAC;AAE5E,eAAO,MAAM,2CAA2C,4BAA4B,CAAC;AACrF,eAAO,MAAM,mCAAmC,oBAAoB,CAAC;AACrE,eAAO,MAAM,qCAAqC,sBAAsB,CAAC;AACzE,eAAO,MAAM,sCAAsC,uBAAuB,CAAC;AAC3E,eAAO,MAAM,qCAAqC,sBAAsB,CAAC;AACzE,eAAO,MAAM,yCAAyC,0BAA0B,CAAC;AACjF,eAAO,MAAM,gCAAgC,iBAAiB,CAAC;AAE/D,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAMF,eAAO,MAAM,8BAA8B,4sBA4Be,CAAC;AAG3D,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAC9C,iBAAiB,EACjB,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAChD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,yBAAyB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,GAAG;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2BAA2B,EAAE,OAAO,CAAC;IACrC,+BAA+B,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,2BAA2B,GAAG,sBAAsB,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,GAAG;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,qBAAqB,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,yBAAyB,EAAE,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE;QACd,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE;YACJ,gBAAgB,EAAE;gBAChB,kBAAkB,EAAE,MAAM,CAAC;gBAC3B,qBAAqB,EAAE,MAAM,CAAC;gBAC9B,cAAc,EAAE,MAAM,CAAC;gBACvB,QAAQ,EAAE,MAAM,CAAC;gBACjB,cAAc,EAAE,MAAM,CAAC;gBACvB,gBAAgB,EAAE,MAAM,CAAC;gBACzB,aAAa,EAAE,MAAM,CAAC;gBACtB,SAAS,EAAE,MAAM,EAAE,CAAC;gBACpB,eAAe,EAAE,MAAM,CAAC;aACzB,CAAC;YAEF,iBAAiB,EAAE;gBACjB,WAAW,EAAE,MAAM,CAAC;gBACpB,oBAAoB,EAAE,MAAM,CAAC;gBAC7B,0BAA0B,EAAE,MAAM,CAAC;gBACnC,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC;gBAChB,gBAAgB,EAAE,MAAM,CAAC;gBACzB,gBAAgB,EAAE,OAAO,CAAC;gBAC1B,sBAAsB,EAAE,OAAO,CAAC;gBAChC,sBAAsB,EAAE,OAAO,CAAC;gBAChC,wBAAwB,EAAE,OAAO,CAAC;gBAClC,qBAAqB,EAAE,OAAO,CAAC;gBAC/B,eAAe,EAAE,MAAM,CAAC;gBACxB,sBAAsB,EAAE,MAAM,CAAC;gBAC/B,gBAAgB,EAAE,MAAM,CAAC;gBACzB,wBAAwB,EAAE,CAAC,CAAC;gBAC5B,aAAa,EAAE,MAAM,CAAC;gBACtB,aAAa,EAAE,MAAM,CAAC;gBACtB,UAAU,EAAE,MAAM,CAAC;gBACnB,oBAAoB,EAAE,MAAM,CAAC;aAC9B,CAAC;YAEF,kBAAkB,EAAE;gBAClB,GAAG,EAAE,MAAM,CAAC;gBACZ,aAAa,EAAE,MAAM,CAAC;gBACtB,UAAU,EAAE,MAAM,CAAC;gBACnB,SAAS,EAAE,MAAM,CAAC;gBAClB,uBAAuB,EAAE,MAAM,CAAC;gBAChC,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,iBAAiB,EAAE,MAAM,CAAC;gBAC1B,WAAW,EAAE,MAAM,CAAC;gBACpB,eAAe,EAAE,MAAM,CAAC;gBACxB,aAAa,EAAE,MAAM,CAAC;gBACtB,oBAAoB,EAAE,MAAM,CAAC;gBAC7B,aAAa,EAAE,MAAM,CAAC;gBACtB,qBAAqB,EAAE,MAAM,CAAC;gBAC9B,cAAc,EAAE,MAAM,CAAC;gBACvB,mBAAmB,EAAE,MAAM,CAAC;gBAC5B,WAAW,EAAE,MAAM,CAAC;gBACpB,aAAa,EAAE,MAAM,CAAC;aACvB,CAAC;YAEF,YAAY,EAAE,SAAS,EAAE,CAAC;YAE1B,aAAa,EAAE,UAAU,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE;QACd,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE;QACd,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,EAAE,CAAC,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B,EAAE,MAAM,CAAC;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,IAAI,CAAC;IAGvC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,+BAA+B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IAGnC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,uBAAuB,EAAE,OAAO,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,gBAAgB,GAAG;QACjC,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QAExB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,4BAA4B,CAAC,EAAE,MAAM,CAAC;QAEtC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QAExB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,WAAW,CAAC,EAAE,MAAM,CAAC;QAGrB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,yBAAyB,EAAE,MAAM,EAAE,CAAC;QACpC,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;QACpC,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QAEpB,aAAa,EAAE,MAAM,CAAC;QAGtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAEhC,2BAA2B,EAAE,MAAM,EAAE,CAAC;QACtC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,uBAAuB,EAAE,OAAO,CAAC;QACjC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,yBAAyB,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1C,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,iBAAiB,GAAG;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,QAAQ,CAAC,yBAAyB,EAAE,aAAa,CAAC,EAClD,WAAW,CACZ,GAAG;IACF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities.js","sourceRoot":"/","sources":["types/opportunities.ts"],"names":[],"mappings":"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","sourcesContent":["import { Task } from '@bisondesk/commons-sdk/tasks';\nimport { Document, NextList } from '@bisondesk/commons-sdk/types';\nimport { BusinessEntityIds, OpportunityType, WarningHints } from '../constants.js';\nimport { Contact, Organization } from './crm.js';\nimport type { Interest, InterestBffMeta } from './interests.js';\nimport { BaseEvent } from './internal-events.js';\nimport { OpportunityPayment } from './opportunity-payments.js';\nimport { Quote, QuoteRecordMeta, QuoteStatus } from './quotes.js';\nimport { OpportunityReservation } from './reservations.js';\nimport { BaseSearchRequest, FieldId, PickFieldIds } from './search.js';\nimport { Transport } from './transports.js';\nimport { DataRecord, ReferenceData } from './utils.js';\nimport { Vehicle } from './vehicles.js';\n\nexport type ListOpportunitiesFilters = {\n offset?: number;\n limit?: number;\n organizationId?: string;\n contactId?: string;\n vehicleId?: string;\n vehicleIds?: string[];\n excludeOpportunityId?: string;\n excludeLost?: boolean;\n statuses?: OpportunityStatus[];\n since?: string;\n until?: string;\n};\n\nexport enum OpportunityActions {\n ADD_REMARKS = 'add_remarks',\n CREATE_QUOTE = 'create_quote',\n LOSE = 'lose',\n REOPEN = 'reopen',\n START_PREPARATION = 'start_preparation',\n REVERT_PREPARATION = 'revert_preparation',\n START_DELIVERY = 'start_delivery',\n REVERT_DELIVERY = 'revert_delivery',\n SET_CUSTOMER = 'set_customer',\n SET_DOCUMENTS = 'set_documents',\n SET_INTEREST = 'set_interest',\n SET_METADATA = 'set_metadata',\n SET_VEHICLE = 'set_vehicle',\n ADD_ACTIVITY = 'add_activity',\n ADD_PAYMENT = 'add_payment',\n SWITCH_VEHICLE = 'switch_vehicle',\n DELIVER_VEHICLE = 'deliver_vehicle',\n UNDO_DELIVER_VEHICLE = 'undo_deliver_vehicle',\n SET_DEAL_INFO = 'update_deal_info',\n ISSUE_INVOICE = 'issue_invoice',\n CREATE_MANUAL_SALES_INVOICE = 'create_manual_sales_invoice',\n}\n\nexport enum OpportunityPaymentStatus {\n PARTIAL_PAYMENT = 'partial_payment',\n FULL_PAYMENT = 'full_payment',\n NO_PAYMENT = 'no_payment',\n}\n\nexport enum OpportunityStatus {\n PROSPECTION = 'prospection',\n DISCOVERY = 'discovery',\n EVALUATION = 'evaluation',\n REVIEW = 'review',\n PREPARATION = 'preparation',\n DELIVERY = 'delivery',\n}\n\nexport const OpportunityStatusOrder: OpportunityStatus[] = [\n OpportunityStatus.PROSPECTION,\n OpportunityStatus.DISCOVERY,\n OpportunityStatus.EVALUATION,\n OpportunityStatus.REVIEW,\n OpportunityStatus.PREPARATION,\n OpportunityStatus.DELIVERY,\n];\n\nexport enum OpportunityRequirementsCode {\n VEHICLE_AT_ORIGIN = 'vehicle_at_origin',\n LEASING_SL_ACTION = 'sl_action',\n TECHNICAL_NOTES_CHANGED = 'technical_notes_changed',\n}\n\nexport enum OpportunityWarningsCode {\n QUOTE_PENDING_VALIDATION = 'quote_pending_validation',\n QUOTE_PEDING_MANAGER_APPROVAL = 'quote_pending_manager_approval',\n CONCURRENT_OPPORTUNITIES = 'concurrent_opportunities',\n VEHICLE_RESERVED = 'vehicle_reserved',\n OPPORTUNITY_NEEDS_SWITCH_VEHICLE = 'opportunity_needs_switch_vehicle',\n VEHICLE_RESERVED_DATE_INFO = 'vehicle_reserved_date_info',\n VEHICLE_RESERVED_INDEFINITELY = 'vehicle_reserved_indefinitely',\n QUOTE_MISSING_DELIVERY_DETAILS = 'quote_missing_delivery_details',\n VEHICLE_TECHNICAL_DETAILS_CHANGED = 'vehicle_technical_details_changed',\n QUOTE_MISSING_FINANCING_DETAILS = 'quote_missing_financing_details',\n VEHICLE_BRANCH_MISMATCH = 'vehicle_branch_mismatch',\n VEHICLE_UNAVAILABLE_AT_SOURCE = 'vehicle_unavailable_at_source',\n INTERCOMPANY_LINKED = 'intercompany_linked',\n INTERCOMPANY_SOURCE_OPPORTUNITY = 'intercompany_source_opportunity',\n INTERCOMPANY_SOURCE_UNRESERVED = 'intercompany_source_unreserved',\n}\n\nexport const OpportunityWonColumnId = 'closed_won';\n\nexport const OpportunityKanbanColumns = [...OpportunityStatusOrder, OpportunityWonColumnId];\n\nexport const OpportunityKanbanEndColumns: string[] = [OpportunityWonColumnId];\n\nexport enum OpportunityLostReasonValues {\n Expensive = 'expensive',\n AlreadySold = 'already_sold',\n BadExperience = 'bad_experience',\n IncorrectVehicleCondition = 'incorrect_vehicle_condition',\n NoStock = 'not_enough_stock',\n SlowDelivery = 'slow_delivery',\n HighDeposit = 'deposit_too_high',\n NoAnswer = 'client_not_answered',\n Automatic = 'automatic',\n LeasingDeal = 'sold-via-leasing',\n InvestmentPostponed = 'investment_postponed',\n /** The target-tenant deal released the vehicle (lost, or its reservation expired). */\n IntercompanyReleased = 'intercompany_released',\n}\n\ntype BaseBid = {\n vehicleId: string;\n opportunityId?: string;\n contactId: string;\n amount: string;\n};\n\nexport type NewBid = BaseBid & {};\n\nexport type Bid = BaseBid & {\n id: string;\n createdAt: string;\n createdBy: string;\n};\n\n/**\n * Provenance of a customer deal whose vehicle is fulfilled by a source-tenant intercompany\n * opportunity. Written only by the intercompany coordination\n * (cross-tenant-sync/ico-opportunities);\n * the link table at the source is its mirror. Powers deep links, the payments walk and\n * support digging — never availability decisions.\n */\nexport type OpportunityIntercompanyInfo = {\n sourceTenantId: string;\n sourceBranchId: string;\n sourceOpportunityId: string;\n sourceReservationId: string;\n};\n\ntype BaseOpportunity = {\n accountManager?: string;\n administrativePerson?: string;\n type: OpportunityType;\n organizationId?: string;\n contactId?: string;\n vehicleId?: string;\n source?: string; // e.g. website, autoscout, mobile...\n branch: string;\n inquiry?: string;\n branchCountry: string;\n intercompany?: OpportunityIntercompanyInfo;\n};\n\n// type, branch and branchCountry are optional: when omitted, the server defaults them\n// from the requester's preferred branches/opportunity types, then the tenant defaults.\nexport type NewOpportunity = Omit<BaseOpportunity, 'type' | 'branch' | 'branchCountry'> &\n Partial<Pick<BaseOpportunity, 'type' | 'branch' | 'branchCountry'>> & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n };\n\nexport enum VehicleSaleDealStatus {\n SaleAgreed = 'SALE_AGREED',\n FirstPaymentReceived = 'FIRST_PAYMENT_RECEIVED',\n FullPaymentReceived = 'FULL_PAYMENT_RECEIVED',\n}\n\nexport enum VehicleSaleLogisticsStatus {\n AtOrigin = 'AT_ORIGIN',\n Delivered = 'DELIVERED',\n}\n\nexport type Opportunity = BaseOpportunity & {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n engagedAt?: string;\n engagedBy?: string;\n validatedAt?: string;\n validatedBy?: string;\n acceptedAt?: string;\n acceptedBy?: string;\n firstAcceptedAt?: string;\n lastActivityAt?: string; // last time we reached out to the customer, regardless of medium\n reviewedAt?: string;\n reviewedBy?: string;\n preparedAt?: string;\n preparedBy?: string;\n lastBidAt?: string;\n lostAt?: string;\n lostBy?: string;\n wonAt?: string;\n lostReason?: OpportunityLostReasonValues;\n deliveredAt?: string;\n deliveredBy?: string;\n deliveredMode?: 'CMR' | 'Action' | 'DeliveryConfirmation';\n saleDeliveryTransportEligibleAt?: string;\n status: OpportunityStatus;\n dealStatus?: VehicleSaleDealStatus;\n logisticStatus?: VehicleSaleLogisticsStatus;\n activeQuoteId?: string;\n amount?: string;\n documents?: Document[];\n leasingContractId?: string;\n internalLeasingContractId?: string;\n accountManagerAssistant?: string;\n requirementsOverride?: {\n [code: string]: { override: true; reason?: string; actionAt: string; actionBy: string };\n };\n};\n\nexport type OpportunityUpdate = {\n vehicleId?: string | null;\n accountManager?: string | null;\n accountManagerAssistant?: string | null;\n administrativePerson?: string | null;\n contactId?: string | null;\n activeQuoteId?: string | null;\n reviewed?: boolean;\n prepared?: boolean;\n lost?: boolean;\n delivered?: boolean;\n lostReason?: OpportunityLostReasonValues;\n documents?: Document[];\n branch?: string;\n branchCountry?: string;\n type?: OpportunityType;\n lastActivityAt?: string | null; // null gives the possibility to delete this field if all activities are deleted\n lastBidAt?: string;\n source?: string | null;\n requirementsOverride?: {\n [code: string]: { override: true; reason?: string; actionAt: string; actionBy: string };\n };\n};\n\nexport type OpportunityPaymentSummary = {\n total: string;\n paid: string;\n entries: DataRecord<OpportunityPayment>[];\n};\n\n/** @deprecated Renamed to {@link OpportunityPaymentSummary}. */\nexport type PaymentSummary = OpportunityPaymentSummary;\n\nexport type VehicleBffMetadata = {\n openOpportunities: number;\n otherRelatedVehicleIds: string[];\n};\n\nexport type OpportunityStatusRequirement = { code: OpportunityRequirementsCode; title?: string };\n\ntype OportunityWarningActionLink = {\n businessEntityId: BusinessEntityIds;\n recordId: string;\n /**\n * Absolute URL, set only when the record lives at another tenant — in-app routing cannot\n * reach it, so the client opens it in a new tab. Same shape the intercompany payments walk\n * already hands the client (ADR-0024's `opportunityUrl`).\n */\n url?: string;\n};\n\ntype OportunityWarningActionData = { [key: string]: string | number };\n\nexport type OpportunityWarning = {\n code: OpportunityWarningsCode;\n level: WarningHints;\n link?: OportunityWarningActionLink;\n data?: OportunityWarningActionData;\n showAction?: boolean;\n};\n\nexport enum OpportunityActionBlockerCode {\n MISSING_CUSTOMER = 'missing_customer',\n VEHICLE_BRANCH_MISMATCH = 'vehicle_branch_mismatch',\n MINIMUM_PAYMENT_MISSING = 'minimum_payment_missing',\n MISSING_FINANCING = 'missing_financing',\n BLOCKING_TASKS = 'blocking_tasks',\n}\n\nexport type OpportunityActionBlocker = {\n code: OpportunityActionBlockerCode;\n data?: OportunityWarningActionData;\n};\n\n/**\n * Why an action the user would otherwise expect to see is refused right now. Only actions whose\n * remaining conditions the user can act on are listed: a wrong status or a missing role hides the\n * action instead, as before.\n */\nexport type OpportunityBlockedAction = {\n action: OpportunityActions;\n reasons: OpportunityActionBlocker[];\n};\n\nexport type OpportunityBffMeta = ReferenceData & {\n requirements: OpportunityStatusRequirement[];\n warnings: OpportunityWarning[];\n blockedActions: OpportunityBlockedAction[];\n};\n\nexport type ContactMetdata = {\n openOpportunities: number;\n};\n\nexport type OpportunityBFF = {\n opportunity: DataRecord<Opportunity, OpportunityBffMeta>;\n vehicle?: DataRecord<Vehicle, VehicleBffMetadata>;\n interest?: DataRecord<Interest, InterestBffMeta>;\n bids: DataRecord<Bid>[];\n /** Every quote the deal has ever had; the ones it has left carry `meta.archived`. */\n quotes: DataRecord<Quote, QuoteRecordMeta>[];\n activeQuote?: DataRecord<Quote, QuoteRecordMeta>;\n payments: OpportunityPaymentSummary | undefined;\n reservation?: DataRecord<OpportunityReservation>;\n tasks: DataRecord<Task>[];\n customer?: {\n contact: DataRecord<Contact, ContactMetdata>;\n org?: DataRecord<Organization>;\n };\n transport?: Transport;\n};\n\ntype BaseOpportunityEvent = BaseEvent & {\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type OpportunityCreateEvent = BaseOpportunityEvent & {\n opportunity: Opportunity;\n previousOpportunity?: undefined;\n action: 'create';\n};\n\nexport type OpportunityUpdateEvent = BaseOpportunityEvent & {\n opportunity: Opportunity;\n previousOpportunity: Opportunity;\n action: 'update';\n};\n\nexport type OpportunityEvent = OpportunityCreateEvent | OpportunityUpdateEvent;\n\nexport type QuoteEvent = {\n quote: Quote;\n opportunity: Opportunity;\n action: 'create' | 'update';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\n/* Quote summary with information that should be common to different types of quotes */\nexport type QuoteInfo = {\n status: QuoteStatus;\n roi: string;\n id: string;\n // Leasing-only metrics, denormalized from the active leasing quote so the leasing report\n // can take medians without re-reading each quote. Absent on non-leasing quotes.\n /** Leasing term in months (`calculatorInput.leasing.duration`). */\n durationMonths?: number;\n /** Yearly ROI as a percentage 0–100 (`calculatorOutput.roi.perYear`). */\n roiPerYear?: number;\n /** Advance (deposit) as a percentage 0–100 (`calculatorInput.leasing.depositPercentage`). */\n advancePercentage?: number;\n};\n\nexport type SearchOpportunity = {\n contact?: Contact;\n opportunity: Opportunity;\n org?: Organization;\n vehicle?: Vehicle;\n transport?: Transport;\n quote?: QuoteInfo;\n custom: {\n groupKey: string;\n web2Lead: boolean;\n payment: { status: OpportunityPaymentStatus; percentagePaid: string };\n unassigned: boolean;\n lost: boolean;\n assignees: string[];\n accountManagers: string[];\n vehicleCheckedIn: boolean;\n status: OpportunityStatus | 'won';\n // Denormalized at indexing time from VehiclePurchase.log.checkedInAt so the opp index\n // can answer \"how long has this vehicle been visible on the website\" without joining.\n checkedInAt?: string;\n // Calendar days from min(marketingAt, evaluationAt, purchaseAgreedAt) until validatedAt.\n // Mirrors `daysInVirtualInventory` on the vehicle Business Overview page.\n daysAvailable?: number;\n // Operational supplier for reporting. For SLB clones this is the source vehicle supplier,\n // not the bank supplier on the clone purchase.\n realSupplierId?: string;\n // Branch of the associated vehicle, coalesced from the synced original branch then the\n // local branch — mirrors the vehicle index `custom.originalBranchId` facet.\n originalBranchId?: string;\n };\n};\n\nexport const QUOTE_NEEDS_VALIDATION_NOTIFICATION_ORIGIN = 'quote-validation';\nexport const QUOTE_NOT_CREATED_BY_ACCOUNT_MANAGER = 'quote-not-created-by-account-manager';\nexport const QUOTE_VALIDATOR_FEEDBACK_NOTIFICATION_ORIGIN = 'quote-validation-feedback';\n\nexport const OPPORTUNITY_ASSIGNED_NOTIFICATION_ORIGIN = 'opportunity-assigned';\nexport const OPPORTUNITY_VEHICLE_AVAILABLE_NOTIFICATION_ORIGIN = 'opportunity-vehicle-available';\nexport const OPPORTUNITY_VEHICLE_DELIVERY_NOTIFICATION_ORIGIN = 'opportunity-vehicle-delivery';\nexport const OPPORTUNITY_VEHICLE_RESERVATION_ABOUT_TO_EXPIRE_NOTIFICATION_ORIGIN =\n 'opportunity-vehicle-reservation-to-expire';\nexport const OPPORTUNITY_VEHICLE_RESERVATION_EXPIRED_NOTIFICATION_ORIGIN =\n 'opportunity-vehicle-reservation-expired';\nexport const INTERCOMPANY_OPPORTUNITY_RELEASED_NOTIFICATION_ORIGIN =\n 'intercompany-opportunity-released';\n\nexport const OFFER_SET_FINAL_VALUATION_ORIGIN = 'offer-set-final-valuation';\n\nexport const VEHICLE_PRICE_DECREASES_NOTIFICATION_ORIGIN = 'vehicle-price-decreased';\nexport const VEHICLE_ARRIVED_NOTIFICATION_ORIGIN = 'vehicle-arrived';\nexport const VEHICLE_CHECKEDIN_NOTIFICATION_ORIGIN = 'vehicle-checkedin';\nexport const VEHICLE_FULLY_PAID_NOTIFICATION_ORIGIN = 'vehicle-fully-paid';\nexport const VEHICLE_PURCHASED_NOTIFICATION_ORIGIN = 'vehicle-purchased';\nexport const VEHICLE_PRICE_CHANGED_NOTIFICATION_ORIGIN = 'vehicle-price-changed';\nexport const VEHICLE_SOLD_NOTIFICATION_ORIGIN = 'vehicle-sold';\n\nexport type OpportunityNotificationData = {\n quoteVersion?: number;\n snippet?: string;\n};\n\n/**\n * The fields of an opportunity that the kanban board's cards show. The kanban search returns\n * only these, so a card reading a field outside this list gets nothing.\n */\nexport const KANBAN_OPPORTUNITY_ITEM_FIELDS = [\n 'opportunity.id',\n 'opportunity.status',\n 'opportunity.amount',\n 'opportunity.accountManager',\n 'opportunity.accountManagerAssistant',\n 'opportunity.administrativePerson',\n 'opportunity.createdAt',\n 'opportunity.acceptedAt',\n 'opportunity.reviewedAt',\n 'opportunity.deliveredAt',\n 'opportunity.lastActivityAt',\n 'opportunity.lostAt',\n 'custom.web2Lead',\n 'custom.payment.percentagePaid',\n 'org.id',\n 'org.name',\n 'org.countryCode',\n 'contact.id',\n 'contact.firstName',\n 'contact.lastName',\n 'contact.countryCode',\n 'vehicle.id',\n 'vehicle.internal.identification.stockNumber',\n 'vehicle.internal.identification.administrativeNumber',\n 'vehicle.internal.description.title',\n 'vehicle.external.mainPicture.url',\n 'transport.status',\n] as const satisfies readonly FieldId<SearchOpportunity>[];\n\n/** An opportunity on the kanban board: its search document cut down to the card's fields. */\nexport type KanbanOpportunityItem = PickFieldIds<\n SearchOpportunity,\n (typeof KANBAN_OPPORTUNITY_ITEM_FIELDS)[number]\n>;\n\nexport type KanbanOpportunityGroup = {\n items: KanbanOpportunityItem[];\n};\n\nexport type OpportunitiesKanbanColumn = {\n status: string;\n results: KanbanOpportunityItem[];\n groups?: KanbanOpportunityGroup[];\n totalCount: number;\n totalValue: string;\n};\n\nexport type MSearchOpportunitiesKanbanColumn = {\n column: OpportunitiesKanbanColumn;\n nextToken?: string;\n};\n\ntype HpLeasingDealRunDataBase = {\n bisondeskTenantId: string;\n entityOwner: string;\n opportunityId: string;\n};\n\n// Field ids match the hpaci (Mr Lease CI) leasing-deal process definition: the LD is the only\n// Hyperportal process for that tenant (no C flow) and the contract document lives in BisonDesk.\nexport type HpLeasingDealRunDataCi = HpLeasingDealRunDataBase & {\n client?: string;\n vendeur?: string;\n vehicule?: string;\n plaqueDimmatriculation?: string;\n numeroDeContratLeasing: string;\n dateDeDebutDuContrat?: number;\n prixDeVenteHorsTvaXof: string;\n montantDavanceTtcXof: string;\n depotDeGarantieXof?: string;\n dueeDuLeasingEnMois: number;\n travauxHorsNormesNecessaire: boolean;\n descriptionDesTravauxHorsNormes: string;\n};\n\nexport type HpLeasingDealRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: HpLeasingDealRunDataDefault | HpLeasingDealRunDataCi;\n};\n\nexport type HpLeasingDealRunDataDefault = HpLeasingDealRunDataBase & {\n leasingContractOwner?: string;\n foreseenDeliveryDate?: string;\n deliveryAddressLeasing?: string;\n nameSalesPerson: string;\n durationLeasingInMonths: number;\n vanCourier: boolean;\n newVehicle?: boolean;\n newTrailer?: boolean;\n registrationOnTtcoBe?: boolean;\n externalDelivery?: boolean;\n civilLiabilities?: boolean;\n specialTechnicalInsurance?: boolean;\n allRisks?: boolean;\n roadAssistance?: boolean;\n vabAssistanceVan?: boolean;\n yearOfConstruction?: number;\n chassisnumber?: string;\n vehicleModel?: string;\n vehicleCategory2?: string;\n licencePlate?: string;\n vatPercentage?: number;\n\n opportunityContractId: string;\n\n company?: string;\n customerNumber?: number; //bisondesk external id\n slbPartner?: string;\n //MrLease fields\n vehicle?: string;\n vehicleNewReferenceMl?: string;\n referencePurchaserTtcoKleyn?: string;\n salesPriceEur: string;\n depositFullAmountExclVat: string;\n depositToBePrepaidExclVat: string;\n vehicleMake3?: string;\n\n //TTC fields\n vehicleOriginalReference?: string;\n salesPrice: string;\n depositFullAmount: string;\n depositAmountToBePrepaid: string;\n make?: string;\n\n //Extras\n garageExtrasCodes: string[];\n allExtrasDescriptions: string[];\n administrationExtrasCodes: string[];\n logisticExtrasCodes: string[];\n customRequestDescriptions: string[];\n};\n\nexport type HpLeasingDealResponse = {\n entityId: string;\n id: string;\n status: string;\n leasingContractNumber?: string;\n};\n\nexport type HpLeasingContractRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractOwner?: string;\n totalLeasingAmount: string;\n company?: string;\n vehicle?: string;\n ldNumber: number;\n vanCourier: boolean;\n startDate: number;\n opportunityContractId: string;\n data: {\n leasingParameter: {\n allRisksPercentage: number;\n allRisksTaxPercentage: number;\n civilLiability: number;\n entityId: string;\n oneTimeRoadTax: number;\n specialInsurance: number;\n yearlyRoadTax: number;\n countries: string[];\n vehicleCategory: string;\n };\n\n calculatorRequest: {\n bankDeposit: number;\n bankDurationInMonths: number;\n bankInterestRatePercentage: number;\n bankResidualValue: number;\n deposit: number;\n durationInMonths: number;\n includesAllRisks: boolean;\n includesCivilLiability: boolean;\n includesOneTimeRoadTax: boolean;\n includesSpecialInsurance: boolean;\n includesYearlyRoadTax: boolean;\n insuranceAmount: number;\n interestRatePercentage: number;\n marginPercentage: number;\n monthlyAdministrationFee: 0;\n purchasePrice: number;\n residualValue: number;\n salesPrice: number;\n startupFeePercentage: number;\n };\n\n calculatorResponse: {\n ROI: number;\n ROIDifference: number;\n ROIPerYear: number;\n ROITarget: number;\n allRisksInsuranceAmount: number;\n bankContractValue: number;\n bankLeasingAmount: number;\n cashDeficit: number;\n financingAmount: number;\n leasingAmount: number;\n leasingContractValue: number;\n leasingProfit: number;\n monthlyTaxRetailPrice: number;\n oneTimeTaxCost: number;\n totalMonthlyPayment: number;\n totalProfit: number;\n vehicleProfit: number;\n };\n\n cashInValues: CashInRow[];\n\n cashOutValues: CashOutRow[];\n };\n };\n};\n\nexport type HpLeasingContractResponse = {\n entityId: string;\n id: string;\n status: string;\n createdAt: string;\n updatedAt: string;\n dateOfFinalSettlement: string;\n startDate: string;\n email: string;\n contractNumber: string;\n};\n\nexport type HpLeasingDealReturnRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractNumber2: string;\n leasingContractNumber: string;\n opportunityContractId: string;\n company: string;\n vehicle: string;\n };\n};\n\nexport type HpLeasingDealEndRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractOwner: string;\n vehicleOldReference: string;\n leasingContractNumber: string;\n company: string;\n vehicleNewReference: string;\n };\n};\n\nexport type CashInRow = {\n time: number;\n deposit: number;\n monthlyAdministrationFee: 0; //Legacy field - Should always be 0\n residualValue: number;\n startupFee: number;\n leasingAmountWithoutAdminFee: number;\n insurancePayment: number;\n taxPayment: number;\n cashIn: number;\n cumulativeCash: number;\n};\n\nexport type CashOutRow = {\n time: number;\n deposit: number;\n residualValue: number;\n leasingAmount: number;\n insurancePayment: number;\n taxPayment: number;\n cashOut: number;\n cumulativeCash: number;\n};\n\nexport type HpDeliveryFields = {\n detailsOfStacking?: string | null;\n technicalControlNeeded: boolean | null;\n\n //PickUP Delivery\n urgentDelivery?: boolean | null;\n dateOfPickUpByCustomer?: number | null;\n modeOfTransportPickUpByCustomer?: string | null; //entity Id\n detailsOfBorderCrossing?: string | null;\n insuranceNeeded: boolean | null;\n transitPlateNeeded: boolean | null;\n licensePlateNeeded: boolean | null;\n\n //Address Delivery\n address?: string | null;\n kmToAddressOfDelivery?: number | null;\n\n //To Port Delivery\n originPortText?: string | null; //entity Id\n shippingCompany?: string | null; //string Id\n destinationPort?: string | null;\n cleaningDegassingNeeded: boolean | null;\n};\n\nexport type HpIsaProcessRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: HpDeliveryFields & {\n entityOwner: string;\n nameSalesPerson: string;\n\n company?: string; //entityId\n proofOfSaleCustomerAgreement?: string; //entityId\n\n vehicle?: string; //entityId\n bodywork?: string; //entityId\n vehicleCategory: string; //entityId\n\n amountOfCommissionPaid: number;\n opportunityId: string;\n deliveryType: string; //entity Id\n directDelivery?: boolean | null;\n directDeliveryReason?: string | null;\n agreedPrice?: string;\n\n //Extras\n garageExtrasCodes: string[];\n logisticsExtrasCodes: string[];\n administrationExtrasCodes: string[];\n allExtrasDescriptions: string[];\n customRequestDescriptions: string[];\n infoSpoiler: string; // entity Id\n };\n};\n\nexport type HpIsaProcessResponse = {\n entityId: string;\n id: string;\n status: string;\n};\n\nexport type HpWorkOrderProcessRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n entityOwner: string;\n\n opportunityId: string;\n\n //Extras\n garageExtrasCodes: string[];\n allExtrasDescriptions: string[];\n\n customerRequestDescriptions: string[];\n directDeliveryReason?: string | null;\n salesPerson: string; // entityId\n customerName: string;\n referenceNumber: string;\n make?: string; //entityId\n typeTrailer?: string; //entityId\n\n vinNumber?: string;\n foreseenArrivalDateTrailer?: string;\n deadlineRequest?: number;\n locationVehicle2?: string; //entityId\n customer: string; //entityId\n vehicle: string; //entityId\n trailerHasBeenCheckedIn: boolean;\n deliveryDetails?: string | null;\n technicalInspectionNeeded: boolean | null;\n adr: boolean | null;\n };\n};\n\nexport type HpWorkOrderProcessResponse = {\n entityId: string;\n id: string;\n status: string;\n};\n\nexport type SwitchOpportunityVehicleRequest = {\n opportunity: Opportunity;\n newVehicleId: string;\n};\n\nexport type KanbanOpportunitiesSearchRequest = BaseSearchRequest & {\n nextTokens?: Record<string, string | undefined>;\n groupByClient?: boolean;\n};\n\nexport type KanbanOpportunitiesNextList = Omit<\n NextList<OpportunitiesKanbanColumn, ReferenceData>,\n 'nextToken'\n> & {\n nextTokens?: Record<string, string | undefined>;\n};\n"]}
1
+ {"version":3,"file":"opportunities.js","sourceRoot":"/","sources":["types/opportunities.ts"],"names":[],"mappings":"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","sourcesContent":["import { Task } from '@bisondesk/commons-sdk/tasks';\nimport { Document, NextList } from '@bisondesk/commons-sdk/types';\nimport { BusinessEntityIds, OpportunityType, WarningHints } from '../constants.js';\nimport { Contact, Organization } from './crm.js';\nimport type { Interest, InterestBffMeta } from './interests.js';\nimport { BaseEvent } from './internal-events.js';\nimport { OpportunityPayment } from './opportunity-payments.js';\nimport { Quote, QuoteRecordMeta, QuoteStatus } from './quotes.js';\nimport { OpportunityReservation } from './reservations.js';\nimport { BaseSearchRequest, FieldId, PickFieldIds } from './search.js';\nimport { Transport } from './transports.js';\nimport { DataRecord, ReferenceData } from './utils.js';\nimport { Vehicle } from './vehicles.js';\n\nexport type ListOpportunitiesFilters = {\n offset?: number;\n limit?: number;\n organizationId?: string;\n contactId?: string;\n vehicleId?: string;\n vehicleIds?: string[];\n excludeOpportunityId?: string;\n excludeLost?: boolean;\n statuses?: OpportunityStatus[];\n since?: string;\n until?: string;\n};\n\nexport enum OpportunityActions {\n ADD_REMARKS = 'add_remarks',\n CREATE_QUOTE = 'create_quote',\n LOSE = 'lose',\n REOPEN = 'reopen',\n START_PREPARATION = 'start_preparation',\n REVERT_PREPARATION = 'revert_preparation',\n START_DELIVERY = 'start_delivery',\n REVERT_DELIVERY = 'revert_delivery',\n SET_CUSTOMER = 'set_customer',\n SET_DOCUMENTS = 'set_documents',\n SET_INTEREST = 'set_interest',\n SET_METADATA = 'set_metadata',\n SET_VEHICLE = 'set_vehicle',\n ADD_ACTIVITY = 'add_activity',\n ADD_PAYMENT = 'add_payment',\n SWITCH_VEHICLE = 'switch_vehicle',\n DELIVER_VEHICLE = 'deliver_vehicle',\n UNDO_DELIVER_VEHICLE = 'undo_deliver_vehicle',\n SET_DEAL_INFO = 'update_deal_info',\n ISSUE_INVOICE = 'issue_invoice',\n CREATE_MANUAL_SALES_INVOICE = 'create_manual_sales_invoice',\n}\n\nexport enum OpportunityPaymentStatus {\n PARTIAL_PAYMENT = 'partial_payment',\n FULL_PAYMENT = 'full_payment',\n NO_PAYMENT = 'no_payment',\n}\n\nexport enum OpportunityStatus {\n PROSPECTION = 'prospection',\n DISCOVERY = 'discovery',\n EVALUATION = 'evaluation',\n REVIEW = 'review',\n PREPARATION = 'preparation',\n DELIVERY = 'delivery',\n}\n\nexport const OpportunityStatusOrder: OpportunityStatus[] = [\n OpportunityStatus.PROSPECTION,\n OpportunityStatus.DISCOVERY,\n OpportunityStatus.EVALUATION,\n OpportunityStatus.REVIEW,\n OpportunityStatus.PREPARATION,\n OpportunityStatus.DELIVERY,\n];\n\nexport enum OpportunityRequirementsCode {\n VEHICLE_AT_ORIGIN = 'vehicle_at_origin',\n LEASING_SL_ACTION = 'sl_action',\n TECHNICAL_NOTES_CHANGED = 'technical_notes_changed',\n}\n\nexport enum OpportunityWarningsCode {\n QUOTE_PENDING_VALIDATION = 'quote_pending_validation',\n QUOTE_PEDING_MANAGER_APPROVAL = 'quote_pending_manager_approval',\n CONCURRENT_OPPORTUNITIES = 'concurrent_opportunities',\n VEHICLE_RESERVED = 'vehicle_reserved',\n OPPORTUNITY_NEEDS_SWITCH_VEHICLE = 'opportunity_needs_switch_vehicle',\n VEHICLE_RESERVED_DATE_INFO = 'vehicle_reserved_date_info',\n VEHICLE_RESERVED_INDEFINITELY = 'vehicle_reserved_indefinitely',\n QUOTE_MISSING_DELIVERY_DETAILS = 'quote_missing_delivery_details',\n VEHICLE_TECHNICAL_DETAILS_CHANGED = 'vehicle_technical_details_changed',\n QUOTE_MISSING_FINANCING_DETAILS = 'quote_missing_financing_details',\n VEHICLE_BRANCH_MISMATCH = 'vehicle_branch_mismatch',\n VEHICLE_UNAVAILABLE_AT_SOURCE = 'vehicle_unavailable_at_source',\n INTERCOMPANY_LINKED = 'intercompany_linked',\n INTERCOMPANY_SOURCE_OPPORTUNITY = 'intercompany_source_opportunity',\n INTERCOMPANY_SOURCE_UNRESERVED = 'intercompany_source_unreserved',\n}\n\nexport const OpportunityWonColumnId = 'closed_won';\n\nexport const OpportunityKanbanColumns = [...OpportunityStatusOrder, OpportunityWonColumnId];\n\nexport const OpportunityKanbanEndColumns: string[] = [OpportunityWonColumnId];\n\nexport enum OpportunityLostReasonValues {\n Expensive = 'expensive',\n AlreadySold = 'already_sold',\n BadExperience = 'bad_experience',\n IncorrectVehicleCondition = 'incorrect_vehicle_condition',\n NoStock = 'not_enough_stock',\n SlowDelivery = 'slow_delivery',\n HighDeposit = 'deposit_too_high',\n NoAnswer = 'client_not_answered',\n Automatic = 'automatic',\n LeasingDeal = 'sold-via-leasing',\n InvestmentPostponed = 'investment_postponed',\n /** The target-tenant deal released the vehicle (lost, or its reservation expired). */\n IntercompanyReleased = 'intercompany_released',\n}\n\ntype BaseBid = {\n vehicleId: string;\n opportunityId?: string;\n contactId: string;\n amount: string;\n};\n\nexport type NewBid = BaseBid & {};\n\nexport type Bid = BaseBid & {\n id: string;\n createdAt: string;\n createdBy: string;\n};\n\n/**\n * Provenance of a customer deal whose vehicle is fulfilled by a source-tenant intercompany\n * opportunity. Written only by the intercompany coordination\n * (cross-tenant-sync/ico-opportunities);\n * the link table at the source is its mirror. Powers deep links, the payments walk and\n * support digging — never availability decisions.\n */\nexport type OpportunityIntercompanyInfo = {\n sourceTenantId: string;\n sourceBranchId: string;\n sourceOpportunityId: string;\n sourceReservationId: string;\n};\n\ntype BaseOpportunity = {\n accountManager?: string;\n administrativePerson?: string;\n type: OpportunityType;\n organizationId?: string;\n contactId?: string;\n vehicleId?: string;\n source?: string; // e.g. website, autoscout, mobile...\n branch: string;\n inquiry?: string;\n branchCountry: string;\n intercompany?: OpportunityIntercompanyInfo;\n};\n\n// type, branch and branchCountry are optional: when omitted, the server defaults them\n// from the requester's preferred branches/opportunity types, then the tenant defaults.\nexport type NewOpportunity = Omit<BaseOpportunity, 'type' | 'branch' | 'branchCountry'> &\n Partial<Pick<BaseOpportunity, 'type' | 'branch' | 'branchCountry'>> & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n };\n\nexport enum VehicleSaleDealStatus {\n SaleAgreed = 'SALE_AGREED',\n FirstPaymentReceived = 'FIRST_PAYMENT_RECEIVED',\n FullPaymentReceived = 'FULL_PAYMENT_RECEIVED',\n}\n\nexport enum VehicleSaleLogisticsStatus {\n AtOrigin = 'AT_ORIGIN',\n Delivered = 'DELIVERED',\n}\n\nexport type Opportunity = BaseOpportunity & {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n engagedAt?: string;\n engagedBy?: string;\n validatedAt?: string;\n validatedBy?: string;\n acceptedAt?: string;\n acceptedBy?: string;\n firstAcceptedAt?: string;\n lastActivityAt?: string; // last time we reached out to the customer, regardless of medium\n reviewedAt?: string;\n reviewedBy?: string;\n preparedAt?: string;\n preparedBy?: string;\n lastBidAt?: string;\n lostAt?: string;\n lostBy?: string;\n wonAt?: string;\n lostReason?: OpportunityLostReasonValues;\n deliveredAt?: string;\n deliveredBy?: string;\n deliveredMode?: 'CMR' | 'Action' | 'DeliveryConfirmation';\n saleDeliveryTransportEligibleAt?: string;\n status: OpportunityStatus;\n dealStatus?: VehicleSaleDealStatus;\n logisticStatus?: VehicleSaleLogisticsStatus;\n activeQuoteId?: string;\n amount?: string;\n documents?: Document[];\n leasingContractId?: string;\n internalLeasingContractId?: string;\n accountManagerAssistant?: string;\n requirementsOverride?: {\n [code: string]: { override: true; reason?: string; actionAt: string; actionBy: string };\n };\n};\n\nexport type OpportunityUpdate = {\n vehicleId?: string | null;\n accountManager?: string | null;\n accountManagerAssistant?: string | null;\n administrativePerson?: string | null;\n contactId?: string | null;\n activeQuoteId?: string | null;\n reviewed?: boolean;\n prepared?: boolean;\n lost?: boolean;\n delivered?: boolean;\n lostReason?: OpportunityLostReasonValues;\n documents?: Document[];\n branch?: string;\n branchCountry?: string;\n type?: OpportunityType;\n lastActivityAt?: string | null; // null gives the possibility to delete this field if all activities are deleted\n lastBidAt?: string;\n source?: string | null;\n requirementsOverride?: {\n [code: string]: { override: true; reason?: string; actionAt: string; actionBy: string };\n };\n};\n\nexport type OpportunityPaymentSummary = {\n /** Branch currency. */\n total: string;\n /** Sum of `amount` over the payments, in branch currency. */\n paid: string;\n /**\n * The same pair in the quote's alternative currency, present when the branch can be paid in it.\n * `paid` sums the payments that arrived in that currency.\n */\n foreign?: {\n total: string;\n paid: string;\n currencyCode: string;\n exchangeRate: string;\n };\n /** Fully paid when either currency reaches its total. */\n status: OpportunityPaymentStatus;\n percentagePaid: string;\n entries: DataRecord<OpportunityPayment>[];\n};\n\n/** @deprecated Renamed to {@link OpportunityPaymentSummary}. */\nexport type PaymentSummary = OpportunityPaymentSummary;\n\nexport type VehicleBffMetadata = {\n openOpportunities: number;\n otherRelatedVehicleIds: string[];\n};\n\nexport type OpportunityStatusRequirement = { code: OpportunityRequirementsCode; title?: string };\n\ntype OportunityWarningActionLink = {\n businessEntityId: BusinessEntityIds;\n recordId: string;\n /**\n * Absolute URL, set only when the record lives at another tenant — in-app routing cannot\n * reach it, so the client opens it in a new tab. Same shape the intercompany payments walk\n * already hands the client (ADR-0024's `opportunityUrl`).\n */\n url?: string;\n};\n\ntype OportunityWarningActionData = { [key: string]: string | number };\n\nexport type OpportunityWarning = {\n code: OpportunityWarningsCode;\n level: WarningHints;\n link?: OportunityWarningActionLink;\n data?: OportunityWarningActionData;\n showAction?: boolean;\n};\n\nexport enum OpportunityActionBlockerCode {\n MISSING_CUSTOMER = 'missing_customer',\n VEHICLE_BRANCH_MISMATCH = 'vehicle_branch_mismatch',\n MINIMUM_PAYMENT_MISSING = 'minimum_payment_missing',\n MISSING_FINANCING = 'missing_financing',\n BLOCKING_TASKS = 'blocking_tasks',\n}\n\nexport type OpportunityActionBlocker = {\n code: OpportunityActionBlockerCode;\n data?: OportunityWarningActionData;\n};\n\n/**\n * Why an action the user would otherwise expect to see is refused right now. Only actions whose\n * remaining conditions the user can act on are listed: a wrong status or a missing role hides the\n * action instead, as before.\n */\nexport type OpportunityBlockedAction = {\n action: OpportunityActions;\n reasons: OpportunityActionBlocker[];\n};\n\nexport type OpportunityBffMeta = ReferenceData & {\n requirements: OpportunityStatusRequirement[];\n warnings: OpportunityWarning[];\n blockedActions: OpportunityBlockedAction[];\n};\n\nexport type ContactMetdata = {\n openOpportunities: number;\n};\n\nexport type OpportunityBFF = {\n opportunity: DataRecord<Opportunity, OpportunityBffMeta>;\n vehicle?: DataRecord<Vehicle, VehicleBffMetadata>;\n interest?: DataRecord<Interest, InterestBffMeta>;\n bids: DataRecord<Bid>[];\n /** Every quote the deal has ever had; the ones it has left carry `meta.archived`. */\n quotes: DataRecord<Quote, QuoteRecordMeta>[];\n activeQuote?: DataRecord<Quote, QuoteRecordMeta>;\n payments: OpportunityPaymentSummary | undefined;\n reservation?: DataRecord<OpportunityReservation>;\n tasks: DataRecord<Task>[];\n customer?: {\n contact: DataRecord<Contact, ContactMetdata>;\n org?: DataRecord<Organization>;\n };\n transport?: Transport;\n};\n\ntype BaseOpportunityEvent = BaseEvent & {\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type OpportunityCreateEvent = BaseOpportunityEvent & {\n opportunity: Opportunity;\n previousOpportunity?: undefined;\n action: 'create';\n};\n\nexport type OpportunityUpdateEvent = BaseOpportunityEvent & {\n opportunity: Opportunity;\n previousOpportunity: Opportunity;\n action: 'update';\n};\n\nexport type OpportunityEvent = OpportunityCreateEvent | OpportunityUpdateEvent;\n\nexport type QuoteEvent = {\n quote: Quote;\n opportunity: Opportunity;\n action: 'create' | 'update';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\n/* Quote summary with information that should be common to different types of quotes */\nexport type QuoteInfo = {\n status: QuoteStatus;\n roi: string;\n id: string;\n // Leasing-only metrics, denormalized from the active leasing quote so the leasing report\n // can take medians without re-reading each quote. Absent on non-leasing quotes.\n /** Leasing term in months (`calculatorInput.leasing.duration`). */\n durationMonths?: number;\n /** Yearly ROI as a percentage 0–100 (`calculatorOutput.roi.perYear`). */\n roiPerYear?: number;\n /** Advance (deposit) as a percentage 0–100 (`calculatorInput.leasing.depositPercentage`). */\n advancePercentage?: number;\n};\n\nexport type SearchOpportunity = {\n contact?: Contact;\n opportunity: Opportunity;\n org?: Organization;\n vehicle?: Vehicle;\n transport?: Transport;\n quote?: QuoteInfo;\n custom: {\n groupKey: string;\n web2Lead: boolean;\n payment: { status: OpportunityPaymentStatus; percentagePaid: string };\n unassigned: boolean;\n lost: boolean;\n assignees: string[];\n accountManagers: string[];\n vehicleCheckedIn: boolean;\n status: OpportunityStatus | 'won';\n // Denormalized at indexing time from VehiclePurchase.log.checkedInAt so the opp index\n // can answer \"how long has this vehicle been visible on the website\" without joining.\n checkedInAt?: string;\n // Calendar days from min(marketingAt, evaluationAt, purchaseAgreedAt) until validatedAt.\n // Mirrors `daysInVirtualInventory` on the vehicle Business Overview page.\n daysAvailable?: number;\n // Operational supplier for reporting. For SLB clones this is the source vehicle supplier,\n // not the bank supplier on the clone purchase.\n realSupplierId?: string;\n // Branch of the associated vehicle, coalesced from the synced original branch then the\n // local branch — mirrors the vehicle index `custom.originalBranchId` facet.\n originalBranchId?: string;\n };\n};\n\nexport const QUOTE_NEEDS_VALIDATION_NOTIFICATION_ORIGIN = 'quote-validation';\nexport const QUOTE_NOT_CREATED_BY_ACCOUNT_MANAGER = 'quote-not-created-by-account-manager';\nexport const QUOTE_VALIDATOR_FEEDBACK_NOTIFICATION_ORIGIN = 'quote-validation-feedback';\n\nexport const OPPORTUNITY_ASSIGNED_NOTIFICATION_ORIGIN = 'opportunity-assigned';\nexport const OPPORTUNITY_VEHICLE_AVAILABLE_NOTIFICATION_ORIGIN = 'opportunity-vehicle-available';\nexport const OPPORTUNITY_VEHICLE_DELIVERY_NOTIFICATION_ORIGIN = 'opportunity-vehicle-delivery';\nexport const OPPORTUNITY_VEHICLE_RESERVATION_ABOUT_TO_EXPIRE_NOTIFICATION_ORIGIN =\n 'opportunity-vehicle-reservation-to-expire';\nexport const OPPORTUNITY_VEHICLE_RESERVATION_EXPIRED_NOTIFICATION_ORIGIN =\n 'opportunity-vehicle-reservation-expired';\nexport const INTERCOMPANY_OPPORTUNITY_RELEASED_NOTIFICATION_ORIGIN =\n 'intercompany-opportunity-released';\n\nexport const OFFER_SET_FINAL_VALUATION_ORIGIN = 'offer-set-final-valuation';\n\nexport const VEHICLE_PRICE_DECREASES_NOTIFICATION_ORIGIN = 'vehicle-price-decreased';\nexport const VEHICLE_ARRIVED_NOTIFICATION_ORIGIN = 'vehicle-arrived';\nexport const VEHICLE_CHECKEDIN_NOTIFICATION_ORIGIN = 'vehicle-checkedin';\nexport const VEHICLE_FULLY_PAID_NOTIFICATION_ORIGIN = 'vehicle-fully-paid';\nexport const VEHICLE_PURCHASED_NOTIFICATION_ORIGIN = 'vehicle-purchased';\nexport const VEHICLE_PRICE_CHANGED_NOTIFICATION_ORIGIN = 'vehicle-price-changed';\nexport const VEHICLE_SOLD_NOTIFICATION_ORIGIN = 'vehicle-sold';\n\nexport type OpportunityNotificationData = {\n quoteVersion?: number;\n snippet?: string;\n};\n\n/**\n * The fields of an opportunity that the kanban board's cards show. The kanban search returns\n * only these, so a card reading a field outside this list gets nothing.\n */\nexport const KANBAN_OPPORTUNITY_ITEM_FIELDS = [\n 'opportunity.id',\n 'opportunity.status',\n 'opportunity.amount',\n 'opportunity.accountManager',\n 'opportunity.accountManagerAssistant',\n 'opportunity.administrativePerson',\n 'opportunity.createdAt',\n 'opportunity.acceptedAt',\n 'opportunity.reviewedAt',\n 'opportunity.deliveredAt',\n 'opportunity.lastActivityAt',\n 'opportunity.lostAt',\n 'custom.web2Lead',\n 'custom.payment.percentagePaid',\n 'org.id',\n 'org.name',\n 'org.countryCode',\n 'contact.id',\n 'contact.firstName',\n 'contact.lastName',\n 'contact.countryCode',\n 'vehicle.id',\n 'vehicle.internal.identification.stockNumber',\n 'vehicle.internal.identification.administrativeNumber',\n 'vehicle.internal.description.title',\n 'vehicle.external.mainPicture.url',\n 'transport.status',\n] as const satisfies readonly FieldId<SearchOpportunity>[];\n\n/** An opportunity on the kanban board: its search document cut down to the card's fields. */\nexport type KanbanOpportunityItem = PickFieldIds<\n SearchOpportunity,\n (typeof KANBAN_OPPORTUNITY_ITEM_FIELDS)[number]\n>;\n\nexport type KanbanOpportunityGroup = {\n items: KanbanOpportunityItem[];\n};\n\nexport type OpportunitiesKanbanColumn = {\n status: string;\n results: KanbanOpportunityItem[];\n groups?: KanbanOpportunityGroup[];\n totalCount: number;\n totalValue: string;\n};\n\nexport type MSearchOpportunitiesKanbanColumn = {\n column: OpportunitiesKanbanColumn;\n nextToken?: string;\n};\n\ntype HpLeasingDealRunDataBase = {\n bisondeskTenantId: string;\n entityOwner: string;\n opportunityId: string;\n};\n\n// Field ids match the hpaci (Mr Lease CI) leasing-deal process definition: the LD is the only\n// Hyperportal process for that tenant (no C flow) and the contract document lives in BisonDesk.\nexport type HpLeasingDealRunDataCi = HpLeasingDealRunDataBase & {\n client?: string;\n vendeur?: string;\n vehicule?: string;\n plaqueDimmatriculation?: string;\n numeroDeContratLeasing: string;\n dateDeDebutDuContrat?: number;\n prixDeVenteHorsTvaXof: string;\n montantDavanceTtcXof: string;\n depotDeGarantieXof?: string;\n dueeDuLeasingEnMois: number;\n travauxHorsNormesNecessaire: boolean;\n descriptionDesTravauxHorsNormes: string;\n};\n\nexport type HpLeasingDealRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: HpLeasingDealRunDataDefault | HpLeasingDealRunDataCi;\n};\n\nexport type HpLeasingDealRunDataDefault = HpLeasingDealRunDataBase & {\n leasingContractOwner?: string;\n foreseenDeliveryDate?: string;\n deliveryAddressLeasing?: string;\n nameSalesPerson: string;\n durationLeasingInMonths: number;\n vanCourier: boolean;\n newVehicle?: boolean;\n newTrailer?: boolean;\n registrationOnTtcoBe?: boolean;\n externalDelivery?: boolean;\n civilLiabilities?: boolean;\n specialTechnicalInsurance?: boolean;\n allRisks?: boolean;\n roadAssistance?: boolean;\n vabAssistanceVan?: boolean;\n yearOfConstruction?: number;\n chassisnumber?: string;\n vehicleModel?: string;\n vehicleCategory2?: string;\n licencePlate?: string;\n vatPercentage?: number;\n\n opportunityContractId: string;\n\n company?: string;\n customerNumber?: number; //bisondesk external id\n slbPartner?: string;\n //MrLease fields\n vehicle?: string;\n vehicleNewReferenceMl?: string;\n referencePurchaserTtcoKleyn?: string;\n salesPriceEur: string;\n depositFullAmountExclVat: string;\n depositToBePrepaidExclVat: string;\n vehicleMake3?: string;\n\n //TTC fields\n vehicleOriginalReference?: string;\n salesPrice: string;\n depositFullAmount: string;\n depositAmountToBePrepaid: string;\n make?: string;\n\n //Extras\n garageExtrasCodes: string[];\n allExtrasDescriptions: string[];\n administrationExtrasCodes: string[];\n logisticExtrasCodes: string[];\n customRequestDescriptions: string[];\n};\n\nexport type HpLeasingDealResponse = {\n entityId: string;\n id: string;\n status: string;\n leasingContractNumber?: string;\n};\n\nexport type HpLeasingContractRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractOwner?: string;\n totalLeasingAmount: string;\n company?: string;\n vehicle?: string;\n ldNumber: number;\n vanCourier: boolean;\n startDate: number;\n opportunityContractId: string;\n maxKmPerYear?: number;\n data: {\n leasingParameter: {\n allRisksPercentage: number;\n allRisksTaxPercentage: number;\n civilLiability: number;\n entityId: string;\n oneTimeRoadTax: number;\n specialInsurance: number;\n yearlyRoadTax: number;\n countries: string[];\n vehicleCategory: string;\n };\n\n calculatorRequest: {\n bankDeposit: number;\n bankDurationInMonths: number;\n bankInterestRatePercentage: number;\n bankResidualValue: number;\n deposit: number;\n durationInMonths: number;\n includesAllRisks: boolean;\n includesCivilLiability: boolean;\n includesOneTimeRoadTax: boolean;\n includesSpecialInsurance: boolean;\n includesYearlyRoadTax: boolean;\n insuranceAmount: number;\n interestRatePercentage: number;\n marginPercentage: number;\n monthlyAdministrationFee: 0;\n purchasePrice: number;\n residualValue: number;\n salesPrice: number;\n startupFeePercentage: number;\n };\n\n calculatorResponse: {\n ROI: number;\n ROIDifference: number;\n ROIPerYear: number;\n ROITarget: number;\n allRisksInsuranceAmount: number;\n bankContractValue: number;\n bankLeasingAmount: number;\n cashDeficit: number;\n financingAmount: number;\n leasingAmount: number;\n leasingContractValue: number;\n leasingProfit: number;\n monthlyTaxRetailPrice: number;\n oneTimeTaxCost: number;\n totalMonthlyPayment: number;\n totalProfit: number;\n vehicleProfit: number;\n };\n\n cashInValues: CashInRow[];\n\n cashOutValues: CashOutRow[];\n };\n };\n};\n\nexport type HpLeasingContractResponse = {\n entityId: string;\n id: string;\n status: string;\n createdAt: string;\n updatedAt: string;\n dateOfFinalSettlement: string;\n startDate: string;\n email: string;\n contractNumber: string;\n};\n\nexport type HpLeasingDealReturnRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractNumber2: string;\n leasingContractNumber: string;\n opportunityContractId: string;\n company: string;\n vehicle: string;\n };\n};\n\nexport type HpLeasingDealEndRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractOwner: string;\n vehicleOldReference: string;\n leasingContractNumber: string;\n company: string;\n vehicleNewReference: string;\n };\n};\n\nexport type CashInRow = {\n time: number;\n deposit: number;\n monthlyAdministrationFee: 0; //Legacy field - Should always be 0\n residualValue: number;\n startupFee: number;\n leasingAmountWithoutAdminFee: number;\n insurancePayment: number;\n taxPayment: number;\n cashIn: number;\n cumulativeCash: number;\n};\n\nexport type CashOutRow = {\n time: number;\n deposit: number;\n residualValue: number;\n leasingAmount: number;\n insurancePayment: number;\n taxPayment: number;\n cashOut: number;\n cumulativeCash: number;\n};\n\nexport type HpDeliveryFields = {\n detailsOfStacking?: string | null;\n technicalControlNeeded: boolean | null;\n\n //PickUP Delivery\n urgentDelivery?: boolean | null;\n dateOfPickUpByCustomer?: number | null;\n modeOfTransportPickUpByCustomer?: string | null; //entity Id\n detailsOfBorderCrossing?: string | null;\n insuranceNeeded: boolean | null;\n transitPlateNeeded: boolean | null;\n licensePlateNeeded: boolean | null;\n\n //Address Delivery\n address?: string | null;\n kmToAddressOfDelivery?: number | null;\n\n //To Port Delivery\n originPortText?: string | null; //entity Id\n shippingCompany?: string | null; //string Id\n destinationPort?: string | null;\n cleaningDegassingNeeded: boolean | null;\n};\n\nexport type HpIsaProcessRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: HpDeliveryFields & {\n entityOwner: string;\n nameSalesPerson: string;\n\n company?: string; //entityId\n proofOfSaleCustomerAgreement?: string; //entityId\n\n vehicle?: string; //entityId\n bodywork?: string; //entityId\n vehicleCategory: string; //entityId\n\n amountOfCommissionPaid: number;\n opportunityId: string;\n deliveryType: string; //entity Id\n directDelivery?: boolean | null;\n directDeliveryReason?: string | null;\n agreedPrice?: string;\n\n //Extras\n garageExtrasCodes: string[];\n logisticsExtrasCodes: string[];\n administrationExtrasCodes: string[];\n allExtrasDescriptions: string[];\n customRequestDescriptions: string[];\n infoSpoiler: string; // entity Id\n };\n};\n\nexport type HpIsaProcessResponse = {\n entityId: string;\n id: string;\n status: string;\n};\n\nexport type HpWorkOrderProcessRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n entityOwner: string;\n\n opportunityId: string;\n\n //Extras\n garageExtrasCodes: string[];\n allExtrasDescriptions: string[];\n\n customerRequestDescriptions: string[];\n directDeliveryReason?: string | null;\n salesPerson: string; // entityId\n customerName: string;\n referenceNumber: string;\n make?: string; //entityId\n typeTrailer?: string; //entityId\n\n vinNumber?: string;\n foreseenArrivalDateTrailer?: string;\n deadlineRequest?: number;\n locationVehicle2?: string; //entityId\n customer: string; //entityId\n vehicle: string; //entityId\n trailerHasBeenCheckedIn: boolean;\n deliveryDetails?: string | null;\n technicalInspectionNeeded: boolean | null;\n adr: boolean | null;\n };\n};\n\nexport type HpWorkOrderProcessResponse = {\n entityId: string;\n id: string;\n status: string;\n};\n\nexport type SwitchOpportunityVehicleRequest = {\n opportunity: Opportunity;\n newVehicleId: string;\n};\n\nexport type KanbanOpportunitiesSearchRequest = BaseSearchRequest & {\n nextTokens?: Record<string, string | undefined>;\n groupByClient?: boolean;\n};\n\nexport type KanbanOpportunitiesNextList = Omit<\n NextList<OpportunitiesKanbanColumn, ReferenceData>,\n 'nextToken'\n> & {\n nextTokens?: Record<string, string | undefined>;\n};\n"]}
@@ -4,6 +4,12 @@ export declare enum OpportunityPaymentActions {
4
4
  EDIT = "edit"
5
5
  }
6
6
  export declare const OPPORTUNITY_PAYMENT_NOTIFICATION_ORIGIN = "opportunity-payment-notification";
7
+ export type OpportunityPaymentForeign = {
8
+ amount: string;
9
+ currencyCode: string;
10
+ exchangeRate: string;
11
+ };
12
+ export type OpportunityPaymentForeignRequest = Pick<OpportunityPaymentForeign, 'amount' | 'currencyCode'>;
7
13
  type BaseOpportunityPayment = {
8
14
  opportunityId: string;
9
15
  amount: string;
@@ -20,6 +26,7 @@ export type NewOpportunityPayment = BaseOpportunityPayment & {
20
26
  deletedAt?: undefined;
21
27
  deletedBy?: undefined;
22
28
  paidAt: string;
29
+ foreign?: OpportunityPaymentForeignRequest;
23
30
  };
24
31
  export type OpportunityPayment = BaseOpportunityPayment & {
25
32
  id: string;
@@ -30,10 +37,12 @@ export type OpportunityPayment = BaseOpportunityPayment & {
30
37
  deletedAt?: string;
31
38
  deletedBy?: string;
32
39
  paidAt?: string;
40
+ foreign?: OpportunityPaymentForeign;
33
41
  };
34
42
  export type OpportunityPaymentUpdate = {
35
43
  description?: string;
36
44
  amount?: string;
45
+ foreign?: OpportunityPaymentForeignRequest | null;
37
46
  paidAt?: string;
38
47
  };
39
48
  export type OpportunityPaymentCreateEvent = {
@@ -1 +1 @@
1
- {"version":3,"file":"opportunity-payments.d.ts","sourceRoot":"/","sources":["types/opportunity-payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,oBAAY,yBAAyB;IACnC,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,eAAO,MAAM,uCAAuC,qCAAqC,CAAC;AAE1F,KAAK,sBAAsB,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG;IAC3D,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,eAAe,EAAE,kBAAkB,CAAC;IACpC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,kBAAkB,CAAC;IACpC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAC7C,CAAC,6BAA6B,GAAG,6BAA6B,GAAG,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"opportunity-payments.d.ts","sourceRoot":"/","sources":["types/opportunity-payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,oBAAY,yBAAyB;IACnC,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,eAAO,MAAM,uCAAuC,qCAAqC,CAAC;AAM1F,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IAErB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAIF,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,yBAAyB,EACzB,QAAQ,GAAG,cAAc,CAC1B,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAC;IAEtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG;IAC3D,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,gCAAgC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,eAAe,EAAE,kBAAkB,CAAC;IACpC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,kBAAkB,CAAC;IACpC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAC7C,CAAC,6BAA6B,GAAG,6BAA6B,GAAG,6BAA6B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"opportunity-payments.js","sourceRoot":"/","sources":["types/opportunity-payments.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,8CAAiB,CAAA;IACjB,0CAAa,CAAA;AACf,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAC,MAAM,uCAAuC,GAAG,kCAAkC,CAAC","sourcesContent":["import { BaseEvent } from './internal-events.js';\n\nexport enum OpportunityPaymentActions {\n DELETE = 'delete',\n EDIT = 'edit',\n}\n\nexport const OPPORTUNITY_PAYMENT_NOTIFICATION_ORIGIN = 'opportunity-payment-notification';\n\ntype BaseOpportunityPayment = {\n opportunityId: string;\n amount: string;\n description?: string;\n vehicleId: string;\n organizationId: string;\n};\n\nexport type NewOpportunityPayment = BaseOpportunityPayment & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n deletedAt?: undefined;\n deletedBy?: undefined;\n paidAt: string;\n};\n\nexport type OpportunityPayment = BaseOpportunityPayment & {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n deletedAt?: string;\n deletedBy?: string;\n paidAt?: string;\n};\n\nexport type OpportunityPaymentUpdate = {\n description?: string;\n amount?: string;\n paidAt?: string;\n};\n\nexport type OpportunityPaymentCreateEvent = {\n payment: OpportunityPayment;\n previousPayment?: undefined;\n action: 'create';\n actionAt: string;\n userId: string;\n tenantId: string;\n branchId: string;\n};\n\nexport type OpportunityPaymentUpdateEvent = {\n payment: OpportunityPayment;\n previousPayment: OpportunityPayment;\n action: 'update';\n actionAt: string;\n userId: string;\n tenantId: string;\n branchId: string;\n};\n\nexport type OpportunityPaymentDeleteEvent = {\n payment?: undefined;\n previousPayment: OpportunityPayment;\n action: 'delete';\n actionAt: string;\n userId: string;\n tenantId: string;\n branchId: string;\n};\n\nexport type OpportunityPaymentEvent = BaseEvent &\n (OpportunityPaymentCreateEvent | OpportunityPaymentUpdateEvent | OpportunityPaymentDeleteEvent);\n"]}
1
+ {"version":3,"file":"opportunity-payments.js","sourceRoot":"/","sources":["types/opportunity-payments.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,8CAAiB,CAAA;IACjB,0CAAa,CAAA;AACf,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAC,MAAM,uCAAuC,GAAG,kCAAkC,CAAC","sourcesContent":["import { BaseEvent } from './internal-events.js';\n\nexport enum OpportunityPaymentActions {\n DELETE = 'delete',\n EDIT = 'edit',\n}\n\nexport const OPPORTUNITY_PAYMENT_NOTIFICATION_ORIGIN = 'opportunity-payment-notification';\n\n/**\n * The money as it arrived, when it arrived in the quote's alternative currency. `amount` then\n * holds its value in branch currency: `foreign.amount × foreign.exchangeRate`.\n */\nexport type OpportunityPaymentForeign = {\n amount: string;\n currencyCode: string;\n /** Branch currency units per 1 unit of `currencyCode`, the quote's rate. */\n exchangeRate: string;\n};\n\n/** What a user sends for a payment in another currency. The backend takes the rate from the quote\n * and derives `amount`. */\nexport type OpportunityPaymentForeignRequest = Pick<\n OpportunityPaymentForeign,\n 'amount' | 'currencyCode'\n>;\n\ntype BaseOpportunityPayment = {\n opportunityId: string;\n /** Branch currency. */\n amount: string;\n description?: string;\n vehicleId: string;\n organizationId: string;\n};\n\nexport type NewOpportunityPayment = BaseOpportunityPayment & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n deletedAt?: undefined;\n deletedBy?: undefined;\n paidAt: string;\n foreign?: OpportunityPaymentForeignRequest;\n};\n\nexport type OpportunityPayment = BaseOpportunityPayment & {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n deletedAt?: string;\n deletedBy?: string;\n paidAt?: string;\n foreign?: OpportunityPaymentForeign;\n};\n\nexport type OpportunityPaymentUpdate = {\n description?: string;\n amount?: string;\n /** `null` turns the payment back into a branch currency payment. */\n foreign?: OpportunityPaymentForeignRequest | null;\n paidAt?: string;\n};\n\nexport type OpportunityPaymentCreateEvent = {\n payment: OpportunityPayment;\n previousPayment?: undefined;\n action: 'create';\n actionAt: string;\n userId: string;\n tenantId: string;\n branchId: string;\n};\n\nexport type OpportunityPaymentUpdateEvent = {\n payment: OpportunityPayment;\n previousPayment: OpportunityPayment;\n action: 'update';\n actionAt: string;\n userId: string;\n tenantId: string;\n branchId: string;\n};\n\nexport type OpportunityPaymentDeleteEvent = {\n payment?: undefined;\n previousPayment: OpportunityPayment;\n action: 'delete';\n actionAt: string;\n userId: string;\n tenantId: string;\n branchId: string;\n};\n\nexport type OpportunityPaymentEvent = BaseEvent &\n (OpportunityPaymentCreateEvent | OpportunityPaymentUpdateEvent | OpportunityPaymentDeleteEvent);\n"]}
@@ -84,6 +84,7 @@ export type LeasingQuoteParams<P extends CountrySpecificQuoteParams = CountrySpe
84
84
  leasingDuration: number;
85
85
  leasingDepositPercentage: string;
86
86
  leasingResidualValuePercentage: string;
87
+ maxKmPerYear?: number;
87
88
  };
88
89
  costs: {
89
90
  bankDepositPercentage: string;
@@ -1 +1 @@
1
- {"version":3,"file":"quote-settings.d.ts","sourceRoot":"/","sources":["types/quote-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quote-settings.d.ts","sourceRoot":"/","sources":["types/quote-settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quote-settings.js","sourceRoot":"/","sources":["types/quote-settings.ts"],"names":[],"mappings":"","sourcesContent":["import { Categories } from '../constants.js';\nimport { DeliveryParams } from './delivery-settings.js';\n\nexport type UsedVehiclesSalesParams = BaseQuoteSettings & {\n modifiedBy: string;\n countryCode: 'be';\n profitabilityDealGap: string;\n exaDocumentCosts: string;\n delivery?: DeliveryParams;\n};\n\nexport type BeSpecificQuoteParams = {\n countryCode: 'be';\n other: BaseQuoteSettings['other'] & {\n leasingStartupFeePercentage: string;\n };\n validationLimits?: {\n minimumInterestRate?: string;\n minimumDepositPercentage?: string;\n };\n insurance: {\n allRisksCost: string;\n allRisksTax: string;\n allRisksFees: string;\n allRisksMinimumCost: string;\n specialTechnicalInsuranceCost: string;\n specialTechnicalInsuranceTax: string;\n specialTechnicalInsuranceFees: string;\n civilLiabilitiesCost: string;\n civilLiabilitiesTax: string;\n civilLiabilitiesFees: string;\n roadAssistanceMonthlySalesPrice: string; // monthly Price\n roadAssistanceMonthlyCostPrice: string; // monthly Price\n margin: string;\n allRisksCheckedForLocalClients: boolean;\n specialTechnicalInsuranceCheckedForLocalClients: boolean;\n civilLiabilitiesCheckedForLocalClients: boolean;\n roadAssistanceCheckedForLocalClients: boolean;\n initialFractionPercentage: '0';\n };\n track: {\n trackAndTrace24Cost: string;\n trackAndTrace36Cost: string;\n trackAndTrace48Cost: string;\n trackAndTraceMaxCost: string;\n };\n taxes: {\n oneTimeRoadTax: string;\n yearlyRoadTax: string;\n oneTimeRoadCheckedForLocalClients: boolean;\n yearlyRoadCheckedForLocalClients: boolean;\n margin: string;\n };\n};\n\nexport type BoSpecificQuoteParams = {\n countryCode: 'bo';\n insurance: {\n allRisksCost: string;\n margin: string;\n initialFractionPercentage: string;\n };\n other: BaseQuoteSettings['other'] & {\n administrativeFee: string;\n };\n track: {\n installationCost: string;\n monthlyCost: string;\n monthlyFee: string;\n deviceCost: string;\n };\n};\n\nexport type CountrySpecificQuoteParams = BeSpecificQuoteParams | BoSpecificQuoteParams;\n\ntype BaseQuoteSettings = {\n id: string;\n priority: number; //1 is highest priority. The lower the number, the higher the priority\n category?: Categories;\n modifiedAt: string;\n name: string;\n other: {\n minimumDepositAdjudicationPercentage: string;\n };\n};\n\nexport type LeasingQuoteParams<P extends CountrySpecificQuoteParams = CountrySpecificQuoteParams> =\n BaseQuoteSettings & {\n leasing: {\n leasingInterestRate: string;\n leasingDuration: number;\n leasingDepositPercentage: string;\n leasingResidualValuePercentage: string;\n };\n costs: {\n bankDepositPercentage: string;\n bankInterestRate: string;\n bankResidualValuePercentage: string;\n };\n } & P;\n\nexport type QuoteSettings = LeasingQuoteParams | UsedVehiclesSalesParams;\n\nexport type QuoteParamsDropdown = {\n id: string;\n title: { [key: string]: string };\n};\n"]}
1
+ {"version":3,"file":"quote-settings.js","sourceRoot":"/","sources":["types/quote-settings.ts"],"names":[],"mappings":"","sourcesContent":["import { Categories } from '../constants.js';\nimport { DeliveryParams } from './delivery-settings.js';\n\nexport type UsedVehiclesSalesParams = BaseQuoteSettings & {\n modifiedBy: string;\n countryCode: 'be';\n profitabilityDealGap: string;\n exaDocumentCosts: string;\n delivery?: DeliveryParams;\n};\n\nexport type BeSpecificQuoteParams = {\n countryCode: 'be';\n other: BaseQuoteSettings['other'] & {\n leasingStartupFeePercentage: string;\n };\n validationLimits?: {\n minimumInterestRate?: string;\n minimumDepositPercentage?: string;\n };\n insurance: {\n allRisksCost: string;\n allRisksTax: string;\n allRisksFees: string;\n allRisksMinimumCost: string;\n specialTechnicalInsuranceCost: string;\n specialTechnicalInsuranceTax: string;\n specialTechnicalInsuranceFees: string;\n civilLiabilitiesCost: string;\n civilLiabilitiesTax: string;\n civilLiabilitiesFees: string;\n roadAssistanceMonthlySalesPrice: string; // monthly Price\n roadAssistanceMonthlyCostPrice: string; // monthly Price\n margin: string;\n allRisksCheckedForLocalClients: boolean;\n specialTechnicalInsuranceCheckedForLocalClients: boolean;\n civilLiabilitiesCheckedForLocalClients: boolean;\n roadAssistanceCheckedForLocalClients: boolean;\n initialFractionPercentage: '0';\n };\n track: {\n trackAndTrace24Cost: string;\n trackAndTrace36Cost: string;\n trackAndTrace48Cost: string;\n trackAndTraceMaxCost: string;\n };\n taxes: {\n oneTimeRoadTax: string;\n yearlyRoadTax: string;\n oneTimeRoadCheckedForLocalClients: boolean;\n yearlyRoadCheckedForLocalClients: boolean;\n margin: string;\n };\n};\n\nexport type BoSpecificQuoteParams = {\n countryCode: 'bo';\n insurance: {\n allRisksCost: string;\n margin: string;\n initialFractionPercentage: string;\n };\n other: BaseQuoteSettings['other'] & {\n administrativeFee: string;\n };\n track: {\n installationCost: string;\n monthlyCost: string;\n monthlyFee: string;\n deviceCost: string;\n };\n};\n\nexport type CountrySpecificQuoteParams = BeSpecificQuoteParams | BoSpecificQuoteParams;\n\ntype BaseQuoteSettings = {\n id: string;\n priority: number; //1 is highest priority. The lower the number, the higher the priority\n category?: Categories;\n modifiedAt: string;\n name: string;\n other: {\n minimumDepositAdjudicationPercentage: string;\n };\n};\n\nexport type LeasingQuoteParams<P extends CountrySpecificQuoteParams = CountrySpecificQuoteParams> =\n BaseQuoteSettings & {\n leasing: {\n leasingInterestRate: string;\n leasingDuration: number;\n leasingDepositPercentage: string;\n leasingResidualValuePercentage: string;\n /** Seeds `leasing.maxKmPerYear` on new quotes. */\n maxKmPerYear?: number;\n };\n costs: {\n bankDepositPercentage: string;\n bankInterestRate: string;\n bankResidualValuePercentage: string;\n };\n } & P;\n\nexport type QuoteSettings = LeasingQuoteParams | UsedVehiclesSalesParams;\n\nexport type QuoteParamsDropdown = {\n id: string;\n title: { [key: string]: string };\n};\n"]}