@autologix-engineering/shared 1.2.379 → 1.2.380

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 (288) hide show
  1. package/package.json +1 -1
  2. package/src/index.d.ts +0 -1
  3. package/src/index.js +0 -1
  4. package/src/index.js.map +1 -1
  5. package/src/lib/commands/src/generate.pdf.invoice.d.ts +1 -0
  6. package/src/lib/commands/src/generate.pdf.invoice.js.map +1 -1
  7. package/src/lib/contract-state/src/index.d.ts +0 -2
  8. package/src/lib/contract-state/src/index.js +0 -2
  9. package/src/lib/contract-state/src/index.js.map +1 -1
  10. package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.d.ts +0 -1
  11. package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.js +0 -5
  12. package/src/lib/data-transfer-objects/src/calculate.non.pool.ltr.invoice.data.dto.js.map +1 -1
  13. package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.d.ts +0 -1
  14. package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.js +0 -5
  15. package/src/lib/data-transfer-objects/src/command/add.ltr.vehicle.master.dto.js.map +1 -1
  16. package/src/lib/data-transfer-objects/src/command/process.ext.request.trip.sheet.dto.d.ts +0 -1
  17. package/src/lib/data-transfer-objects/src/command/process.ext.request.trip.sheet.dto.js +1 -8
  18. package/src/lib/data-transfer-objects/src/command/process.ext.request.trip.sheet.dto.js.map +1 -1
  19. package/src/lib/data-transfer-objects/src/command/update.client.persona.contract.file.dto.d.ts +0 -6
  20. package/src/lib/data-transfer-objects/src/command/update.client.persona.contract.file.dto.js +1 -6
  21. package/src/lib/data-transfer-objects/src/command/update.client.persona.contract.file.dto.js.map +1 -1
  22. package/src/lib/data-transfer-objects/src/command/update.contract.terms.dto.d.ts +0 -8
  23. package/src/lib/data-transfer-objects/src/command/update.contract.terms.dto.js +1 -6
  24. package/src/lib/data-transfer-objects/src/command/update.contract.terms.dto.js.map +1 -1
  25. package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.d.ts +1 -1
  26. package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.js +0 -1
  27. package/src/lib/data-transfer-objects/src/command/update.ltr.request.dto.js.map +1 -1
  28. package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.d.ts +0 -4
  29. package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.js +1 -21
  30. package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.js.map +1 -1
  31. package/src/lib/data-transfer-objects/src/create.dispatch.dto.d.ts +0 -4
  32. package/src/lib/data-transfer-objects/src/create.dispatch.dto.js +1 -21
  33. package/src/lib/data-transfer-objects/src/create.dispatch.dto.js.map +1 -1
  34. package/src/lib/data-transfer-objects/src/create.report.dto.js +1 -1
  35. package/src/lib/data-transfer-objects/src/create.report.dto.js.map +1 -1
  36. package/src/lib/data-transfer-objects/src/duties.query.dto.d.ts +0 -14
  37. package/src/lib/data-transfer-objects/src/duties.query.dto.js +0 -5
  38. package/src/lib/data-transfer-objects/src/duties.query.dto.js.map +1 -1
  39. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.d.ts +0 -1
  40. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.js +1 -8
  41. package/src/lib/data-transfer-objects/src/gatekeeper/create.onboarding.user.dto.js.map +1 -1
  42. package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.d.ts +0 -1
  43. package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.js +1 -8
  44. package/src/lib/data-transfer-objects/src/gatekeeper/get.user.by.phone.dto.js.map +1 -1
  45. package/src/lib/data-transfer-objects/src/gatekeeper/index.d.ts +0 -2
  46. package/src/lib/data-transfer-objects/src/gatekeeper/index.js +0 -2
  47. package/src/lib/data-transfer-objects/src/gatekeeper/index.js.map +1 -1
  48. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.d.ts +0 -72
  49. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.js +1 -36
  50. package/src/lib/data-transfer-objects/src/gatekeeper/send.email.login.otp.dto.js.map +1 -1
  51. package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.d.ts +5 -0
  52. package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.js +19 -0
  53. package/src/lib/data-transfer-objects/src/get.ext.available.ratecards.dto.js.map +1 -0
  54. package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.d.ts +0 -1
  55. package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.js +2 -9
  56. package/src/lib/data-transfer-objects/src/get.ltr.vehicle.master.dto.js.map +1 -1
  57. package/src/lib/data-transfer-objects/src/gst.dto.d.ts +4 -9
  58. package/src/lib/data-transfer-objects/src/gst.dto.js +1 -9
  59. package/src/lib/data-transfer-objects/src/gst.dto.js.map +1 -1
  60. package/src/lib/data-transfer-objects/src/index.d.ts +3 -19
  61. package/src/lib/data-transfer-objects/src/index.js +3 -19
  62. package/src/lib/data-transfer-objects/src/index.js.map +1 -1
  63. package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.d.ts +0 -1
  64. package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.js +1 -6
  65. package/src/lib/data-transfer-objects/src/passenger.persona.custom.dto.js.map +1 -1
  66. package/src/lib/data-transfer-objects/src/send.chauffeur.sms.dto.d.ts +2 -2
  67. package/src/lib/data-transfer-objects/src/send.chauffeur.sms.dto.js +7 -1
  68. package/src/lib/data-transfer-objects/src/send.chauffeur.sms.dto.js.map +1 -1
  69. package/src/lib/data-transfer-objects/src/submit.ltr.payout.rows.dto.d.ts +0 -15
  70. package/src/lib/data-transfer-objects/src/submit.ltr.payout.rows.dto.js +0 -5
  71. package/src/lib/data-transfer-objects/src/submit.ltr.payout.rows.dto.js.map +1 -1
  72. package/src/lib/data-transfer-objects/src/update.global.config.dto.d.ts +1 -5
  73. package/src/lib/data-transfer-objects/src/update.global.config.dto.js +1 -23
  74. package/src/lib/data-transfer-objects/src/update.global.config.dto.js.map +1 -1
  75. package/src/lib/enums/src/alert.command.types.js +1 -1
  76. package/src/lib/enums/src/alert.command.types.js.map +1 -1
  77. package/src/lib/enums/src/city.state.mapping.js +2 -2
  78. package/src/lib/enums/src/command.type.enum.d.ts +1 -8
  79. package/src/lib/enums/src/command.type.enum.js +1 -8
  80. package/src/lib/enums/src/command.type.enum.js.map +1 -1
  81. package/src/lib/enums/src/index.d.ts +1 -7
  82. package/src/lib/enums/src/index.js +1 -7
  83. package/src/lib/enums/src/index.js.map +1 -1
  84. package/src/lib/enums/src/model.enum.d.ts +1 -9
  85. package/src/lib/enums/src/model.enum.js +0 -8
  86. package/src/lib/enums/src/model.enum.js.map +1 -1
  87. package/src/lib/enums/src/others.default.data.js +0 -5
  88. package/src/lib/enums/src/others.default.data.js.map +1 -1
  89. package/src/lib/enums/src/query.type.enum.d.ts +2 -12
  90. package/src/lib/enums/src/query.type.enum.js +1 -12
  91. package/src/lib/enums/src/query.type.enum.js.map +1 -1
  92. package/src/lib/enums/src/report.module.type.enum.d.ts +1 -5
  93. package/src/lib/enums/src/report.module.type.enum.js +0 -4
  94. package/src/lib/enums/src/report.module.type.enum.js.map +1 -1
  95. package/src/lib/enums/src/state.full.name.number.code.map.js +0 -4
  96. package/src/lib/enums/src/state.full.name.number.code.map.js.map +1 -1
  97. package/src/lib/enums/src/trip.file.type.enum.d.ts +1 -2
  98. package/src/lib/enums/src/trip.file.type.enum.js +0 -1
  99. package/src/lib/enums/src/trip.file.type.enum.js.map +1 -1
  100. package/src/lib/models/src/auth.profile.model.d.ts +0 -13
  101. package/src/lib/models/src/auth.profile.model.js +0 -7
  102. package/src/lib/models/src/auth.profile.model.js.map +1 -1
  103. package/src/lib/models/src/ba.payout.row.model.d.ts +0 -24
  104. package/src/lib/models/src/ba.payout.row.model.js.map +1 -1
  105. package/src/lib/models/src/client.configuration.model.d.ts +1 -12
  106. package/src/lib/models/src/client.configuration.model.js +0 -5
  107. package/src/lib/models/src/client.configuration.model.js.map +1 -1
  108. package/src/lib/models/src/configurations.model.d.ts +2 -22
  109. package/src/lib/models/src/configurations.model.js +0 -15
  110. package/src/lib/models/src/configurations.model.js.map +1 -1
  111. package/src/lib/models/src/gst.model.d.ts +2 -12
  112. package/src/lib/models/src/gst.model.js +0 -1
  113. package/src/lib/models/src/gst.model.js.map +1 -1
  114. package/src/lib/models/src/index.d.ts +1 -10
  115. package/src/lib/models/src/index.js +1 -10
  116. package/src/lib/models/src/index.js.map +1 -1
  117. package/src/lib/models/src/ltr.payout.model.d.ts +2 -37
  118. package/src/lib/models/src/ltr.payout.model.js +0 -22
  119. package/src/lib/models/src/ltr.payout.model.js.map +1 -1
  120. package/src/lib/models/src/ltr.vehicle.master.model.d.ts +0 -2
  121. package/src/lib/models/src/ltr.vehicle.master.model.js +0 -1
  122. package/src/lib/models/src/ltr.vehicle.master.model.js.map +1 -1
  123. package/src/lib/models/src/passenger.persona.model.d.ts +2 -18
  124. package/src/lib/models/src/passenger.persona.model.js +0 -8
  125. package/src/lib/models/src/passenger.persona.model.js.map +1 -1
  126. package/src/lib/models/src/vehicle.verification.log.model.d.ts +16 -1
  127. package/src/lib/models/src/vehicle.verification.log.model.js +15 -0
  128. package/src/lib/models/src/vehicle.verification.log.model.js.map +1 -1
  129. package/src/lib/models/src/white.label.config.model.d.ts +2 -6
  130. package/src/lib/models/src/white.label.config.model.js +0 -2
  131. package/src/lib/models/src/white.label.config.model.js.map +1 -1
  132. package/src/lib/routes/src/command.registry.routes.d.ts +0 -7
  133. package/src/lib/routes/src/command.registry.routes.js +0 -7
  134. package/src/lib/routes/src/command.registry.routes.js.map +1 -1
  135. package/src/lib/routes/src/gatekeeper.routes.d.ts +0 -2
  136. package/src/lib/routes/src/gatekeeper.routes.js +0 -2
  137. package/src/lib/routes/src/gatekeeper.routes.js.map +1 -1
  138. package/src/lib/routes/src/query.service.routes.d.ts +1 -11
  139. package/src/lib/routes/src/query.service.routes.js +1 -12
  140. package/src/lib/routes/src/query.service.routes.js.map +1 -1
  141. package/src/lib/utilities/src/index.d.ts +2 -8
  142. package/src/lib/utilities/src/index.js +2 -8
  143. package/src/lib/utilities/src/index.js.map +1 -1
  144. package/src/lib/utilities/src/invoice.generation.alert.util.d.ts +0 -1
  145. package/src/lib/utilities/src/invoice.generation.alert.util.js +2 -7
  146. package/src/lib/utilities/src/invoice.generation.alert.util.js.map +1 -1
  147. package/src/lib/utilities/src/pick.latest.numbered.invoice.d.ts +21 -0
  148. package/src/lib/utilities/src/pick.latest.numbered.invoice.js +52 -0
  149. package/src/lib/utilities/src/pick.latest.numbered.invoice.js.map +1 -0
  150. package/src/lib/view-models/src/index.d.ts +0 -2
  151. package/src/lib/view-models/src/index.js +0 -2
  152. package/src/lib/view-models/src/index.js.map +1 -1
  153. package/src/lib/view-models/src/public.config.d.ts +1 -5
  154. package/src/lib/contract-state/src/contract.date.change.display.d.ts +0 -27
  155. package/src/lib/contract-state/src/contract.date.change.display.js +0 -47
  156. package/src/lib/contract-state/src/contract.date.change.display.js.map +0 -1
  157. package/src/lib/contract-state/src/contract.date.change.window.d.ts +0 -63
  158. package/src/lib/contract-state/src/contract.date.change.window.js +0 -85
  159. package/src/lib/contract-state/src/contract.date.change.window.js.map +0 -1
  160. package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.d.ts +0 -86
  161. package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.js +0 -153
  162. package/src/lib/data-transfer-objects/src/add.ltr.payout.rows.dto.js.map +0 -1
  163. package/src/lib/data-transfer-objects/src/check.vehicle.allocation.conflicts.dto.d.ts +0 -19
  164. package/src/lib/data-transfer-objects/src/check.vehicle.allocation.conflicts.dto.js +0 -38
  165. package/src/lib/data-transfer-objects/src/check.vehicle.allocation.conflicts.dto.js.map +0 -1
  166. package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.d.ts +0 -7
  167. package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.js +0 -21
  168. package/src/lib/data-transfer-objects/src/gatekeeper/get.registered.user.ltr.dto.js.map +0 -1
  169. package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.d.ts +0 -17
  170. package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.js +0 -29
  171. package/src/lib/data-transfer-objects/src/gatekeeper/send.ltr.sign.off.otp.dto.js.map +0 -1
  172. package/src/lib/data-transfer-objects/src/get.contract.date.changes.dto.d.ts +0 -59
  173. package/src/lib/data-transfer-objects/src/get.contract.date.changes.dto.js +0 -98
  174. package/src/lib/data-transfer-objects/src/get.contract.date.changes.dto.js.map +0 -1
  175. package/src/lib/data-transfer-objects/src/get.ext.rate.card.dto.d.ts +0 -40
  176. package/src/lib/data-transfer-objects/src/get.ext.rate.card.dto.js +0 -75
  177. package/src/lib/data-transfer-objects/src/get.ext.rate.card.dto.js.map +0 -1
  178. package/src/lib/data-transfer-objects/src/get.ltr.booking.day.wise.logs.dto.d.ts +0 -29
  179. package/src/lib/data-transfer-objects/src/get.ltr.booking.day.wise.logs.dto.js +0 -32
  180. package/src/lib/data-transfer-objects/src/get.ltr.booking.day.wise.logs.dto.js.map +0 -1
  181. package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.d.ts +0 -5
  182. package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.js +0 -17
  183. package/src/lib/data-transfer-objects/src/get.ltr.driver.bookings.dto.js.map +0 -1
  184. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.d.ts +0 -18
  185. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.js +0 -33
  186. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.logs.dto.js.map +0 -1
  187. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.d.ts +0 -24
  188. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.js +0 -33
  189. package/src/lib/data-transfer-objects/src/get.ltr.driver.monthly.sign.off.preview.dto.js.map +0 -1
  190. package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.d.ts +0 -79
  191. package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.js +0 -58
  192. package/src/lib/data-transfer-objects/src/get.ltr.driver.payout.rows.dto.js.map +0 -1
  193. package/src/lib/data-transfer-objects/src/get.ltr.payout.row.audit.dto.d.ts +0 -31
  194. package/src/lib/data-transfer-objects/src/get.ltr.payout.row.audit.dto.js +0 -42
  195. package/src/lib/data-transfer-objects/src/get.ltr.payout.row.audit.dto.js.map +0 -1
  196. package/src/lib/data-transfer-objects/src/get.ltr.sign.off.config.dto.d.ts +0 -20
  197. package/src/lib/data-transfer-objects/src/get.ltr.sign.off.config.dto.js +0 -20
  198. package/src/lib/data-transfer-objects/src/get.ltr.sign.off.config.dto.js.map +0 -1
  199. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.d.ts +0 -44
  200. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.js +0 -51
  201. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.entry.dto.js.map +0 -1
  202. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.d.ts +0 -78
  203. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.js +0 -71
  204. package/src/lib/data-transfer-objects/src/sign.off.ltr.payout.month.dto.js.map +0 -1
  205. package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.d.ts +0 -6
  206. package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.js +0 -20
  207. package/src/lib/data-transfer-objects/src/update.ltr.log.confirmation.config.dto.js.map +0 -1
  208. package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.d.ts +0 -18
  209. package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.js +0 -20
  210. package/src/lib/data-transfer-objects/src/update.ltr.payout.rows.dto.js.map +0 -1
  211. package/src/lib/data-transfer-objects/src/update.pickup.detection.config.dto.d.ts +0 -7
  212. package/src/lib/data-transfer-objects/src/update.pickup.detection.config.dto.js +0 -22
  213. package/src/lib/data-transfer-objects/src/update.pickup.detection.config.dto.js.map +0 -1
  214. package/src/lib/data-transfer-objects/src/update.vehicle.allocation.conflict.window.dto.d.ts +0 -15
  215. package/src/lib/data-transfer-objects/src/update.vehicle.allocation.conflict.window.dto.js +0 -29
  216. package/src/lib/data-transfer-objects/src/update.vehicle.allocation.conflict.window.dto.js.map +0 -1
  217. package/src/lib/enums/src/ltr.font.enum.d.ts +0 -5
  218. package/src/lib/enums/src/ltr.font.enum.js +0 -7
  219. package/src/lib/enums/src/ltr.font.enum.js.map +0 -1
  220. package/src/lib/enums/src/ltr.payout.enum.d.ts +0 -67
  221. package/src/lib/enums/src/ltr.payout.enum.js +0 -74
  222. package/src/lib/enums/src/ltr.payout.enum.js.map +0 -1
  223. package/src/lib/enums/src/otp.scope.enum.d.ts +0 -16
  224. package/src/lib/enums/src/otp.scope.enum.js +0 -18
  225. package/src/lib/enums/src/otp.scope.enum.js.map +0 -1
  226. package/src/lib/enums/src/pickup.detection.mode.enum.d.ts +0 -5
  227. package/src/lib/enums/src/pickup.detection.mode.enum.js +0 -7
  228. package/src/lib/enums/src/pickup.detection.mode.enum.js.map +0 -1
  229. package/src/lib/enums/src/retry.task.enum.d.ts +0 -28
  230. package/src/lib/enums/src/retry.task.enum.js +0 -31
  231. package/src/lib/enums/src/retry.task.enum.js.map +0 -1
  232. package/src/lib/enums/src/vehicle.allocation.conflict.enum.d.ts +0 -65
  233. package/src/lib/enums/src/vehicle.allocation.conflict.enum.js +0 -71
  234. package/src/lib/enums/src/vehicle.allocation.conflict.enum.js.map +0 -1
  235. package/src/lib/models/src/client.contract.date.change.model.d.ts +0 -80
  236. package/src/lib/models/src/client.contract.date.change.model.js +0 -25
  237. package/src/lib/models/src/client.contract.date.change.model.js.map +0 -1
  238. package/src/lib/models/src/configurations.activity.log.model.d.ts +0 -42
  239. package/src/lib/models/src/configurations.activity.log.model.js +0 -15
  240. package/src/lib/models/src/configurations.activity.log.model.js.map +0 -1
  241. package/src/lib/models/src/ltr.log.confirmation.model.d.ts +0 -30
  242. package/src/lib/models/src/ltr.log.confirmation.model.js +0 -15
  243. package/src/lib/models/src/ltr.log.confirmation.model.js.map +0 -1
  244. package/src/lib/models/src/ltr.payout.month.sign.off.model.d.ts +0 -85
  245. package/src/lib/models/src/ltr.payout.month.sign.off.model.js +0 -28
  246. package/src/lib/models/src/ltr.payout.month.sign.off.model.js.map +0 -1
  247. package/src/lib/models/src/ltr.payout.row.audit.model.d.ts +0 -44
  248. package/src/lib/models/src/ltr.payout.row.audit.model.js +0 -22
  249. package/src/lib/models/src/ltr.payout.row.audit.model.js.map +0 -1
  250. package/src/lib/models/src/ltr.payout.row.group.model.d.ts +0 -73
  251. package/src/lib/models/src/ltr.payout.row.group.model.js +0 -25
  252. package/src/lib/models/src/ltr.payout.row.group.model.js.map +0 -1
  253. package/src/lib/models/src/ltr.payout.row.image.model.d.ts +0 -34
  254. package/src/lib/models/src/ltr.payout.row.image.model.js +0 -11
  255. package/src/lib/models/src/ltr.payout.row.image.model.js.map +0 -1
  256. package/src/lib/models/src/ltr.sign.off.otp.model.d.ts +0 -40
  257. package/src/lib/models/src/ltr.sign.off.otp.model.js +0 -17
  258. package/src/lib/models/src/ltr.sign.off.otp.model.js.map +0 -1
  259. package/src/lib/models/src/retry.task.model.d.ts +0 -56
  260. package/src/lib/models/src/retry.task.model.js +0 -26
  261. package/src/lib/models/src/retry.task.model.js.map +0 -1
  262. package/src/lib/utilities/src/ba.payout.workshop.days.d.ts +0 -77
  263. package/src/lib/utilities/src/ba.payout.workshop.days.js +0 -109
  264. package/src/lib/utilities/src/ba.payout.workshop.days.js.map +0 -1
  265. package/src/lib/utilities/src/financial.year.d.ts +0 -83
  266. package/src/lib/utilities/src/financial.year.js +0 -145
  267. package/src/lib/utilities/src/financial.year.js.map +0 -1
  268. package/src/lib/utilities/src/ltr.cycle.month.index.d.ts +0 -14
  269. package/src/lib/utilities/src/ltr.cycle.month.index.js +0 -22
  270. package/src/lib/utilities/src/ltr.cycle.month.index.js.map +0 -1
  271. package/src/lib/utilities/src/ltr.payout.row.key.d.ts +0 -43
  272. package/src/lib/utilities/src/ltr.payout.row.key.js +0 -78
  273. package/src/lib/utilities/src/ltr.payout.row.key.js.map +0 -1
  274. package/src/lib/utilities/src/normalize.phone.number.d.ts +0 -17
  275. package/src/lib/utilities/src/normalize.phone.number.js +0 -45
  276. package/src/lib/utilities/src/normalize.phone.number.js.map +0 -1
  277. package/src/lib/utilities/src/parse.display.date.d.ts +0 -16
  278. package/src/lib/utilities/src/parse.display.date.js +0 -43
  279. package/src/lib/utilities/src/parse.display.date.js.map +0 -1
  280. package/src/lib/utilities/src/resolve.gst.state.d.ts +0 -23
  281. package/src/lib/utilities/src/resolve.gst.state.js +0 -38
  282. package/src/lib/utilities/src/resolve.gst.state.js.map +0 -1
  283. package/src/lib/view-models/src/ext.rate.card.d.ts +0 -114
  284. package/src/lib/view-models/src/ext.rate.card.js +0 -9
  285. package/src/lib/view-models/src/ext.rate.card.js.map +0 -1
  286. package/src/lib/view-models/src/vehicle.allocation.conflict.d.ts +0 -28
  287. package/src/lib/view-models/src/vehicle.allocation.conflict.js +0 -2
  288. package/src/lib/view-models/src/vehicle.allocation.conflict.js.map +0 -1
@@ -1,73 +0,0 @@
1
- import { LTRPayoutRowSource, LTRPayoutSignOffMethod, LTRPayoutStatus } from '@autologix/shared/enums';
2
- import { ILTRPayout } from './ltr.payout.model';
3
- import { ILTRPayoutRowImage } from './ltr.payout.row.image.model';
4
- import { IRequest } from './request.model';
5
- export declare enum LTRPayoutRowGroupField {
6
- RowGroupId = "rowGroupId",
7
- Payout = "payout",
8
- PayoutId = "payoutId",
9
- Request = "request",
10
- RequestId = "requestId",
11
- Status = "status",
12
- Source = "source",
13
- /** First date the entry covers, inclusive. */
14
- StartDate = "startDate",
15
- /** Last date the entry covers, inclusive. */
16
- EndDate = "endDate",
17
- /** How many payout rows the entry produced — one per calendar date. */
18
- RowCount = "rowCount",
19
- Images = "images",
20
- /** Registered user of the driver who made this entry. */
21
- CreatedByRegisteredUserId = "createdByRegisteredUserId",
22
- SignedOffAt = "signedOffAt",
23
- SignOffMethod = "signOffMethod",
24
- SignatureImageUrl = "signatureImageUrl",
25
- CreatedAt = "createdAt",
26
- UpdatedAt = "updatedAt"
27
- }
28
- /**
29
- * One entry the driver made in the LTR app, however many dates it covers.
30
- *
31
- * A garage window of 17 Aug 00:00 → 17 Aug 23:59 produces one group and one
32
- * payout row. A window of 27 Aug → 29 Aug produces one group and three payout
33
- * rows, each stamped with this group's id in `LTRPayoutRowField.GroupId`. The
34
- * app shows one menu item per group, which is why the grouping has to be
35
- * recorded rather than inferred from the dates.
36
- *
37
- * Status and images live here, not on the rows. The rows sit inside a single
38
- * jsonb array on LTRPayout, so putting either there would mean rewriting every
39
- * row on the booking to sign one entry or attach one photo.
40
- *
41
- * Rows with no group predate this and came from the Excel upload or the
42
- * webapp: the absence of a group is what marks them as the admin's record.
43
- */
44
- export interface ILTRPayoutRowGroup {
45
- [LTRPayoutRowGroupField.RowGroupId]: string;
46
- [LTRPayoutRowGroupField.Payout]: ILTRPayout;
47
- [LTRPayoutRowGroupField.PayoutId]: string;
48
- /** Denormalised so the app can list a booking's entries without the payout. */
49
- [LTRPayoutRowGroupField.Request]: IRequest;
50
- [LTRPayoutRowGroupField.RequestId]: string;
51
- [LTRPayoutRowGroupField.Status]: LTRPayoutStatus;
52
- [LTRPayoutRowGroupField.Source]: LTRPayoutRowSource;
53
- [LTRPayoutRowGroupField.StartDate]: Date;
54
- [LTRPayoutRowGroupField.EndDate]: Date;
55
- [LTRPayoutRowGroupField.RowCount]: number;
56
- [LTRPayoutRowGroupField.Images]?: ILTRPayoutRowImage[];
57
- /**
58
- * The driver who made this entry, as their registered user id.
59
- *
60
- * Only they may edit it or sign it off. A booking can change hands through
61
- * replacement, so "assigned to this booking" is not the same question as
62
- * "recorded this entry" — the second is what ownership of an entry means.
63
- *
64
- * Absent on entries written before this was recorded.
65
- */
66
- [LTRPayoutRowGroupField.CreatedByRegisteredUserId]?: string;
67
- [LTRPayoutRowGroupField.SignedOffAt]?: Date;
68
- [LTRPayoutRowGroupField.SignOffMethod]?: LTRPayoutSignOffMethod;
69
- /** Set only when the daily sign-off captured a signature. */
70
- [LTRPayoutRowGroupField.SignatureImageUrl]?: string;
71
- [LTRPayoutRowGroupField.CreatedAt]: Date;
72
- [LTRPayoutRowGroupField.UpdatedAt]: Date;
73
- }
@@ -1,25 +0,0 @@
1
- export var LTRPayoutRowGroupField;
2
- (function (LTRPayoutRowGroupField) {
3
- LTRPayoutRowGroupField["RowGroupId"] = "rowGroupId";
4
- LTRPayoutRowGroupField["Payout"] = "payout";
5
- LTRPayoutRowGroupField["PayoutId"] = "payoutId";
6
- LTRPayoutRowGroupField["Request"] = "request";
7
- LTRPayoutRowGroupField["RequestId"] = "requestId";
8
- LTRPayoutRowGroupField["Status"] = "status";
9
- LTRPayoutRowGroupField["Source"] = "source";
10
- /** First date the entry covers, inclusive. */
11
- LTRPayoutRowGroupField["StartDate"] = "startDate";
12
- /** Last date the entry covers, inclusive. */
13
- LTRPayoutRowGroupField["EndDate"] = "endDate";
14
- /** How many payout rows the entry produced — one per calendar date. */
15
- LTRPayoutRowGroupField["RowCount"] = "rowCount";
16
- LTRPayoutRowGroupField["Images"] = "images";
17
- /** Registered user of the driver who made this entry. */
18
- LTRPayoutRowGroupField["CreatedByRegisteredUserId"] = "createdByRegisteredUserId";
19
- LTRPayoutRowGroupField["SignedOffAt"] = "signedOffAt";
20
- LTRPayoutRowGroupField["SignOffMethod"] = "signOffMethod";
21
- LTRPayoutRowGroupField["SignatureImageUrl"] = "signatureImageUrl";
22
- LTRPayoutRowGroupField["CreatedAt"] = "createdAt";
23
- LTRPayoutRowGroupField["UpdatedAt"] = "updatedAt";
24
- })(LTRPayoutRowGroupField || (LTRPayoutRowGroupField = {}));
25
- //# sourceMappingURL=ltr.payout.row.group.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ltr.payout.row.group.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/ltr.payout.row.group.model.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,sBAsBX;AAtBD,WAAY,sBAAsB;IACjC,mDAAyB,CAAA;IACzB,2CAAiB,CAAA;IACjB,+CAAqB,CAAA;IACrB,6CAAmB,CAAA;IACnB,iDAAuB,CAAA;IACvB,2CAAiB,CAAA;IACjB,2CAAiB,CAAA;IACjB,8CAA8C;IAC9C,iDAAuB,CAAA;IACvB,6CAA6C;IAC7C,6CAAmB,CAAA;IACnB,uEAAuE;IACvE,+CAAqB,CAAA;IACrB,2CAAiB,CAAA;IACjB,yDAAyD;IACzD,iFAAuD,CAAA;IACvD,qDAA2B,CAAA;IAC3B,yDAA+B,CAAA;IAC/B,iEAAuC,CAAA;IACvC,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;AACxB,CAAC,EAtBW,sBAAsB,KAAtB,sBAAsB,QAsBjC"}
@@ -1,34 +0,0 @@
1
- import { IFile } from './file.model';
2
- import { ILTRPayoutRowGroup } from './ltr.payout.row.group.model';
3
- export declare enum LTRPayoutRowImageField {
4
- RowImageId = "rowImageId",
5
- Group = "group",
6
- GroupId = "groupId",
7
- Type = "type",
8
- Files = "files",
9
- CreatedAt = "createdAt",
10
- UpdatedAt = "updatedAt"
11
- }
12
- /**
13
- * The photos attached to one entry for one purpose — all the start-KM shots,
14
- * all the toll receipts, and so on.
15
- *
16
- * One row per (group, type), holding every file for that type, because a
17
- * driver may photograph the same reading two or three times. Attaching another
18
- * photo rewrites only this row rather than the booking's whole payout array.
19
- *
20
- * `Type` is free text, not a database enum. The four odometer readings are
21
- * fixed and come from LTRPayoutRowImageType, but expense proofs are named
22
- * after the expense, and those are configured per client — a Postgres enum
23
- * would need altering every time a client adds one.
24
- */
25
- export interface ILTRPayoutRowImage {
26
- [LTRPayoutRowImageField.RowImageId]: string;
27
- [LTRPayoutRowImageField.Group]: ILTRPayoutRowGroup;
28
- [LTRPayoutRowImageField.GroupId]: string;
29
- /** `LTRPayoutRowImageType` for odometer shots, else the expense name. */
30
- [LTRPayoutRowImageField.Type]: string;
31
- [LTRPayoutRowImageField.Files]: IFile[];
32
- [LTRPayoutRowImageField.CreatedAt]: Date;
33
- [LTRPayoutRowImageField.UpdatedAt]: Date;
34
- }
@@ -1,11 +0,0 @@
1
- export var LTRPayoutRowImageField;
2
- (function (LTRPayoutRowImageField) {
3
- LTRPayoutRowImageField["RowImageId"] = "rowImageId";
4
- LTRPayoutRowImageField["Group"] = "group";
5
- LTRPayoutRowImageField["GroupId"] = "groupId";
6
- LTRPayoutRowImageField["Type"] = "type";
7
- LTRPayoutRowImageField["Files"] = "files";
8
- LTRPayoutRowImageField["CreatedAt"] = "createdAt";
9
- LTRPayoutRowImageField["UpdatedAt"] = "updatedAt";
10
- })(LTRPayoutRowImageField || (LTRPayoutRowImageField = {}));
11
- //# sourceMappingURL=ltr.payout.row.image.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ltr.payout.row.image.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/ltr.payout.row.image.model.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,sBAQX;AARD,WAAY,sBAAsB;IACjC,mDAAyB,CAAA;IACzB,yCAAe,CAAA;IACf,6CAAmB,CAAA;IACnB,uCAAa,CAAA;IACb,yCAAe,CAAA;IACf,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;AACxB,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,QAQjC"}
@@ -1,40 +0,0 @@
1
- export declare enum LTRSignOffOTPField {
2
- SignOffOtpId = "signOffOtpId",
3
- /** The number the code was sent to. Verification looks it up by this. */
4
- Phone = "phone",
5
- HashedOtp = "hashedOtp",
6
- ExpiresAt = "expiresAt",
7
- /** Stamp the resend cooldown is claimed against. */
8
- SentAt = "sentAt",
9
- /** Set once consumed, so a code cannot be spent twice. */
10
- Verified = "verified",
11
- Request = "request",
12
- RequestId = "requestId",
13
- CreatedAt = "createdAt",
14
- UpdatedAt = "updatedAt"
15
- }
16
- /**
17
- * A one-time code issued to an LTR renter so a driver can sign off a duty log.
18
- *
19
- * Held here rather than on `AuthProfile` because the renter need not have an
20
- * account: `LTRVehicleMaster.renter` is a `Passenger`, which may be backed only
21
- * by a `PlaceholderUser`. Keying on the phone lets both kinds take one path.
22
- *
23
- * It is also not a credential. The renter reads it aloud to the driver in front
24
- * of them, so keeping it out of the auth entity removes any chance of it being
25
- * replayed against a login endpoint.
26
- */
27
- export interface ILTRSignOffOTP {
28
- [LTRSignOffOTPField.SignOffOtpId]: string;
29
- [LTRSignOffOTPField.Phone]: string;
30
- [LTRSignOffOTPField.HashedOtp]: string;
31
- [LTRSignOffOTPField.ExpiresAt]?: Date;
32
- [LTRSignOffOTPField.SentAt]?: Date;
33
- [LTRSignOffOTPField.Verified]: boolean;
34
- /** The booking the code was issued for; a code is not valid for another. */
35
- [LTRSignOffOTPField.RequestId]?: string;
36
- [LTRSignOffOTPField.CreatedAt]: Date;
37
- [LTRSignOffOTPField.UpdatedAt]: Date;
38
- setOtp: (otp: string) => void;
39
- isOtpValid: (otp: string) => boolean;
40
- }
@@ -1,17 +0,0 @@
1
- export var LTRSignOffOTPField;
2
- (function (LTRSignOffOTPField) {
3
- LTRSignOffOTPField["SignOffOtpId"] = "signOffOtpId";
4
- /** The number the code was sent to. Verification looks it up by this. */
5
- LTRSignOffOTPField["Phone"] = "phone";
6
- LTRSignOffOTPField["HashedOtp"] = "hashedOtp";
7
- LTRSignOffOTPField["ExpiresAt"] = "expiresAt";
8
- /** Stamp the resend cooldown is claimed against. */
9
- LTRSignOffOTPField["SentAt"] = "sentAt";
10
- /** Set once consumed, so a code cannot be spent twice. */
11
- LTRSignOffOTPField["Verified"] = "verified";
12
- LTRSignOffOTPField["Request"] = "request";
13
- LTRSignOffOTPField["RequestId"] = "requestId";
14
- LTRSignOffOTPField["CreatedAt"] = "createdAt";
15
- LTRSignOffOTPField["UpdatedAt"] = "updatedAt";
16
- })(LTRSignOffOTPField || (LTRSignOffOTPField = {}));
17
- //# sourceMappingURL=ltr.sign.off.otp.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ltr.sign.off.otp.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/ltr.sign.off.otp.model.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAcX;AAdD,WAAY,kBAAkB;IAC7B,mDAA6B,CAAA;IAC7B,yEAAyE;IACzE,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;IACvB,oDAAoD;IACpD,uCAAiB,CAAA;IACjB,0DAA0D;IAC1D,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;AACxB,CAAC,EAdW,kBAAkB,KAAlB,kBAAkB,QAc7B"}
@@ -1,56 +0,0 @@
1
- import { RetryTaskStatus, RetryTaskType } from '@autologix/shared/enums';
2
- import { TypedModel } from './typed.model';
3
- export declare enum RetryTaskField {
4
- RetryTaskId = "retryTaskId",
5
- /** Which operation to replay — selects the processor's handler. */
6
- Type = "type",
7
- /** Booking the failed operation belongs to (plain id, like AlertFallback). */
8
- RequestId = "requestId",
9
- /**
10
- * Everything the handler needs to replay the operation without re-deriving
11
- * it (e.g. the duty slip URL + tripId). Recording this at failure time is
12
- * what lets the processor run off one indexed scan instead of reconstructing
13
- * failures from activity logs.
14
- */
15
- Payload = "payload",
16
- Status = "status",
17
- /** Attempts made so far; bounded by maxAttempts. */
18
- Attempts = "attempts",
19
- MaxAttempts = "maxAttempts",
20
- /** Earliest time the next attempt may run — drives the backoff. */
21
- NextAttemptAt = "nextAttemptAt",
22
- /** Why the last attempt failed, for triage. */
23
- LastError = "lastError",
24
- CreatedAt = "createdAt",
25
- UpdatedAt = "updatedAt"
26
- }
27
- /** Context for a RetryTaskType.ExtDutySlipUpload row. */
28
- export interface IExtDutySlipRetryPayload {
29
- /** Trip whose DutySlipFile / ExtDutyLip need stamping. */
30
- tripId: string;
31
- /** Original slip URL from the external trip sheet payload. */
32
- url: string;
33
- /** Booking number, used for the upload filename and logging. */
34
- requestNumber?: string;
35
- /** HTTP status of the failed download, when the failure was the fetch. */
36
- httpStatus?: number;
37
- /**
38
- * Step that failed: 'download' is MMI's URL being unavailable, 'upload' is
39
- * our files-service, 'stamp' is the trip write. Lets triage separate
40
- * unrecoverable sources from transient outages without reading logs.
41
- */
42
- failedAt?: 'download' | 'upload' | 'stamp';
43
- }
44
- export interface IRetryTask extends TypedModel {
45
- [RetryTaskField.RetryTaskId]: string;
46
- [RetryTaskField.Type]: RetryTaskType;
47
- [RetryTaskField.RequestId]?: string;
48
- [RetryTaskField.Payload]?: Record<string, any>;
49
- [RetryTaskField.Status]: RetryTaskStatus;
50
- [RetryTaskField.Attempts]: number;
51
- [RetryTaskField.MaxAttempts]: number;
52
- [RetryTaskField.NextAttemptAt]: Date;
53
- [RetryTaskField.LastError]?: string;
54
- [RetryTaskField.CreatedAt]: Date;
55
- [RetryTaskField.UpdatedAt]: Date;
56
- }
@@ -1,26 +0,0 @@
1
- export var RetryTaskField;
2
- (function (RetryTaskField) {
3
- RetryTaskField["RetryTaskId"] = "retryTaskId";
4
- /** Which operation to replay — selects the processor's handler. */
5
- RetryTaskField["Type"] = "type";
6
- /** Booking the failed operation belongs to (plain id, like AlertFallback). */
7
- RetryTaskField["RequestId"] = "requestId";
8
- /**
9
- * Everything the handler needs to replay the operation without re-deriving
10
- * it (e.g. the duty slip URL + tripId). Recording this at failure time is
11
- * what lets the processor run off one indexed scan instead of reconstructing
12
- * failures from activity logs.
13
- */
14
- RetryTaskField["Payload"] = "payload";
15
- RetryTaskField["Status"] = "status";
16
- /** Attempts made so far; bounded by maxAttempts. */
17
- RetryTaskField["Attempts"] = "attempts";
18
- RetryTaskField["MaxAttempts"] = "maxAttempts";
19
- /** Earliest time the next attempt may run — drives the backoff. */
20
- RetryTaskField["NextAttemptAt"] = "nextAttemptAt";
21
- /** Why the last attempt failed, for triage. */
22
- RetryTaskField["LastError"] = "lastError";
23
- RetryTaskField["CreatedAt"] = "createdAt";
24
- RetryTaskField["UpdatedAt"] = "updatedAt";
25
- })(RetryTaskField || (RetryTaskField = {}));
26
- //# sourceMappingURL=retry.task.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.task.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/retry.task.model.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,cAuBX;AAvBD,WAAY,cAAc;IACzB,6CAA2B,CAAA;IAC3B,mEAAmE;IACnE,+BAAa,CAAA;IACb,8EAA8E;IAC9E,yCAAuB,CAAA;IACvB;;;;;OAKG;IACH,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,oDAAoD;IACpD,uCAAqB,CAAA;IACrB,6CAA2B,CAAA;IAC3B,mEAAmE;IACnE,iDAA+B,CAAA;IAC/B,+CAA+C;IAC/C,yCAAuB,CAAA;IACvB,yCAAuB,CAAA;IACvB,yCAAuB,CAAA;AACxB,CAAC,EAvBW,cAAc,KAAd,cAAc,QAuBzB"}
@@ -1,77 +0,0 @@
1
- /**
2
- * AD-3288 — workshop (maintenance) days excluded from the BA payout
3
- * min-working-days penalty.
4
- *
5
- * A BA whose vehicle sat in the workshop could not run duties on those days,
6
- * so charging the per-day "worked less than N days" penalty for them is wrong.
7
- * When a maintenance Work Order exists for the BA's vehicle in the payout
8
- * month, the workshop days it covers are taken off the minimum before the
9
- * shortfall is priced.
10
- *
11
- * Everything here is pure integer arithmetic over IST-midnight day
12
- * timestamps. The caller normalises dates to IST calendar days with the SAME
13
- * helper it uses for on-duty days (`normalizeIstCalendarDay` in the payout
14
- * controller) so the two day sets are directly comparable — a workshop day and
15
- * a duty day for the same calendar date always carry the same timestamp.
16
- */
17
- /**
18
- * NRT type that marks a workshop visit raised against a Work Order. The Work
19
- * Order field on the NRT form is only shown for this type, and an NRT created
20
- * from a Work Order is forced to it, so "maintenance work order" is exactly
21
- * "NRT of this type with a Work Order linked". NrtType is a per-context master
22
- * (free text), hence a string constant and a case-insensitive comparison
23
- * rather than an enum.
24
- */
25
- export declare const MAINTENANCE_NRT_TYPE = "Maintenance";
26
- /** One workshop window, already reduced to IST calendar days by the caller. */
27
- export interface IWorkshopPeriodInput {
28
- nrtNumber?: string | null;
29
- workOrderNumber?: string | null;
30
- /** IST-midnight timestamp of the first workshop calendar day. */
31
- startDayTs: number;
32
- /** IST-midnight timestamp of the last workshop calendar day (inclusive). */
33
- endDayTs: number;
34
- }
35
- /** One workshop calendar day inside the payout ∩ contract window. */
36
- export interface IWorkshopDayResult {
37
- /** IST-midnight timestamp of the day. */
38
- dayTs: number;
39
- /** NRTs whose window covers this day (deduped, in input order). */
40
- nrtNumbers: string[];
41
- /** Work Orders whose NRT covers this day (deduped, in input order). */
42
- workOrderNumbers: string[];
43
- /**
44
- * true when the vehicle also ran a duty that day. Such a day already
45
- * counts as an actual working day, so it is NOT excluded — excluding it
46
- * would credit the BA twice for the same date.
47
- */
48
- hasDuty: boolean;
49
- }
50
- export interface IWorkshopDayExclusionResult {
51
- /** In-window workshop days with no duty — what comes off the minimum. */
52
- excludedDays: number;
53
- /** Every in-window workshop day, deduped across NRTs, ascending. */
54
- days: IWorkshopDayResult[];
55
- }
56
- /**
57
- * Workshop days for one contract, clipped to `windowStartTs..windowEndTs`
58
- * (the payout month ∩ contract window the penalty already uses).
59
- *
60
- * Overlap rule: only days INSIDE the window are returned, so an NRT that
61
- * started in the previous month or runs into the next one contributes just
62
- * its in-window days. Overlapping / duplicate NRTs collapse onto one entry per
63
- * calendar day, so five one-day NRTs raised for the same date exclude one day,
64
- * not five.
65
- */
66
- export declare function computeWorkshopDayExclusion(periods: IWorkshopPeriodInput[], windowStartTs: number, windowEndTs: number, onDutyDayTimestamps: Iterable<number>): IWorkshopDayExclusionResult;
67
- /**
68
- * Penalty days for the min-working-days penalty, after workshop exclusion.
69
- *
70
- * effectiveMinimum = minWorkingDays − excludedWorkshopDays (floored at 0)
71
- * penaltyDays = effectiveMinimum − actualWorkingDays (floored at 0)
72
- *
73
- * With no workshop days this is the untouched original rule
74
- * (minWorkingDays − actualWorkingDays), so a BA with no maintenance Work
75
- * Order in the month is unaffected.
76
- */
77
- export declare function computeMinWorkingDaysPenaltyDays(minWorkingDays: number, actualWorkingDays: number, excludedWorkshopDays?: number): number;
@@ -1,109 +0,0 @@
1
- /**
2
- * AD-3288 — workshop (maintenance) days excluded from the BA payout
3
- * min-working-days penalty.
4
- *
5
- * A BA whose vehicle sat in the workshop could not run duties on those days,
6
- * so charging the per-day "worked less than N days" penalty for them is wrong.
7
- * When a maintenance Work Order exists for the BA's vehicle in the payout
8
- * month, the workshop days it covers are taken off the minimum before the
9
- * shortfall is priced.
10
- *
11
- * Everything here is pure integer arithmetic over IST-midnight day
12
- * timestamps. The caller normalises dates to IST calendar days with the SAME
13
- * helper it uses for on-duty days (`normalizeIstCalendarDay` in the payout
14
- * controller) so the two day sets are directly comparable — a workshop day and
15
- * a duty day for the same calendar date always carry the same timestamp.
16
- */
17
- /**
18
- * NRT type that marks a workshop visit raised against a Work Order. The Work
19
- * Order field on the NRT form is only shown for this type, and an NRT created
20
- * from a Work Order is forced to it, so "maintenance work order" is exactly
21
- * "NRT of this type with a Work Order linked". NrtType is a per-context master
22
- * (free text), hence a string constant and a case-insensitive comparison
23
- * rather than an enum.
24
- */
25
- export const MAINTENANCE_NRT_TYPE = 'Maintenance';
26
- const DAY_MS = 24 * 60 * 60 * 1000;
27
- const pushUnique = (target, value) => {
28
- if (!value)
29
- return;
30
- if (!target.includes(value))
31
- target.push(value);
32
- };
33
- /**
34
- * Workshop days for one contract, clipped to `windowStartTs..windowEndTs`
35
- * (the payout month ∩ contract window the penalty already uses).
36
- *
37
- * Overlap rule: only days INSIDE the window are returned, so an NRT that
38
- * started in the previous month or runs into the next one contributes just
39
- * its in-window days. Overlapping / duplicate NRTs collapse onto one entry per
40
- * calendar day, so five one-day NRTs raised for the same date exclude one day,
41
- * not five.
42
- */
43
- export function computeWorkshopDayExclusion(periods, windowStartTs, windowEndTs, onDutyDayTimestamps) {
44
- const empty = { excludedDays: 0, days: [] };
45
- if (!Array.isArray(periods) || periods.length === 0)
46
- return empty;
47
- if (!Number.isFinite(windowStartTs) || !Number.isFinite(windowEndTs)) {
48
- return empty;
49
- }
50
- if (windowStartTs > windowEndTs)
51
- return empty;
52
- const dutyDays = new Set();
53
- for (const ts of onDutyDayTimestamps ?? []) {
54
- if (Number.isFinite(ts))
55
- dutyDays.add(ts);
56
- }
57
- const dayMap = new Map();
58
- for (const period of periods) {
59
- if (!period)
60
- continue;
61
- const { startDayTs, endDayTs } = period;
62
- if (!Number.isFinite(startDayTs) || !Number.isFinite(endDayTs)) {
63
- continue;
64
- }
65
- // Bad data (return before start) contributes nothing rather than
66
- // looping forever or silently crediting the start day.
67
- if (startDayTs > endDayTs)
68
- continue;
69
- const clipStart = Math.max(startDayTs, windowStartTs);
70
- const clipEnd = Math.min(endDayTs, windowEndTs);
71
- if (clipStart > clipEnd)
72
- continue;
73
- for (let ts = clipStart; ts <= clipEnd; ts += DAY_MS) {
74
- let day = dayMap.get(ts);
75
- if (!day) {
76
- day = {
77
- dayTs: ts,
78
- nrtNumbers: [],
79
- workOrderNumbers: [],
80
- hasDuty: dutyDays.has(ts),
81
- };
82
- dayMap.set(ts, day);
83
- }
84
- pushUnique(day.nrtNumbers, period.nrtNumber);
85
- pushUnique(day.workOrderNumbers, period.workOrderNumber);
86
- }
87
- }
88
- const days = Array.from(dayMap.values()).sort((a, b) => a.dayTs - b.dayTs);
89
- const excludedDays = days.filter((d) => !d.hasDuty).length;
90
- return { excludedDays, days };
91
- }
92
- /**
93
- * Penalty days for the min-working-days penalty, after workshop exclusion.
94
- *
95
- * effectiveMinimum = minWorkingDays − excludedWorkshopDays (floored at 0)
96
- * penaltyDays = effectiveMinimum − actualWorkingDays (floored at 0)
97
- *
98
- * With no workshop days this is the untouched original rule
99
- * (minWorkingDays − actualWorkingDays), so a BA with no maintenance Work
100
- * Order in the month is unaffected.
101
- */
102
- export function computeMinWorkingDaysPenaltyDays(minWorkingDays, actualWorkingDays, excludedWorkshopDays = 0) {
103
- const minimum = Number(minWorkingDays) || 0;
104
- const worked = Number(actualWorkingDays) || 0;
105
- const excluded = Number(excludedWorkshopDays) || 0;
106
- const effectiveMinimum = Math.max(0, minimum - Math.max(0, excluded));
107
- return Math.max(0, effectiveMinimum - worked);
108
- }
109
- //# sourceMappingURL=ba.payout.workshop.days.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ba.payout.workshop.days.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/ba.payout.workshop.days.ts"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- /**
2
- * Indian financial year helpers, in IST.
3
- *
4
- * A financial year runs 1 April 00:00:00.000 IST to 31 March 23:59:59.999 IST.
5
- * Every boundary here is an IST boundary expressed as a UTC instant, because
6
- * that is how the database stores time: TimePeriod.startDate for September 2026
7
- * is 2026-08-31T18:30:00Z, i.e. 1 September 00:00 IST. Deriving the month with
8
- * plain `getMonth()` on the server's local clock would put every payout period
9
- * that starts at 18:30 UTC into the previous month on any machine running UTC —
10
- * a whole column of the RM schedule shifted by one.
11
- *
12
- * Written for AD-3098 (BA Retention Money schedule) and deliberately kept free
13
- * of anything RM-specific so AD-3097 (Security Deposit schedule), which has the
14
- * same April–March, one-column-group-per-month shape, can use it unchanged.
15
- */
16
- /** 1 April 00:00:00.000 IST of `startYear`, as a UTC instant. */
17
- export declare function financialYearStart(startYear: number): Date;
18
- /** 31 March 23:59:59.999 IST of `startYear + 1`, as a UTC instant. */
19
- export declare function financialYearEnd(startYear: number): Date;
20
- /**
21
- * The financial year's bounds as plain IST calendar dates, 'YYYY-MM-DD'.
22
- *
23
- * Preferred over the Date forms whenever the other side of the comparison also
24
- * came out of Postgres as an IST calendar day, because string comparison of
25
- * 'YYYY-MM-DD' cannot be knocked off by the process timezone. `timestamp
26
- * without time zone` columns — which is what every contract date in this schema
27
- * is — are parsed by node-postgres in the SERVER's local zone, so the same row
28
- * yields a different instant on a UTC box than on an IST laptop.
29
- */
30
- export declare function financialYearStartDay(startYear: number): string;
31
- export declare function financialYearEndDay(startYear: number): string;
32
- /**
33
- * The financial year that contains `d`, identified by its opening calendar
34
- * year: 2026 means FY 2026-27 (Apr 2026 – Mar 2027).
35
- *
36
- * Takes ANY instant inside the year rather than requiring the caller to pass
37
- * 1 April, so a report can be re-run from a stored request payload without the
38
- * caller having to remember which end of the range was canonical.
39
- */
40
- export declare function resolveFinancialYearStartYear(d: Date | string): number;
41
- /** e.g. startYear 2026 -> '2026-27'. */
42
- export declare function financialYearLabel(startYear: number): string;
43
- export interface FinancialYearMonth {
44
- /** 0-based position in the financial year: 0 = April, 11 = March. */
45
- index: number;
46
- /** Calendar year of this month (2027 for the March of FY 2026-27). */
47
- year: number;
48
- /** 0-based calendar month, as `Date.getUTCMonth()` returns it. */
49
- month: number;
50
- /** 'Apr 26' — the label the RM/SD schedule column groups are titled with. */
51
- label: string;
52
- /**
53
- * 'YYYY-MM'. Matches what `to_char(ts + interval '5 hours 30 minutes',
54
- * 'YYYY-MM')` produces in Postgres, so a month can be bucketed in SQL and
55
- * looked up here without either side parsing a timestamp in Node.
56
- */
57
- key: string;
58
- /** First instant of the month, 00:00:00.000 IST as a UTC instant. */
59
- startUTC: Date;
60
- /** Last instant of the month, 23:59:59.999 IST as a UTC instant. */
61
- endUTC: Date;
62
- }
63
- /**
64
- * The twelve months of a financial year in order, April first.
65
- */
66
- export declare function financialYearMonths(startYear: number): FinancialYearMonth[];
67
- /**
68
- * Which financial-year month `d` falls in, as a 0-based index (0 = April), or
69
- * -1 when it falls outside the year entirely.
70
- *
71
- * Accepts either an instant (TimePeriod.startDate, a UTC timestamp) or a plain
72
- * 'YYYY-MM-DD' calendar date (rvRefundDate, a Postgres `date`). A calendar date
73
- * has no timezone at all, so it is read as the IST day it names — parsing it as
74
- * a UTC instant and then adding the IST offset would move 1 April to 1 April
75
- * 05:30 IST, which is still 1 April, but 31 March would move to 31 March 05:30
76
- * and stay correct too. The branch exists so the intent is not accidental.
77
- */
78
- export declare function financialYearMonthIndex(d: Date | string | null | undefined, startYear: number): number;
79
- /**
80
- * True when `d` lands strictly before 1 April 00:00 IST of the financial year —
81
- * i.e. it belongs to the opening balance rather than to any month column.
82
- */
83
- export declare function isBeforeFinancialYear(d: Date | string | null | undefined, startYear: number): boolean;