@autologix-engineering/shared 1.0.100 → 1.0.102

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 (448) hide show
  1. package/package.json +1 -1
  2. package/src/lib/billing-conditions/src/bill.generator.d.ts +15 -0
  3. package/src/lib/billing-conditions/src/bill.generator.js +210 -0
  4. package/src/lib/billing-conditions/src/bill.generator.js.map +1 -0
  5. package/src/lib/billing-conditions/src/condition.builder.d.ts +5 -0
  6. package/src/lib/billing-conditions/src/condition.builder.js +27 -0
  7. package/src/lib/billing-conditions/src/condition.builder.js.map +1 -0
  8. package/src/lib/billing-conditions/src/condition.sorter.builder.d.ts +5 -0
  9. package/src/lib/billing-conditions/src/condition.sorter.builder.js +18 -0
  10. package/src/lib/billing-conditions/src/condition.sorter.builder.js.map +1 -0
  11. package/src/lib/billing-conditions/src/definitions/condition.sorter.d.ts +4 -0
  12. package/src/lib/billing-conditions/src/definitions/condition.sorter.js +2 -0
  13. package/src/lib/billing-conditions/src/definitions/condition.sorter.js.map +1 -0
  14. package/src/lib/billing-conditions/src/definitions/conditional.partial.d.ts +9 -0
  15. package/src/lib/billing-conditions/src/definitions/conditional.partial.js +10 -0
  16. package/src/lib/billing-conditions/src/definitions/conditional.partial.js.map +1 -0
  17. package/src/lib/billing-conditions/src/definitions/displacement.d.ts +4 -0
  18. package/src/lib/billing-conditions/src/definitions/displacement.js +2 -0
  19. package/src/lib/billing-conditions/src/definitions/displacement.js.map +1 -0
  20. package/src/lib/billing-conditions/src/definitions/index.d.ts +5 -0
  21. package/src/lib/billing-conditions/src/definitions/index.js +6 -0
  22. package/src/lib/billing-conditions/src/definitions/index.js.map +1 -0
  23. package/src/lib/billing-conditions/src/definitions/trip.location.d.ts +5 -0
  24. package/src/lib/billing-conditions/src/definitions/trip.location.js +2 -0
  25. package/src/lib/billing-conditions/src/definitions/trip.location.js.map +1 -0
  26. package/src/lib/billing-conditions/src/definitions/trip.trace.d.ts +17 -0
  27. package/src/lib/billing-conditions/src/definitions/trip.trace.js +2 -0
  28. package/src/lib/billing-conditions/src/definitions/trip.trace.js.map +1 -0
  29. package/src/lib/billing-conditions/src/implementation/categorical.range.condition.d.ts +7 -0
  30. package/src/lib/billing-conditions/src/implementation/categorical.range.condition.js +28 -0
  31. package/src/lib/billing-conditions/src/implementation/categorical.range.condition.js.map +1 -0
  32. package/src/lib/billing-conditions/src/implementation/index.d.ts +9 -0
  33. package/src/lib/billing-conditions/src/implementation/index.js +10 -0
  34. package/src/lib/billing-conditions/src/implementation/index.js.map +1 -0
  35. package/src/lib/billing-conditions/src/implementation/numerical.condition.d.ts +7 -0
  36. package/src/lib/billing-conditions/src/implementation/numerical.condition.js +27 -0
  37. package/src/lib/billing-conditions/src/implementation/numerical.condition.js.map +1 -0
  38. package/src/lib/billing-conditions/src/implementation/numerical.condition.sorter.d.ts +5 -0
  39. package/src/lib/billing-conditions/src/implementation/numerical.condition.sorter.js +25 -0
  40. package/src/lib/billing-conditions/src/implementation/numerical.condition.sorter.js.map +1 -0
  41. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.d.ts +7 -0
  42. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.js +30 -0
  43. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.js.map +1 -0
  44. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.sorter.d.ts +5 -0
  45. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.sorter.js +45 -0
  46. package/src/lib/billing-conditions/src/implementation/numerical.range.condition.sorter.js.map +1 -0
  47. package/src/lib/billing-conditions/src/implementation/string.condition.d.ts +7 -0
  48. package/src/lib/billing-conditions/src/implementation/string.condition.js +38 -0
  49. package/src/lib/billing-conditions/src/implementation/string.condition.js.map +1 -0
  50. package/src/lib/billing-conditions/src/implementation/time.range.condition.d.ts +7 -0
  51. package/src/lib/billing-conditions/src/implementation/time.range.condition.js +30 -0
  52. package/src/lib/billing-conditions/src/implementation/time.range.condition.js.map +1 -0
  53. package/src/lib/billing-conditions/src/implementation/trip.distance.processor.d.ts +15 -0
  54. package/src/lib/billing-conditions/src/implementation/trip.distance.processor.js +97 -0
  55. package/src/lib/billing-conditions/src/implementation/trip.distance.processor.js.map +1 -0
  56. package/src/lib/billing-conditions/src/implementation/trip.time.processor.d.ts +33 -0
  57. package/src/lib/billing-conditions/src/implementation/trip.time.processor.js +239 -0
  58. package/src/lib/billing-conditions/src/implementation/trip.time.processor.js.map +1 -0
  59. package/src/lib/billing-conditions/src/index.d.ts +6 -0
  60. package/src/lib/billing-conditions/src/index.js +7 -0
  61. package/src/lib/billing-conditions/src/index.js.map +1 -0
  62. package/src/lib/billing-conditions/src/tariff.rule.processor.d.ts +8 -0
  63. package/src/lib/billing-conditions/src/tariff.rule.processor.js +417 -0
  64. package/src/lib/billing-conditions/src/tariff.rule.processor.js.map +1 -0
  65. package/src/lib/billing-conditions/src/transition.manager.d.ts +11 -0
  66. package/src/lib/billing-conditions/src/transition.manager.js +74 -0
  67. package/src/lib/billing-conditions/src/transition.manager.js.map +1 -0
  68. package/src/lib/billing-conditions/src/utilities/displacement.calculator.d.ts +2 -0
  69. package/src/lib/billing-conditions/src/utilities/displacement.calculator.js +48 -0
  70. package/src/lib/billing-conditions/src/utilities/displacement.calculator.js.map +1 -0
  71. package/src/lib/billing-conditions/src/utilities/index.d.ts +5 -0
  72. package/src/lib/billing-conditions/src/utilities/index.js +6 -0
  73. package/src/lib/billing-conditions/src/utilities/index.js.map +1 -0
  74. package/src/lib/billing-conditions/src/utilities/package.sorter.d.ts +2 -0
  75. package/src/lib/billing-conditions/src/utilities/package.sorter.js +9 -0
  76. package/src/lib/billing-conditions/src/utilities/package.sorter.js.map +1 -0
  77. package/src/lib/billing-conditions/src/utilities/time.transformers.identifier.d.ts +17 -0
  78. package/src/lib/billing-conditions/src/utilities/time.transformers.identifier.js +39 -0
  79. package/src/lib/billing-conditions/src/utilities/time.transformers.identifier.js.map +1 -0
  80. package/src/lib/billing-conditions/src/utilities/trace.locations.chronological.sort.d.ts +2 -0
  81. package/src/lib/billing-conditions/src/utilities/trace.locations.chronological.sort.js +10 -0
  82. package/src/lib/billing-conditions/src/utilities/trace.locations.chronological.sort.js.map +1 -0
  83. package/src/lib/billing-conditions/src/utilities/trace.sanitizer.d.ts +14 -0
  84. package/src/lib/billing-conditions/src/utilities/trace.sanitizer.js +23 -0
  85. package/src/lib/billing-conditions/src/utilities/trace.sanitizer.js.map +1 -0
  86. package/src/lib/commands/src/command.definition.d.ts +2 -2
  87. package/src/lib/commands/src/create.base.duty.types.d.ts +6 -0
  88. package/src/lib/commands/src/create.base.duty.types.js +7 -0
  89. package/src/lib/commands/src/create.base.duty.types.js.map +1 -0
  90. package/src/lib/commands/src/create.bulk.drivers.and.vehicles.d.ts +8 -0
  91. package/src/lib/commands/src/create.bulk.drivers.and.vehicles.js +7 -0
  92. package/src/lib/commands/src/create.bulk.drivers.and.vehicles.js.map +1 -0
  93. package/src/lib/commands/src/duty.communications.d.ts +8 -0
  94. package/src/lib/commands/src/duty.communications.js +7 -0
  95. package/src/lib/commands/src/duty.communications.js.map +1 -0
  96. package/src/lib/commands/src/index.d.ts +3 -0
  97. package/src/lib/commands/src/index.js +3 -0
  98. package/src/lib/commands/src/index.js.map +1 -1
  99. package/src/lib/commands/src/process.driver.assignment.d.ts +2 -1
  100. package/src/lib/commands/src/process.driver.assignment.js.map +1 -1
  101. package/src/lib/data-transfer-objects/src/add.custom.package.dto.d.ts +7 -0
  102. package/src/lib/data-transfer-objects/src/add.custom.package.dto.js +24 -0
  103. package/src/lib/data-transfer-objects/src/add.custom.package.dto.js.map +1 -0
  104. package/src/lib/data-transfer-objects/src/add.default.expenses.dto.d.ts +12 -0
  105. package/src/lib/data-transfer-objects/src/add.default.expenses.dto.js +42 -0
  106. package/src/lib/data-transfer-objects/src/add.default.expenses.dto.js.map +1 -0
  107. package/src/lib/data-transfer-objects/src/add.duty.column.dto.d.ts +6 -0
  108. package/src/lib/data-transfer-objects/src/add.duty.column.dto.js +16 -0
  109. package/src/lib/data-transfer-objects/src/add.duty.column.dto.js.map +1 -0
  110. package/src/lib/data-transfer-objects/src/add.expenses.dto.d.ts +6 -0
  111. package/src/lib/data-transfer-objects/src/add.expenses.dto.js +18 -0
  112. package/src/lib/data-transfer-objects/src/add.expenses.dto.js.map +1 -0
  113. package/src/lib/data-transfer-objects/src/add.package.details.dto.d.ts +13 -0
  114. package/src/lib/data-transfer-objects/src/add.package.details.dto.js +47 -0
  115. package/src/lib/data-transfer-objects/src/add.package.details.dto.js.map +1 -0
  116. package/src/lib/data-transfer-objects/src/command/cancel.driver.assignment.dto.d.ts +1 -1
  117. package/src/lib/data-transfer-objects/src/command/cancel.driver.assignment.dto.js +2 -2
  118. package/src/lib/data-transfer-objects/src/command/cancel.driver.assignment.dto.js.map +1 -1
  119. package/src/lib/data-transfer-objects/src/command/cancel.vehicle.assignment.dto.d.ts +1 -1
  120. package/src/lib/data-transfer-objects/src/command/cancel.vehicle.assignment.dto.js +2 -2
  121. package/src/lib/data-transfer-objects/src/command/cancel.vehicle.assignment.dto.js.map +1 -1
  122. package/src/lib/data-transfer-objects/src/command/clear.alloment.dto.d.ts +5 -0
  123. package/src/lib/data-transfer-objects/src/command/clear.alloment.dto.js +16 -0
  124. package/src/lib/data-transfer-objects/src/command/clear.alloment.dto.js.map +1 -0
  125. package/src/lib/data-transfer-objects/src/command/create.vehicle.dto.js +1 -1
  126. package/src/lib/data-transfer-objects/src/command/create.vehicle.dto.js.map +1 -1
  127. package/src/lib/data-transfer-objects/src/command/index.d.ts +2 -0
  128. package/src/lib/data-transfer-objects/src/command/index.js +2 -0
  129. package/src/lib/data-transfer-objects/src/command/index.js.map +1 -1
  130. package/src/lib/data-transfer-objects/src/command/modify.vehicle.dto.d.ts +3 -0
  131. package/src/lib/data-transfer-objects/src/command/modify.vehicle.dto.js +15 -0
  132. package/src/lib/data-transfer-objects/src/command/modify.vehicle.dto.js.map +1 -1
  133. package/src/lib/data-transfer-objects/src/command/process.ext.request.payment.status.dto.d.ts +2 -2
  134. package/src/lib/data-transfer-objects/src/command/process.ext.request.payment.status.dto.js +3 -1
  135. package/src/lib/data-transfer-objects/src/command/process.ext.request.payment.status.dto.js.map +1 -1
  136. package/src/lib/data-transfer-objects/src/command/reassign.driver.dto.d.ts +2 -1
  137. package/src/lib/data-transfer-objects/src/command/reassign.driver.dto.js +5 -1
  138. package/src/lib/data-transfer-objects/src/command/reassign.driver.dto.js.map +1 -1
  139. package/src/lib/data-transfer-objects/src/command/trip.action.dtos.d.ts +0 -18
  140. package/src/lib/data-transfer-objects/src/command/trip.action.dtos.js +1 -61
  141. package/src/lib/data-transfer-objects/src/command/trip.action.dtos.js.map +1 -1
  142. package/src/lib/data-transfer-objects/src/command/update.passenger.avatar.dto.d.ts +5 -0
  143. package/src/lib/data-transfer-objects/src/command/update.passenger.avatar.dto.js +16 -0
  144. package/src/lib/data-transfer-objects/src/command/update.passenger.avatar.dto.js.map +1 -0
  145. package/src/lib/data-transfer-objects/src/create.bulk.drivers.and.vehicles.dto.d.ts +15 -0
  146. package/src/lib/data-transfer-objects/src/create.bulk.drivers.and.vehicles.dto.js +16 -0
  147. package/src/lib/data-transfer-objects/src/create.bulk.drivers.and.vehicles.dto.js.map +1 -0
  148. package/src/lib/data-transfer-objects/src/create.driver.and.vehicle.dto.d.ts +12 -0
  149. package/src/lib/data-transfer-objects/src/create.driver.and.vehicle.dto.js +45 -0
  150. package/src/lib/data-transfer-objects/src/create.driver.and.vehicle.dto.js.map +1 -0
  151. package/src/lib/data-transfer-objects/src/create.duty.type.dto.d.ts +6 -0
  152. package/src/lib/data-transfer-objects/src/create.duty.type.dto.js +17 -0
  153. package/src/lib/data-transfer-objects/src/create.duty.type.dto.js.map +1 -0
  154. package/src/lib/data-transfer-objects/src/create.onboarding.org.dto.d.ts +6 -0
  155. package/src/lib/data-transfer-objects/src/create.onboarding.org.dto.js +22 -0
  156. package/src/lib/data-transfer-objects/src/create.onboarding.org.dto.js.map +1 -0
  157. package/src/lib/data-transfer-objects/src/create.vehicle.group.dto.d.ts +8 -0
  158. package/src/lib/data-transfer-objects/src/create.vehicle.group.dto.js +26 -0
  159. package/src/lib/data-transfer-objects/src/create.vehicle.group.dto.js.map +1 -0
  160. package/src/lib/data-transfer-objects/src/deactivate.saved.place.dto.d.ts +4 -0
  161. package/src/lib/data-transfer-objects/src/deactivate.saved.place.dto.js +12 -0
  162. package/src/lib/data-transfer-objects/src/deactivate.saved.place.dto.js.map +1 -0
  163. package/src/lib/data-transfer-objects/src/delete.vehicle.groups.dto.d.ts +4 -0
  164. package/src/lib/data-transfer-objects/src/delete.vehicle.groups.dto.js +13 -0
  165. package/src/lib/data-transfer-objects/src/delete.vehicle.groups.dto.js.map +1 -0
  166. package/src/lib/data-transfer-objects/src/driver.location.dto.d.ts +4 -0
  167. package/src/lib/data-transfer-objects/src/driver.location.dto.js +12 -0
  168. package/src/lib/data-transfer-objects/src/driver.location.dto.js.map +1 -0
  169. package/src/lib/data-transfer-objects/src/duties.query.dto.d.ts +16 -0
  170. package/src/lib/data-transfer-objects/src/duties.query.dto.js +65 -0
  171. package/src/lib/data-transfer-objects/src/duties.query.dto.js.map +1 -0
  172. package/src/lib/data-transfer-objects/src/garage.to.client.dto.d.ts +1 -1
  173. package/src/lib/data-transfer-objects/src/garage.to.client.dto.js +5 -5
  174. package/src/lib/data-transfer-objects/src/garage.to.client.dto.js.map +1 -1
  175. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.d.ts +1 -1
  176. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.js +1 -0
  177. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.js.map +1 -1
  178. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.d.ts +2 -0
  179. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.js +7 -1
  180. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.js.map +1 -1
  181. package/src/lib/data-transfer-objects/src/gatekeeper/send.reset.password.otp.dto.d.ts +2 -2
  182. package/src/lib/data-transfer-objects/src/gatekeeper/send.reset.password.otp.dto.js.map +1 -1
  183. package/src/lib/data-transfer-objects/src/gatekeeper/verify.registered.user.dto.d.ts +3 -1
  184. package/src/lib/data-transfer-objects/src/gatekeeper/verify.registered.user.dto.js +11 -0
  185. package/src/lib/data-transfer-objects/src/gatekeeper/verify.registered.user.dto.js.map +1 -1
  186. package/src/lib/data-transfer-objects/src/get.additional.charges.dto.d.ts +4 -0
  187. package/src/lib/data-transfer-objects/src/get.additional.charges.dto.js +12 -0
  188. package/src/lib/data-transfer-objects/src/get.additional.charges.dto.js.map +1 -0
  189. package/src/lib/data-transfer-objects/src/get.client.config.driver.dto.js +1 -1
  190. package/src/lib/data-transfer-objects/src/get.client.config.driver.dto.js.map +1 -1
  191. package/src/lib/data-transfer-objects/src/get.duty.type.dto.d.ts +7 -0
  192. package/src/lib/data-transfer-objects/src/get.duty.type.dto.js +24 -0
  193. package/src/lib/data-transfer-objects/src/get.duty.type.dto.js.map +1 -0
  194. package/src/lib/data-transfer-objects/src/get.labels.dto.d.ts +4 -0
  195. package/src/lib/data-transfer-objects/src/get.labels.dto.js +12 -0
  196. package/src/lib/data-transfer-objects/src/get.labels.dto.js.map +1 -0
  197. package/src/lib/data-transfer-objects/src/get.lite.form.calculations.dto.d.ts +0 -1
  198. package/src/lib/data-transfer-objects/src/get.lite.form.calculations.dto.js +0 -5
  199. package/src/lib/data-transfer-objects/src/get.lite.form.calculations.dto.js.map +1 -1
  200. package/src/lib/data-transfer-objects/src/get.organization.place.custom.dto.d.ts +5 -0
  201. package/src/lib/data-transfer-objects/src/get.organization.place.custom.dto.js +17 -0
  202. package/src/lib/data-transfer-objects/src/get.organization.place.custom.dto.js.map +1 -0
  203. package/src/lib/data-transfer-objects/src/get.share.info.duty.dto.d.ts +4 -0
  204. package/src/lib/data-transfer-objects/src/get.share.info.duty.dto.js +12 -0
  205. package/src/lib/data-transfer-objects/src/get.share.info.duty.dto.js.map +1 -0
  206. package/src/lib/data-transfer-objects/src/get.taxes.dto.d.ts +4 -0
  207. package/src/lib/data-transfer-objects/src/get.taxes.dto.js +12 -0
  208. package/src/lib/data-transfer-objects/src/get.taxes.dto.js.map +1 -0
  209. package/src/lib/data-transfer-objects/src/get.vehicle.groups.custom.dto.d.ts +6 -0
  210. package/src/lib/data-transfer-objects/src/get.vehicle.groups.custom.dto.js +18 -0
  211. package/src/lib/data-transfer-objects/src/get.vehicle.groups.custom.dto.js.map +1 -0
  212. package/src/lib/data-transfer-objects/src/index.d.ts +29 -0
  213. package/src/lib/data-transfer-objects/src/index.js +29 -0
  214. package/src/lib/data-transfer-objects/src/index.js.map +1 -1
  215. package/src/lib/data-transfer-objects/src/location.polling.dto.d.ts +4 -0
  216. package/src/lib/data-transfer-objects/src/location.polling.dto.js +12 -0
  217. package/src/lib/data-transfer-objects/src/location.polling.dto.js.map +1 -0
  218. package/src/lib/data-transfer-objects/src/package.details.veh.groups.dto.d.ts +5 -0
  219. package/src/lib/data-transfer-objects/src/package.details.veh.groups.dto.js +17 -0
  220. package/src/lib/data-transfer-objects/src/package.details.veh.groups.dto.js.map +1 -0
  221. package/src/lib/data-transfer-objects/src/process.bulk.upload.dto.d.ts +4 -0
  222. package/src/lib/data-transfer-objects/src/process.bulk.upload.dto.js +12 -0
  223. package/src/lib/data-transfer-objects/src/process.bulk.upload.dto.js.map +1 -0
  224. package/src/lib/data-transfer-objects/src/query/accpet.reject.driver.dto.d.ts +7 -0
  225. package/src/lib/data-transfer-objects/src/query/accpet.reject.driver.dto.js +21 -0
  226. package/src/lib/data-transfer-objects/src/query/accpet.reject.driver.dto.js.map +1 -0
  227. package/src/lib/data-transfer-objects/src/query/add.additional.charges.dto.d.ts +10 -0
  228. package/src/lib/data-transfer-objects/src/query/add.additional.charges.dto.js +36 -0
  229. package/src/lib/data-transfer-objects/src/query/add.additional.charges.dto.js.map +1 -0
  230. package/src/lib/data-transfer-objects/src/query/add.labels.dto.d.ts +6 -0
  231. package/src/lib/data-transfer-objects/src/query/add.labels.dto.js +20 -0
  232. package/src/lib/data-transfer-objects/src/query/add.labels.dto.js.map +1 -0
  233. package/src/lib/data-transfer-objects/src/query/add.labels.request.dto.d.ts +6 -0
  234. package/src/lib/data-transfer-objects/src/query/add.labels.request.dto.js +16 -0
  235. package/src/lib/data-transfer-objects/src/query/add.labels.request.dto.js.map +1 -0
  236. package/src/lib/data-transfer-objects/src/query/add.taxes.dto.d.ts +6 -0
  237. package/src/lib/data-transfer-objects/src/query/add.taxes.dto.js +20 -0
  238. package/src/lib/data-transfer-objects/src/query/add.taxes.dto.js.map +1 -0
  239. package/src/lib/data-transfer-objects/src/query/get.place.dto.d.ts +0 -1
  240. package/src/lib/data-transfer-objects/src/query/get.place.dto.js +1 -6
  241. package/src/lib/data-transfer-objects/src/query/get.place.dto.js.map +1 -1
  242. package/src/lib/data-transfer-objects/src/query/index.d.ts +8 -0
  243. package/src/lib/data-transfer-objects/src/query/index.js +8 -0
  244. package/src/lib/data-transfer-objects/src/query/index.js.map +1 -1
  245. package/src/lib/data-transfer-objects/src/query/remove.additional.charges.dto.d.ts +4 -0
  246. package/src/lib/data-transfer-objects/src/query/remove.additional.charges.dto.js +12 -0
  247. package/src/lib/data-transfer-objects/src/query/remove.additional.charges.dto.js.map +1 -0
  248. package/src/lib/data-transfer-objects/src/query/update.status.label.dto.d.ts +5 -0
  249. package/src/lib/data-transfer-objects/src/query/update.status.label.dto.js +16 -0
  250. package/src/lib/data-transfer-objects/src/query/update.status.label.dto.js.map +1 -0
  251. package/src/lib/data-transfer-objects/src/query/update.status.taxes.dto.d.ts +5 -0
  252. package/src/lib/data-transfer-objects/src/query/update.status.taxes.dto.js +16 -0
  253. package/src/lib/data-transfer-objects/src/query/update.status.taxes.dto.js.map +1 -0
  254. package/src/lib/data-transfer-objects/src/share.lite.trip.details.dto.d.ts +4 -1
  255. package/src/lib/data-transfer-objects/src/share.lite.trip.details.dto.js +18 -2
  256. package/src/lib/data-transfer-objects/src/share.lite.trip.details.dto.js.map +1 -1
  257. package/src/lib/data-transfer-objects/src/update.company.details.dto.d.ts +30 -0
  258. package/src/lib/data-transfer-objects/src/update.company.details.dto.js +118 -0
  259. package/src/lib/data-transfer-objects/src/update.company.details.dto.js.map +1 -0
  260. package/src/lib/data-transfer-objects/src/update.lite.trip.duty.data.dto.d.ts +0 -1
  261. package/src/lib/data-transfer-objects/src/update.lite.trip.duty.data.dto.js +0 -5
  262. package/src/lib/data-transfer-objects/src/update.lite.trip.duty.data.dto.js.map +1 -1
  263. package/src/lib/data-transfer-objects/src/update.package.dto.d.ts +11 -0
  264. package/src/lib/data-transfer-objects/src/update.package.dto.js +38 -0
  265. package/src/lib/data-transfer-objects/src/update.package.dto.js.map +1 -0
  266. package/src/lib/data-transfer-objects/src/update.preferred.language.dto.d.ts +6 -0
  267. package/src/lib/data-transfer-objects/src/update.preferred.language.dto.js +22 -0
  268. package/src/lib/data-transfer-objects/src/update.preferred.language.dto.js.map +1 -0
  269. package/src/lib/data-transfer-objects/src/update.vehicle.group.dto.d.ts +12 -0
  270. package/src/lib/data-transfer-objects/src/update.vehicle.group.dto.js +39 -0
  271. package/src/lib/data-transfer-objects/src/update.vehicle.group.dto.js.map +1 -0
  272. package/src/lib/data-transfer-objects/src/vehicle.custom.query.dto.d.ts +11 -0
  273. package/src/lib/data-transfer-objects/src/vehicle.custom.query.dto.js +43 -0
  274. package/src/lib/data-transfer-objects/src/vehicle.custom.query.dto.js.map +1 -0
  275. package/src/lib/definitions/src/trip.generation.trigger.d.ts +2 -2
  276. package/src/lib/enums/src/booking.status.enum.d.ts +11 -0
  277. package/src/lib/enums/src/booking.status.enum.js +13 -0
  278. package/src/lib/enums/src/booking.status.enum.js.map +1 -0
  279. package/src/lib/enums/src/business.context.action.enum.d.ts +4 -1
  280. package/src/lib/enums/src/business.context.action.enum.js +7 -0
  281. package/src/lib/enums/src/business.context.action.enum.js.map +1 -1
  282. package/src/lib/enums/src/charge.type.enum.d.ts +9 -0
  283. package/src/lib/enums/src/charge.type.enum.js +12 -0
  284. package/src/lib/enums/src/charge.type.enum.js.map +1 -0
  285. package/src/lib/enums/src/command.type.enum.d.ts +30 -1
  286. package/src/lib/enums/src/command.type.enum.js +29 -0
  287. package/src/lib/enums/src/command.type.enum.js.map +1 -1
  288. package/src/lib/enums/src/context.roles.d.ts +1 -0
  289. package/src/lib/enums/src/context.roles.js +11 -0
  290. package/src/lib/enums/src/context.roles.js.map +1 -1
  291. package/src/lib/enums/src/index.d.ts +4 -0
  292. package/src/lib/enums/src/index.js +4 -0
  293. package/src/lib/enums/src/index.js.map +1 -1
  294. package/src/lib/enums/src/model.enum.d.ts +9 -1
  295. package/src/lib/enums/src/model.enum.js +9 -1
  296. package/src/lib/enums/src/model.enum.js.map +1 -1
  297. package/src/lib/enums/src/query.type.enum.d.ts +18 -1
  298. package/src/lib/enums/src/query.type.enum.js +17 -0
  299. package/src/lib/enums/src/query.type.enum.js.map +1 -1
  300. package/src/lib/enums/src/request.type.enum.d.ts +2 -1
  301. package/src/lib/enums/src/request.type.enum.js +1 -0
  302. package/src/lib/enums/src/request.type.enum.js.map +1 -1
  303. package/src/lib/enums/src/request.vendor.action.enum.d.ts +2 -1
  304. package/src/lib/enums/src/request.vendor.action.enum.js +1 -0
  305. package/src/lib/enums/src/request.vendor.action.enum.js.map +1 -1
  306. package/src/lib/enums/src/sms.type.enum.d.ts +1 -0
  307. package/src/lib/enums/src/sms.type.enum.js +1 -0
  308. package/src/lib/enums/src/sms.type.enum.js.map +1 -1
  309. package/src/lib/enums/src/sort.order.enum.d.ts +4 -0
  310. package/src/lib/enums/src/sort.order.enum.js +6 -0
  311. package/src/lib/enums/src/sort.order.enum.js.map +1 -0
  312. package/src/lib/enums/src/vehicle.category.enum.d.ts +5 -0
  313. package/src/lib/enums/src/vehicle.category.enum.js +7 -0
  314. package/src/lib/enums/src/vehicle.category.enum.js.map +1 -0
  315. package/src/lib/models/src/additional.charges.model.d.ts +24 -0
  316. package/src/lib/models/src/additional.charges.model.js +13 -0
  317. package/src/lib/models/src/additional.charges.model.js.map +1 -0
  318. package/src/lib/models/src/auth.profile.model.d.ts +12 -6
  319. package/src/lib/models/src/auth.profile.model.js +2 -0
  320. package/src/lib/models/src/auth.profile.model.js.map +1 -1
  321. package/src/lib/models/src/booking.label.model.d.ts +8 -0
  322. package/src/lib/models/src/booking.label.model.js +6 -0
  323. package/src/lib/models/src/booking.label.model.js.map +1 -0
  324. package/src/lib/models/src/business.context.owner.model.d.ts +7 -3
  325. package/src/lib/models/src/business.context.owner.model.js +3 -1
  326. package/src/lib/models/src/business.context.owner.model.js.map +1 -1
  327. package/src/lib/models/src/configurations.model.d.ts +4 -1
  328. package/src/lib/models/src/configurations.model.js +1 -0
  329. package/src/lib/models/src/configurations.model.js.map +1 -1
  330. package/src/lib/models/src/driver.assignment.model.d.ts +4 -1
  331. package/src/lib/models/src/driver.assignment.model.js +1 -0
  332. package/src/lib/models/src/driver.assignment.model.js.map +1 -1
  333. package/src/lib/models/src/driver.location.model.d.ts +8 -0
  334. package/src/lib/models/src/driver.location.model.js.map +1 -1
  335. package/src/lib/models/src/driver.persona.model.d.ts +4 -2
  336. package/src/lib/models/src/driver.persona.model.js +1 -0
  337. package/src/lib/models/src/driver.persona.model.js.map +1 -1
  338. package/src/lib/models/src/duty.column.interface.d.ts +4 -0
  339. package/src/lib/models/src/duty.column.interface.js +2 -0
  340. package/src/lib/models/src/duty.column.interface.js.map +1 -0
  341. package/src/lib/models/src/duty.type.rc.model.d.ts +18 -0
  342. package/src/lib/models/src/duty.type.rc.model.js +9 -0
  343. package/src/lib/models/src/duty.type.rc.model.js.map +1 -0
  344. package/src/lib/models/src/expenses.model.d.ts +20 -0
  345. package/src/lib/models/src/expenses.model.js +11 -0
  346. package/src/lib/models/src/expenses.model.js.map +1 -0
  347. package/src/lib/models/src/index.d.ts +16 -0
  348. package/src/lib/models/src/index.js +16 -0
  349. package/src/lib/models/src/index.js.map +1 -1
  350. package/src/lib/models/src/labels.model.d.ts +16 -0
  351. package/src/lib/models/src/labels.model.js +9 -0
  352. package/src/lib/models/src/labels.model.js.map +1 -0
  353. package/src/lib/models/src/language.model.d.ts +8 -0
  354. package/src/lib/models/src/language.model.js +6 -0
  355. package/src/lib/models/src/language.model.js.map +1 -0
  356. package/src/lib/models/src/numbered.invoice.model.d.ts +3 -1
  357. package/src/lib/models/src/numbered.invoice.model.js +1 -0
  358. package/src/lib/models/src/numbered.invoice.model.js.map +1 -1
  359. package/src/lib/models/src/onboarding.user.model.d.ts +3 -3
  360. package/src/lib/models/src/package.detail.new.model.d.ts +28 -0
  361. package/src/lib/models/src/package.detail.new.model.js +14 -0
  362. package/src/lib/models/src/package.detail.new.model.js.map +1 -0
  363. package/src/lib/models/src/package.new.model.d.ts +27 -0
  364. package/src/lib/models/src/package.new.model.js +14 -0
  365. package/src/lib/models/src/package.new.model.js.map +1 -0
  366. package/src/lib/models/src/passenger.model.d.ts +10 -5
  367. package/src/lib/models/src/passenger.model.js +7 -5
  368. package/src/lib/models/src/passenger.model.js.map +1 -1
  369. package/src/lib/models/src/passenger.persona.model.d.ts +4 -1
  370. package/src/lib/models/src/passenger.persona.model.js +1 -0
  371. package/src/lib/models/src/passenger.persona.model.js.map +1 -1
  372. package/src/lib/models/src/place.model.d.ts +6 -6
  373. package/src/lib/models/src/place.model.js +2 -2
  374. package/src/lib/models/src/place.model.js.map +1 -1
  375. package/src/lib/models/src/product.updates.model.d.ts +19 -0
  376. package/src/lib/models/src/product.updates.model.js +11 -0
  377. package/src/lib/models/src/product.updates.model.js.map +1 -0
  378. package/src/lib/models/src/registered.user.model.d.ts +3 -1
  379. package/src/lib/models/src/registered.user.model.js +1 -0
  380. package/src/lib/models/src/registered.user.model.js.map +1 -1
  381. package/src/lib/models/src/request.driver.model.d.ts +17 -0
  382. package/src/lib/models/src/request.driver.model.js +10 -0
  383. package/src/lib/models/src/request.driver.model.js.map +1 -0
  384. package/src/lib/models/src/request.model.d.ts +38 -4
  385. package/src/lib/models/src/request.model.js +16 -1
  386. package/src/lib/models/src/request.model.js.map +1 -1
  387. package/src/lib/models/src/request.passenger.model.d.ts +12 -0
  388. package/src/lib/models/src/request.passenger.model.js +8 -0
  389. package/src/lib/models/src/request.passenger.model.js.map +1 -0
  390. package/src/lib/models/src/request.vehicle.model.d.ts +15 -0
  391. package/src/lib/models/src/request.vehicle.model.js +9 -0
  392. package/src/lib/models/src/request.vehicle.model.js.map +1 -0
  393. package/src/lib/models/src/share.info.for.duty.view.d.ts +8 -0
  394. package/src/lib/models/src/share.info.for.duty.view.js +6 -0
  395. package/src/lib/models/src/share.info.for.duty.view.js.map +1 -0
  396. package/src/lib/models/src/tax.address.model.d.ts +3 -1
  397. package/src/lib/models/src/tax.address.model.js +1 -0
  398. package/src/lib/models/src/tax.address.model.js.map +1 -1
  399. package/src/lib/models/src/taxes.model.d.ts +16 -0
  400. package/src/lib/models/src/taxes.model.js +9 -0
  401. package/src/lib/models/src/taxes.model.js.map +1 -0
  402. package/src/lib/models/src/trip.model.d.ts +7 -5
  403. package/src/lib/models/src/trip.model.js +2 -1
  404. package/src/lib/models/src/trip.model.js.map +1 -1
  405. package/src/lib/models/src/vehicle.assignment.model.d.ts +4 -1
  406. package/src/lib/models/src/vehicle.assignment.model.js +1 -0
  407. package/src/lib/models/src/vehicle.assignment.model.js.map +1 -1
  408. package/src/lib/models/src/vehicle.association.model.d.ts +4 -1
  409. package/src/lib/models/src/vehicle.association.model.js +1 -0
  410. package/src/lib/models/src/vehicle.association.model.js.map +1 -1
  411. package/src/lib/models/src/vehicle.group.model.d.ts +30 -0
  412. package/src/lib/models/src/vehicle.group.model.js +15 -0
  413. package/src/lib/models/src/vehicle.group.model.js.map +1 -0
  414. package/src/lib/models/src/vehicle.model.d.ts +4 -1
  415. package/src/lib/models/src/vehicle.model.js +1 -0
  416. package/src/lib/models/src/vehicle.model.js.map +1 -1
  417. package/src/lib/models/src/vehicle.unique.location.model.d.ts +14 -2
  418. package/src/lib/models/src/vehicle.unique.location.model.js +2 -0
  419. package/src/lib/models/src/vehicle.unique.location.model.js.map +1 -1
  420. package/src/lib/models/src/white.label.config.model.d.ts +8 -2
  421. package/src/lib/models/src/white.label.config.model.js +3 -0
  422. package/src/lib/models/src/white.label.config.model.js.map +1 -1
  423. package/src/lib/routes/src/command.registry.routes.d.ts +28 -1
  424. package/src/lib/routes/src/command.registry.routes.js +28 -1
  425. package/src/lib/routes/src/command.registry.routes.js.map +1 -1
  426. package/src/lib/routes/src/query.service.routes.d.ts +17 -0
  427. package/src/lib/routes/src/query.service.routes.js +17 -0
  428. package/src/lib/routes/src/query.service.routes.js.map +1 -1
  429. package/src/lib/strings/src/lib/english.d.ts +1 -0
  430. package/src/lib/strings/src/lib/english.js +1 -0
  431. package/src/lib/strings/src/lib/english.js.map +1 -1
  432. package/src/lib/strings/src/lib/strings.d.ts +1 -0
  433. package/src/lib/view-models/src/public.config.d.ts +4 -0
  434. package/src/lib/view-models/src/view.models.d.ts +2 -0
  435. package/src/lib/workflows/src/booking.status.workflow.d.ts +4 -0
  436. package/src/lib/workflows/src/booking.status.workflow.js +70 -0
  437. package/src/lib/workflows/src/booking.status.workflow.js.map +1 -0
  438. package/src/lib/workflows/src/index.d.ts +1 -0
  439. package/src/lib/workflows/src/index.js +1 -0
  440. package/src/lib/workflows/src/index.js.map +1 -1
  441. package/src/lib/workflows/src/persona.connection.workflow.js.map +1 -1
  442. package/src/lib/workflows/src/request.client.workflow.js.map +1 -1
  443. package/src/lib/workflows/src/request.manager.workflow.js.map +1 -1
  444. package/src/lib/workflows/src/request.trip.status.map.d.ts +17 -1
  445. package/src/lib/workflows/src/request.trip.status.map.js +20 -4
  446. package/src/lib/workflows/src/request.trip.status.map.js.map +1 -1
  447. package/src/lib/workflows/src/request.vendor.workflow.js.map +1 -1
  448. package/src/lib/workflows/src/trip.workflow.js.map +1 -1
@@ -0,0 +1,417 @@
1
+ import { timeFromDays } from './utilities/time.transformers.identifier';
2
+ import { TariffRuleField, ConditionalTariffField, ConditionField, ConditionPartialField, BillableField, ConditionalRuleApplicationField, BillLineItemField, } from '../../models/src/index';
3
+ import { ConditionSortBuilder } from './condition.sorter.builder';
4
+ import { UnitOfMeasure, TripBillingVariable, BillItemHead, } from '../../enums/src/index';
5
+ export class TariffRuleProcessor {
6
+ constructor(_tripProcessor) {
7
+ this._tripProcessor = _tripProcessor;
8
+ }
9
+ evaluate(_tariffRule) {
10
+ let _blItemArray = [];
11
+ const _billable = _tariffRule?.[TariffRuleField.Billable];
12
+ _tariffRule?.[TariffRuleField.Billable]?.[BillableField.UnitOfMeasure];
13
+ const _unit = _tariffRule?.[TariffRuleField.Billable]?.[BillableField.UnitOfMeasure];
14
+ const _freeUnits = _tariffRule?.[TariffRuleField.FreeUnits] || 0;
15
+ let _unitCost = _tariffRule?.[TariffRuleField.UnitCost];
16
+ if (_unitCost == null)
17
+ _unitCost = 1;
18
+ console.log({
19
+ _unit,
20
+ _freeUnits,
21
+ _unitCost,
22
+ });
23
+ const _sortedConditionals = _tariffRule?.[TariffRuleField.ConditionalTariffRules]
24
+ ?.sort((_a, _b) => {
25
+ const _conditionalPartialA = _a?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial], _conditionalPartialB = _b?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial];
26
+ return ConditionSortBuilder.build(_conditionalPartialA).sort(_conditionalPartialA, _conditionalPartialB);
27
+ })
28
+ .reverse();
29
+ const _conditionalTripVariable = _sortedConditionals?.[0]?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.TripBillingVariable];
30
+ switch (_unit) {
31
+ case UnitOfMeasure.Km: {
32
+ console.log('Km');
33
+ console.log(_conditionalTripVariable);
34
+ const _totalUnits = Math.ceil(this._tripProcessor.totalDisplacement / 1000);
35
+ console.log(_totalUnits);
36
+ let _processedUnits = 0;
37
+ const _conditionalsApplied = [];
38
+ switch (_conditionalTripVariable) {
39
+ case TripBillingVariable.DistanceTravelled: {
40
+ for (const _conditional of _sortedConditionals) {
41
+ const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
42
+ const _consumption = _totalUnits - _comparand - _processedUnits;
43
+ if (_consumption < 0) {
44
+ break;
45
+ }
46
+ const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
47
+ const _total = _unitCost * _consumption;
48
+ _processedUnits += _consumption;
49
+ _conditionalsApplied.push({
50
+ [ConditionalRuleApplicationField.Units]: _consumption,
51
+ [ConditionalRuleApplicationField.Billable]: {
52
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
53
+ },
54
+ [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
55
+ [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
56
+ [ConditionalRuleApplicationField.Amount]: _total,
57
+ [ConditionalRuleApplicationField.ConditionalTariff]: {
58
+ [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
59
+ .ConditionalTariffId],
60
+ },
61
+ });
62
+ }
63
+ break;
64
+ }
65
+ case TripBillingVariable.TotalTime: {
66
+ break;
67
+ }
68
+ case TripBillingVariable.TripTime: {
69
+ break;
70
+ }
71
+ }
72
+ let _gkm = 0;
73
+ let _gkmAmout = 0;
74
+ let _billedGkm = 0;
75
+ if (this._tripProcessor.fixedKms > 0) {
76
+ _gkm = this._tripProcessor.fixedKms / 1000;
77
+ for (let i = _conditionalsApplied.length - 1; i >= 0; i--) {
78
+ let cndtn = _conditionalsApplied[i];
79
+ if (_gkm == 0) {
80
+ break;
81
+ }
82
+ else if (cndtn?.[ConditionalRuleApplicationField.Units] >
83
+ _gkm) {
84
+ _gkmAmout +=
85
+ _gkm *
86
+ cndtn?.[ConditionalRuleApplicationField
87
+ .AppliedUnitCost];
88
+ _billedGkm += _gkm;
89
+ _gkm = 0;
90
+ }
91
+ else {
92
+ _gkmAmout +=
93
+ cndtn?.[ConditionalRuleApplicationField.Amount];
94
+ _billedGkm +=
95
+ cndtn?.[ConditionalRuleApplicationField.Units];
96
+ _gkm =
97
+ _gkm -
98
+ cndtn?.[ConditionalRuleApplicationField.Units];
99
+ }
100
+ }
101
+ }
102
+ if (_gkm - _freeUnits > 0) {
103
+ _gkmAmout += (_gkm - _freeUnits) * _unitCost;
104
+ _billedGkm += _gkm - _freeUnits;
105
+ _processedUnits += _gkm - _freeUnits;
106
+ }
107
+ const _baseConsumption = _totalUnits - _processedUnits || 0;
108
+ console.log(_baseConsumption);
109
+ const _chargeableConsumption = _baseConsumption > _freeUnits
110
+ ? _baseConsumption - _freeUnits
111
+ : 0;
112
+ const _baseTotal = _chargeableConsumption * _unitCost;
113
+ console.log(_conditionalsApplied);
114
+ if (this._tripProcessor.fixedKms > 0 && _gkmAmout > 0) {
115
+ const _billLine = {
116
+ [BillLineItemField.BillItemHead]: `Fixed Km charges`,
117
+ [BillLineItemField.Billable]: {
118
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
119
+ [BillableField.Name]: _billable?.[BillableField.Name],
120
+ },
121
+ [BillLineItemField.TariffRule]: {
122
+ [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
123
+ },
124
+ [BillLineItemField.ConditionalRulesApplied]: [],
125
+ [BillLineItemField.Units]: _billedGkm,
126
+ [BillLineItemField.Amount]: _gkmAmout,
127
+ };
128
+ _blItemArray.push(_billLine);
129
+ }
130
+ let extraKmCharge = _baseTotal +
131
+ _conditionalsApplied.reduce((_acc, _curr) => _acc +
132
+ _curr?.[ConditionalRuleApplicationField.Amount], 0) -
133
+ _gkmAmout;
134
+ if (extraKmCharge > 0) {
135
+ const _billLineItem = {
136
+ [BillLineItemField.BillItemHead]: `Extra Km charges`,
137
+ [BillLineItemField.Billable]: {
138
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
139
+ [BillableField.Name]: _billable?.[BillableField.Name],
140
+ },
141
+ [BillLineItemField.TariffRule]: {
142
+ [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
143
+ },
144
+ [BillLineItemField.ConditionalRulesApplied]: _conditionalsApplied,
145
+ [BillLineItemField.Units]: _chargeableConsumption +
146
+ _processedUnits -
147
+ _billedGkm,
148
+ [BillLineItemField.Amount]: _baseTotal +
149
+ _conditionalsApplied.reduce((_acc, _curr) => _acc +
150
+ _curr?.[ConditionalRuleApplicationField.Amount], 0) -
151
+ _gkmAmout,
152
+ };
153
+ _blItemArray.push(_billLineItem);
154
+ }
155
+ return _blItemArray;
156
+ }
157
+ case UnitOfMeasure.Minute: {
158
+ console.log('Minute');
159
+ console.log(_conditionalTripVariable);
160
+ const _totalUnits = this._tripProcessor.timeUnitsBetween('MIN', null, null);
161
+ console.log(_totalUnits, 'totalUnits');
162
+ let _processedUnits = 0;
163
+ const _conditionalsApplied = [];
164
+ switch (_conditionalTripVariable) {
165
+ case TripBillingVariable.DistanceTravelled: {
166
+ break;
167
+ }
168
+ case TripBillingVariable.TotalTime: {
169
+ for (const _conditional of _sortedConditionals) {
170
+ const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
171
+ const _consumption = _totalUnits - _comparand - _processedUnits;
172
+ console.log({
173
+ _consumption,
174
+ _comparand,
175
+ _processedUnits,
176
+ });
177
+ if (_consumption < 0) {
178
+ break;
179
+ }
180
+ const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
181
+ const _total = _unitCost * _consumption;
182
+ _processedUnits += _consumption;
183
+ console.log(_conditionalsApplied);
184
+ _conditionalsApplied.push({
185
+ [ConditionalRuleApplicationField.Units]: _consumption,
186
+ [ConditionalRuleApplicationField.Billable]: {
187
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
188
+ [BillableField.Name]: _billable?.[BillableField.Name],
189
+ },
190
+ [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
191
+ [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
192
+ [ConditionalRuleApplicationField.Amount]: _total,
193
+ [ConditionalRuleApplicationField.ConditionalTariff]: {
194
+ [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
195
+ .ConditionalTariffId],
196
+ },
197
+ });
198
+ }
199
+ break;
200
+ }
201
+ case TripBillingVariable.TripTime: {
202
+ for (const _conditional of _sortedConditionals) {
203
+ console.log(_conditional);
204
+ const _tripStart = this._tripProcessor?.timePoints[0];
205
+ console.log(_tripStart, '_tripStart');
206
+ _tripStart?.setUTCHours(0, 0, 0, 0);
207
+ const _startEpoch = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField
208
+ .ComparandNumericalRange]?.start;
209
+ const _endEpoch = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField
210
+ .ComparandNumericalRange]?.end;
211
+ const _start = new Date(_tripStart?.getTime() + _startEpoch);
212
+ const _end = new Date(_tripStart?.getTime() +
213
+ (_endEpoch > _startEpoch
214
+ ? _endEpoch
215
+ : _endEpoch + timeFromDays(1)));
216
+ console.log(this._tripProcessor?.timePoints[0], 'start time');
217
+ console.log({ _start, _end });
218
+ console.log(this._tripProcessor.timeUnitsBetween('DAY', null, null), 'Days');
219
+ const _utilization = this._tripProcessor.timeUnitsBetween('MIN', _end, _start);
220
+ console.log(_utilization, 'utilization');
221
+ }
222
+ break;
223
+ }
224
+ }
225
+ const _baseConsumption = _totalUnits - _processedUnits || 0;
226
+ const _chargeableConsumption = _baseConsumption > _freeUnits
227
+ ? _baseConsumption - _freeUnits
228
+ : 0;
229
+ const _baseTotal = _chargeableConsumption * _unitCost;
230
+ const _billLineItem = {
231
+ [BillLineItemField.BillItemHead]: `Extra Min charges`,
232
+ [BillLineItemField.Billable]: {
233
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
234
+ [BillableField.Name]: _billable?.[BillableField.Name],
235
+ },
236
+ [BillLineItemField.TariffRule]: {
237
+ [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
238
+ },
239
+ [BillLineItemField.ConditionalRulesApplied]: _conditionalsApplied,
240
+ [BillLineItemField.Amount]: _baseTotal +
241
+ _conditionalsApplied.reduce((_acc, _curr) => _acc +
242
+ _curr?.[ConditionalRuleApplicationField.Amount], 0),
243
+ };
244
+ console.log(_billLineItem);
245
+ _blItemArray.push(_billLineItem);
246
+ return _blItemArray;
247
+ }
248
+ case UnitOfMeasure.Hour: {
249
+ console.log('Hour');
250
+ console.log(_conditionalTripVariable);
251
+ const _totalUnits = this._tripProcessor.timeUnitsBetween('HR', null, null);
252
+ console.log(_totalUnits);
253
+ let _processedUnits = 0;
254
+ const _conditionalsApplied = [];
255
+ switch (_conditionalTripVariable) {
256
+ case TripBillingVariable.DistanceTravelled: {
257
+ break;
258
+ }
259
+ case TripBillingVariable.TotalTime: {
260
+ for (const _conditional of _sortedConditionals) {
261
+ const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
262
+ const _consumption = _totalUnits - _comparand - _processedUnits;
263
+ if (_consumption < 0) {
264
+ break;
265
+ }
266
+ const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
267
+ const _total = _unitCost * _consumption;
268
+ _processedUnits += _consumption;
269
+ _conditionalsApplied.push({
270
+ [ConditionalRuleApplicationField.Units]: _consumption,
271
+ [ConditionalRuleApplicationField.Billable]: {
272
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
273
+ [BillableField.Name]: _billable?.[BillableField.Name],
274
+ },
275
+ [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
276
+ [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
277
+ [ConditionalRuleApplicationField.Amount]: _total,
278
+ [ConditionalRuleApplicationField.ConditionalTariff]: {
279
+ [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
280
+ .ConditionalTariffId],
281
+ },
282
+ });
283
+ }
284
+ break;
285
+ }
286
+ case TripBillingVariable.TripTime: {
287
+ break;
288
+ }
289
+ }
290
+ const _baseConsumption = _totalUnits - _processedUnits || 0;
291
+ const _chargeableConsumption = _baseConsumption > _freeUnits
292
+ ? _baseConsumption - _freeUnits
293
+ : 0;
294
+ const _baseTotal = _chargeableConsumption * _unitCost;
295
+ console.log(_conditionalsApplied);
296
+ const _billLineItem = {
297
+ [BillLineItemField.BillItemHead]: `Extra Hour charges`,
298
+ [BillLineItemField.Billable]: {
299
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
300
+ [BillableField.Name]: _billable?.[BillableField.Name],
301
+ },
302
+ [BillLineItemField.TariffRule]: {
303
+ [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
304
+ },
305
+ [BillLineItemField.ConditionalRulesApplied]: _conditionalsApplied,
306
+ [BillLineItemField.Amount]: _baseTotal +
307
+ _conditionalsApplied.reduce((_acc, _curr) => _acc +
308
+ _curr?.[ConditionalRuleApplicationField.Amount], 0),
309
+ };
310
+ _blItemArray.push(_billLineItem);
311
+ return _blItemArray;
312
+ }
313
+ case UnitOfMeasure.Day: {
314
+ console.log('Day');
315
+ console.log(_conditionalTripVariable);
316
+ break;
317
+ }
318
+ case UnitOfMeasure.Count: {
319
+ console.log('Count');
320
+ console.log(_conditionalTripVariable);
321
+ break;
322
+ }
323
+ case UnitOfMeasure.Trip: {
324
+ console.log('Trip');
325
+ console.log(_conditionalTripVariable);
326
+ const _totalDistanceUnits = Math.ceil(this._tripProcessor.totalDisplacement / 1000);
327
+ console.log(_totalDistanceUnits);
328
+ let _conditionalsApplied = null;
329
+ switch (_conditionalTripVariable) {
330
+ case TripBillingVariable.DistanceTravelled: {
331
+ for (const _conditional of _sortedConditionals) {
332
+ const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
333
+ const _consumption = _totalDistanceUnits - _comparand;
334
+ if (_consumption < 0) {
335
+ break;
336
+ }
337
+ const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
338
+ const _total = _unitCost;
339
+ _conditionalsApplied = {
340
+ [ConditionalRuleApplicationField.Units]: _consumption,
341
+ [ConditionalRuleApplicationField.Billable]: {
342
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
343
+ },
344
+ [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
345
+ [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
346
+ [ConditionalRuleApplicationField.Amount]: _total,
347
+ [ConditionalRuleApplicationField.ConditionalTariff]: {
348
+ [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
349
+ .ConditionalTariffId],
350
+ },
351
+ };
352
+ }
353
+ break;
354
+ }
355
+ case TripBillingVariable.TotalTime: {
356
+ const _totalUnits = this._tripProcessor.timeUnitsBetween('HR', null, null);
357
+ for (const _conditional of _sortedConditionals) {
358
+ const _comparand = _conditional?.[ConditionalTariffField.Condition]?.[ConditionField.ConditionalPartial]?.[ConditionPartialField.ComparandNumber];
359
+ const _consumption = _totalUnits - _comparand;
360
+ if (_consumption < 0) {
361
+ break;
362
+ }
363
+ const _unitCost = _conditional?.[ConditionalTariffField.UnitCost];
364
+ const _total = _unitCost;
365
+ _conditionalsApplied = {
366
+ [ConditionalRuleApplicationField.Units]: _consumption,
367
+ [ConditionalRuleApplicationField.Billable]: {
368
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
369
+ [BillableField.Name]: _billable?.[BillableField.Name],
370
+ },
371
+ [ConditionalRuleApplicationField.Variable]: _conditionalTripVariable,
372
+ [ConditionalRuleApplicationField.AppliedUnitCost]: _unitCost,
373
+ [ConditionalRuleApplicationField.Amount]: _total,
374
+ [ConditionalRuleApplicationField.ConditionalTariff]: {
375
+ [ConditionalTariffField.ConditionalTariffId]: _conditional?.[ConditionalTariffField
376
+ .ConditionalTariffId],
377
+ },
378
+ };
379
+ }
380
+ break;
381
+ }
382
+ case TripBillingVariable.TripTime: {
383
+ break;
384
+ }
385
+ }
386
+ // const _baseConsumption =
387
+ // _totalDistanceUnits - _processedUnits || 0;
388
+ // console.log(_baseConsumption);
389
+ // const _chargeableConsumption =
390
+ // _baseConsumption > _freeUnits
391
+ // ? _baseConsumption - _freeUnits
392
+ // : 0;
393
+ const _baseTotal = _unitCost;
394
+ console.log(_conditionalsApplied);
395
+ const _billLineItem = {
396
+ [BillLineItemField.BillItemHead]: BillItemHead.RuleBasedTariff,
397
+ [BillLineItemField.Billable]: {
398
+ [BillableField.BillableId]: _billable?.[BillableField.BillableId],
399
+ [BillableField.Name]: _billable?.[BillableField.Name],
400
+ },
401
+ [BillLineItemField.TariffRule]: {
402
+ [TariffRuleField.TariffRuleId]: _tariffRule?.[TariffRuleField.TariffRuleId],
403
+ },
404
+ [BillLineItemField.ConditionalRulesApplied]: [
405
+ _conditionalsApplied,
406
+ ],
407
+ [BillLineItemField.Amount]: _conditionalsApplied != null
408
+ ? _conditionalsApplied?.[ConditionalRuleApplicationField.Amount]
409
+ : _baseTotal,
410
+ };
411
+ _blItemArray.push(_billLineItem);
412
+ return _blItemArray;
413
+ }
414
+ }
415
+ }
416
+ }
417
+ //# sourceMappingURL=tariff.rule.processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tariff.rule.processor.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/billing-conditions/src/tariff.rule.processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { IPackage, IRateCardTemplate, ITransitionRule } from '../../models/src/index';
2
+ import { TripBillingVariable } from '../../enums/src/index';
3
+ import { TripTimeProcessor } from './implementation';
4
+ export declare class TransitionManager {
5
+ private readonly _ratecard;
6
+ private readonly _tripProcessor;
7
+ private readonly _segregatedTransitionRules;
8
+ get transitionRules(): Map<TripBillingVariable, ITransitionRule[]>;
9
+ constructor(_ratecard: IRateCardTemplate, _tripProcessor: TripTimeProcessor);
10
+ getEffectivePackage(_preferredPackage: IPackage): IPackage;
11
+ }
@@ -0,0 +1,74 @@
1
+ import { ConditionField, ConditionPartialField, PackageField, RateCardTemplateField, TransitionRuleField, } from '../../models/src/index';
2
+ import { ConditionBuilder } from './condition.builder';
3
+ import { ConditionSortBuilder } from './condition.sorter.builder';
4
+ import { TripBillingVariable } from '../../enums/src/index';
5
+ import { sortPackageByBaseCost } from './utilities';
6
+ export class TransitionManager {
7
+ get transitionRules() {
8
+ return this._segregatedTransitionRules;
9
+ }
10
+ constructor(_ratecard, _tripProcessor) {
11
+ this._ratecard = _ratecard;
12
+ this._tripProcessor = _tripProcessor;
13
+ // 3. Get Transition Rules
14
+ let rules = this._ratecard == null
15
+ ? []
16
+ : this._ratecard?.[RateCardTemplateField.TransitionRules];
17
+ this._segregatedTransitionRules =
18
+ rules.reduce((_map, _rule) => {
19
+ const _conditionalPartial = _rule?.[TransitionRuleField.Condition]?.[ConditionField.ConditionalPartial];
20
+ const _billingVariable = _conditionalPartial?.[ConditionPartialField.TripBillingVariable];
21
+ if (_billingVariable && _map.has(_billingVariable)) {
22
+ const _existing = _map.get(_billingVariable);
23
+ if (_existing) {
24
+ const _newMap = new Map(Array.from(_map)).set(_billingVariable, [..._existing, _rule]
25
+ .sort((_a, _b) => ConditionSortBuilder.build(_conditionalPartial).sort(_a?.[TransitionRuleField.Condition]?.[ConditionField
26
+ .ConditionalPartial], _b?.[TransitionRuleField.Condition]?.[ConditionField
27
+ .ConditionalPartial]))
28
+ .reverse());
29
+ return _newMap;
30
+ }
31
+ return _map;
32
+ }
33
+ else {
34
+ _map.set(_billingVariable, [_rule]);
35
+ return _map;
36
+ }
37
+ }, new Map()) || new Map();
38
+ }
39
+ getEffectivePackage(_preferredPackage) {
40
+ const _preferredPackageId = _preferredPackage?.[PackageField.PackageId];
41
+ const _relevantTransitionRules = new Map(Array.from(this._segregatedTransitionRules).map(([_variable, _rules]) => {
42
+ return [
43
+ _variable,
44
+ _rules?.filter((_rule) => _rule?.[TransitionRuleField.BasePackageId] ===
45
+ _preferredPackageId) || [],
46
+ ];
47
+ }));
48
+ let distanceInKms = Math.ceil(this._tripProcessor?.totalDisplacement / 1000);
49
+ const packageWaitCharge = _preferredPackage?.[PackageField.PackageTemplate]
50
+ ?.waitTimeInDuration;
51
+ const _effectivePackages = Array.from(_relevantTransitionRules)
52
+ .map(([_variable, _rules]) => {
53
+ for (const _rule of _rules) {
54
+ const _conditionShape = _rule?.[TransitionRuleField.Condition]?.[ConditionField.ConditionalPartial];
55
+ const _condition = ConditionBuilder.build(_conditionShape);
56
+ if ((_conditionShape?.[ConditionPartialField.TripBillingVariable] === TripBillingVariable.DistanceTravelled &&
57
+ _condition.evaluate(distanceInKms)) ||
58
+ (_conditionShape?.[ConditionPartialField.TripBillingVariable] === TripBillingVariable.TotalTime &&
59
+ _condition.evaluate(this._tripProcessor?.timeUnitsBetween('HR', null, null)))) {
60
+ const ruleWaitCharge = _rule?.[TransitionRuleField.EffectivePackage]?.[PackageField.PackageTemplate]?.waitTimeInDuration;
61
+ if (packageWaitCharge === ruleWaitCharge) {
62
+ return _rule?.[TransitionRuleField.EffectivePackage];
63
+ }
64
+ }
65
+ else
66
+ continue;
67
+ }
68
+ })
69
+ .filter((_i) => Boolean(_i));
70
+ return (_effectivePackages.sort(sortPackageByBaseCost)?.[0] ||
71
+ _preferredPackage);
72
+ }
73
+ }
74
+ //# sourceMappingURL=transition.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition.manager.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/billing-conditions/src/transition.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,qBAAqB,EAIrB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,OAAO,iBAAiB;IAK7B,IAAW,eAAe;QACzB,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACxC,CAAC;IACD,YACkB,SAA4B,EAC5B,cAAiC;QADjC,cAAS,GAAT,SAAS,CAAmB;QAC5B,mBAAc,GAAd,cAAc,CAAmB;QAElD,0BAA0B;QAC1B,IAAI,KAAK,GACR,IAAI,CAAC,SAAS,IAAI,IAAI;YACrB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,CAAC,0BAA0B;YAC9B,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,MAAM,mBAAmB,GACxB,KAAK,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACvC,cAAc,CAAC,kBAAkB,CACjC,CAAC;gBACH,MAAM,gBAAgB,GACrB,mBAAmB,EAAE,CACpB,qBAAqB,CAAC,mBAAmB,CACzC,CAAC;gBACH,IAAI,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC7C,IAAI,SAAS,EAAE,CAAC;wBACf,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAC5C,gBAAgB,EAChB,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC;6BACnB,IAAI,CACJ,CACC,EAAmB,EACnB,EAAmB,EAClB,EAAE,CACH,oBAAoB,CAAC,KAAK,CACzB,mBAAmB,CACnB,CAAC,IAAI,CACL,EAAE,EAAE,CACH,mBAAmB,CAAC,SAAS,CAC7B,EAAE,CACF,cAAc;6BACZ,kBAAkB,CACpB,EACD,EAAE,EAAE,CACH,mBAAmB,CAAC,SAAS,CAC7B,EAAE,CACF,cAAc;6BACZ,kBAAkB,CACpB,CACD,CACF;6BACA,OAAO,EAAE,CACX,CAAC;wBACF,OAAO,OAAO,CAAC;oBAChB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpC,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC,EAAE,IAAI,GAAG,EAA0C,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACrE,CAAC;IAED,mBAAmB,CAAC,iBAA2B;QAC9C,MAAM,mBAAmB,GAAG,iBAAiB,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,wBAAwB,GAAG,IAAI,GAAG,CACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAC9C,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;YACvB,OAAO;gBACN,SAAS;gBACT,MAAM,EAAE,MAAM,CACb,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC;oBAC1C,mBAAmB,CACpB,IAAI,EAAE;aACP,CAAC;QACH,CAAC,CACD,CACD,CAAC;QACF,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAC5B,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAC7C,CAAC;QACF,MAAM,iBAAiB,GACtB,iBAAiB,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC;YAChD,EAAE,kBAAkB,CAAC;QACvB,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC;aAC7D,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;YAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC5B,MAAM,eAAe,GACpB,KAAK,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CACvC,cAAc,CAAC,kBAAkB,CACjC,CAAC;gBACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3D,IACC,CAAC,eAAe,EAAE,CACjB,qBAAqB,CAAC,mBAAmB,CACzC,KAAK,mBAAmB,CAAC,iBAAiB;oBACzC,UAAyC,CAAC,QAAQ,CAClD,aAAa,CACb,CAAC;oBACH,CAAC,eAAe,EAAE,CACjB,qBAAqB,CAAC,mBAAmB,CACzC,KAAK,mBAAmB,CAAC,SAAS;wBACjC,UAAyC,CAAC,QAAQ,CAClD,IAAI,CAAC,cAAc,EAAE,gBAAgB,CACpC,IAAI,EACJ,IAAI,EACJ,IAAI,CACJ,CACD,CAAC,EACF,CAAC;oBACF,MAAM,cAAc,GACnB,KAAK,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAC9C,YAAY,CAAC,eAAe,CAC5B,EAAE,kBAAkB,CAAC;oBACvB,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;wBAC1C,OAAO,KAAK,EAAE,CACb,mBAAmB,CAAC,gBAAgB,CACpC,CAAC;oBACH,CAAC;gBACF,CAAC;;oBAAM,SAAS;YACjB,CAAC;QACF,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,CACN,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,iBAAiB,CACjB,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,2 @@
1
+ import { IDisplacement, ITripLocation } from '../definitions';
2
+ export declare const calculateDisplacementMatrix: (_locations: ITripLocation[]) => Promise<IDisplacement[]>;
@@ -0,0 +1,48 @@
1
+ import axios from 'axios';
2
+ import { getDistanceBetweenTwoPoints } from '../../../utilities/src/index';
3
+ export const calculateDisplacementMatrix = async (_locations) => {
4
+ const loc = _locations.map(async (_point, index) => {
5
+ if (index < 1) {
6
+ // first point is 0 displacement
7
+ return {
8
+ timestamp: _point.timestamp,
9
+ displacement: 0,
10
+ };
11
+ }
12
+ else {
13
+ const _currentCoordinates = _point.location.coordinates;
14
+ const _previousCoordinates = _locations[index - 1].location.coordinates;
15
+ let distance = getDistanceBetweenTwoPoints(_currentCoordinates, _previousCoordinates);
16
+ if (distance > 500) {
17
+ try {
18
+ const json = {
19
+ locations: [
20
+ {
21
+ lat: _previousCoordinates[1],
22
+ lon: _previousCoordinates[0],
23
+ },
24
+ {
25
+ lat: _currentCoordinates[1],
26
+ lon: _currentCoordinates[0],
27
+ },
28
+ ],
29
+ costing: 'auto',
30
+ };
31
+ const response = await axios.get(`http://localhost:8002/optimized_route?json=${JSON.stringify(json)}`);
32
+ const dist = response.data.trip.summary.length;
33
+ console.log(JSON.stringify(dist));
34
+ distance = dist * 1000;
35
+ }
36
+ catch (e) {
37
+ console.log(e);
38
+ }
39
+ }
40
+ return {
41
+ timestamp: _point.timestamp,
42
+ displacement: distance,
43
+ };
44
+ }
45
+ });
46
+ return await Promise.all(loc);
47
+ };
48
+ //# sourceMappingURL=displacement.calculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displacement.calculator.js","sourceRoot":"","sources":["../../../../../../../../libs/shared/src/lib/billing-conditions/src/utilities/displacement.calculator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC/C,UAA2B,EACA,EAAE;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAClD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACf,gCAAgC;YAChC,OAAO;gBACN,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,CAAC;aACf,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YACxD,MAAM,oBAAoB,GACzB,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5C,IAAI,QAAQ,GAAG,2BAA2B,CACzC,mBAAmB,EACnB,oBAAoB,CACpB,CAAC;YACF,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACJ,MAAM,IAAI,GAAG;wBACZ,SAAS,EAAE;4BACV;gCACC,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;gCAC5B,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;6BAC5B;4BACD;gCACC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;gCAC3B,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;6BAC3B;yBACD;wBACD,OAAO,EAAE,MAAM;qBACf,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC/B,8CAA8C,IAAI,CAAC,SAAS,CAC3D,IAAI,CACJ,EAAE,CAUH,CAAC;oBACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;gBACxB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;YACF,CAAC;YACD,OAAO;gBACN,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,QAAQ;aACtB,CAAC;QACH,CAAC;IACF,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './trace.locations.chronological.sort';
2
+ export * from './trace.sanitizer';
3
+ export * from './time.transformers.identifier';
4
+ export * from './displacement.calculator';
5
+ export * from './package.sorter';
@@ -0,0 +1,6 @@
1
+ export * from './trace.locations.chronological.sort';
2
+ export * from './trace.sanitizer';
3
+ export * from './time.transformers.identifier';
4
+ export * from './displacement.calculator';
5
+ export * from './package.sorter';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/shared/src/lib/billing-conditions/src/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { IPackage } from '../../../models/src/index';
2
+ export declare const sortPackageByBaseCost: (a: IPackage, b: IPackage) => 1 | -1 | 0;
@@ -0,0 +1,9 @@
1
+ import { PackageField, PackageTemplateField, } from '../../../models/src/index';
2
+ export const sortPackageByBaseCost = (a, b) => a?.[PackageField.PackageTemplate]?.[PackageTemplateField.BaseCost] >
3
+ b?.[PackageField.PackageTemplate]?.[PackageTemplateField.BaseCost]
4
+ ? 1
5
+ : a?.[PackageField.PackageTemplate]?.[PackageTemplateField.BaseCost] <
6
+ b?.[PackageField.PackageTemplate]?.[PackageTemplateField.BaseCost]
7
+ ? -1
8
+ : 0;
9
+ //# sourceMappingURL=package.sorter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.sorter.js","sourceRoot":"","sources":["../../../../../../../../libs/shared/src/lib/billing-conditions/src/utilities/package.sorter.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,oBAAoB,GAEpB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAW,EAAE,CAAW,EAAE,EAAE,CACjE,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;IAClE,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QAChE,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC"}