@dakkitor/api-contracts 1.1.153 → 1.4.0

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 (340) hide show
  1. package/dist/abilities/abilities.contract.d.ts +53 -1
  2. package/dist/abilities/abilities.contract.d.ts.map +1 -1
  3. package/dist/abilities/abilities.contract.js +92 -1
  4. package/dist/abilities/abilities.contract.spec.d.ts +2 -0
  5. package/dist/abilities/abilities.contract.spec.d.ts.map +1 -0
  6. package/dist/abilities/abilities.contract.spec.js +145 -0
  7. package/dist/abilities/admin-dashboard.abilities.test.d.ts +2 -0
  8. package/dist/abilities/admin-dashboard.abilities.test.d.ts.map +1 -0
  9. package/dist/abilities/admin-dashboard.abilities.test.js +33 -0
  10. package/dist/abilities/admin.abilities.json +19 -0
  11. package/dist/abilities/bot.abilities.json +13 -4
  12. package/dist/abilities/first-agent.abilities.json +317 -70
  13. package/dist/abilities/interconnection.abilities.json +75 -0
  14. package/dist/abilities/kpi.abilities.json +68 -0
  15. package/dist/abilities/office-manager.abilities.json +111 -0
  16. package/dist/abilities/second-agent.abilities.json +417 -43
  17. package/dist/abilities/team-leads.json +71 -6
  18. package/dist/abilities/worker-curator.abilities.json +233 -0
  19. package/dist/actives/actives.contract.d.ts +19379 -23651
  20. package/dist/actives/actives.contract.d.ts.map +1 -1
  21. package/dist/actives/actives.contract.js +517 -114
  22. package/dist/agent-client-links/agent-client-links.contract.d.ts +1431 -291
  23. package/dist/agent-client-links/agent-client-links.contract.d.ts.map +1 -1
  24. package/dist/auth/auth.contract.d.ts +1050 -81
  25. package/dist/auth/auth.contract.d.ts.map +1 -1
  26. package/dist/auth/auth.contract.js +115 -3
  27. package/dist/bookings/booking-worker-summary.spec.d.ts +2 -0
  28. package/dist/bookings/booking-worker-summary.spec.d.ts.map +1 -0
  29. package/dist/bookings/booking-worker-summary.spec.js +25 -0
  30. package/dist/bookings/bookings.contract.d.ts +20643 -26117
  31. package/dist/bookings/bookings.contract.d.ts.map +1 -1
  32. package/dist/bookings/bookings.contract.js +383 -91
  33. package/dist/bookings/bookings.contract.spec.d.ts +2 -0
  34. package/dist/bookings/bookings.contract.spec.d.ts.map +1 -0
  35. package/dist/bookings/bookings.contract.spec.js +11 -0
  36. package/dist/bookings/job-lock.spec.d.ts +2 -0
  37. package/dist/bookings/job-lock.spec.d.ts.map +1 -0
  38. package/dist/bookings/job-lock.spec.js +56 -0
  39. package/dist/bot-parse-cache/bot-parse-cache.contract.d.ts +232 -0
  40. package/dist/bot-parse-cache/bot-parse-cache.contract.d.ts.map +1 -0
  41. package/dist/bot-parse-cache/bot-parse-cache.contract.js +64 -0
  42. package/dist/call-history/call-history.contract.d.ts +1336 -767
  43. package/dist/call-history/call-history.contract.d.ts.map +1 -1
  44. package/dist/call-history/call-history.contract.js +86 -10
  45. package/dist/calls-feed/calls-feed.contract.d.ts +417 -0
  46. package/dist/calls-feed/calls-feed.contract.d.ts.map +1 -0
  47. package/dist/calls-feed/calls-feed.contract.js +32 -0
  48. package/dist/client-contacts/client-contacts.contract.d.ts +410 -226
  49. package/dist/client-contacts/client-contacts.contract.d.ts.map +1 -1
  50. package/dist/client-contacts/client-contacts.contract.js +35 -4
  51. package/dist/clients/clients.contract.d.ts +227 -73
  52. package/dist/clients/clients.contract.d.ts.map +1 -1
  53. package/dist/clients/clients.contract.js +45 -21
  54. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +2908 -1834
  55. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts.map +1 -1
  56. package/dist/collaboration-checkings/collaboration-checkings.contract.js +14 -9
  57. package/dist/collaborations/collaborations.contract.d.ts +2676 -1409
  58. package/dist/collaborations/collaborations.contract.d.ts.map +1 -1
  59. package/dist/collaborations/collaborations.contract.js +33 -9
  60. package/dist/common/call-rating.schema.d.ts.map +1 -1
  61. package/dist/common/call-rating.schema.js +4 -2
  62. package/dist/common/common-schemas.d.ts +59 -11
  63. package/dist/common/common-schemas.d.ts.map +1 -1
  64. package/dist/common/common-schemas.js +55 -29
  65. package/dist/common/error-schemas.d.ts +2 -2
  66. package/dist/common/pagination-query.schema.d.ts +13 -2
  67. package/dist/common/pagination-query.schema.d.ts.map +1 -1
  68. package/dist/common/pagination-query.schema.js +21 -2
  69. package/dist/common/pagination-query.schema.spec.d.ts +2 -0
  70. package/dist/common/pagination-query.schema.spec.d.ts.map +1 -0
  71. package/dist/common/pagination-query.schema.spec.js +53 -0
  72. package/dist/companies/companies.contract.d.ts +53 -28
  73. package/dist/companies/companies.contract.d.ts.map +1 -1
  74. package/dist/companies/companies.contract.js +11 -10
  75. package/dist/crews/crews.contract.d.ts +1010 -196
  76. package/dist/crews/crews.contract.d.ts.map +1 -1
  77. package/dist/crews/crews.contract.js +98 -17
  78. package/dist/crews/crews.contract.spec.d.ts +2 -0
  79. package/dist/crews/crews.contract.spec.d.ts.map +1 -0
  80. package/dist/crews/crews.contract.spec.js +67 -0
  81. package/dist/cron-executions/cron-executions.contract.d.ts +988 -59
  82. package/dist/cron-executions/cron-executions.contract.d.ts.map +1 -1
  83. package/dist/cron-executions/cron-executions.contract.js +127 -7
  84. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.d.ts +2 -0
  85. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.d.ts.map +1 -0
  86. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.js +40 -0
  87. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.d.ts +2 -0
  88. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.d.ts.map +1 -0
  89. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.js +16 -0
  90. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts +21650 -0
  91. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts.map +1 -0
  92. package/dist/curated-worker-leads/candidate-coordination.contract.js +921 -0
  93. package/dist/curated-worker-leads/candidate-coordination.contract.spec.d.ts +2 -0
  94. package/dist/curated-worker-leads/candidate-coordination.contract.spec.d.ts.map +1 -0
  95. package/dist/curated-worker-leads/candidate-coordination.contract.spec.js +51 -0
  96. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts +2364 -0
  97. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts.map +1 -0
  98. package/dist/curated-worker-leads/candidate-edit-session.contract.js +173 -0
  99. package/dist/curated-worker-leads/consent-queue.contract.d.ts +4497 -0
  100. package/dist/curated-worker-leads/consent-queue.contract.d.ts.map +1 -0
  101. package/dist/curated-worker-leads/consent-queue.contract.js +201 -0
  102. package/dist/curated-worker-leads/contact-history.spec.d.ts +2 -0
  103. package/dist/curated-worker-leads/contact-history.spec.d.ts.map +1 -0
  104. package/dist/curated-worker-leads/contact-history.spec.js +88 -0
  105. package/dist/curated-worker-leads/contact-session.contract.spec.d.ts +2 -0
  106. package/dist/curated-worker-leads/contact-session.contract.spec.d.ts.map +1 -0
  107. package/dist/curated-worker-leads/contact-session.contract.spec.js +315 -0
  108. package/dist/curated-worker-leads/curated-worker-lead-config.contract.d.ts +489 -0
  109. package/dist/curated-worker-leads/curated-worker-lead-config.contract.d.ts.map +1 -0
  110. package/dist/curated-worker-leads/curated-worker-lead-config.contract.js +88 -0
  111. package/dist/curated-worker-leads/curated-worker-leads.contract.d.ts +135 -0
  112. package/dist/curated-worker-leads/curated-worker-leads.contract.d.ts.map +1 -0
  113. package/dist/curated-worker-leads/curated-worker-leads.contract.js +32 -0
  114. package/dist/curated-worker-leads/job-candidate-cards.spec.d.ts +2 -0
  115. package/dist/curated-worker-leads/job-candidate-cards.spec.d.ts.map +1 -0
  116. package/dist/curated-worker-leads/job-candidate-cards.spec.js +157 -0
  117. package/dist/curated-worker-leads/job-candidates.spec.d.ts +2 -0
  118. package/dist/curated-worker-leads/job-candidates.spec.d.ts.map +1 -0
  119. package/dist/curated-worker-leads/job-candidates.spec.js +140 -0
  120. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.d.ts +2 -0
  121. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.d.ts.map +1 -0
  122. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.js +19 -0
  123. package/dist/curated-worker-leads/jobs-tab.contract.d.ts +18365 -0
  124. package/dist/curated-worker-leads/jobs-tab.contract.d.ts.map +1 -0
  125. package/dist/curated-worker-leads/jobs-tab.contract.js +642 -0
  126. package/dist/curated-worker-leads/lead-agent-area.contract.d.ts +348 -0
  127. package/dist/curated-worker-leads/lead-agent-area.contract.d.ts.map +1 -0
  128. package/dist/curated-worker-leads/lead-agent-area.contract.js +51 -0
  129. package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts +1116 -0
  130. package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts.map +1 -0
  131. package/dist/curated-worker-leads/owned-jobs-tab.contract.js +93 -0
  132. package/dist/curated-workers/curated-filter-additions.spec.d.ts +2 -0
  133. package/dist/curated-workers/curated-filter-additions.spec.d.ts.map +1 -0
  134. package/dist/curated-workers/curated-filter-additions.spec.js +17 -0
  135. package/dist/curated-workers/curated-job-seeking.spec.d.ts +2 -0
  136. package/dist/curated-workers/curated-job-seeking.spec.d.ts.map +1 -0
  137. package/dist/curated-workers/curated-job-seeking.spec.js +53 -0
  138. package/dist/curated-workers/curated-workers-id-documents.spec.d.ts +2 -0
  139. package/dist/curated-workers/curated-workers-id-documents.spec.d.ts.map +1 -0
  140. package/dist/curated-workers/curated-workers-id-documents.spec.js +38 -0
  141. package/dist/curated-workers/curated-workers.contract.d.ts +6160 -1906
  142. package/dist/curated-workers/curated-workers.contract.d.ts.map +1 -1
  143. package/dist/curated-workers/curated-workers.contract.js +333 -51
  144. package/dist/dashboards/agent-daily-metrics.contract.d.ts +10 -10
  145. package/dist/dashboards/agent-daily-metrics.contract.js +1 -1
  146. package/dist/dashboards/dashboard-widgets.contract.d.ts +3800 -496
  147. package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
  148. package/dist/dashboards/dashboard-widgets.contract.js +527 -29
  149. package/dist/dashboards/dashboard.contract.d.ts +8 -8
  150. package/dist/document-intake/document-intake.contract.d.ts +3132 -0
  151. package/dist/document-intake/document-intake.contract.d.ts.map +1 -0
  152. package/dist/document-intake/document-intake.contract.js +418 -0
  153. package/dist/export-jobs/export-jobs.contract.d.ts +3918 -0
  154. package/dist/export-jobs/export-jobs.contract.d.ts.map +1 -0
  155. package/dist/export-jobs/export-jobs.contract.js +240 -0
  156. package/dist/exports-events/exports-events.schemas.d.ts +90 -0
  157. package/dist/exports-events/exports-events.schemas.d.ts.map +1 -0
  158. package/dist/exports-events/exports-events.schemas.js +56 -0
  159. package/dist/files/files.contract.d.ts +133 -126
  160. package/dist/files/files.contract.d.ts.map +1 -1
  161. package/dist/files/files.contract.js +8 -0
  162. package/dist/health/health.contract.d.ts +4 -4
  163. package/dist/index.d.ts +82 -0
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js +87 -1
  166. package/dist/interactions/interactions.contract.d.ts +162 -0
  167. package/dist/interactions/interactions.contract.d.ts.map +1 -0
  168. package/dist/interactions/interactions.contract.js +42 -0
  169. package/dist/job-clusters/job-clusters.contract.d.ts +1584 -0
  170. package/dist/job-clusters/job-clusters.contract.d.ts.map +1 -0
  171. package/dist/job-clusters/job-clusters.contract.js +133 -0
  172. package/dist/jobs/jobs.contract.d.ts +16517 -8495
  173. package/dist/jobs/jobs.contract.d.ts.map +1 -1
  174. package/dist/jobs/jobs.contract.js +394 -190
  175. package/dist/jobs/jobs.contract.spec.d.ts +2 -0
  176. package/dist/jobs/jobs.contract.spec.d.ts.map +1 -0
  177. package/dist/jobs/jobs.contract.spec.js +70 -0
  178. package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +75 -75
  179. package/dist/lead-assignments/lead-assignments.contract.d.ts +2933 -1122
  180. package/dist/lead-assignments/lead-assignments.contract.d.ts.map +1 -1
  181. package/dist/lead-assignments/lead-assignments.contract.js +29 -7
  182. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +328 -64
  183. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts.map +1 -1
  184. package/dist/lead-distribution/agent-lead-distribution.contract.js +1 -1
  185. package/dist/lead-distribution/lead-distribution-config.contract.d.ts +31 -31
  186. package/dist/leads/leads.contract.d.ts +830 -368
  187. package/dist/leads/leads.contract.d.ts.map +1 -1
  188. package/dist/leads/leads.contract.js +106 -26
  189. package/dist/locations/locations.contract.d.ts +36 -36
  190. package/dist/notifications/notifications.contract.d.ts +1039 -0
  191. package/dist/notifications/notifications.contract.d.ts.map +1 -0
  192. package/dist/notifications/notifications.contract.js +110 -0
  193. package/dist/offices/offices.contract.d.ts +210 -60
  194. package/dist/offices/offices.contract.d.ts.map +1 -1
  195. package/dist/offices/offices.contract.js +18 -4
  196. package/dist/outreach/__tests__/outreach-claim.test.d.ts +2 -0
  197. package/dist/outreach/__tests__/outreach-claim.test.d.ts.map +1 -0
  198. package/dist/outreach/__tests__/outreach-claim.test.js +97 -0
  199. package/dist/outreach/__tests__/outreach-confirm-release.test.d.ts +2 -0
  200. package/dist/outreach/__tests__/outreach-confirm-release.test.d.ts.map +1 -0
  201. package/dist/outreach/__tests__/outreach-confirm-release.test.js +98 -0
  202. package/dist/outreach/__tests__/outreach-routes.test.d.ts +2 -0
  203. package/dist/outreach/__tests__/outreach-routes.test.d.ts.map +1 -0
  204. package/dist/outreach/__tests__/outreach-routes.test.js +57 -0
  205. package/dist/outreach/__tests__/outreach.schemas.test.d.ts +2 -0
  206. package/dist/outreach/__tests__/outreach.schemas.test.d.ts.map +1 -0
  207. package/dist/outreach/__tests__/outreach.schemas.test.js +140 -0
  208. package/dist/outreach/outreach.contract.d.ts +809 -0
  209. package/dist/outreach/outreach.contract.d.ts.map +1 -0
  210. package/dist/outreach/outreach.contract.js +195 -0
  211. package/dist/outreach/outreach.schemas.d.ts +113 -0
  212. package/dist/outreach/outreach.schemas.d.ts.map +1 -0
  213. package/dist/outreach/outreach.schemas.js +132 -0
  214. package/dist/own-research/own-research.contract.d.ts +1356 -552
  215. package/dist/own-research/own-research.contract.d.ts.map +1 -1
  216. package/dist/own-research/own-research.contract.js +14 -3
  217. package/dist/postcodes/postcodes.contract.d.ts +16 -16
  218. package/dist/proofs/proof-category.enum.d.ts +4 -0
  219. package/dist/proofs/proof-category.enum.d.ts.map +1 -0
  220. package/dist/proofs/proof-category.enum.js +5 -0
  221. package/dist/proofs/proof-entity-type.enum.d.ts +4 -0
  222. package/dist/proofs/proof-entity-type.enum.d.ts.map +1 -0
  223. package/dist/proofs/proof-entity-type.enum.js +5 -0
  224. package/dist/proofs/proof-type.enum.d.ts +28 -0
  225. package/dist/proofs/proof-type.enum.d.ts.map +1 -0
  226. package/dist/proofs/proof-type.enum.js +14 -0
  227. package/dist/proofs/proofs.contract.d.ts +3009 -0
  228. package/dist/proofs/proofs.contract.d.ts.map +1 -0
  229. package/dist/proofs/proofs.contract.js +92 -0
  230. package/dist/proofs/proofs.dtos.d.ts +1319 -0
  231. package/dist/proofs/proofs.dtos.d.ts.map +1 -0
  232. package/dist/proofs/proofs.dtos.js +178 -0
  233. package/dist/qualifications/qualifications.contract.d.ts +94 -94
  234. package/dist/realtime/data-changed.d.ts +21 -0
  235. package/dist/realtime/data-changed.d.ts.map +1 -0
  236. package/dist/realtime/data-changed.js +37 -0
  237. package/dist/shared/booking-history.schema.d.ts +27 -0
  238. package/dist/shared/booking-history.schema.d.ts.map +1 -0
  239. package/dist/shared/booking-history.schema.js +22 -0
  240. package/dist/shared/booking-history.spec.d.ts +2 -0
  241. package/dist/shared/booking-history.spec.d.ts.map +1 -0
  242. package/dist/shared/booking-history.spec.js +44 -0
  243. package/dist/shared/contact-suppressions.contract.d.ts +22 -0
  244. package/dist/shared/contact-suppressions.contract.d.ts.map +1 -0
  245. package/dist/shared/contact-suppressions.contract.js +13 -0
  246. package/dist/shared/live-booking.schema.d.ts +57 -0
  247. package/dist/shared/live-booking.schema.d.ts.map +1 -0
  248. package/dist/shared/live-booking.schema.js +34 -0
  249. package/dist/shared/summary-schemas.d.ts +218 -0
  250. package/dist/shared/summary-schemas.d.ts.map +1 -0
  251. package/dist/shared/summary-schemas.js +56 -0
  252. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.d.ts +2 -0
  253. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.d.ts.map +1 -0
  254. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.js +20 -0
  255. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.d.ts +2 -0
  256. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.d.ts.map +1 -0
  257. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.js +41 -0
  258. package/dist/sheets-sync/sheets-sync-events.schemas.d.ts +43 -0
  259. package/dist/sheets-sync/sheets-sync-events.schemas.d.ts.map +1 -0
  260. package/dist/sheets-sync/sheets-sync-events.schemas.js +29 -0
  261. package/dist/sheets-sync/sheets-sync.contract.d.ts +7258 -0
  262. package/dist/sheets-sync/sheets-sync.contract.d.ts.map +1 -0
  263. package/dist/sheets-sync/sheets-sync.contract.js +323 -0
  264. package/dist/telegram/telegram.contract.d.ts +727 -0
  265. package/dist/telegram/telegram.contract.d.ts.map +1 -0
  266. package/dist/telegram/telegram.contract.js +75 -0
  267. package/dist/trades/trade-rate-assessment.d.ts +18 -0
  268. package/dist/trades/trade-rate-assessment.d.ts.map +1 -0
  269. package/dist/trades/trade-rate-assessment.js +46 -0
  270. package/dist/trades/trade-rate-assessment.spec.d.ts +2 -0
  271. package/dist/trades/trade-rate-assessment.spec.d.ts.map +1 -0
  272. package/dist/trades/trade-rate-assessment.spec.js +223 -0
  273. package/dist/trades/trades.contract.d.ts +111 -0
  274. package/dist/trades/trades.contract.d.ts.map +1 -1
  275. package/dist/trades/trades.contract.js +49 -1
  276. package/dist/trades/trades.contract.spec.d.ts +2 -0
  277. package/dist/trades/trades.contract.spec.d.ts.map +1 -0
  278. package/dist/trades/trades.contract.spec.js +173 -0
  279. package/dist/user-access-grants/build-user-access-grant-rules.d.ts +10 -0
  280. package/dist/user-access-grants/build-user-access-grant-rules.d.ts.map +1 -0
  281. package/dist/user-access-grants/build-user-access-grant-rules.js +69 -0
  282. package/dist/user-access-grants/build-user-access-grant-rules.spec.d.ts +2 -0
  283. package/dist/user-access-grants/build-user-access-grant-rules.spec.d.ts.map +1 -0
  284. package/dist/user-access-grants/build-user-access-grant-rules.spec.js +77 -0
  285. package/dist/user-access-grants/user-access-grant-templates.json +454 -0
  286. package/dist/user-access-grants/user-access-grants.contract.d.ts +3886 -0
  287. package/dist/user-access-grants/user-access-grants.contract.d.ts.map +1 -0
  288. package/dist/user-access-grants/user-access-grants.contract.js +189 -0
  289. package/dist/user-access-grants/user-access-grants.contract.spec.d.ts +2 -0
  290. package/dist/user-access-grants/user-access-grants.contract.spec.d.ts.map +1 -0
  291. package/dist/user-access-grants/user-access-grants.contract.spec.js +149 -0
  292. package/dist/users/users.contract.d.ts +1959 -349
  293. package/dist/users/users.contract.d.ts.map +1 -1
  294. package/dist/users/users.contract.js +222 -37
  295. package/dist/users/users.contract.spec.d.ts +2 -0
  296. package/dist/users/users.contract.spec.d.ts.map +1 -0
  297. package/dist/users/users.contract.spec.js +103 -0
  298. package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts +4609 -0
  299. package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts.map +1 -0
  300. package/dist/worker-identity-cases/worker-identity-cases.contract.js +409 -0
  301. package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts +1511 -0
  302. package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts.map +1 -0
  303. package/dist/worker-merge-proposals/worker-merge-proposals.contract.js +150 -0
  304. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts +1106 -0
  305. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts.map +1 -0
  306. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.js +85 -0
  307. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.d.ts +2 -0
  308. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.d.ts.map +1 -0
  309. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.js +216 -0
  310. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.d.ts +453 -0
  311. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.d.ts.map +1 -0
  312. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.js +109 -0
  313. package/dist/workers/do-not-contact.contract.d.ts +46 -0
  314. package/dist/workers/do-not-contact.contract.d.ts.map +1 -0
  315. package/dist/workers/do-not-contact.contract.js +41 -0
  316. package/dist/workers/do-not-contact.contract.spec.d.ts +2 -0
  317. package/dist/workers/do-not-contact.contract.spec.d.ts.map +1 -0
  318. package/dist/workers/do-not-contact.contract.spec.js +47 -0
  319. package/dist/workers/duplicate-group-worker.spec.d.ts +2 -0
  320. package/dist/workers/duplicate-group-worker.spec.d.ts.map +1 -0
  321. package/dist/workers/duplicate-group-worker.spec.js +34 -0
  322. package/dist/workers/filter-exact-flags.spec.d.ts +2 -0
  323. package/dist/workers/filter-exact-flags.spec.d.ts.map +1 -0
  324. package/dist/workers/filter-exact-flags.spec.js +37 -0
  325. package/dist/workers/worker-source-attribution.contract.spec.d.ts +2 -0
  326. package/dist/workers/worker-source-attribution.contract.spec.d.ts.map +1 -0
  327. package/dist/workers/worker-source-attribution.contract.spec.js +442 -0
  328. package/dist/workers/worker-source.spec.d.ts +2 -0
  329. package/dist/workers/worker-source.spec.d.ts.map +1 -0
  330. package/dist/workers/worker-source.spec.js +13 -0
  331. package/dist/workers/worker-status-facets.spec.d.ts +2 -0
  332. package/dist/workers/worker-status-facets.spec.d.ts.map +1 -0
  333. package/dist/workers/worker-status-facets.spec.js +34 -0
  334. package/dist/workers/workers.contract.d.ts +19534 -5969
  335. package/dist/workers/workers.contract.d.ts.map +1 -1
  336. package/dist/workers/workers.contract.js +1096 -113
  337. package/dist/workers/workers.contract.spec.d.ts +2 -0
  338. package/dist/workers/workers.contract.spec.d.ts.map +1 -0
  339. package/dist/workers/workers.contract.spec.js +31 -0
  340. package/package.json +5 -4
@@ -0,0 +1,4497 @@
1
+ import { z } from 'zod';
2
+ export declare const ConsentLeadSchema: z.ZodObject<{
3
+ assignmentId: z.ZodString;
4
+ curatedWorkerId: z.ZodString;
5
+ workerName: z.ZodString;
6
+ phoneNumber: z.ZodNullable<z.ZodString>;
7
+ phoneId: z.ZodNullable<z.ZodString>;
8
+ postcode: z.ZodNullable<z.ZodString>;
9
+ matchingJobCount: z.ZodNumber;
10
+ nearestJobDistanceKm: z.ZodNullable<z.ZodNumber>;
11
+ assignedAt: z.ZodString;
12
+ }, "strip", z.ZodTypeAny, {
13
+ curatedWorkerId: string;
14
+ postcode: string | null;
15
+ phoneNumber: string | null;
16
+ workerName: string;
17
+ assignmentId: string;
18
+ phoneId: string | null;
19
+ matchingJobCount: number;
20
+ nearestJobDistanceKm: number | null;
21
+ assignedAt: string;
22
+ }, {
23
+ curatedWorkerId: string;
24
+ postcode: string | null;
25
+ phoneNumber: string | null;
26
+ workerName: string;
27
+ assignmentId: string;
28
+ phoneId: string | null;
29
+ matchingJobCount: number;
30
+ nearestJobDistanceKm: number | null;
31
+ assignedAt: string;
32
+ }>;
33
+ export type ConsentLead = z.infer<typeof ConsentLeadSchema>;
34
+ export declare const DeclineConsentSchema: z.ZodObject<{
35
+ reason: z.ZodEnum<["NOT_INTERESTED", "ALREADY_WORKING", "OUT_OF_COUNTRY", "WRONG_NUMBER", "NO_ANSWER", "OTHER"]>;
36
+ doNotContactDays: z.ZodNumber;
37
+ }, "strip", z.ZodTypeAny, {
38
+ reason: "NOT_INTERESTED" | "OTHER" | "NO_ANSWER" | "ALREADY_WORKING" | "OUT_OF_COUNTRY" | "WRONG_NUMBER";
39
+ doNotContactDays: number;
40
+ }, {
41
+ reason: "NOT_INTERESTED" | "OTHER" | "NO_ANSWER" | "ALREADY_WORKING" | "OUT_OF_COUNTRY" | "WRONG_NUMBER";
42
+ doNotContactDays: number;
43
+ }>;
44
+ export type DeclineConsent = z.infer<typeof DeclineConsentSchema>;
45
+ export declare const ConsentQueueStatusSchema: z.ZodObject<{
46
+ agentId: z.ZodString;
47
+ nextAvailable: z.ZodBoolean;
48
+ }, "strip", z.ZodTypeAny, {
49
+ agentId: string;
50
+ nextAvailable: boolean;
51
+ }, {
52
+ agentId: string;
53
+ nextAvailable: boolean;
54
+ }>;
55
+ export type ConsentQueueStatus = z.infer<typeof ConsentQueueStatusSchema>;
56
+ export declare const ConsentAdvanceResponseSchema: z.ZodObject<{
57
+ next: z.ZodNullable<z.ZodObject<{
58
+ assignmentId: z.ZodString;
59
+ curatedWorkerId: z.ZodString;
60
+ workerName: z.ZodString;
61
+ phoneNumber: z.ZodNullable<z.ZodString>;
62
+ phoneId: z.ZodNullable<z.ZodString>;
63
+ postcode: z.ZodNullable<z.ZodString>;
64
+ matchingJobCount: z.ZodNumber;
65
+ nearestJobDistanceKm: z.ZodNullable<z.ZodNumber>;
66
+ assignedAt: z.ZodString;
67
+ }, "strip", z.ZodTypeAny, {
68
+ curatedWorkerId: string;
69
+ postcode: string | null;
70
+ phoneNumber: string | null;
71
+ workerName: string;
72
+ assignmentId: string;
73
+ phoneId: string | null;
74
+ matchingJobCount: number;
75
+ nearestJobDistanceKm: number | null;
76
+ assignedAt: string;
77
+ }, {
78
+ curatedWorkerId: string;
79
+ postcode: string | null;
80
+ phoneNumber: string | null;
81
+ workerName: string;
82
+ assignmentId: string;
83
+ phoneId: string | null;
84
+ matchingJobCount: number;
85
+ nearestJobDistanceKm: number | null;
86
+ assignedAt: string;
87
+ }>>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ next: {
90
+ curatedWorkerId: string;
91
+ postcode: string | null;
92
+ phoneNumber: string | null;
93
+ workerName: string;
94
+ assignmentId: string;
95
+ phoneId: string | null;
96
+ matchingJobCount: number;
97
+ nearestJobDistanceKm: number | null;
98
+ assignedAt: string;
99
+ } | null;
100
+ }, {
101
+ next: {
102
+ curatedWorkerId: string;
103
+ postcode: string | null;
104
+ phoneNumber: string | null;
105
+ workerName: string;
106
+ assignmentId: string;
107
+ phoneId: string | null;
108
+ matchingJobCount: number;
109
+ nearestJobDistanceKm: number | null;
110
+ assignedAt: string;
111
+ } | null;
112
+ }>;
113
+ export type ConsentAdvanceResponse = z.infer<typeof ConsentAdvanceResponseSchema>;
114
+ export declare const ContactChannelSchema: z.ZodEnum<["WHATSAPP", "PHONE_CALL"]>;
115
+ export type ContactChannel = z.infer<typeof ContactChannelSchema>;
116
+ export declare const MarkPhoneInvalidSchema: z.ZodObject<{
117
+ channel: z.ZodEnum<["WHATSAPP", "PHONE_CALL"]>;
118
+ curatedWorkerPhoneId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ channel: "WHATSAPP" | "PHONE_CALL";
121
+ curatedWorkerPhoneId?: string | null | undefined;
122
+ }, {
123
+ channel: "WHATSAPP" | "PHONE_CALL";
124
+ curatedWorkerPhoneId?: string | null | undefined;
125
+ }>;
126
+ export type MarkPhoneInvalid = z.infer<typeof MarkPhoneInvalidSchema>;
127
+ export declare const ConsentJobsResponseSchema: z.ZodObject<{
128
+ worker: z.ZodObject<{
129
+ id: z.ZodString;
130
+ firstName: z.ZodString;
131
+ lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
132
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
133
+ nino: z.ZodOptional<z.ZodNullable<z.ZodString>>;
134
+ dateOfBirth: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
135
+ bio: z.ZodOptional<z.ZodNullable<z.ZodString>>;
136
+ englishLevel: z.ZodOptional<z.ZodNullable<z.ZodEnum<["NONE", "BASIC", "INTERMEDIATE", "ADVANCED", "NATIVE"]>>>;
137
+ nationality: z.ZodOptional<z.ZodNullable<z.ZodEnum<["AFGHAN", "ALBANIAN", "ALGERIAN", "AMERICAN", "ANDORRAN", "ANGOLAN", "ANTIGUANS", "ARGENTINEAN", "ARMENIAN", "AUSTRALIAN", "AUSTRIAN", "AZERBAIJANI", "BAHAMIAN", "BAHRAINI", "BANGLADESHI", "BARBADIAN", "BARBUDANS", "BELARUSIAN", "BELGIAN", "BELIZEAN", "BENINESE", "BHUTANESE", "BOLIVIAN", "BOSNIAN", "BRAZILIAN", "BRITISH", "BRUNEIAN", "BULGARIAN", "BURKINABE", "BURMESE", "BURUNDIAN", "CAMBODIAN", "CAMEROONIAN", "CANADIAN", "CAPE_VERDEAN", "CENTRAL_AFRICAN", "CHADIAN", "CHILEAN", "CHINESE", "COLOMBIAN", "COMORAN", "CONGOLESE", "COSTA_RICAN", "CROATIAN", "CUBAN", "CYPRIOT", "CZECH", "DANISH", "DJIBOUTI", "DOMINICAN", "DUTCH", "EAST_TIMORESE", "ECUADOREAN", "EGYPTIAN", "EMIRIAN", "EQUATORIAL_GUINEAN", "ERITREAN", "ESTONIAN", "ETHIOPIAN", "FIJIAN", "FILIPINO", "FINNISH", "FRENCH", "GABONESE", "GAMBIAN", "GEORGIAN", "GERMAN", "GHANAIAN", "GREEK", "GRENADIAN", "GUATEMALAN", "GUINEA_BISSAUAN", "GUINEAN", "GUYANESE", "HAITIAN", "HERZEGOVINIAN", "HONDURAN", "HUNGARIAN", "ICELANDER", "INDIAN", "INDONESIAN", "IRANIAN", "IRAQI", "IRISH", "ISRAELI", "ITALIAN", "IVORIAN", "JAMAICAN", "JAPANESE", "JORDANIAN", "KAZAKHSTANI", "KENYAN", "KITTIAN_AND_NEVISIAN", "KUWAITI", "KYRGYZ", "LAOTIAN", "LATVIAN", "LEBANESE", "LIBERIAN", "LIBYAN", "LIECHTENSTEINER", "LITHUANIAN", "LUXEMBOURGER", "MACEDONIAN", "MALAGASY", "MALAWIAN", "MALAYSIAN", "MALDIVAN", "MALIAN", "MALTESE", "MARSHALLESE", "MAURITANIAN", "MAURITIAN", "MEXICAN", "MICRONESIAN", "MOLDOVAN", "MONACAN", "MONGOLIAN", "MOROCCAN", "MOSOTHO", "MOTSWANA", "MOZAMBICAN", "NAMIBIAN", "NAURUAN", "NEPALESE", "NEW_ZEALANDER", "NI_VANUATU", "NICARAGUAN", "NIGERIEN", "NIGERIAN", "NORTH_KOREAN", "NORTHERN_IRISH", "NORWEGIAN", "OMANI", "PAKISTANI", "PALAUAN", "PANAMANIAN", "PAPUA_NEW_GUINEAN", "PARAGUAYAN", "PERUVIAN", "POLISH", "PORTUGUESE", "QATARI", "ROMANIAN", "RUSSIAN", "RWANDAN", "SAINT_LUCIAN", "SALVADORAN", "SAMOAN", "SAN_MARINESE", "SAO_TOMEAN", "SAUDI", "SCOTTISH", "SENEGALESE", "SERBIAN", "SEYCHELLOIS", "SIERRA_LEONEAN", "SINGAPOREAN", "SLOVAKIAN", "SLOVENIAN", "SOLOMON_ISLANDER", "SOMALI", "SOUTH_AFRICAN", "SOUTH_KOREAN", "SOUTH_SUDANESE", "SPANISH", "SRI_LANKAN", "SUDANESE", "SURINAMER", "SWAZI", "SWEDISH", "SWISS", "SYRIAN", "TAIWANESE", "TAJIK", "TANZANIAN", "THAI", "TOGOLESE", "TONGAN", "TRINIDADIAN_OR_TOBAGONIAN", "TUNISIAN", "TURKISH", "TUVALUAN", "UGANDAN", "UKRAINIAN", "URUGUAYAN", "UZBEKISTANI", "VENEZUELAN", "VIETNAMESE", "WELSH", "YEMENITE", "ZAMBIAN", "ZIMBABWEAN"]>>>;
138
+ hasTools: z.ZodNullable<z.ZodBoolean>;
139
+ hasPpe: z.ZodNullable<z.ZodBoolean>;
140
+ bookingHistory: z.ZodOptional<z.ZodObject<{
141
+ workedTotal: z.ZodNumber;
142
+ workedByMe: z.ZodNumber;
143
+ noShowTotal: z.ZodNumber;
144
+ noShowByMe: z.ZodNumber;
145
+ }, "strip", z.ZodTypeAny, {
146
+ workedTotal: number;
147
+ workedByMe: number;
148
+ noShowTotal: number;
149
+ noShowByMe: number;
150
+ }, {
151
+ workedTotal: number;
152
+ workedByMe: number;
153
+ noShowTotal: number;
154
+ noShowByMe: number;
155
+ }>>;
156
+ transportation: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodObject<{
157
+ methods: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["OWN_CAR", "OWN_VAN", "MOTORCYCLE", "PUBLIC_TRANSPORT", "BICYCLE", "WALK"]>, "many">>>;
158
+ preferredMethod: z.ZodOptional<z.ZodNullable<z.ZodEnum<["OWN_CAR", "OWN_VAN", "MOTORCYCLE", "PUBLIC_TRANSPORT", "BICYCLE", "WALK"]>>>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
161
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
162
+ }, {
163
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
164
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
165
+ }>, {
166
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
167
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
168
+ }, {
169
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
170
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
171
+ }>>>;
172
+ location: z.ZodOptional<z.ZodNullable<z.ZodObject<{
173
+ address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
174
+ postcode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
175
+ county: z.ZodNullable<z.ZodOptional<z.ZodString>>;
176
+ adminDistrict: z.ZodNullable<z.ZodOptional<z.ZodString>>;
177
+ builtUpArea: z.ZodNullable<z.ZodOptional<z.ZodString>>;
178
+ postTown: z.ZodNullable<z.ZodOptional<z.ZodString>>;
179
+ areaCovered: z.ZodNullable<z.ZodOptional<z.ZodString>>;
180
+ latitude: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
181
+ longitude: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
182
+ }, "strip", z.ZodTypeAny, {
183
+ address?: string | null | undefined;
184
+ postcode?: string | null | undefined;
185
+ county?: string | null | undefined;
186
+ adminDistrict?: string | null | undefined;
187
+ builtUpArea?: string | null | undefined;
188
+ postTown?: string | null | undefined;
189
+ areaCovered?: string | null | undefined;
190
+ latitude?: number | null | undefined;
191
+ longitude?: number | null | undefined;
192
+ }, {
193
+ address?: string | null | undefined;
194
+ postcode?: string | null | undefined;
195
+ county?: string | null | undefined;
196
+ adminDistrict?: string | null | undefined;
197
+ builtUpArea?: string | null | undefined;
198
+ postTown?: string | null | undefined;
199
+ areaCovered?: string | null | undefined;
200
+ latitude?: number | null | undefined;
201
+ longitude?: number | null | undefined;
202
+ }>>>;
203
+ offerOpenness: z.ZodDefault<z.ZodEnum<["ACTIVELY_LOOKING", "OPEN", "NOT_INTERESTED"]>>;
204
+ offerOpennessSetAt: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
205
+ offerNote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
206
+ offerNoteUpdatedAt: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
207
+ offerSignalUpdatedById: z.ZodOptional<z.ZodNullable<z.ZodString>>;
208
+ offerSignalUpdatedByName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
209
+ shareCode: z.ZodOptional<z.ZodNullable<z.ZodObject<{
210
+ code: z.ZodEffects<z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>, string | null, string | null>;
211
+ expiryDate: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
212
+ fileId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
213
+ }, "strip", z.ZodTypeAny, {
214
+ code: string | null;
215
+ expiryDate?: string | null | undefined;
216
+ fileId?: string | null | undefined;
217
+ }, {
218
+ code: string | null;
219
+ expiryDate?: string | Date | null | undefined;
220
+ fileId?: string | null | undefined;
221
+ }>>>;
222
+ liveStatus: z.ZodOptional<z.ZodObject<{
223
+ booking: z.ZodOptional<z.ZodNullable<z.ZodEnum<["CANCELLED", "JOB_CANCELLED", "REFUSED_BY_CLIENT", "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY", "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE", "REFUSED_BY_FIRST_JOB_FILLED", "REFUSED_BY_FIRST_IGNORED_DENIED", "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE", "WAITING_FOR_CONFIRMATION", "CONFIRMED", "DIDNT_START_BECAUSE_OF_WORKER", "DIDNT_START_BECAUSE_OF_US", "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE", "DIDNT_START_BECAUSE_OF_AGENCY", "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS", "DIDNT_START_OVERBOOK_BY_CLIENT", "DIDNT_START_OVERBOOK_BY_US", "ANOTHER_SITUATION", "SPOKE_WITH_WORKER_IN_THE_MORNING", "ON_THE_WAY_TO_THE_SITE", "AT_THE_INDUCTION", "STARTED_THE_JOB", "COMPLETED"]>>>;
224
+ bookingId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
225
+ active: z.ZodOptional<z.ZodNullable<z.ZodObject<{
226
+ status: z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY", "OFF_SCHEDULE"]>;
227
+ }, "strip", z.ZodTypeAny, {
228
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
229
+ }, {
230
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
231
+ }>>>;
232
+ activeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
233
+ bookingAgent: z.ZodOptional<z.ZodNullable<z.ZodObject<{
234
+ id: z.ZodString;
235
+ firstName: z.ZodString;
236
+ lastName: z.ZodString;
237
+ }, "strip", z.ZodTypeAny, {
238
+ id: string;
239
+ firstName: string;
240
+ lastName: string;
241
+ }, {
242
+ id: string;
243
+ firstName: string;
244
+ lastName: string;
245
+ }>>>;
246
+ }, "strip", z.ZodTypeAny, {
247
+ bookingId?: string | null | undefined;
248
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
249
+ active?: {
250
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
251
+ } | null | undefined;
252
+ activeId?: string | null | undefined;
253
+ bookingAgent?: {
254
+ id: string;
255
+ firstName: string;
256
+ lastName: string;
257
+ } | null | undefined;
258
+ }, {
259
+ bookingId?: string | null | undefined;
260
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
261
+ active?: {
262
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
263
+ } | null | undefined;
264
+ activeId?: string | null | undefined;
265
+ bookingAgent?: {
266
+ id: string;
267
+ firstName: string;
268
+ lastName: string;
269
+ } | null | undefined;
270
+ }>>;
271
+ occupancyStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<["ACTIVE", "BOOKED"]>>>;
272
+ distanceKm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
273
+ workingUntil: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
274
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
275
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
276
+ blacklisted: z.ZodBoolean;
277
+ blacklistReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
278
+ suppression: z.ZodNullable<z.ZodObject<{
279
+ reason: z.ZodString;
280
+ note: z.ZodNullable<z.ZodString>;
281
+ until: z.ZodNullable<z.ZodString>;
282
+ setByName: z.ZodString;
283
+ setAt: z.ZodString;
284
+ }, "strip", z.ZodTypeAny, {
285
+ reason: string;
286
+ until: string | null;
287
+ note: string | null;
288
+ setByName: string;
289
+ setAt: string;
290
+ }, {
291
+ reason: string;
292
+ until: string | null;
293
+ note: string | null;
294
+ setByName: string;
295
+ setAt: string;
296
+ }>>;
297
+ trades: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
298
+ id: z.ZodString;
299
+ tradeId: z.ZodString;
300
+ mainTrade: z.ZodBoolean;
301
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
302
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ id: string;
305
+ createdAt: string;
306
+ updatedAt: string;
307
+ tradeId: string;
308
+ mainTrade: boolean;
309
+ }, {
310
+ id: string;
311
+ createdAt: string | Date;
312
+ updatedAt: string | Date;
313
+ tradeId: string;
314
+ mainTrade: boolean;
315
+ }>, "many">>>;
316
+ qualifications: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
317
+ id: z.ZodString;
318
+ proofDocumentFileId: z.ZodNullable<z.ZodString>;
319
+ issueDate: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
320
+ expiryDate: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
321
+ referenceNumber: z.ZodNullable<z.ZodString>;
322
+ qualificationId: z.ZodString;
323
+ qualificationTypeId: z.ZodNullable<z.ZodString>;
324
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
325
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
326
+ }, "strip", z.ZodTypeAny, {
327
+ id: string;
328
+ proofDocumentFileId: string | null;
329
+ referenceNumber: string | null;
330
+ qualificationId: string;
331
+ qualificationTypeId: string | null;
332
+ createdAt: string;
333
+ updatedAt: string;
334
+ issueDate?: string | null | undefined;
335
+ expiryDate?: string | null | undefined;
336
+ }, {
337
+ id: string;
338
+ proofDocumentFileId: string | null;
339
+ referenceNumber: string | null;
340
+ qualificationId: string;
341
+ qualificationTypeId: string | null;
342
+ createdAt: string | Date;
343
+ updatedAt: string | Date;
344
+ issueDate?: string | Date | null | undefined;
345
+ expiryDate?: string | Date | null | undefined;
346
+ }>, "many">>>;
347
+ phoneNumbers: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
348
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
349
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
350
+ } & {
351
+ id: z.ZodString;
352
+ phoneNumber: z.ZodString;
353
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
354
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
355
+ }, "strip", z.ZodTypeAny, {
356
+ id: string;
357
+ createdAt: string;
358
+ updatedAt: string;
359
+ phoneNumber: string;
360
+ isPrimary: boolean;
361
+ description?: string | null | undefined;
362
+ }, {
363
+ id: string;
364
+ createdAt: string | Date;
365
+ updatedAt: string | Date;
366
+ phoneNumber: string;
367
+ isPrimary?: boolean | undefined;
368
+ description?: string | null | undefined;
369
+ }>, "many">>>;
370
+ idDocuments: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
371
+ id: z.ZodString;
372
+ fileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
373
+ documentType: z.ZodOptional<z.ZodNullable<z.ZodEnum<["passport", "id_card", "driving_license", "unknown"]>>>;
374
+ expiryDate: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
375
+ documentNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
376
+ createdAt: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
377
+ updatedAt: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
378
+ }, "strip", z.ZodTypeAny, {
379
+ id: string;
380
+ expiryDate?: string | null | undefined;
381
+ createdAt?: string | undefined;
382
+ updatedAt?: string | undefined;
383
+ fileId?: string | null | undefined;
384
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
385
+ documentNumber?: string | null | undefined;
386
+ }, {
387
+ id: string;
388
+ expiryDate?: string | Date | null | undefined;
389
+ createdAt?: string | Date | undefined;
390
+ updatedAt?: string | Date | undefined;
391
+ fileId?: string | null | undefined;
392
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
393
+ documentNumber?: string | null | undefined;
394
+ }>, "many">>>;
395
+ }, "strip", z.ZodTypeAny, {
396
+ id: string;
397
+ firstName: string;
398
+ createdAt: string;
399
+ updatedAt: string;
400
+ hasTools: boolean | null;
401
+ hasPpe: boolean | null;
402
+ offerOpenness: "NOT_INTERESTED" | "ACTIVELY_LOOKING" | "OPEN";
403
+ blacklisted: boolean;
404
+ suppression: {
405
+ reason: string;
406
+ until: string | null;
407
+ note: string | null;
408
+ setByName: string;
409
+ setAt: string;
410
+ } | null;
411
+ idDocuments: {
412
+ id: string;
413
+ expiryDate?: string | null | undefined;
414
+ createdAt?: string | undefined;
415
+ updatedAt?: string | undefined;
416
+ fileId?: string | null | undefined;
417
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
418
+ documentNumber?: string | null | undefined;
419
+ }[];
420
+ distanceKm?: number | null | undefined;
421
+ lastName?: string | null | undefined;
422
+ bookingHistory?: {
423
+ workedTotal: number;
424
+ workedByMe: number;
425
+ noShowTotal: number;
426
+ noShowByMe: number;
427
+ } | undefined;
428
+ email?: string | null | undefined;
429
+ nino?: string | null | undefined;
430
+ dateOfBirth?: string | null | undefined;
431
+ bio?: string | null | undefined;
432
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
433
+ nationality?: "AFGHAN" | "ALBANIAN" | "ALGERIAN" | "AMERICAN" | "ANDORRAN" | "ANGOLAN" | "ANTIGUANS" | "ARGENTINEAN" | "ARMENIAN" | "AUSTRALIAN" | "AUSTRIAN" | "AZERBAIJANI" | "BAHAMIAN" | "BAHRAINI" | "BANGLADESHI" | "BARBADIAN" | "BARBUDANS" | "BELARUSIAN" | "BELGIAN" | "BELIZEAN" | "BENINESE" | "BHUTANESE" | "BOLIVIAN" | "BOSNIAN" | "BRAZILIAN" | "BRITISH" | "BRUNEIAN" | "BULGARIAN" | "BURKINABE" | "BURMESE" | "BURUNDIAN" | "CAMBODIAN" | "CAMEROONIAN" | "CANADIAN" | "CAPE_VERDEAN" | "CENTRAL_AFRICAN" | "CHADIAN" | "CHILEAN" | "CHINESE" | "COLOMBIAN" | "COMORAN" | "CONGOLESE" | "COSTA_RICAN" | "CROATIAN" | "CUBAN" | "CYPRIOT" | "CZECH" | "DANISH" | "DJIBOUTI" | "DOMINICAN" | "DUTCH" | "EAST_TIMORESE" | "ECUADOREAN" | "EGYPTIAN" | "EMIRIAN" | "EQUATORIAL_GUINEAN" | "ERITREAN" | "ESTONIAN" | "ETHIOPIAN" | "FIJIAN" | "FILIPINO" | "FINNISH" | "FRENCH" | "GABONESE" | "GAMBIAN" | "GEORGIAN" | "GERMAN" | "GHANAIAN" | "GREEK" | "GRENADIAN" | "GUATEMALAN" | "GUINEA_BISSAUAN" | "GUINEAN" | "GUYANESE" | "HAITIAN" | "HERZEGOVINIAN" | "HONDURAN" | "HUNGARIAN" | "ICELANDER" | "INDIAN" | "INDONESIAN" | "IRANIAN" | "IRAQI" | "IRISH" | "ISRAELI" | "ITALIAN" | "IVORIAN" | "JAMAICAN" | "JAPANESE" | "JORDANIAN" | "KAZAKHSTANI" | "KENYAN" | "KITTIAN_AND_NEVISIAN" | "KUWAITI" | "KYRGYZ" | "LAOTIAN" | "LATVIAN" | "LEBANESE" | "LIBERIAN" | "LIBYAN" | "LIECHTENSTEINER" | "LITHUANIAN" | "LUXEMBOURGER" | "MACEDONIAN" | "MALAGASY" | "MALAWIAN" | "MALAYSIAN" | "MALDIVAN" | "MALIAN" | "MALTESE" | "MARSHALLESE" | "MAURITANIAN" | "MAURITIAN" | "MEXICAN" | "MICRONESIAN" | "MOLDOVAN" | "MONACAN" | "MONGOLIAN" | "MOROCCAN" | "MOSOTHO" | "MOTSWANA" | "MOZAMBICAN" | "NAMIBIAN" | "NAURUAN" | "NEPALESE" | "NEW_ZEALANDER" | "NI_VANUATU" | "NICARAGUAN" | "NIGERIEN" | "NIGERIAN" | "NORTH_KOREAN" | "NORTHERN_IRISH" | "NORWEGIAN" | "OMANI" | "PAKISTANI" | "PALAUAN" | "PANAMANIAN" | "PAPUA_NEW_GUINEAN" | "PARAGUAYAN" | "PERUVIAN" | "POLISH" | "PORTUGUESE" | "QATARI" | "ROMANIAN" | "RUSSIAN" | "RWANDAN" | "SAINT_LUCIAN" | "SALVADORAN" | "SAMOAN" | "SAN_MARINESE" | "SAO_TOMEAN" | "SAUDI" | "SCOTTISH" | "SENEGALESE" | "SERBIAN" | "SEYCHELLOIS" | "SIERRA_LEONEAN" | "SINGAPOREAN" | "SLOVAKIAN" | "SLOVENIAN" | "SOLOMON_ISLANDER" | "SOMALI" | "SOUTH_AFRICAN" | "SOUTH_KOREAN" | "SOUTH_SUDANESE" | "SPANISH" | "SRI_LANKAN" | "SUDANESE" | "SURINAMER" | "SWAZI" | "SWEDISH" | "SWISS" | "SYRIAN" | "TAIWANESE" | "TAJIK" | "TANZANIAN" | "THAI" | "TOGOLESE" | "TONGAN" | "TRINIDADIAN_OR_TOBAGONIAN" | "TUNISIAN" | "TURKISH" | "TUVALUAN" | "UGANDAN" | "UKRAINIAN" | "URUGUAYAN" | "UZBEKISTANI" | "VENEZUELAN" | "VIETNAMESE" | "WELSH" | "YEMENITE" | "ZAMBIAN" | "ZIMBABWEAN" | null | undefined;
434
+ transportation?: {
435
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
436
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
437
+ } | null | undefined;
438
+ location?: {
439
+ address?: string | null | undefined;
440
+ postcode?: string | null | undefined;
441
+ county?: string | null | undefined;
442
+ adminDistrict?: string | null | undefined;
443
+ builtUpArea?: string | null | undefined;
444
+ postTown?: string | null | undefined;
445
+ areaCovered?: string | null | undefined;
446
+ latitude?: number | null | undefined;
447
+ longitude?: number | null | undefined;
448
+ } | null | undefined;
449
+ offerOpennessSetAt?: string | null | undefined;
450
+ offerNote?: string | null | undefined;
451
+ offerNoteUpdatedAt?: string | null | undefined;
452
+ offerSignalUpdatedById?: string | null | undefined;
453
+ offerSignalUpdatedByName?: string | null | undefined;
454
+ shareCode?: {
455
+ code: string | null;
456
+ expiryDate?: string | null | undefined;
457
+ fileId?: string | null | undefined;
458
+ } | null | undefined;
459
+ liveStatus?: {
460
+ bookingId?: string | null | undefined;
461
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
462
+ active?: {
463
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
464
+ } | null | undefined;
465
+ activeId?: string | null | undefined;
466
+ bookingAgent?: {
467
+ id: string;
468
+ firstName: string;
469
+ lastName: string;
470
+ } | null | undefined;
471
+ } | undefined;
472
+ occupancyStatus?: "BOOKED" | "ACTIVE" | null | undefined;
473
+ workingUntil?: string | null | undefined;
474
+ blacklistReason?: string | null | undefined;
475
+ trades?: {
476
+ id: string;
477
+ createdAt: string;
478
+ updatedAt: string;
479
+ tradeId: string;
480
+ mainTrade: boolean;
481
+ }[] | null | undefined;
482
+ qualifications?: {
483
+ id: string;
484
+ proofDocumentFileId: string | null;
485
+ referenceNumber: string | null;
486
+ qualificationId: string;
487
+ qualificationTypeId: string | null;
488
+ createdAt: string;
489
+ updatedAt: string;
490
+ issueDate?: string | null | undefined;
491
+ expiryDate?: string | null | undefined;
492
+ }[] | null | undefined;
493
+ phoneNumbers?: {
494
+ id: string;
495
+ createdAt: string;
496
+ updatedAt: string;
497
+ phoneNumber: string;
498
+ isPrimary: boolean;
499
+ description?: string | null | undefined;
500
+ }[] | null | undefined;
501
+ }, {
502
+ id: string;
503
+ firstName: string;
504
+ createdAt: string | Date;
505
+ updatedAt: string | Date;
506
+ hasTools: boolean | null;
507
+ hasPpe: boolean | null;
508
+ blacklisted: boolean;
509
+ suppression: {
510
+ reason: string;
511
+ until: string | null;
512
+ note: string | null;
513
+ setByName: string;
514
+ setAt: string;
515
+ } | null;
516
+ distanceKm?: number | null | undefined;
517
+ lastName?: string | null | undefined;
518
+ bookingHistory?: {
519
+ workedTotal: number;
520
+ workedByMe: number;
521
+ noShowTotal: number;
522
+ noShowByMe: number;
523
+ } | undefined;
524
+ email?: string | null | undefined;
525
+ nino?: string | null | undefined;
526
+ dateOfBirth?: string | Date | null | undefined;
527
+ bio?: string | null | undefined;
528
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
529
+ nationality?: "AFGHAN" | "ALBANIAN" | "ALGERIAN" | "AMERICAN" | "ANDORRAN" | "ANGOLAN" | "ANTIGUANS" | "ARGENTINEAN" | "ARMENIAN" | "AUSTRALIAN" | "AUSTRIAN" | "AZERBAIJANI" | "BAHAMIAN" | "BAHRAINI" | "BANGLADESHI" | "BARBADIAN" | "BARBUDANS" | "BELARUSIAN" | "BELGIAN" | "BELIZEAN" | "BENINESE" | "BHUTANESE" | "BOLIVIAN" | "BOSNIAN" | "BRAZILIAN" | "BRITISH" | "BRUNEIAN" | "BULGARIAN" | "BURKINABE" | "BURMESE" | "BURUNDIAN" | "CAMBODIAN" | "CAMEROONIAN" | "CANADIAN" | "CAPE_VERDEAN" | "CENTRAL_AFRICAN" | "CHADIAN" | "CHILEAN" | "CHINESE" | "COLOMBIAN" | "COMORAN" | "CONGOLESE" | "COSTA_RICAN" | "CROATIAN" | "CUBAN" | "CYPRIOT" | "CZECH" | "DANISH" | "DJIBOUTI" | "DOMINICAN" | "DUTCH" | "EAST_TIMORESE" | "ECUADOREAN" | "EGYPTIAN" | "EMIRIAN" | "EQUATORIAL_GUINEAN" | "ERITREAN" | "ESTONIAN" | "ETHIOPIAN" | "FIJIAN" | "FILIPINO" | "FINNISH" | "FRENCH" | "GABONESE" | "GAMBIAN" | "GEORGIAN" | "GERMAN" | "GHANAIAN" | "GREEK" | "GRENADIAN" | "GUATEMALAN" | "GUINEA_BISSAUAN" | "GUINEAN" | "GUYANESE" | "HAITIAN" | "HERZEGOVINIAN" | "HONDURAN" | "HUNGARIAN" | "ICELANDER" | "INDIAN" | "INDONESIAN" | "IRANIAN" | "IRAQI" | "IRISH" | "ISRAELI" | "ITALIAN" | "IVORIAN" | "JAMAICAN" | "JAPANESE" | "JORDANIAN" | "KAZAKHSTANI" | "KENYAN" | "KITTIAN_AND_NEVISIAN" | "KUWAITI" | "KYRGYZ" | "LAOTIAN" | "LATVIAN" | "LEBANESE" | "LIBERIAN" | "LIBYAN" | "LIECHTENSTEINER" | "LITHUANIAN" | "LUXEMBOURGER" | "MACEDONIAN" | "MALAGASY" | "MALAWIAN" | "MALAYSIAN" | "MALDIVAN" | "MALIAN" | "MALTESE" | "MARSHALLESE" | "MAURITANIAN" | "MAURITIAN" | "MEXICAN" | "MICRONESIAN" | "MOLDOVAN" | "MONACAN" | "MONGOLIAN" | "MOROCCAN" | "MOSOTHO" | "MOTSWANA" | "MOZAMBICAN" | "NAMIBIAN" | "NAURUAN" | "NEPALESE" | "NEW_ZEALANDER" | "NI_VANUATU" | "NICARAGUAN" | "NIGERIEN" | "NIGERIAN" | "NORTH_KOREAN" | "NORTHERN_IRISH" | "NORWEGIAN" | "OMANI" | "PAKISTANI" | "PALAUAN" | "PANAMANIAN" | "PAPUA_NEW_GUINEAN" | "PARAGUAYAN" | "PERUVIAN" | "POLISH" | "PORTUGUESE" | "QATARI" | "ROMANIAN" | "RUSSIAN" | "RWANDAN" | "SAINT_LUCIAN" | "SALVADORAN" | "SAMOAN" | "SAN_MARINESE" | "SAO_TOMEAN" | "SAUDI" | "SCOTTISH" | "SENEGALESE" | "SERBIAN" | "SEYCHELLOIS" | "SIERRA_LEONEAN" | "SINGAPOREAN" | "SLOVAKIAN" | "SLOVENIAN" | "SOLOMON_ISLANDER" | "SOMALI" | "SOUTH_AFRICAN" | "SOUTH_KOREAN" | "SOUTH_SUDANESE" | "SPANISH" | "SRI_LANKAN" | "SUDANESE" | "SURINAMER" | "SWAZI" | "SWEDISH" | "SWISS" | "SYRIAN" | "TAIWANESE" | "TAJIK" | "TANZANIAN" | "THAI" | "TOGOLESE" | "TONGAN" | "TRINIDADIAN_OR_TOBAGONIAN" | "TUNISIAN" | "TURKISH" | "TUVALUAN" | "UGANDAN" | "UKRAINIAN" | "URUGUAYAN" | "UZBEKISTANI" | "VENEZUELAN" | "VIETNAMESE" | "WELSH" | "YEMENITE" | "ZAMBIAN" | "ZIMBABWEAN" | null | undefined;
530
+ transportation?: {
531
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
532
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
533
+ } | null | undefined;
534
+ location?: {
535
+ address?: string | null | undefined;
536
+ postcode?: string | null | undefined;
537
+ county?: string | null | undefined;
538
+ adminDistrict?: string | null | undefined;
539
+ builtUpArea?: string | null | undefined;
540
+ postTown?: string | null | undefined;
541
+ areaCovered?: string | null | undefined;
542
+ latitude?: number | null | undefined;
543
+ longitude?: number | null | undefined;
544
+ } | null | undefined;
545
+ offerOpenness?: "NOT_INTERESTED" | "ACTIVELY_LOOKING" | "OPEN" | undefined;
546
+ offerOpennessSetAt?: string | Date | null | undefined;
547
+ offerNote?: string | null | undefined;
548
+ offerNoteUpdatedAt?: string | Date | null | undefined;
549
+ offerSignalUpdatedById?: string | null | undefined;
550
+ offerSignalUpdatedByName?: string | null | undefined;
551
+ shareCode?: {
552
+ code: string | null;
553
+ expiryDate?: string | Date | null | undefined;
554
+ fileId?: string | null | undefined;
555
+ } | null | undefined;
556
+ liveStatus?: {
557
+ bookingId?: string | null | undefined;
558
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
559
+ active?: {
560
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
561
+ } | null | undefined;
562
+ activeId?: string | null | undefined;
563
+ bookingAgent?: {
564
+ id: string;
565
+ firstName: string;
566
+ lastName: string;
567
+ } | null | undefined;
568
+ } | undefined;
569
+ occupancyStatus?: "BOOKED" | "ACTIVE" | null | undefined;
570
+ workingUntil?: string | Date | null | undefined;
571
+ blacklistReason?: string | null | undefined;
572
+ trades?: {
573
+ id: string;
574
+ createdAt: string | Date;
575
+ updatedAt: string | Date;
576
+ tradeId: string;
577
+ mainTrade: boolean;
578
+ }[] | null | undefined;
579
+ qualifications?: {
580
+ id: string;
581
+ proofDocumentFileId: string | null;
582
+ referenceNumber: string | null;
583
+ qualificationId: string;
584
+ qualificationTypeId: string | null;
585
+ createdAt: string | Date;
586
+ updatedAt: string | Date;
587
+ issueDate?: string | Date | null | undefined;
588
+ expiryDate?: string | Date | null | undefined;
589
+ }[] | null | undefined;
590
+ phoneNumbers?: {
591
+ id: string;
592
+ createdAt: string | Date;
593
+ updatedAt: string | Date;
594
+ phoneNumber: string;
595
+ isPrimary?: boolean | undefined;
596
+ description?: string | null | undefined;
597
+ }[] | null | undefined;
598
+ idDocuments?: {
599
+ id: string;
600
+ expiryDate?: string | Date | null | undefined;
601
+ createdAt?: string | Date | undefined;
602
+ updatedAt?: string | Date | undefined;
603
+ fileId?: string | null | undefined;
604
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
605
+ documentNumber?: string | null | undefined;
606
+ }[] | undefined;
607
+ }>;
608
+ matches: z.ZodArray<z.ZodObject<{
609
+ subjectKind: z.ZodEnum<["OWNED", "CURATED"]>;
610
+ subjectId: z.ZodString;
611
+ jobId: z.ZodString;
612
+ distanceKm: z.ZodNullable<z.ZodNumber>;
613
+ driveMinutes: z.ZodNullable<z.ZodNumber>;
614
+ transitMinutes: z.ZodNullable<z.ZodNumber>;
615
+ status: z.ZodEnum<["NEW", "TOO_FAR", "NOT_INTERESTED", "OFFER_SENT", "BOOKED"]>;
616
+ statusUpdatedAt: z.ZodNullable<z.ZodString>;
617
+ }, "strip", z.ZodTypeAny, {
618
+ subjectKind: "OWNED" | "CURATED";
619
+ subjectId: string;
620
+ jobId: string;
621
+ status: "NEW" | "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
622
+ distanceKm: number | null;
623
+ driveMinutes: number | null;
624
+ transitMinutes: number | null;
625
+ statusUpdatedAt: string | null;
626
+ }, {
627
+ subjectKind: "OWNED" | "CURATED";
628
+ subjectId: string;
629
+ jobId: string;
630
+ status: "NEW" | "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
631
+ distanceKm: number | null;
632
+ driveMinutes: number | null;
633
+ transitMinutes: number | null;
634
+ statusUpdatedAt: string | null;
635
+ }>, "many">;
636
+ jobCards: z.ZodArray<z.ZodObject<{
637
+ id: z.ZodString;
638
+ description: z.ZodString;
639
+ numberOfPositions: z.ZodNumber;
640
+ workHours: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
641
+ status: z.ZodEnum<["AVAILABLE", "NOT_AVAILABLE"]>;
642
+ pay: z.ZodObject<{
643
+ rateUnit: z.ZodEnum<["DAILY", "HOURLY"]>;
644
+ isNegotiable: z.ZodDefault<z.ZodBoolean>;
645
+ rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
646
+ rateMax: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
647
+ receivedRate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
648
+ }, "strip", z.ZodTypeAny, {
649
+ rateUnit: "DAILY" | "HOURLY";
650
+ isNegotiable: boolean;
651
+ rate?: number | null | undefined;
652
+ rateMax?: number | null | undefined;
653
+ receivedRate?: number | null | undefined;
654
+ }, {
655
+ rateUnit: "DAILY" | "HOURLY";
656
+ rate?: number | null | undefined;
657
+ isNegotiable?: boolean | undefined;
658
+ rateMax?: number | null | undefined;
659
+ receivedRate?: number | null | undefined;
660
+ }>;
661
+ location: z.ZodOptional<z.ZodNullable<z.ZodObject<{
662
+ postcode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
663
+ postTown: z.ZodNullable<z.ZodOptional<z.ZodString>>;
664
+ adminDistrict: z.ZodNullable<z.ZodOptional<z.ZodString>>;
665
+ address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
666
+ }, "strip", z.ZodTypeAny, {
667
+ address?: string | null | undefined;
668
+ postcode?: string | null | undefined;
669
+ adminDistrict?: string | null | undefined;
670
+ postTown?: string | null | undefined;
671
+ }, {
672
+ address?: string | null | undefined;
673
+ postcode?: string | null | undefined;
674
+ adminDistrict?: string | null | undefined;
675
+ postTown?: string | null | undefined;
676
+ }>>>;
677
+ tradeId: z.ZodString;
678
+ jobQualifications: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
679
+ id: z.ZodString;
680
+ qualificationId: z.ZodString;
681
+ qualificationTypeId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
682
+ }, "strip", z.ZodTypeAny, {
683
+ id: string;
684
+ qualificationId: string;
685
+ qualificationTypeId?: string | null | undefined;
686
+ }, {
687
+ id: string;
688
+ qualificationId: string;
689
+ qualificationTypeId?: string | null | undefined;
690
+ }>, "many">>>;
691
+ collaboration: z.ZodOptional<z.ZodNullable<z.ZodObject<{
692
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
693
+ status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
694
+ userId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
695
+ client: z.ZodOptional<z.ZodNullable<z.ZodObject<{
696
+ id: z.ZodString;
697
+ name: z.ZodString;
698
+ }, "strip", z.ZodTypeAny, {
699
+ id: string;
700
+ name: string;
701
+ }, {
702
+ id: string;
703
+ name: string;
704
+ }>>>;
705
+ company: z.ZodOptional<z.ZodNullable<z.ZodObject<{
706
+ id: z.ZodString;
707
+ name: z.ZodString;
708
+ }, "strip", z.ZodTypeAny, {
709
+ id: string;
710
+ name: string;
711
+ }, {
712
+ id: string;
713
+ name: string;
714
+ }>>>;
715
+ user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
716
+ id: z.ZodString;
717
+ firstName: z.ZodString;
718
+ lastName: z.ZodString;
719
+ phoneNumbers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
720
+ id: z.ZodString;
721
+ phoneNumber: z.ZodString;
722
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
723
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
724
+ }, "strip", z.ZodTypeAny, {
725
+ id: string;
726
+ phoneNumber: string;
727
+ isPrimary: boolean;
728
+ description?: string | null | undefined;
729
+ }, {
730
+ id: string;
731
+ phoneNumber: string;
732
+ isPrimary?: boolean | undefined;
733
+ description?: string | null | undefined;
734
+ }>, "many">>>;
735
+ deletedAt: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate, z.ZodNull]>, string | null, string | Date | null>>>;
736
+ }, "strip", z.ZodTypeAny, {
737
+ id: string;
738
+ firstName: string;
739
+ lastName: string;
740
+ phoneNumbers: {
741
+ id: string;
742
+ phoneNumber: string;
743
+ isPrimary: boolean;
744
+ description?: string | null | undefined;
745
+ }[];
746
+ deletedAt?: string | null | undefined;
747
+ }, {
748
+ id: string;
749
+ firstName: string;
750
+ lastName: string;
751
+ phoneNumbers?: {
752
+ id: string;
753
+ phoneNumber: string;
754
+ isPrimary?: boolean | undefined;
755
+ description?: string | null | undefined;
756
+ }[] | undefined;
757
+ deletedAt?: string | Date | null | undefined;
758
+ }>>>;
759
+ }, "strip", z.ZodTypeAny, {
760
+ status?: string | null | undefined;
761
+ id?: string | null | undefined;
762
+ userId?: string | null | undefined;
763
+ client?: {
764
+ id: string;
765
+ name: string;
766
+ } | null | undefined;
767
+ company?: {
768
+ id: string;
769
+ name: string;
770
+ } | null | undefined;
771
+ user?: {
772
+ id: string;
773
+ firstName: string;
774
+ lastName: string;
775
+ phoneNumbers: {
776
+ id: string;
777
+ phoneNumber: string;
778
+ isPrimary: boolean;
779
+ description?: string | null | undefined;
780
+ }[];
781
+ deletedAt?: string | null | undefined;
782
+ } | null | undefined;
783
+ }, {
784
+ status?: string | null | undefined;
785
+ id?: string | null | undefined;
786
+ userId?: string | null | undefined;
787
+ client?: {
788
+ id: string;
789
+ name: string;
790
+ } | null | undefined;
791
+ company?: {
792
+ id: string;
793
+ name: string;
794
+ } | null | undefined;
795
+ user?: {
796
+ id: string;
797
+ firstName: string;
798
+ lastName: string;
799
+ phoneNumbers?: {
800
+ id: string;
801
+ phoneNumber: string;
802
+ isPrimary?: boolean | undefined;
803
+ description?: string | null | undefined;
804
+ }[] | undefined;
805
+ deletedAt?: string | Date | null | undefined;
806
+ } | null | undefined;
807
+ }>>>;
808
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
809
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
810
+ createdById: z.ZodOptional<z.ZodNullable<z.ZodString>>;
811
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
812
+ id: z.ZodString;
813
+ firstName: z.ZodString;
814
+ lastName: z.ZodString;
815
+ phoneNumbers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
816
+ id: z.ZodString;
817
+ phoneNumber: z.ZodString;
818
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
819
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
820
+ }, "strip", z.ZodTypeAny, {
821
+ id: string;
822
+ phoneNumber: string;
823
+ isPrimary: boolean;
824
+ description?: string | null | undefined;
825
+ }, {
826
+ id: string;
827
+ phoneNumber: string;
828
+ isPrimary?: boolean | undefined;
829
+ description?: string | null | undefined;
830
+ }>, "many">>>;
831
+ deletedAt: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate, z.ZodNull]>, string | null, string | Date | null>>>;
832
+ }, "strip", z.ZodTypeAny, {
833
+ id: string;
834
+ firstName: string;
835
+ lastName: string;
836
+ phoneNumbers: {
837
+ id: string;
838
+ phoneNumber: string;
839
+ isPrimary: boolean;
840
+ description?: string | null | undefined;
841
+ }[];
842
+ deletedAt?: string | null | undefined;
843
+ }, {
844
+ id: string;
845
+ firstName: string;
846
+ lastName: string;
847
+ phoneNumbers?: {
848
+ id: string;
849
+ phoneNumber: string;
850
+ isPrimary?: boolean | undefined;
851
+ description?: string | null | undefined;
852
+ }[] | undefined;
853
+ deletedAt?: string | Date | null | undefined;
854
+ }>>>;
855
+ creationSource: z.ZodOptional<z.ZodNullable<z.ZodEnum<["MANUAL", "BOT"]>>>;
856
+ distanceKm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
857
+ filledPositions: z.ZodDefault<z.ZodNumber>;
858
+ startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
859
+ }, "strip", z.ZodTypeAny, {
860
+ status: "AVAILABLE" | "NOT_AVAILABLE";
861
+ id: string;
862
+ pay: {
863
+ rateUnit: "DAILY" | "HOURLY";
864
+ isNegotiable: boolean;
865
+ rate?: number | null | undefined;
866
+ rateMax?: number | null | undefined;
867
+ receivedRate?: number | null | undefined;
868
+ };
869
+ createdAt: string;
870
+ updatedAt: string;
871
+ tradeId: string;
872
+ description: string;
873
+ numberOfPositions: number;
874
+ filledPositions: number;
875
+ distanceKm?: number | null | undefined;
876
+ startDate?: string | null | undefined;
877
+ location?: {
878
+ address?: string | null | undefined;
879
+ postcode?: string | null | undefined;
880
+ adminDistrict?: string | null | undefined;
881
+ postTown?: string | null | undefined;
882
+ } | null | undefined;
883
+ createdBy?: {
884
+ id: string;
885
+ firstName: string;
886
+ lastName: string;
887
+ phoneNumbers: {
888
+ id: string;
889
+ phoneNumber: string;
890
+ isPrimary: boolean;
891
+ description?: string | null | undefined;
892
+ }[];
893
+ deletedAt?: string | null | undefined;
894
+ } | null | undefined;
895
+ workHours?: number | null | undefined;
896
+ jobQualifications?: {
897
+ id: string;
898
+ qualificationId: string;
899
+ qualificationTypeId?: string | null | undefined;
900
+ }[] | null | undefined;
901
+ collaboration?: {
902
+ status?: string | null | undefined;
903
+ id?: string | null | undefined;
904
+ userId?: string | null | undefined;
905
+ client?: {
906
+ id: string;
907
+ name: string;
908
+ } | null | undefined;
909
+ company?: {
910
+ id: string;
911
+ name: string;
912
+ } | null | undefined;
913
+ user?: {
914
+ id: string;
915
+ firstName: string;
916
+ lastName: string;
917
+ phoneNumbers: {
918
+ id: string;
919
+ phoneNumber: string;
920
+ isPrimary: boolean;
921
+ description?: string | null | undefined;
922
+ }[];
923
+ deletedAt?: string | null | undefined;
924
+ } | null | undefined;
925
+ } | null | undefined;
926
+ createdById?: string | null | undefined;
927
+ creationSource?: "MANUAL" | "BOT" | null | undefined;
928
+ }, {
929
+ status: "AVAILABLE" | "NOT_AVAILABLE";
930
+ id: string;
931
+ pay: {
932
+ rateUnit: "DAILY" | "HOURLY";
933
+ rate?: number | null | undefined;
934
+ isNegotiable?: boolean | undefined;
935
+ rateMax?: number | null | undefined;
936
+ receivedRate?: number | null | undefined;
937
+ };
938
+ createdAt: string | Date;
939
+ updatedAt: string | Date;
940
+ tradeId: string;
941
+ description: string;
942
+ numberOfPositions: number;
943
+ distanceKm?: number | null | undefined;
944
+ startDate?: string | null | undefined;
945
+ location?: {
946
+ address?: string | null | undefined;
947
+ postcode?: string | null | undefined;
948
+ adminDistrict?: string | null | undefined;
949
+ postTown?: string | null | undefined;
950
+ } | null | undefined;
951
+ createdBy?: {
952
+ id: string;
953
+ firstName: string;
954
+ lastName: string;
955
+ phoneNumbers?: {
956
+ id: string;
957
+ phoneNumber: string;
958
+ isPrimary?: boolean | undefined;
959
+ description?: string | null | undefined;
960
+ }[] | undefined;
961
+ deletedAt?: string | Date | null | undefined;
962
+ } | null | undefined;
963
+ workHours?: number | null | undefined;
964
+ jobQualifications?: {
965
+ id: string;
966
+ qualificationId: string;
967
+ qualificationTypeId?: string | null | undefined;
968
+ }[] | null | undefined;
969
+ collaboration?: {
970
+ status?: string | null | undefined;
971
+ id?: string | null | undefined;
972
+ userId?: string | null | undefined;
973
+ client?: {
974
+ id: string;
975
+ name: string;
976
+ } | null | undefined;
977
+ company?: {
978
+ id: string;
979
+ name: string;
980
+ } | null | undefined;
981
+ user?: {
982
+ id: string;
983
+ firstName: string;
984
+ lastName: string;
985
+ phoneNumbers?: {
986
+ id: string;
987
+ phoneNumber: string;
988
+ isPrimary?: boolean | undefined;
989
+ description?: string | null | undefined;
990
+ }[] | undefined;
991
+ deletedAt?: string | Date | null | undefined;
992
+ } | null | undefined;
993
+ } | null | undefined;
994
+ createdById?: string | null | undefined;
995
+ creationSource?: "MANUAL" | "BOT" | null | undefined;
996
+ filledPositions?: number | undefined;
997
+ }>, "many">;
998
+ }, "strip", z.ZodTypeAny, {
999
+ matches: {
1000
+ subjectKind: "OWNED" | "CURATED";
1001
+ subjectId: string;
1002
+ jobId: string;
1003
+ status: "NEW" | "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
1004
+ distanceKm: number | null;
1005
+ driveMinutes: number | null;
1006
+ transitMinutes: number | null;
1007
+ statusUpdatedAt: string | null;
1008
+ }[];
1009
+ worker: {
1010
+ id: string;
1011
+ firstName: string;
1012
+ createdAt: string;
1013
+ updatedAt: string;
1014
+ hasTools: boolean | null;
1015
+ hasPpe: boolean | null;
1016
+ offerOpenness: "NOT_INTERESTED" | "ACTIVELY_LOOKING" | "OPEN";
1017
+ blacklisted: boolean;
1018
+ suppression: {
1019
+ reason: string;
1020
+ until: string | null;
1021
+ note: string | null;
1022
+ setByName: string;
1023
+ setAt: string;
1024
+ } | null;
1025
+ idDocuments: {
1026
+ id: string;
1027
+ expiryDate?: string | null | undefined;
1028
+ createdAt?: string | undefined;
1029
+ updatedAt?: string | undefined;
1030
+ fileId?: string | null | undefined;
1031
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
1032
+ documentNumber?: string | null | undefined;
1033
+ }[];
1034
+ distanceKm?: number | null | undefined;
1035
+ lastName?: string | null | undefined;
1036
+ bookingHistory?: {
1037
+ workedTotal: number;
1038
+ workedByMe: number;
1039
+ noShowTotal: number;
1040
+ noShowByMe: number;
1041
+ } | undefined;
1042
+ email?: string | null | undefined;
1043
+ nino?: string | null | undefined;
1044
+ dateOfBirth?: string | null | undefined;
1045
+ bio?: string | null | undefined;
1046
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
1047
+ nationality?: "AFGHAN" | "ALBANIAN" | "ALGERIAN" | "AMERICAN" | "ANDORRAN" | "ANGOLAN" | "ANTIGUANS" | "ARGENTINEAN" | "ARMENIAN" | "AUSTRALIAN" | "AUSTRIAN" | "AZERBAIJANI" | "BAHAMIAN" | "BAHRAINI" | "BANGLADESHI" | "BARBADIAN" | "BARBUDANS" | "BELARUSIAN" | "BELGIAN" | "BELIZEAN" | "BENINESE" | "BHUTANESE" | "BOLIVIAN" | "BOSNIAN" | "BRAZILIAN" | "BRITISH" | "BRUNEIAN" | "BULGARIAN" | "BURKINABE" | "BURMESE" | "BURUNDIAN" | "CAMBODIAN" | "CAMEROONIAN" | "CANADIAN" | "CAPE_VERDEAN" | "CENTRAL_AFRICAN" | "CHADIAN" | "CHILEAN" | "CHINESE" | "COLOMBIAN" | "COMORAN" | "CONGOLESE" | "COSTA_RICAN" | "CROATIAN" | "CUBAN" | "CYPRIOT" | "CZECH" | "DANISH" | "DJIBOUTI" | "DOMINICAN" | "DUTCH" | "EAST_TIMORESE" | "ECUADOREAN" | "EGYPTIAN" | "EMIRIAN" | "EQUATORIAL_GUINEAN" | "ERITREAN" | "ESTONIAN" | "ETHIOPIAN" | "FIJIAN" | "FILIPINO" | "FINNISH" | "FRENCH" | "GABONESE" | "GAMBIAN" | "GEORGIAN" | "GERMAN" | "GHANAIAN" | "GREEK" | "GRENADIAN" | "GUATEMALAN" | "GUINEA_BISSAUAN" | "GUINEAN" | "GUYANESE" | "HAITIAN" | "HERZEGOVINIAN" | "HONDURAN" | "HUNGARIAN" | "ICELANDER" | "INDIAN" | "INDONESIAN" | "IRANIAN" | "IRAQI" | "IRISH" | "ISRAELI" | "ITALIAN" | "IVORIAN" | "JAMAICAN" | "JAPANESE" | "JORDANIAN" | "KAZAKHSTANI" | "KENYAN" | "KITTIAN_AND_NEVISIAN" | "KUWAITI" | "KYRGYZ" | "LAOTIAN" | "LATVIAN" | "LEBANESE" | "LIBERIAN" | "LIBYAN" | "LIECHTENSTEINER" | "LITHUANIAN" | "LUXEMBOURGER" | "MACEDONIAN" | "MALAGASY" | "MALAWIAN" | "MALAYSIAN" | "MALDIVAN" | "MALIAN" | "MALTESE" | "MARSHALLESE" | "MAURITANIAN" | "MAURITIAN" | "MEXICAN" | "MICRONESIAN" | "MOLDOVAN" | "MONACAN" | "MONGOLIAN" | "MOROCCAN" | "MOSOTHO" | "MOTSWANA" | "MOZAMBICAN" | "NAMIBIAN" | "NAURUAN" | "NEPALESE" | "NEW_ZEALANDER" | "NI_VANUATU" | "NICARAGUAN" | "NIGERIEN" | "NIGERIAN" | "NORTH_KOREAN" | "NORTHERN_IRISH" | "NORWEGIAN" | "OMANI" | "PAKISTANI" | "PALAUAN" | "PANAMANIAN" | "PAPUA_NEW_GUINEAN" | "PARAGUAYAN" | "PERUVIAN" | "POLISH" | "PORTUGUESE" | "QATARI" | "ROMANIAN" | "RUSSIAN" | "RWANDAN" | "SAINT_LUCIAN" | "SALVADORAN" | "SAMOAN" | "SAN_MARINESE" | "SAO_TOMEAN" | "SAUDI" | "SCOTTISH" | "SENEGALESE" | "SERBIAN" | "SEYCHELLOIS" | "SIERRA_LEONEAN" | "SINGAPOREAN" | "SLOVAKIAN" | "SLOVENIAN" | "SOLOMON_ISLANDER" | "SOMALI" | "SOUTH_AFRICAN" | "SOUTH_KOREAN" | "SOUTH_SUDANESE" | "SPANISH" | "SRI_LANKAN" | "SUDANESE" | "SURINAMER" | "SWAZI" | "SWEDISH" | "SWISS" | "SYRIAN" | "TAIWANESE" | "TAJIK" | "TANZANIAN" | "THAI" | "TOGOLESE" | "TONGAN" | "TRINIDADIAN_OR_TOBAGONIAN" | "TUNISIAN" | "TURKISH" | "TUVALUAN" | "UGANDAN" | "UKRAINIAN" | "URUGUAYAN" | "UZBEKISTANI" | "VENEZUELAN" | "VIETNAMESE" | "WELSH" | "YEMENITE" | "ZAMBIAN" | "ZIMBABWEAN" | null | undefined;
1048
+ transportation?: {
1049
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
1050
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
1051
+ } | null | undefined;
1052
+ location?: {
1053
+ address?: string | null | undefined;
1054
+ postcode?: string | null | undefined;
1055
+ county?: string | null | undefined;
1056
+ adminDistrict?: string | null | undefined;
1057
+ builtUpArea?: string | null | undefined;
1058
+ postTown?: string | null | undefined;
1059
+ areaCovered?: string | null | undefined;
1060
+ latitude?: number | null | undefined;
1061
+ longitude?: number | null | undefined;
1062
+ } | null | undefined;
1063
+ offerOpennessSetAt?: string | null | undefined;
1064
+ offerNote?: string | null | undefined;
1065
+ offerNoteUpdatedAt?: string | null | undefined;
1066
+ offerSignalUpdatedById?: string | null | undefined;
1067
+ offerSignalUpdatedByName?: string | null | undefined;
1068
+ shareCode?: {
1069
+ code: string | null;
1070
+ expiryDate?: string | null | undefined;
1071
+ fileId?: string | null | undefined;
1072
+ } | null | undefined;
1073
+ liveStatus?: {
1074
+ bookingId?: string | null | undefined;
1075
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
1076
+ active?: {
1077
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
1078
+ } | null | undefined;
1079
+ activeId?: string | null | undefined;
1080
+ bookingAgent?: {
1081
+ id: string;
1082
+ firstName: string;
1083
+ lastName: string;
1084
+ } | null | undefined;
1085
+ } | undefined;
1086
+ occupancyStatus?: "BOOKED" | "ACTIVE" | null | undefined;
1087
+ workingUntil?: string | null | undefined;
1088
+ blacklistReason?: string | null | undefined;
1089
+ trades?: {
1090
+ id: string;
1091
+ createdAt: string;
1092
+ updatedAt: string;
1093
+ tradeId: string;
1094
+ mainTrade: boolean;
1095
+ }[] | null | undefined;
1096
+ qualifications?: {
1097
+ id: string;
1098
+ proofDocumentFileId: string | null;
1099
+ referenceNumber: string | null;
1100
+ qualificationId: string;
1101
+ qualificationTypeId: string | null;
1102
+ createdAt: string;
1103
+ updatedAt: string;
1104
+ issueDate?: string | null | undefined;
1105
+ expiryDate?: string | null | undefined;
1106
+ }[] | null | undefined;
1107
+ phoneNumbers?: {
1108
+ id: string;
1109
+ createdAt: string;
1110
+ updatedAt: string;
1111
+ phoneNumber: string;
1112
+ isPrimary: boolean;
1113
+ description?: string | null | undefined;
1114
+ }[] | null | undefined;
1115
+ };
1116
+ jobCards: {
1117
+ status: "AVAILABLE" | "NOT_AVAILABLE";
1118
+ id: string;
1119
+ pay: {
1120
+ rateUnit: "DAILY" | "HOURLY";
1121
+ isNegotiable: boolean;
1122
+ rate?: number | null | undefined;
1123
+ rateMax?: number | null | undefined;
1124
+ receivedRate?: number | null | undefined;
1125
+ };
1126
+ createdAt: string;
1127
+ updatedAt: string;
1128
+ tradeId: string;
1129
+ description: string;
1130
+ numberOfPositions: number;
1131
+ filledPositions: number;
1132
+ distanceKm?: number | null | undefined;
1133
+ startDate?: string | null | undefined;
1134
+ location?: {
1135
+ address?: string | null | undefined;
1136
+ postcode?: string | null | undefined;
1137
+ adminDistrict?: string | null | undefined;
1138
+ postTown?: string | null | undefined;
1139
+ } | null | undefined;
1140
+ createdBy?: {
1141
+ id: string;
1142
+ firstName: string;
1143
+ lastName: string;
1144
+ phoneNumbers: {
1145
+ id: string;
1146
+ phoneNumber: string;
1147
+ isPrimary: boolean;
1148
+ description?: string | null | undefined;
1149
+ }[];
1150
+ deletedAt?: string | null | undefined;
1151
+ } | null | undefined;
1152
+ workHours?: number | null | undefined;
1153
+ jobQualifications?: {
1154
+ id: string;
1155
+ qualificationId: string;
1156
+ qualificationTypeId?: string | null | undefined;
1157
+ }[] | null | undefined;
1158
+ collaboration?: {
1159
+ status?: string | null | undefined;
1160
+ id?: string | null | undefined;
1161
+ userId?: string | null | undefined;
1162
+ client?: {
1163
+ id: string;
1164
+ name: string;
1165
+ } | null | undefined;
1166
+ company?: {
1167
+ id: string;
1168
+ name: string;
1169
+ } | null | undefined;
1170
+ user?: {
1171
+ id: string;
1172
+ firstName: string;
1173
+ lastName: string;
1174
+ phoneNumbers: {
1175
+ id: string;
1176
+ phoneNumber: string;
1177
+ isPrimary: boolean;
1178
+ description?: string | null | undefined;
1179
+ }[];
1180
+ deletedAt?: string | null | undefined;
1181
+ } | null | undefined;
1182
+ } | null | undefined;
1183
+ createdById?: string | null | undefined;
1184
+ creationSource?: "MANUAL" | "BOT" | null | undefined;
1185
+ }[];
1186
+ }, {
1187
+ matches: {
1188
+ subjectKind: "OWNED" | "CURATED";
1189
+ subjectId: string;
1190
+ jobId: string;
1191
+ status: "NEW" | "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
1192
+ distanceKm: number | null;
1193
+ driveMinutes: number | null;
1194
+ transitMinutes: number | null;
1195
+ statusUpdatedAt: string | null;
1196
+ }[];
1197
+ worker: {
1198
+ id: string;
1199
+ firstName: string;
1200
+ createdAt: string | Date;
1201
+ updatedAt: string | Date;
1202
+ hasTools: boolean | null;
1203
+ hasPpe: boolean | null;
1204
+ blacklisted: boolean;
1205
+ suppression: {
1206
+ reason: string;
1207
+ until: string | null;
1208
+ note: string | null;
1209
+ setByName: string;
1210
+ setAt: string;
1211
+ } | null;
1212
+ distanceKm?: number | null | undefined;
1213
+ lastName?: string | null | undefined;
1214
+ bookingHistory?: {
1215
+ workedTotal: number;
1216
+ workedByMe: number;
1217
+ noShowTotal: number;
1218
+ noShowByMe: number;
1219
+ } | undefined;
1220
+ email?: string | null | undefined;
1221
+ nino?: string | null | undefined;
1222
+ dateOfBirth?: string | Date | null | undefined;
1223
+ bio?: string | null | undefined;
1224
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
1225
+ nationality?: "AFGHAN" | "ALBANIAN" | "ALGERIAN" | "AMERICAN" | "ANDORRAN" | "ANGOLAN" | "ANTIGUANS" | "ARGENTINEAN" | "ARMENIAN" | "AUSTRALIAN" | "AUSTRIAN" | "AZERBAIJANI" | "BAHAMIAN" | "BAHRAINI" | "BANGLADESHI" | "BARBADIAN" | "BARBUDANS" | "BELARUSIAN" | "BELGIAN" | "BELIZEAN" | "BENINESE" | "BHUTANESE" | "BOLIVIAN" | "BOSNIAN" | "BRAZILIAN" | "BRITISH" | "BRUNEIAN" | "BULGARIAN" | "BURKINABE" | "BURMESE" | "BURUNDIAN" | "CAMBODIAN" | "CAMEROONIAN" | "CANADIAN" | "CAPE_VERDEAN" | "CENTRAL_AFRICAN" | "CHADIAN" | "CHILEAN" | "CHINESE" | "COLOMBIAN" | "COMORAN" | "CONGOLESE" | "COSTA_RICAN" | "CROATIAN" | "CUBAN" | "CYPRIOT" | "CZECH" | "DANISH" | "DJIBOUTI" | "DOMINICAN" | "DUTCH" | "EAST_TIMORESE" | "ECUADOREAN" | "EGYPTIAN" | "EMIRIAN" | "EQUATORIAL_GUINEAN" | "ERITREAN" | "ESTONIAN" | "ETHIOPIAN" | "FIJIAN" | "FILIPINO" | "FINNISH" | "FRENCH" | "GABONESE" | "GAMBIAN" | "GEORGIAN" | "GERMAN" | "GHANAIAN" | "GREEK" | "GRENADIAN" | "GUATEMALAN" | "GUINEA_BISSAUAN" | "GUINEAN" | "GUYANESE" | "HAITIAN" | "HERZEGOVINIAN" | "HONDURAN" | "HUNGARIAN" | "ICELANDER" | "INDIAN" | "INDONESIAN" | "IRANIAN" | "IRAQI" | "IRISH" | "ISRAELI" | "ITALIAN" | "IVORIAN" | "JAMAICAN" | "JAPANESE" | "JORDANIAN" | "KAZAKHSTANI" | "KENYAN" | "KITTIAN_AND_NEVISIAN" | "KUWAITI" | "KYRGYZ" | "LAOTIAN" | "LATVIAN" | "LEBANESE" | "LIBERIAN" | "LIBYAN" | "LIECHTENSTEINER" | "LITHUANIAN" | "LUXEMBOURGER" | "MACEDONIAN" | "MALAGASY" | "MALAWIAN" | "MALAYSIAN" | "MALDIVAN" | "MALIAN" | "MALTESE" | "MARSHALLESE" | "MAURITANIAN" | "MAURITIAN" | "MEXICAN" | "MICRONESIAN" | "MOLDOVAN" | "MONACAN" | "MONGOLIAN" | "MOROCCAN" | "MOSOTHO" | "MOTSWANA" | "MOZAMBICAN" | "NAMIBIAN" | "NAURUAN" | "NEPALESE" | "NEW_ZEALANDER" | "NI_VANUATU" | "NICARAGUAN" | "NIGERIEN" | "NIGERIAN" | "NORTH_KOREAN" | "NORTHERN_IRISH" | "NORWEGIAN" | "OMANI" | "PAKISTANI" | "PALAUAN" | "PANAMANIAN" | "PAPUA_NEW_GUINEAN" | "PARAGUAYAN" | "PERUVIAN" | "POLISH" | "PORTUGUESE" | "QATARI" | "ROMANIAN" | "RUSSIAN" | "RWANDAN" | "SAINT_LUCIAN" | "SALVADORAN" | "SAMOAN" | "SAN_MARINESE" | "SAO_TOMEAN" | "SAUDI" | "SCOTTISH" | "SENEGALESE" | "SERBIAN" | "SEYCHELLOIS" | "SIERRA_LEONEAN" | "SINGAPOREAN" | "SLOVAKIAN" | "SLOVENIAN" | "SOLOMON_ISLANDER" | "SOMALI" | "SOUTH_AFRICAN" | "SOUTH_KOREAN" | "SOUTH_SUDANESE" | "SPANISH" | "SRI_LANKAN" | "SUDANESE" | "SURINAMER" | "SWAZI" | "SWEDISH" | "SWISS" | "SYRIAN" | "TAIWANESE" | "TAJIK" | "TANZANIAN" | "THAI" | "TOGOLESE" | "TONGAN" | "TRINIDADIAN_OR_TOBAGONIAN" | "TUNISIAN" | "TURKISH" | "TUVALUAN" | "UGANDAN" | "UKRAINIAN" | "URUGUAYAN" | "UZBEKISTANI" | "VENEZUELAN" | "VIETNAMESE" | "WELSH" | "YEMENITE" | "ZAMBIAN" | "ZIMBABWEAN" | null | undefined;
1226
+ transportation?: {
1227
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
1228
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
1229
+ } | null | undefined;
1230
+ location?: {
1231
+ address?: string | null | undefined;
1232
+ postcode?: string | null | undefined;
1233
+ county?: string | null | undefined;
1234
+ adminDistrict?: string | null | undefined;
1235
+ builtUpArea?: string | null | undefined;
1236
+ postTown?: string | null | undefined;
1237
+ areaCovered?: string | null | undefined;
1238
+ latitude?: number | null | undefined;
1239
+ longitude?: number | null | undefined;
1240
+ } | null | undefined;
1241
+ offerOpenness?: "NOT_INTERESTED" | "ACTIVELY_LOOKING" | "OPEN" | undefined;
1242
+ offerOpennessSetAt?: string | Date | null | undefined;
1243
+ offerNote?: string | null | undefined;
1244
+ offerNoteUpdatedAt?: string | Date | null | undefined;
1245
+ offerSignalUpdatedById?: string | null | undefined;
1246
+ offerSignalUpdatedByName?: string | null | undefined;
1247
+ shareCode?: {
1248
+ code: string | null;
1249
+ expiryDate?: string | Date | null | undefined;
1250
+ fileId?: string | null | undefined;
1251
+ } | null | undefined;
1252
+ liveStatus?: {
1253
+ bookingId?: string | null | undefined;
1254
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
1255
+ active?: {
1256
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
1257
+ } | null | undefined;
1258
+ activeId?: string | null | undefined;
1259
+ bookingAgent?: {
1260
+ id: string;
1261
+ firstName: string;
1262
+ lastName: string;
1263
+ } | null | undefined;
1264
+ } | undefined;
1265
+ occupancyStatus?: "BOOKED" | "ACTIVE" | null | undefined;
1266
+ workingUntil?: string | Date | null | undefined;
1267
+ blacklistReason?: string | null | undefined;
1268
+ trades?: {
1269
+ id: string;
1270
+ createdAt: string | Date;
1271
+ updatedAt: string | Date;
1272
+ tradeId: string;
1273
+ mainTrade: boolean;
1274
+ }[] | null | undefined;
1275
+ qualifications?: {
1276
+ id: string;
1277
+ proofDocumentFileId: string | null;
1278
+ referenceNumber: string | null;
1279
+ qualificationId: string;
1280
+ qualificationTypeId: string | null;
1281
+ createdAt: string | Date;
1282
+ updatedAt: string | Date;
1283
+ issueDate?: string | Date | null | undefined;
1284
+ expiryDate?: string | Date | null | undefined;
1285
+ }[] | null | undefined;
1286
+ phoneNumbers?: {
1287
+ id: string;
1288
+ createdAt: string | Date;
1289
+ updatedAt: string | Date;
1290
+ phoneNumber: string;
1291
+ isPrimary?: boolean | undefined;
1292
+ description?: string | null | undefined;
1293
+ }[] | null | undefined;
1294
+ idDocuments?: {
1295
+ id: string;
1296
+ expiryDate?: string | Date | null | undefined;
1297
+ createdAt?: string | Date | undefined;
1298
+ updatedAt?: string | Date | undefined;
1299
+ fileId?: string | null | undefined;
1300
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
1301
+ documentNumber?: string | null | undefined;
1302
+ }[] | undefined;
1303
+ };
1304
+ jobCards: {
1305
+ status: "AVAILABLE" | "NOT_AVAILABLE";
1306
+ id: string;
1307
+ pay: {
1308
+ rateUnit: "DAILY" | "HOURLY";
1309
+ rate?: number | null | undefined;
1310
+ isNegotiable?: boolean | undefined;
1311
+ rateMax?: number | null | undefined;
1312
+ receivedRate?: number | null | undefined;
1313
+ };
1314
+ createdAt: string | Date;
1315
+ updatedAt: string | Date;
1316
+ tradeId: string;
1317
+ description: string;
1318
+ numberOfPositions: number;
1319
+ distanceKm?: number | null | undefined;
1320
+ startDate?: string | null | undefined;
1321
+ location?: {
1322
+ address?: string | null | undefined;
1323
+ postcode?: string | null | undefined;
1324
+ adminDistrict?: string | null | undefined;
1325
+ postTown?: string | null | undefined;
1326
+ } | null | undefined;
1327
+ createdBy?: {
1328
+ id: string;
1329
+ firstName: string;
1330
+ lastName: string;
1331
+ phoneNumbers?: {
1332
+ id: string;
1333
+ phoneNumber: string;
1334
+ isPrimary?: boolean | undefined;
1335
+ description?: string | null | undefined;
1336
+ }[] | undefined;
1337
+ deletedAt?: string | Date | null | undefined;
1338
+ } | null | undefined;
1339
+ workHours?: number | null | undefined;
1340
+ jobQualifications?: {
1341
+ id: string;
1342
+ qualificationId: string;
1343
+ qualificationTypeId?: string | null | undefined;
1344
+ }[] | null | undefined;
1345
+ collaboration?: {
1346
+ status?: string | null | undefined;
1347
+ id?: string | null | undefined;
1348
+ userId?: string | null | undefined;
1349
+ client?: {
1350
+ id: string;
1351
+ name: string;
1352
+ } | null | undefined;
1353
+ company?: {
1354
+ id: string;
1355
+ name: string;
1356
+ } | null | undefined;
1357
+ user?: {
1358
+ id: string;
1359
+ firstName: string;
1360
+ lastName: string;
1361
+ phoneNumbers?: {
1362
+ id: string;
1363
+ phoneNumber: string;
1364
+ isPrimary?: boolean | undefined;
1365
+ description?: string | null | undefined;
1366
+ }[] | undefined;
1367
+ deletedAt?: string | Date | null | undefined;
1368
+ } | null | undefined;
1369
+ } | null | undefined;
1370
+ createdById?: string | null | undefined;
1371
+ creationSource?: "MANUAL" | "BOT" | null | undefined;
1372
+ filledPositions?: number | undefined;
1373
+ }[];
1374
+ }>;
1375
+ export type ConsentJobsResponse = z.infer<typeof ConsentJobsResponseSchema>;
1376
+ export declare const ConsentAndOfferSchema: z.ZodObject<{
1377
+ tuples: z.ZodArray<z.ZodObject<{
1378
+ subjectKind: z.ZodEnum<["OWNED", "CURATED"]>;
1379
+ subjectId: z.ZodString;
1380
+ jobId: z.ZodString;
1381
+ }, "strip", z.ZodTypeAny, {
1382
+ subjectKind: "OWNED" | "CURATED";
1383
+ subjectId: string;
1384
+ jobId: string;
1385
+ }, {
1386
+ subjectKind: "OWNED" | "CURATED";
1387
+ subjectId: string;
1388
+ jobId: string;
1389
+ }>, "many">;
1390
+ channel: z.ZodOptional<z.ZodEnum<["WHATSAPP", "PHONE"]>>;
1391
+ }, "strip", z.ZodTypeAny, {
1392
+ tuples: {
1393
+ subjectKind: "OWNED" | "CURATED";
1394
+ subjectId: string;
1395
+ jobId: string;
1396
+ }[];
1397
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1398
+ }, {
1399
+ tuples: {
1400
+ subjectKind: "OWNED" | "CURATED";
1401
+ subjectId: string;
1402
+ jobId: string;
1403
+ }[];
1404
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1405
+ }>;
1406
+ export type ConsentAndOffer = z.infer<typeof ConsentAndOfferSchema>;
1407
+ /**
1408
+ * The per-job outcomes an agent stages while reviewing a CONSENT_PENDING
1409
+ * worker's matches. Mirrors the job-match dispositions plus BOOKED — `channel`
1410
+ * only carries meaning for OFFER_SENT. The subject is always the consenting
1411
+ * worker, so items carry just the jobId; the server fills in the tuple.
1412
+ */
1413
+ export declare const ConsentApplyOutcomeSchema: z.ZodEnum<["OFFER_SENT", "TOO_FAR", "NOT_INTERESTED", "BOOKED"]>;
1414
+ export type ConsentApplyOutcome = z.infer<typeof ConsentApplyOutcomeSchema>;
1415
+ export declare const ConsentApplyItemSchema: z.ZodObject<{
1416
+ jobId: z.ZodString;
1417
+ outcome: z.ZodEnum<["OFFER_SENT", "TOO_FAR", "NOT_INTERESTED", "BOOKED"]>;
1418
+ channel: z.ZodOptional<z.ZodEnum<["WHATSAPP", "PHONE"]>>;
1419
+ }, "strip", z.ZodTypeAny, {
1420
+ jobId: string;
1421
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
1422
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1423
+ }, {
1424
+ jobId: string;
1425
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
1426
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1427
+ }>;
1428
+ export type ConsentApplyItem = z.infer<typeof ConsentApplyItemSchema>;
1429
+ export declare const ConsentAndApplySchema: z.ZodObject<{
1430
+ items: z.ZodArray<z.ZodObject<{
1431
+ jobId: z.ZodString;
1432
+ outcome: z.ZodEnum<["OFFER_SENT", "TOO_FAR", "NOT_INTERESTED", "BOOKED"]>;
1433
+ channel: z.ZodOptional<z.ZodEnum<["WHATSAPP", "PHONE"]>>;
1434
+ }, "strip", z.ZodTypeAny, {
1435
+ jobId: string;
1436
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
1437
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1438
+ }, {
1439
+ jobId: string;
1440
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
1441
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1442
+ }>, "many">;
1443
+ }, "strict", z.ZodTypeAny, {
1444
+ items: {
1445
+ jobId: string;
1446
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
1447
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1448
+ }[];
1449
+ }, {
1450
+ items: {
1451
+ jobId: string;
1452
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
1453
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1454
+ }[];
1455
+ }>;
1456
+ export type ConsentAndApply = z.infer<typeof ConsentAndApplySchema>;
1457
+ export declare const ReSnoozeSchema: z.ZodObject<{
1458
+ days: z.ZodNumber;
1459
+ }, "strip", z.ZodTypeAny, {
1460
+ days: number;
1461
+ }, {
1462
+ days: number;
1463
+ }>;
1464
+ export type ReSnooze = z.infer<typeof ReSnoozeSchema>;
1465
+ export declare const consentQueueContract: {
1466
+ getNext: {
1467
+ metadata: {
1468
+ tags: string[];
1469
+ };
1470
+ summary: "Next consent lead for the current agent (triggers refill if empty)";
1471
+ method: "GET";
1472
+ path: "/v2/curated-worker-leads/consent-queue/next";
1473
+ responses: {
1474
+ 500: z.ZodObject<{
1475
+ statusCode: z.ZodNumber;
1476
+ message: z.ZodString;
1477
+ code: z.ZodString;
1478
+ details: z.ZodOptional<z.ZodUnknown>;
1479
+ timestamp: z.ZodString;
1480
+ path: z.ZodString;
1481
+ correlationId: z.ZodOptional<z.ZodString>;
1482
+ }, "strip", z.ZodTypeAny, {
1483
+ code: string;
1484
+ path: string;
1485
+ message: string;
1486
+ statusCode: number;
1487
+ timestamp: string;
1488
+ details?: unknown;
1489
+ correlationId?: string | undefined;
1490
+ }, {
1491
+ code: string;
1492
+ path: string;
1493
+ message: string;
1494
+ statusCode: number;
1495
+ timestamp: string;
1496
+ details?: unknown;
1497
+ correlationId?: string | undefined;
1498
+ }>;
1499
+ 400: z.ZodObject<{
1500
+ statusCode: z.ZodNumber;
1501
+ message: z.ZodString;
1502
+ code: z.ZodString;
1503
+ details: z.ZodOptional<z.ZodUnknown>;
1504
+ timestamp: z.ZodString;
1505
+ path: z.ZodString;
1506
+ correlationId: z.ZodOptional<z.ZodString>;
1507
+ }, "strip", z.ZodTypeAny, {
1508
+ code: string;
1509
+ path: string;
1510
+ message: string;
1511
+ statusCode: number;
1512
+ timestamp: string;
1513
+ details?: unknown;
1514
+ correlationId?: string | undefined;
1515
+ }, {
1516
+ code: string;
1517
+ path: string;
1518
+ message: string;
1519
+ statusCode: number;
1520
+ timestamp: string;
1521
+ details?: unknown;
1522
+ correlationId?: string | undefined;
1523
+ }>;
1524
+ 401: z.ZodObject<{
1525
+ statusCode: z.ZodNumber;
1526
+ message: z.ZodString;
1527
+ code: z.ZodString;
1528
+ details: z.ZodOptional<z.ZodUnknown>;
1529
+ timestamp: z.ZodString;
1530
+ path: z.ZodString;
1531
+ correlationId: z.ZodOptional<z.ZodString>;
1532
+ }, "strip", z.ZodTypeAny, {
1533
+ code: string;
1534
+ path: string;
1535
+ message: string;
1536
+ statusCode: number;
1537
+ timestamp: string;
1538
+ details?: unknown;
1539
+ correlationId?: string | undefined;
1540
+ }, {
1541
+ code: string;
1542
+ path: string;
1543
+ message: string;
1544
+ statusCode: number;
1545
+ timestamp: string;
1546
+ details?: unknown;
1547
+ correlationId?: string | undefined;
1548
+ }>;
1549
+ 200: z.ZodNullable<z.ZodObject<{
1550
+ assignmentId: z.ZodString;
1551
+ curatedWorkerId: z.ZodString;
1552
+ workerName: z.ZodString;
1553
+ phoneNumber: z.ZodNullable<z.ZodString>;
1554
+ phoneId: z.ZodNullable<z.ZodString>;
1555
+ postcode: z.ZodNullable<z.ZodString>;
1556
+ matchingJobCount: z.ZodNumber;
1557
+ nearestJobDistanceKm: z.ZodNullable<z.ZodNumber>;
1558
+ assignedAt: z.ZodString;
1559
+ }, "strip", z.ZodTypeAny, {
1560
+ curatedWorkerId: string;
1561
+ postcode: string | null;
1562
+ phoneNumber: string | null;
1563
+ workerName: string;
1564
+ assignmentId: string;
1565
+ phoneId: string | null;
1566
+ matchingJobCount: number;
1567
+ nearestJobDistanceKm: number | null;
1568
+ assignedAt: string;
1569
+ }, {
1570
+ curatedWorkerId: string;
1571
+ postcode: string | null;
1572
+ phoneNumber: string | null;
1573
+ workerName: string;
1574
+ assignmentId: string;
1575
+ phoneId: string | null;
1576
+ matchingJobCount: number;
1577
+ nearestJobDistanceKm: number | null;
1578
+ assignedAt: string;
1579
+ }>>;
1580
+ 403: z.ZodObject<{
1581
+ statusCode: z.ZodNumber;
1582
+ message: z.ZodString;
1583
+ code: z.ZodString;
1584
+ details: z.ZodOptional<z.ZodUnknown>;
1585
+ timestamp: z.ZodString;
1586
+ path: z.ZodString;
1587
+ correlationId: z.ZodOptional<z.ZodString>;
1588
+ }, "strip", z.ZodTypeAny, {
1589
+ code: string;
1590
+ path: string;
1591
+ message: string;
1592
+ statusCode: number;
1593
+ timestamp: string;
1594
+ details?: unknown;
1595
+ correlationId?: string | undefined;
1596
+ }, {
1597
+ code: string;
1598
+ path: string;
1599
+ message: string;
1600
+ statusCode: number;
1601
+ timestamp: string;
1602
+ details?: unknown;
1603
+ correlationId?: string | undefined;
1604
+ }>;
1605
+ };
1606
+ };
1607
+ getQueueStatus: {
1608
+ metadata: {
1609
+ tags: string[];
1610
+ };
1611
+ summary: "Consent queue status for the current agent";
1612
+ method: "GET";
1613
+ path: "/v2/curated-worker-leads/consent-queue/status";
1614
+ responses: {
1615
+ 500: z.ZodObject<{
1616
+ statusCode: z.ZodNumber;
1617
+ message: z.ZodString;
1618
+ code: z.ZodString;
1619
+ details: z.ZodOptional<z.ZodUnknown>;
1620
+ timestamp: z.ZodString;
1621
+ path: z.ZodString;
1622
+ correlationId: z.ZodOptional<z.ZodString>;
1623
+ }, "strip", z.ZodTypeAny, {
1624
+ code: string;
1625
+ path: string;
1626
+ message: string;
1627
+ statusCode: number;
1628
+ timestamp: string;
1629
+ details?: unknown;
1630
+ correlationId?: string | undefined;
1631
+ }, {
1632
+ code: string;
1633
+ path: string;
1634
+ message: string;
1635
+ statusCode: number;
1636
+ timestamp: string;
1637
+ details?: unknown;
1638
+ correlationId?: string | undefined;
1639
+ }>;
1640
+ 400: z.ZodObject<{
1641
+ statusCode: z.ZodNumber;
1642
+ message: z.ZodString;
1643
+ code: z.ZodString;
1644
+ details: z.ZodOptional<z.ZodUnknown>;
1645
+ timestamp: z.ZodString;
1646
+ path: z.ZodString;
1647
+ correlationId: z.ZodOptional<z.ZodString>;
1648
+ }, "strip", z.ZodTypeAny, {
1649
+ code: string;
1650
+ path: string;
1651
+ message: string;
1652
+ statusCode: number;
1653
+ timestamp: string;
1654
+ details?: unknown;
1655
+ correlationId?: string | undefined;
1656
+ }, {
1657
+ code: string;
1658
+ path: string;
1659
+ message: string;
1660
+ statusCode: number;
1661
+ timestamp: string;
1662
+ details?: unknown;
1663
+ correlationId?: string | undefined;
1664
+ }>;
1665
+ 401: z.ZodObject<{
1666
+ statusCode: z.ZodNumber;
1667
+ message: z.ZodString;
1668
+ code: z.ZodString;
1669
+ details: z.ZodOptional<z.ZodUnknown>;
1670
+ timestamp: z.ZodString;
1671
+ path: z.ZodString;
1672
+ correlationId: z.ZodOptional<z.ZodString>;
1673
+ }, "strip", z.ZodTypeAny, {
1674
+ code: string;
1675
+ path: string;
1676
+ message: string;
1677
+ statusCode: number;
1678
+ timestamp: string;
1679
+ details?: unknown;
1680
+ correlationId?: string | undefined;
1681
+ }, {
1682
+ code: string;
1683
+ path: string;
1684
+ message: string;
1685
+ statusCode: number;
1686
+ timestamp: string;
1687
+ details?: unknown;
1688
+ correlationId?: string | undefined;
1689
+ }>;
1690
+ 200: z.ZodObject<{
1691
+ agentId: z.ZodString;
1692
+ nextAvailable: z.ZodBoolean;
1693
+ }, "strip", z.ZodTypeAny, {
1694
+ agentId: string;
1695
+ nextAvailable: boolean;
1696
+ }, {
1697
+ agentId: string;
1698
+ nextAvailable: boolean;
1699
+ }>;
1700
+ 403: z.ZodObject<{
1701
+ statusCode: z.ZodNumber;
1702
+ message: z.ZodString;
1703
+ code: z.ZodString;
1704
+ details: z.ZodOptional<z.ZodUnknown>;
1705
+ timestamp: z.ZodString;
1706
+ path: z.ZodString;
1707
+ correlationId: z.ZodOptional<z.ZodString>;
1708
+ }, "strip", z.ZodTypeAny, {
1709
+ code: string;
1710
+ path: string;
1711
+ message: string;
1712
+ statusCode: number;
1713
+ timestamp: string;
1714
+ details?: unknown;
1715
+ correlationId?: string | undefined;
1716
+ }, {
1717
+ code: string;
1718
+ path: string;
1719
+ message: string;
1720
+ statusCode: number;
1721
+ timestamp: string;
1722
+ details?: unknown;
1723
+ correlationId?: string | undefined;
1724
+ }>;
1725
+ };
1726
+ };
1727
+ consent: {
1728
+ metadata: {
1729
+ tags: string[];
1730
+ };
1731
+ pathParams: z.ZodObject<{
1732
+ id: z.ZodString;
1733
+ }, "strip", z.ZodTypeAny, {
1734
+ id: string;
1735
+ }, {
1736
+ id: string;
1737
+ }>;
1738
+ summary: "Record worker consent; advance to next";
1739
+ method: "POST";
1740
+ body: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
1741
+ path: "/v2/curated-worker-leads/consent-queue/:id/consent";
1742
+ responses: {
1743
+ 500: z.ZodObject<{
1744
+ statusCode: z.ZodNumber;
1745
+ message: z.ZodString;
1746
+ code: z.ZodString;
1747
+ details: z.ZodOptional<z.ZodUnknown>;
1748
+ timestamp: z.ZodString;
1749
+ path: z.ZodString;
1750
+ correlationId: z.ZodOptional<z.ZodString>;
1751
+ }, "strip", z.ZodTypeAny, {
1752
+ code: string;
1753
+ path: string;
1754
+ message: string;
1755
+ statusCode: number;
1756
+ timestamp: string;
1757
+ details?: unknown;
1758
+ correlationId?: string | undefined;
1759
+ }, {
1760
+ code: string;
1761
+ path: string;
1762
+ message: string;
1763
+ statusCode: number;
1764
+ timestamp: string;
1765
+ details?: unknown;
1766
+ correlationId?: string | undefined;
1767
+ }>;
1768
+ 400: z.ZodObject<{
1769
+ statusCode: z.ZodNumber;
1770
+ message: z.ZodString;
1771
+ code: z.ZodString;
1772
+ details: z.ZodOptional<z.ZodUnknown>;
1773
+ timestamp: z.ZodString;
1774
+ path: z.ZodString;
1775
+ correlationId: z.ZodOptional<z.ZodString>;
1776
+ }, "strip", z.ZodTypeAny, {
1777
+ code: string;
1778
+ path: string;
1779
+ message: string;
1780
+ statusCode: number;
1781
+ timestamp: string;
1782
+ details?: unknown;
1783
+ correlationId?: string | undefined;
1784
+ }, {
1785
+ code: string;
1786
+ path: string;
1787
+ message: string;
1788
+ statusCode: number;
1789
+ timestamp: string;
1790
+ details?: unknown;
1791
+ correlationId?: string | undefined;
1792
+ }>;
1793
+ 401: z.ZodObject<{
1794
+ statusCode: z.ZodNumber;
1795
+ message: z.ZodString;
1796
+ code: z.ZodString;
1797
+ details: z.ZodOptional<z.ZodUnknown>;
1798
+ timestamp: z.ZodString;
1799
+ path: z.ZodString;
1800
+ correlationId: z.ZodOptional<z.ZodString>;
1801
+ }, "strip", z.ZodTypeAny, {
1802
+ code: string;
1803
+ path: string;
1804
+ message: string;
1805
+ statusCode: number;
1806
+ timestamp: string;
1807
+ details?: unknown;
1808
+ correlationId?: string | undefined;
1809
+ }, {
1810
+ code: string;
1811
+ path: string;
1812
+ message: string;
1813
+ statusCode: number;
1814
+ timestamp: string;
1815
+ details?: unknown;
1816
+ correlationId?: string | undefined;
1817
+ }>;
1818
+ 200: z.ZodObject<{
1819
+ next: z.ZodNullable<z.ZodObject<{
1820
+ assignmentId: z.ZodString;
1821
+ curatedWorkerId: z.ZodString;
1822
+ workerName: z.ZodString;
1823
+ phoneNumber: z.ZodNullable<z.ZodString>;
1824
+ phoneId: z.ZodNullable<z.ZodString>;
1825
+ postcode: z.ZodNullable<z.ZodString>;
1826
+ matchingJobCount: z.ZodNumber;
1827
+ nearestJobDistanceKm: z.ZodNullable<z.ZodNumber>;
1828
+ assignedAt: z.ZodString;
1829
+ }, "strip", z.ZodTypeAny, {
1830
+ curatedWorkerId: string;
1831
+ postcode: string | null;
1832
+ phoneNumber: string | null;
1833
+ workerName: string;
1834
+ assignmentId: string;
1835
+ phoneId: string | null;
1836
+ matchingJobCount: number;
1837
+ nearestJobDistanceKm: number | null;
1838
+ assignedAt: string;
1839
+ }, {
1840
+ curatedWorkerId: string;
1841
+ postcode: string | null;
1842
+ phoneNumber: string | null;
1843
+ workerName: string;
1844
+ assignmentId: string;
1845
+ phoneId: string | null;
1846
+ matchingJobCount: number;
1847
+ nearestJobDistanceKm: number | null;
1848
+ assignedAt: string;
1849
+ }>>;
1850
+ }, "strip", z.ZodTypeAny, {
1851
+ next: {
1852
+ curatedWorkerId: string;
1853
+ postcode: string | null;
1854
+ phoneNumber: string | null;
1855
+ workerName: string;
1856
+ assignmentId: string;
1857
+ phoneId: string | null;
1858
+ matchingJobCount: number;
1859
+ nearestJobDistanceKm: number | null;
1860
+ assignedAt: string;
1861
+ } | null;
1862
+ }, {
1863
+ next: {
1864
+ curatedWorkerId: string;
1865
+ postcode: string | null;
1866
+ phoneNumber: string | null;
1867
+ workerName: string;
1868
+ assignmentId: string;
1869
+ phoneId: string | null;
1870
+ matchingJobCount: number;
1871
+ nearestJobDistanceKm: number | null;
1872
+ assignedAt: string;
1873
+ } | null;
1874
+ }>;
1875
+ 403: z.ZodObject<{
1876
+ statusCode: z.ZodNumber;
1877
+ message: z.ZodString;
1878
+ code: z.ZodString;
1879
+ details: z.ZodOptional<z.ZodUnknown>;
1880
+ timestamp: z.ZodString;
1881
+ path: z.ZodString;
1882
+ correlationId: z.ZodOptional<z.ZodString>;
1883
+ }, "strip", z.ZodTypeAny, {
1884
+ code: string;
1885
+ path: string;
1886
+ message: string;
1887
+ statusCode: number;
1888
+ timestamp: string;
1889
+ details?: unknown;
1890
+ correlationId?: string | undefined;
1891
+ }, {
1892
+ code: string;
1893
+ path: string;
1894
+ message: string;
1895
+ statusCode: number;
1896
+ timestamp: string;
1897
+ details?: unknown;
1898
+ correlationId?: string | undefined;
1899
+ }>;
1900
+ 404: z.ZodObject<{
1901
+ statusCode: z.ZodNumber;
1902
+ message: z.ZodString;
1903
+ code: z.ZodString;
1904
+ details: z.ZodOptional<z.ZodUnknown>;
1905
+ timestamp: z.ZodString;
1906
+ path: z.ZodString;
1907
+ correlationId: z.ZodOptional<z.ZodString>;
1908
+ }, "strip", z.ZodTypeAny, {
1909
+ code: string;
1910
+ path: string;
1911
+ message: string;
1912
+ statusCode: number;
1913
+ timestamp: string;
1914
+ details?: unknown;
1915
+ correlationId?: string | undefined;
1916
+ }, {
1917
+ code: string;
1918
+ path: string;
1919
+ message: string;
1920
+ statusCode: number;
1921
+ timestamp: string;
1922
+ details?: unknown;
1923
+ correlationId?: string | undefined;
1924
+ }>;
1925
+ };
1926
+ };
1927
+ decline: {
1928
+ metadata: {
1929
+ tags: string[];
1930
+ };
1931
+ pathParams: z.ZodObject<{
1932
+ id: z.ZodString;
1933
+ }, "strip", z.ZodTypeAny, {
1934
+ id: string;
1935
+ }, {
1936
+ id: string;
1937
+ }>;
1938
+ summary: "Record decline (reason + do-not-contact days); advance to next";
1939
+ method: "POST";
1940
+ body: z.ZodObject<{
1941
+ reason: z.ZodEnum<["NOT_INTERESTED", "ALREADY_WORKING", "OUT_OF_COUNTRY", "WRONG_NUMBER", "NO_ANSWER", "OTHER"]>;
1942
+ doNotContactDays: z.ZodNumber;
1943
+ }, "strip", z.ZodTypeAny, {
1944
+ reason: "NOT_INTERESTED" | "OTHER" | "NO_ANSWER" | "ALREADY_WORKING" | "OUT_OF_COUNTRY" | "WRONG_NUMBER";
1945
+ doNotContactDays: number;
1946
+ }, {
1947
+ reason: "NOT_INTERESTED" | "OTHER" | "NO_ANSWER" | "ALREADY_WORKING" | "OUT_OF_COUNTRY" | "WRONG_NUMBER";
1948
+ doNotContactDays: number;
1949
+ }>;
1950
+ path: "/v2/curated-worker-leads/consent-queue/:id/decline";
1951
+ responses: {
1952
+ 500: z.ZodObject<{
1953
+ statusCode: z.ZodNumber;
1954
+ message: z.ZodString;
1955
+ code: z.ZodString;
1956
+ details: z.ZodOptional<z.ZodUnknown>;
1957
+ timestamp: z.ZodString;
1958
+ path: z.ZodString;
1959
+ correlationId: z.ZodOptional<z.ZodString>;
1960
+ }, "strip", z.ZodTypeAny, {
1961
+ code: string;
1962
+ path: string;
1963
+ message: string;
1964
+ statusCode: number;
1965
+ timestamp: string;
1966
+ details?: unknown;
1967
+ correlationId?: string | undefined;
1968
+ }, {
1969
+ code: string;
1970
+ path: string;
1971
+ message: string;
1972
+ statusCode: number;
1973
+ timestamp: string;
1974
+ details?: unknown;
1975
+ correlationId?: string | undefined;
1976
+ }>;
1977
+ 400: z.ZodObject<{
1978
+ statusCode: z.ZodNumber;
1979
+ message: z.ZodString;
1980
+ code: z.ZodString;
1981
+ details: z.ZodOptional<z.ZodUnknown>;
1982
+ timestamp: z.ZodString;
1983
+ path: z.ZodString;
1984
+ correlationId: z.ZodOptional<z.ZodString>;
1985
+ }, "strip", z.ZodTypeAny, {
1986
+ code: string;
1987
+ path: string;
1988
+ message: string;
1989
+ statusCode: number;
1990
+ timestamp: string;
1991
+ details?: unknown;
1992
+ correlationId?: string | undefined;
1993
+ }, {
1994
+ code: string;
1995
+ path: string;
1996
+ message: string;
1997
+ statusCode: number;
1998
+ timestamp: string;
1999
+ details?: unknown;
2000
+ correlationId?: string | undefined;
2001
+ }>;
2002
+ 401: z.ZodObject<{
2003
+ statusCode: z.ZodNumber;
2004
+ message: z.ZodString;
2005
+ code: z.ZodString;
2006
+ details: z.ZodOptional<z.ZodUnknown>;
2007
+ timestamp: z.ZodString;
2008
+ path: z.ZodString;
2009
+ correlationId: z.ZodOptional<z.ZodString>;
2010
+ }, "strip", z.ZodTypeAny, {
2011
+ code: string;
2012
+ path: string;
2013
+ message: string;
2014
+ statusCode: number;
2015
+ timestamp: string;
2016
+ details?: unknown;
2017
+ correlationId?: string | undefined;
2018
+ }, {
2019
+ code: string;
2020
+ path: string;
2021
+ message: string;
2022
+ statusCode: number;
2023
+ timestamp: string;
2024
+ details?: unknown;
2025
+ correlationId?: string | undefined;
2026
+ }>;
2027
+ 200: z.ZodObject<{
2028
+ next: z.ZodNullable<z.ZodObject<{
2029
+ assignmentId: z.ZodString;
2030
+ curatedWorkerId: z.ZodString;
2031
+ workerName: z.ZodString;
2032
+ phoneNumber: z.ZodNullable<z.ZodString>;
2033
+ phoneId: z.ZodNullable<z.ZodString>;
2034
+ postcode: z.ZodNullable<z.ZodString>;
2035
+ matchingJobCount: z.ZodNumber;
2036
+ nearestJobDistanceKm: z.ZodNullable<z.ZodNumber>;
2037
+ assignedAt: z.ZodString;
2038
+ }, "strip", z.ZodTypeAny, {
2039
+ curatedWorkerId: string;
2040
+ postcode: string | null;
2041
+ phoneNumber: string | null;
2042
+ workerName: string;
2043
+ assignmentId: string;
2044
+ phoneId: string | null;
2045
+ matchingJobCount: number;
2046
+ nearestJobDistanceKm: number | null;
2047
+ assignedAt: string;
2048
+ }, {
2049
+ curatedWorkerId: string;
2050
+ postcode: string | null;
2051
+ phoneNumber: string | null;
2052
+ workerName: string;
2053
+ assignmentId: string;
2054
+ phoneId: string | null;
2055
+ matchingJobCount: number;
2056
+ nearestJobDistanceKm: number | null;
2057
+ assignedAt: string;
2058
+ }>>;
2059
+ }, "strip", z.ZodTypeAny, {
2060
+ next: {
2061
+ curatedWorkerId: string;
2062
+ postcode: string | null;
2063
+ phoneNumber: string | null;
2064
+ workerName: string;
2065
+ assignmentId: string;
2066
+ phoneId: string | null;
2067
+ matchingJobCount: number;
2068
+ nearestJobDistanceKm: number | null;
2069
+ assignedAt: string;
2070
+ } | null;
2071
+ }, {
2072
+ next: {
2073
+ curatedWorkerId: string;
2074
+ postcode: string | null;
2075
+ phoneNumber: string | null;
2076
+ workerName: string;
2077
+ assignmentId: string;
2078
+ phoneId: string | null;
2079
+ matchingJobCount: number;
2080
+ nearestJobDistanceKm: number | null;
2081
+ assignedAt: string;
2082
+ } | null;
2083
+ }>;
2084
+ 403: z.ZodObject<{
2085
+ statusCode: z.ZodNumber;
2086
+ message: z.ZodString;
2087
+ code: z.ZodString;
2088
+ details: z.ZodOptional<z.ZodUnknown>;
2089
+ timestamp: z.ZodString;
2090
+ path: z.ZodString;
2091
+ correlationId: z.ZodOptional<z.ZodString>;
2092
+ }, "strip", z.ZodTypeAny, {
2093
+ code: string;
2094
+ path: string;
2095
+ message: string;
2096
+ statusCode: number;
2097
+ timestamp: string;
2098
+ details?: unknown;
2099
+ correlationId?: string | undefined;
2100
+ }, {
2101
+ code: string;
2102
+ path: string;
2103
+ message: string;
2104
+ statusCode: number;
2105
+ timestamp: string;
2106
+ details?: unknown;
2107
+ correlationId?: string | undefined;
2108
+ }>;
2109
+ 404: z.ZodObject<{
2110
+ statusCode: z.ZodNumber;
2111
+ message: z.ZodString;
2112
+ code: z.ZodString;
2113
+ details: z.ZodOptional<z.ZodUnknown>;
2114
+ timestamp: z.ZodString;
2115
+ path: z.ZodString;
2116
+ correlationId: z.ZodOptional<z.ZodString>;
2117
+ }, "strip", z.ZodTypeAny, {
2118
+ code: string;
2119
+ path: string;
2120
+ message: string;
2121
+ statusCode: number;
2122
+ timestamp: string;
2123
+ details?: unknown;
2124
+ correlationId?: string | undefined;
2125
+ }, {
2126
+ code: string;
2127
+ path: string;
2128
+ message: string;
2129
+ statusCode: number;
2130
+ timestamp: string;
2131
+ details?: unknown;
2132
+ correlationId?: string | undefined;
2133
+ }>;
2134
+ };
2135
+ };
2136
+ markPhoneInvalid: {
2137
+ metadata: {
2138
+ tags: string[];
2139
+ };
2140
+ pathParams: z.ZodObject<{
2141
+ id: z.ZodString;
2142
+ }, "strip", z.ZodTypeAny, {
2143
+ id: string;
2144
+ }, {
2145
+ id: string;
2146
+ }>;
2147
+ summary: "Flag the worker phone number invalid (channel tried); release + advance";
2148
+ method: "POST";
2149
+ body: z.ZodObject<{
2150
+ channel: z.ZodEnum<["WHATSAPP", "PHONE_CALL"]>;
2151
+ curatedWorkerPhoneId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2152
+ }, "strip", z.ZodTypeAny, {
2153
+ channel: "WHATSAPP" | "PHONE_CALL";
2154
+ curatedWorkerPhoneId?: string | null | undefined;
2155
+ }, {
2156
+ channel: "WHATSAPP" | "PHONE_CALL";
2157
+ curatedWorkerPhoneId?: string | null | undefined;
2158
+ }>;
2159
+ path: "/v2/curated-worker-leads/consent-queue/:id/mark-phone-invalid";
2160
+ responses: {
2161
+ 500: z.ZodObject<{
2162
+ statusCode: z.ZodNumber;
2163
+ message: z.ZodString;
2164
+ code: z.ZodString;
2165
+ details: z.ZodOptional<z.ZodUnknown>;
2166
+ timestamp: z.ZodString;
2167
+ path: z.ZodString;
2168
+ correlationId: z.ZodOptional<z.ZodString>;
2169
+ }, "strip", z.ZodTypeAny, {
2170
+ code: string;
2171
+ path: string;
2172
+ message: string;
2173
+ statusCode: number;
2174
+ timestamp: string;
2175
+ details?: unknown;
2176
+ correlationId?: string | undefined;
2177
+ }, {
2178
+ code: string;
2179
+ path: string;
2180
+ message: string;
2181
+ statusCode: number;
2182
+ timestamp: string;
2183
+ details?: unknown;
2184
+ correlationId?: string | undefined;
2185
+ }>;
2186
+ 400: z.ZodObject<{
2187
+ statusCode: z.ZodNumber;
2188
+ message: z.ZodString;
2189
+ code: z.ZodString;
2190
+ details: z.ZodOptional<z.ZodUnknown>;
2191
+ timestamp: z.ZodString;
2192
+ path: z.ZodString;
2193
+ correlationId: z.ZodOptional<z.ZodString>;
2194
+ }, "strip", z.ZodTypeAny, {
2195
+ code: string;
2196
+ path: string;
2197
+ message: string;
2198
+ statusCode: number;
2199
+ timestamp: string;
2200
+ details?: unknown;
2201
+ correlationId?: string | undefined;
2202
+ }, {
2203
+ code: string;
2204
+ path: string;
2205
+ message: string;
2206
+ statusCode: number;
2207
+ timestamp: string;
2208
+ details?: unknown;
2209
+ correlationId?: string | undefined;
2210
+ }>;
2211
+ 401: z.ZodObject<{
2212
+ statusCode: z.ZodNumber;
2213
+ message: z.ZodString;
2214
+ code: z.ZodString;
2215
+ details: z.ZodOptional<z.ZodUnknown>;
2216
+ timestamp: z.ZodString;
2217
+ path: z.ZodString;
2218
+ correlationId: z.ZodOptional<z.ZodString>;
2219
+ }, "strip", z.ZodTypeAny, {
2220
+ code: string;
2221
+ path: string;
2222
+ message: string;
2223
+ statusCode: number;
2224
+ timestamp: string;
2225
+ details?: unknown;
2226
+ correlationId?: string | undefined;
2227
+ }, {
2228
+ code: string;
2229
+ path: string;
2230
+ message: string;
2231
+ statusCode: number;
2232
+ timestamp: string;
2233
+ details?: unknown;
2234
+ correlationId?: string | undefined;
2235
+ }>;
2236
+ 200: z.ZodObject<{
2237
+ next: z.ZodNullable<z.ZodObject<{
2238
+ assignmentId: z.ZodString;
2239
+ curatedWorkerId: z.ZodString;
2240
+ workerName: z.ZodString;
2241
+ phoneNumber: z.ZodNullable<z.ZodString>;
2242
+ phoneId: z.ZodNullable<z.ZodString>;
2243
+ postcode: z.ZodNullable<z.ZodString>;
2244
+ matchingJobCount: z.ZodNumber;
2245
+ nearestJobDistanceKm: z.ZodNullable<z.ZodNumber>;
2246
+ assignedAt: z.ZodString;
2247
+ }, "strip", z.ZodTypeAny, {
2248
+ curatedWorkerId: string;
2249
+ postcode: string | null;
2250
+ phoneNumber: string | null;
2251
+ workerName: string;
2252
+ assignmentId: string;
2253
+ phoneId: string | null;
2254
+ matchingJobCount: number;
2255
+ nearestJobDistanceKm: number | null;
2256
+ assignedAt: string;
2257
+ }, {
2258
+ curatedWorkerId: string;
2259
+ postcode: string | null;
2260
+ phoneNumber: string | null;
2261
+ workerName: string;
2262
+ assignmentId: string;
2263
+ phoneId: string | null;
2264
+ matchingJobCount: number;
2265
+ nearestJobDistanceKm: number | null;
2266
+ assignedAt: string;
2267
+ }>>;
2268
+ }, "strip", z.ZodTypeAny, {
2269
+ next: {
2270
+ curatedWorkerId: string;
2271
+ postcode: string | null;
2272
+ phoneNumber: string | null;
2273
+ workerName: string;
2274
+ assignmentId: string;
2275
+ phoneId: string | null;
2276
+ matchingJobCount: number;
2277
+ nearestJobDistanceKm: number | null;
2278
+ assignedAt: string;
2279
+ } | null;
2280
+ }, {
2281
+ next: {
2282
+ curatedWorkerId: string;
2283
+ postcode: string | null;
2284
+ phoneNumber: string | null;
2285
+ workerName: string;
2286
+ assignmentId: string;
2287
+ phoneId: string | null;
2288
+ matchingJobCount: number;
2289
+ nearestJobDistanceKm: number | null;
2290
+ assignedAt: string;
2291
+ } | null;
2292
+ }>;
2293
+ 403: z.ZodObject<{
2294
+ statusCode: z.ZodNumber;
2295
+ message: z.ZodString;
2296
+ code: z.ZodString;
2297
+ details: z.ZodOptional<z.ZodUnknown>;
2298
+ timestamp: z.ZodString;
2299
+ path: z.ZodString;
2300
+ correlationId: z.ZodOptional<z.ZodString>;
2301
+ }, "strip", z.ZodTypeAny, {
2302
+ code: string;
2303
+ path: string;
2304
+ message: string;
2305
+ statusCode: number;
2306
+ timestamp: string;
2307
+ details?: unknown;
2308
+ correlationId?: string | undefined;
2309
+ }, {
2310
+ code: string;
2311
+ path: string;
2312
+ message: string;
2313
+ statusCode: number;
2314
+ timestamp: string;
2315
+ details?: unknown;
2316
+ correlationId?: string | undefined;
2317
+ }>;
2318
+ 404: z.ZodObject<{
2319
+ statusCode: z.ZodNumber;
2320
+ message: z.ZodString;
2321
+ code: z.ZodString;
2322
+ details: z.ZodOptional<z.ZodUnknown>;
2323
+ timestamp: z.ZodString;
2324
+ path: z.ZodString;
2325
+ correlationId: z.ZodOptional<z.ZodString>;
2326
+ }, "strip", z.ZodTypeAny, {
2327
+ code: string;
2328
+ path: string;
2329
+ message: string;
2330
+ statusCode: number;
2331
+ timestamp: string;
2332
+ details?: unknown;
2333
+ correlationId?: string | undefined;
2334
+ }, {
2335
+ code: string;
2336
+ path: string;
2337
+ message: string;
2338
+ statusCode: number;
2339
+ timestamp: string;
2340
+ details?: unknown;
2341
+ correlationId?: string | undefined;
2342
+ }>;
2343
+ };
2344
+ };
2345
+ getConsentJobs: {
2346
+ metadata: {
2347
+ tags: string[];
2348
+ };
2349
+ query: z.ZodObject<{
2350
+ curatedWorkerId: z.ZodString;
2351
+ }, "strip", z.ZodTypeAny, {
2352
+ curatedWorkerId: string;
2353
+ }, {
2354
+ curatedWorkerId: string;
2355
+ }>;
2356
+ summary: "A CONSENT_PENDING worker's matching jobs (pitch ammo; ungated read)";
2357
+ method: "GET";
2358
+ path: "/v2/curated-worker-leads/consent-queue/jobs";
2359
+ responses: {
2360
+ 500: z.ZodObject<{
2361
+ statusCode: z.ZodNumber;
2362
+ message: z.ZodString;
2363
+ code: z.ZodString;
2364
+ details: z.ZodOptional<z.ZodUnknown>;
2365
+ timestamp: z.ZodString;
2366
+ path: z.ZodString;
2367
+ correlationId: z.ZodOptional<z.ZodString>;
2368
+ }, "strip", z.ZodTypeAny, {
2369
+ code: string;
2370
+ path: string;
2371
+ message: string;
2372
+ statusCode: number;
2373
+ timestamp: string;
2374
+ details?: unknown;
2375
+ correlationId?: string | undefined;
2376
+ }, {
2377
+ code: string;
2378
+ path: string;
2379
+ message: string;
2380
+ statusCode: number;
2381
+ timestamp: string;
2382
+ details?: unknown;
2383
+ correlationId?: string | undefined;
2384
+ }>;
2385
+ 400: z.ZodObject<{
2386
+ statusCode: z.ZodNumber;
2387
+ message: z.ZodString;
2388
+ code: z.ZodString;
2389
+ details: z.ZodOptional<z.ZodUnknown>;
2390
+ timestamp: z.ZodString;
2391
+ path: z.ZodString;
2392
+ correlationId: z.ZodOptional<z.ZodString>;
2393
+ }, "strip", z.ZodTypeAny, {
2394
+ code: string;
2395
+ path: string;
2396
+ message: string;
2397
+ statusCode: number;
2398
+ timestamp: string;
2399
+ details?: unknown;
2400
+ correlationId?: string | undefined;
2401
+ }, {
2402
+ code: string;
2403
+ path: string;
2404
+ message: string;
2405
+ statusCode: number;
2406
+ timestamp: string;
2407
+ details?: unknown;
2408
+ correlationId?: string | undefined;
2409
+ }>;
2410
+ 401: z.ZodObject<{
2411
+ statusCode: z.ZodNumber;
2412
+ message: z.ZodString;
2413
+ code: z.ZodString;
2414
+ details: z.ZodOptional<z.ZodUnknown>;
2415
+ timestamp: z.ZodString;
2416
+ path: z.ZodString;
2417
+ correlationId: z.ZodOptional<z.ZodString>;
2418
+ }, "strip", z.ZodTypeAny, {
2419
+ code: string;
2420
+ path: string;
2421
+ message: string;
2422
+ statusCode: number;
2423
+ timestamp: string;
2424
+ details?: unknown;
2425
+ correlationId?: string | undefined;
2426
+ }, {
2427
+ code: string;
2428
+ path: string;
2429
+ message: string;
2430
+ statusCode: number;
2431
+ timestamp: string;
2432
+ details?: unknown;
2433
+ correlationId?: string | undefined;
2434
+ }>;
2435
+ 200: z.ZodObject<{
2436
+ worker: z.ZodObject<{
2437
+ id: z.ZodString;
2438
+ firstName: z.ZodString;
2439
+ lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2440
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2441
+ nino: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2442
+ dateOfBirth: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
2443
+ bio: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2444
+ englishLevel: z.ZodOptional<z.ZodNullable<z.ZodEnum<["NONE", "BASIC", "INTERMEDIATE", "ADVANCED", "NATIVE"]>>>;
2445
+ nationality: z.ZodOptional<z.ZodNullable<z.ZodEnum<["AFGHAN", "ALBANIAN", "ALGERIAN", "AMERICAN", "ANDORRAN", "ANGOLAN", "ANTIGUANS", "ARGENTINEAN", "ARMENIAN", "AUSTRALIAN", "AUSTRIAN", "AZERBAIJANI", "BAHAMIAN", "BAHRAINI", "BANGLADESHI", "BARBADIAN", "BARBUDANS", "BELARUSIAN", "BELGIAN", "BELIZEAN", "BENINESE", "BHUTANESE", "BOLIVIAN", "BOSNIAN", "BRAZILIAN", "BRITISH", "BRUNEIAN", "BULGARIAN", "BURKINABE", "BURMESE", "BURUNDIAN", "CAMBODIAN", "CAMEROONIAN", "CANADIAN", "CAPE_VERDEAN", "CENTRAL_AFRICAN", "CHADIAN", "CHILEAN", "CHINESE", "COLOMBIAN", "COMORAN", "CONGOLESE", "COSTA_RICAN", "CROATIAN", "CUBAN", "CYPRIOT", "CZECH", "DANISH", "DJIBOUTI", "DOMINICAN", "DUTCH", "EAST_TIMORESE", "ECUADOREAN", "EGYPTIAN", "EMIRIAN", "EQUATORIAL_GUINEAN", "ERITREAN", "ESTONIAN", "ETHIOPIAN", "FIJIAN", "FILIPINO", "FINNISH", "FRENCH", "GABONESE", "GAMBIAN", "GEORGIAN", "GERMAN", "GHANAIAN", "GREEK", "GRENADIAN", "GUATEMALAN", "GUINEA_BISSAUAN", "GUINEAN", "GUYANESE", "HAITIAN", "HERZEGOVINIAN", "HONDURAN", "HUNGARIAN", "ICELANDER", "INDIAN", "INDONESIAN", "IRANIAN", "IRAQI", "IRISH", "ISRAELI", "ITALIAN", "IVORIAN", "JAMAICAN", "JAPANESE", "JORDANIAN", "KAZAKHSTANI", "KENYAN", "KITTIAN_AND_NEVISIAN", "KUWAITI", "KYRGYZ", "LAOTIAN", "LATVIAN", "LEBANESE", "LIBERIAN", "LIBYAN", "LIECHTENSTEINER", "LITHUANIAN", "LUXEMBOURGER", "MACEDONIAN", "MALAGASY", "MALAWIAN", "MALAYSIAN", "MALDIVAN", "MALIAN", "MALTESE", "MARSHALLESE", "MAURITANIAN", "MAURITIAN", "MEXICAN", "MICRONESIAN", "MOLDOVAN", "MONACAN", "MONGOLIAN", "MOROCCAN", "MOSOTHO", "MOTSWANA", "MOZAMBICAN", "NAMIBIAN", "NAURUAN", "NEPALESE", "NEW_ZEALANDER", "NI_VANUATU", "NICARAGUAN", "NIGERIEN", "NIGERIAN", "NORTH_KOREAN", "NORTHERN_IRISH", "NORWEGIAN", "OMANI", "PAKISTANI", "PALAUAN", "PANAMANIAN", "PAPUA_NEW_GUINEAN", "PARAGUAYAN", "PERUVIAN", "POLISH", "PORTUGUESE", "QATARI", "ROMANIAN", "RUSSIAN", "RWANDAN", "SAINT_LUCIAN", "SALVADORAN", "SAMOAN", "SAN_MARINESE", "SAO_TOMEAN", "SAUDI", "SCOTTISH", "SENEGALESE", "SERBIAN", "SEYCHELLOIS", "SIERRA_LEONEAN", "SINGAPOREAN", "SLOVAKIAN", "SLOVENIAN", "SOLOMON_ISLANDER", "SOMALI", "SOUTH_AFRICAN", "SOUTH_KOREAN", "SOUTH_SUDANESE", "SPANISH", "SRI_LANKAN", "SUDANESE", "SURINAMER", "SWAZI", "SWEDISH", "SWISS", "SYRIAN", "TAIWANESE", "TAJIK", "TANZANIAN", "THAI", "TOGOLESE", "TONGAN", "TRINIDADIAN_OR_TOBAGONIAN", "TUNISIAN", "TURKISH", "TUVALUAN", "UGANDAN", "UKRAINIAN", "URUGUAYAN", "UZBEKISTANI", "VENEZUELAN", "VIETNAMESE", "WELSH", "YEMENITE", "ZAMBIAN", "ZIMBABWEAN"]>>>;
2446
+ hasTools: z.ZodNullable<z.ZodBoolean>;
2447
+ hasPpe: z.ZodNullable<z.ZodBoolean>;
2448
+ bookingHistory: z.ZodOptional<z.ZodObject<{
2449
+ workedTotal: z.ZodNumber;
2450
+ workedByMe: z.ZodNumber;
2451
+ noShowTotal: z.ZodNumber;
2452
+ noShowByMe: z.ZodNumber;
2453
+ }, "strip", z.ZodTypeAny, {
2454
+ workedTotal: number;
2455
+ workedByMe: number;
2456
+ noShowTotal: number;
2457
+ noShowByMe: number;
2458
+ }, {
2459
+ workedTotal: number;
2460
+ workedByMe: number;
2461
+ noShowTotal: number;
2462
+ noShowByMe: number;
2463
+ }>>;
2464
+ transportation: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodObject<{
2465
+ methods: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["OWN_CAR", "OWN_VAN", "MOTORCYCLE", "PUBLIC_TRANSPORT", "BICYCLE", "WALK"]>, "many">>>;
2466
+ preferredMethod: z.ZodOptional<z.ZodNullable<z.ZodEnum<["OWN_CAR", "OWN_VAN", "MOTORCYCLE", "PUBLIC_TRANSPORT", "BICYCLE", "WALK"]>>>;
2467
+ }, "strip", z.ZodTypeAny, {
2468
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
2469
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
2470
+ }, {
2471
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
2472
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
2473
+ }>, {
2474
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
2475
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
2476
+ }, {
2477
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
2478
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
2479
+ }>>>;
2480
+ location: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2481
+ address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2482
+ postcode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2483
+ county: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2484
+ adminDistrict: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2485
+ builtUpArea: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2486
+ postTown: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2487
+ areaCovered: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2488
+ latitude: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
2489
+ longitude: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
2490
+ }, "strip", z.ZodTypeAny, {
2491
+ address?: string | null | undefined;
2492
+ postcode?: string | null | undefined;
2493
+ county?: string | null | undefined;
2494
+ adminDistrict?: string | null | undefined;
2495
+ builtUpArea?: string | null | undefined;
2496
+ postTown?: string | null | undefined;
2497
+ areaCovered?: string | null | undefined;
2498
+ latitude?: number | null | undefined;
2499
+ longitude?: number | null | undefined;
2500
+ }, {
2501
+ address?: string | null | undefined;
2502
+ postcode?: string | null | undefined;
2503
+ county?: string | null | undefined;
2504
+ adminDistrict?: string | null | undefined;
2505
+ builtUpArea?: string | null | undefined;
2506
+ postTown?: string | null | undefined;
2507
+ areaCovered?: string | null | undefined;
2508
+ latitude?: number | null | undefined;
2509
+ longitude?: number | null | undefined;
2510
+ }>>>;
2511
+ offerOpenness: z.ZodDefault<z.ZodEnum<["ACTIVELY_LOOKING", "OPEN", "NOT_INTERESTED"]>>;
2512
+ offerOpennessSetAt: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
2513
+ offerNote: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2514
+ offerNoteUpdatedAt: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
2515
+ offerSignalUpdatedById: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2516
+ offerSignalUpdatedByName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2517
+ shareCode: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2518
+ code: z.ZodEffects<z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>, string | null, string | null>;
2519
+ expiryDate: z.ZodNullable<z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
2520
+ fileId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2521
+ }, "strip", z.ZodTypeAny, {
2522
+ code: string | null;
2523
+ expiryDate?: string | null | undefined;
2524
+ fileId?: string | null | undefined;
2525
+ }, {
2526
+ code: string | null;
2527
+ expiryDate?: string | Date | null | undefined;
2528
+ fileId?: string | null | undefined;
2529
+ }>>>;
2530
+ liveStatus: z.ZodOptional<z.ZodObject<{
2531
+ booking: z.ZodOptional<z.ZodNullable<z.ZodEnum<["CANCELLED", "JOB_CANCELLED", "REFUSED_BY_CLIENT", "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY", "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE", "REFUSED_BY_FIRST_JOB_FILLED", "REFUSED_BY_FIRST_IGNORED_DENIED", "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE", "WAITING_FOR_CONFIRMATION", "CONFIRMED", "DIDNT_START_BECAUSE_OF_WORKER", "DIDNT_START_BECAUSE_OF_US", "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE", "DIDNT_START_BECAUSE_OF_AGENCY", "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS", "DIDNT_START_OVERBOOK_BY_CLIENT", "DIDNT_START_OVERBOOK_BY_US", "ANOTHER_SITUATION", "SPOKE_WITH_WORKER_IN_THE_MORNING", "ON_THE_WAY_TO_THE_SITE", "AT_THE_INDUCTION", "STARTED_THE_JOB", "COMPLETED"]>>>;
2532
+ bookingId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2533
+ active: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2534
+ status: z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY", "OFF_SCHEDULE"]>;
2535
+ }, "strip", z.ZodTypeAny, {
2536
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2537
+ }, {
2538
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2539
+ }>>>;
2540
+ activeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2541
+ bookingAgent: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2542
+ id: z.ZodString;
2543
+ firstName: z.ZodString;
2544
+ lastName: z.ZodString;
2545
+ }, "strip", z.ZodTypeAny, {
2546
+ id: string;
2547
+ firstName: string;
2548
+ lastName: string;
2549
+ }, {
2550
+ id: string;
2551
+ firstName: string;
2552
+ lastName: string;
2553
+ }>>>;
2554
+ }, "strip", z.ZodTypeAny, {
2555
+ bookingId?: string | null | undefined;
2556
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
2557
+ active?: {
2558
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2559
+ } | null | undefined;
2560
+ activeId?: string | null | undefined;
2561
+ bookingAgent?: {
2562
+ id: string;
2563
+ firstName: string;
2564
+ lastName: string;
2565
+ } | null | undefined;
2566
+ }, {
2567
+ bookingId?: string | null | undefined;
2568
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
2569
+ active?: {
2570
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2571
+ } | null | undefined;
2572
+ activeId?: string | null | undefined;
2573
+ bookingAgent?: {
2574
+ id: string;
2575
+ firstName: string;
2576
+ lastName: string;
2577
+ } | null | undefined;
2578
+ }>>;
2579
+ occupancyStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<["ACTIVE", "BOOKED"]>>>;
2580
+ distanceKm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2581
+ workingUntil: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
2582
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2583
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2584
+ blacklisted: z.ZodBoolean;
2585
+ blacklistReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2586
+ suppression: z.ZodNullable<z.ZodObject<{
2587
+ reason: z.ZodString;
2588
+ note: z.ZodNullable<z.ZodString>;
2589
+ until: z.ZodNullable<z.ZodString>;
2590
+ setByName: z.ZodString;
2591
+ setAt: z.ZodString;
2592
+ }, "strip", z.ZodTypeAny, {
2593
+ reason: string;
2594
+ until: string | null;
2595
+ note: string | null;
2596
+ setByName: string;
2597
+ setAt: string;
2598
+ }, {
2599
+ reason: string;
2600
+ until: string | null;
2601
+ note: string | null;
2602
+ setByName: string;
2603
+ setAt: string;
2604
+ }>>;
2605
+ trades: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
2606
+ id: z.ZodString;
2607
+ tradeId: z.ZodString;
2608
+ mainTrade: z.ZodBoolean;
2609
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2610
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2611
+ }, "strip", z.ZodTypeAny, {
2612
+ id: string;
2613
+ createdAt: string;
2614
+ updatedAt: string;
2615
+ tradeId: string;
2616
+ mainTrade: boolean;
2617
+ }, {
2618
+ id: string;
2619
+ createdAt: string | Date;
2620
+ updatedAt: string | Date;
2621
+ tradeId: string;
2622
+ mainTrade: boolean;
2623
+ }>, "many">>>;
2624
+ qualifications: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
2625
+ id: z.ZodString;
2626
+ proofDocumentFileId: z.ZodNullable<z.ZodString>;
2627
+ issueDate: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
2628
+ expiryDate: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
2629
+ referenceNumber: z.ZodNullable<z.ZodString>;
2630
+ qualificationId: z.ZodString;
2631
+ qualificationTypeId: z.ZodNullable<z.ZodString>;
2632
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2633
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2634
+ }, "strip", z.ZodTypeAny, {
2635
+ id: string;
2636
+ proofDocumentFileId: string | null;
2637
+ referenceNumber: string | null;
2638
+ qualificationId: string;
2639
+ qualificationTypeId: string | null;
2640
+ createdAt: string;
2641
+ updatedAt: string;
2642
+ issueDate?: string | null | undefined;
2643
+ expiryDate?: string | null | undefined;
2644
+ }, {
2645
+ id: string;
2646
+ proofDocumentFileId: string | null;
2647
+ referenceNumber: string | null;
2648
+ qualificationId: string;
2649
+ qualificationTypeId: string | null;
2650
+ createdAt: string | Date;
2651
+ updatedAt: string | Date;
2652
+ issueDate?: string | Date | null | undefined;
2653
+ expiryDate?: string | Date | null | undefined;
2654
+ }>, "many">>>;
2655
+ phoneNumbers: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
2656
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
2657
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2658
+ } & {
2659
+ id: z.ZodString;
2660
+ phoneNumber: z.ZodString;
2661
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2662
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
2663
+ }, "strip", z.ZodTypeAny, {
2664
+ id: string;
2665
+ createdAt: string;
2666
+ updatedAt: string;
2667
+ phoneNumber: string;
2668
+ isPrimary: boolean;
2669
+ description?: string | null | undefined;
2670
+ }, {
2671
+ id: string;
2672
+ createdAt: string | Date;
2673
+ updatedAt: string | Date;
2674
+ phoneNumber: string;
2675
+ isPrimary?: boolean | undefined;
2676
+ description?: string | null | undefined;
2677
+ }>, "many">>>;
2678
+ idDocuments: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
2679
+ id: z.ZodString;
2680
+ fileId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2681
+ documentType: z.ZodOptional<z.ZodNullable<z.ZodEnum<["passport", "id_card", "driving_license", "unknown"]>>>;
2682
+ expiryDate: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>>;
2683
+ documentNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2684
+ createdAt: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
2685
+ updatedAt: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>>;
2686
+ }, "strip", z.ZodTypeAny, {
2687
+ id: string;
2688
+ expiryDate?: string | null | undefined;
2689
+ createdAt?: string | undefined;
2690
+ updatedAt?: string | undefined;
2691
+ fileId?: string | null | undefined;
2692
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
2693
+ documentNumber?: string | null | undefined;
2694
+ }, {
2695
+ id: string;
2696
+ expiryDate?: string | Date | null | undefined;
2697
+ createdAt?: string | Date | undefined;
2698
+ updatedAt?: string | Date | undefined;
2699
+ fileId?: string | null | undefined;
2700
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
2701
+ documentNumber?: string | null | undefined;
2702
+ }>, "many">>>;
2703
+ }, "strip", z.ZodTypeAny, {
2704
+ id: string;
2705
+ firstName: string;
2706
+ createdAt: string;
2707
+ updatedAt: string;
2708
+ hasTools: boolean | null;
2709
+ hasPpe: boolean | null;
2710
+ offerOpenness: "NOT_INTERESTED" | "ACTIVELY_LOOKING" | "OPEN";
2711
+ blacklisted: boolean;
2712
+ suppression: {
2713
+ reason: string;
2714
+ until: string | null;
2715
+ note: string | null;
2716
+ setByName: string;
2717
+ setAt: string;
2718
+ } | null;
2719
+ idDocuments: {
2720
+ id: string;
2721
+ expiryDate?: string | null | undefined;
2722
+ createdAt?: string | undefined;
2723
+ updatedAt?: string | undefined;
2724
+ fileId?: string | null | undefined;
2725
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
2726
+ documentNumber?: string | null | undefined;
2727
+ }[];
2728
+ distanceKm?: number | null | undefined;
2729
+ lastName?: string | null | undefined;
2730
+ bookingHistory?: {
2731
+ workedTotal: number;
2732
+ workedByMe: number;
2733
+ noShowTotal: number;
2734
+ noShowByMe: number;
2735
+ } | undefined;
2736
+ email?: string | null | undefined;
2737
+ nino?: string | null | undefined;
2738
+ dateOfBirth?: string | null | undefined;
2739
+ bio?: string | null | undefined;
2740
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
2741
+ nationality?: "AFGHAN" | "ALBANIAN" | "ALGERIAN" | "AMERICAN" | "ANDORRAN" | "ANGOLAN" | "ANTIGUANS" | "ARGENTINEAN" | "ARMENIAN" | "AUSTRALIAN" | "AUSTRIAN" | "AZERBAIJANI" | "BAHAMIAN" | "BAHRAINI" | "BANGLADESHI" | "BARBADIAN" | "BARBUDANS" | "BELARUSIAN" | "BELGIAN" | "BELIZEAN" | "BENINESE" | "BHUTANESE" | "BOLIVIAN" | "BOSNIAN" | "BRAZILIAN" | "BRITISH" | "BRUNEIAN" | "BULGARIAN" | "BURKINABE" | "BURMESE" | "BURUNDIAN" | "CAMBODIAN" | "CAMEROONIAN" | "CANADIAN" | "CAPE_VERDEAN" | "CENTRAL_AFRICAN" | "CHADIAN" | "CHILEAN" | "CHINESE" | "COLOMBIAN" | "COMORAN" | "CONGOLESE" | "COSTA_RICAN" | "CROATIAN" | "CUBAN" | "CYPRIOT" | "CZECH" | "DANISH" | "DJIBOUTI" | "DOMINICAN" | "DUTCH" | "EAST_TIMORESE" | "ECUADOREAN" | "EGYPTIAN" | "EMIRIAN" | "EQUATORIAL_GUINEAN" | "ERITREAN" | "ESTONIAN" | "ETHIOPIAN" | "FIJIAN" | "FILIPINO" | "FINNISH" | "FRENCH" | "GABONESE" | "GAMBIAN" | "GEORGIAN" | "GERMAN" | "GHANAIAN" | "GREEK" | "GRENADIAN" | "GUATEMALAN" | "GUINEA_BISSAUAN" | "GUINEAN" | "GUYANESE" | "HAITIAN" | "HERZEGOVINIAN" | "HONDURAN" | "HUNGARIAN" | "ICELANDER" | "INDIAN" | "INDONESIAN" | "IRANIAN" | "IRAQI" | "IRISH" | "ISRAELI" | "ITALIAN" | "IVORIAN" | "JAMAICAN" | "JAPANESE" | "JORDANIAN" | "KAZAKHSTANI" | "KENYAN" | "KITTIAN_AND_NEVISIAN" | "KUWAITI" | "KYRGYZ" | "LAOTIAN" | "LATVIAN" | "LEBANESE" | "LIBERIAN" | "LIBYAN" | "LIECHTENSTEINER" | "LITHUANIAN" | "LUXEMBOURGER" | "MACEDONIAN" | "MALAGASY" | "MALAWIAN" | "MALAYSIAN" | "MALDIVAN" | "MALIAN" | "MALTESE" | "MARSHALLESE" | "MAURITANIAN" | "MAURITIAN" | "MEXICAN" | "MICRONESIAN" | "MOLDOVAN" | "MONACAN" | "MONGOLIAN" | "MOROCCAN" | "MOSOTHO" | "MOTSWANA" | "MOZAMBICAN" | "NAMIBIAN" | "NAURUAN" | "NEPALESE" | "NEW_ZEALANDER" | "NI_VANUATU" | "NICARAGUAN" | "NIGERIEN" | "NIGERIAN" | "NORTH_KOREAN" | "NORTHERN_IRISH" | "NORWEGIAN" | "OMANI" | "PAKISTANI" | "PALAUAN" | "PANAMANIAN" | "PAPUA_NEW_GUINEAN" | "PARAGUAYAN" | "PERUVIAN" | "POLISH" | "PORTUGUESE" | "QATARI" | "ROMANIAN" | "RUSSIAN" | "RWANDAN" | "SAINT_LUCIAN" | "SALVADORAN" | "SAMOAN" | "SAN_MARINESE" | "SAO_TOMEAN" | "SAUDI" | "SCOTTISH" | "SENEGALESE" | "SERBIAN" | "SEYCHELLOIS" | "SIERRA_LEONEAN" | "SINGAPOREAN" | "SLOVAKIAN" | "SLOVENIAN" | "SOLOMON_ISLANDER" | "SOMALI" | "SOUTH_AFRICAN" | "SOUTH_KOREAN" | "SOUTH_SUDANESE" | "SPANISH" | "SRI_LANKAN" | "SUDANESE" | "SURINAMER" | "SWAZI" | "SWEDISH" | "SWISS" | "SYRIAN" | "TAIWANESE" | "TAJIK" | "TANZANIAN" | "THAI" | "TOGOLESE" | "TONGAN" | "TRINIDADIAN_OR_TOBAGONIAN" | "TUNISIAN" | "TURKISH" | "TUVALUAN" | "UGANDAN" | "UKRAINIAN" | "URUGUAYAN" | "UZBEKISTANI" | "VENEZUELAN" | "VIETNAMESE" | "WELSH" | "YEMENITE" | "ZAMBIAN" | "ZIMBABWEAN" | null | undefined;
2742
+ transportation?: {
2743
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
2744
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
2745
+ } | null | undefined;
2746
+ location?: {
2747
+ address?: string | null | undefined;
2748
+ postcode?: string | null | undefined;
2749
+ county?: string | null | undefined;
2750
+ adminDistrict?: string | null | undefined;
2751
+ builtUpArea?: string | null | undefined;
2752
+ postTown?: string | null | undefined;
2753
+ areaCovered?: string | null | undefined;
2754
+ latitude?: number | null | undefined;
2755
+ longitude?: number | null | undefined;
2756
+ } | null | undefined;
2757
+ offerOpennessSetAt?: string | null | undefined;
2758
+ offerNote?: string | null | undefined;
2759
+ offerNoteUpdatedAt?: string | null | undefined;
2760
+ offerSignalUpdatedById?: string | null | undefined;
2761
+ offerSignalUpdatedByName?: string | null | undefined;
2762
+ shareCode?: {
2763
+ code: string | null;
2764
+ expiryDate?: string | null | undefined;
2765
+ fileId?: string | null | undefined;
2766
+ } | null | undefined;
2767
+ liveStatus?: {
2768
+ bookingId?: string | null | undefined;
2769
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
2770
+ active?: {
2771
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2772
+ } | null | undefined;
2773
+ activeId?: string | null | undefined;
2774
+ bookingAgent?: {
2775
+ id: string;
2776
+ firstName: string;
2777
+ lastName: string;
2778
+ } | null | undefined;
2779
+ } | undefined;
2780
+ occupancyStatus?: "BOOKED" | "ACTIVE" | null | undefined;
2781
+ workingUntil?: string | null | undefined;
2782
+ blacklistReason?: string | null | undefined;
2783
+ trades?: {
2784
+ id: string;
2785
+ createdAt: string;
2786
+ updatedAt: string;
2787
+ tradeId: string;
2788
+ mainTrade: boolean;
2789
+ }[] | null | undefined;
2790
+ qualifications?: {
2791
+ id: string;
2792
+ proofDocumentFileId: string | null;
2793
+ referenceNumber: string | null;
2794
+ qualificationId: string;
2795
+ qualificationTypeId: string | null;
2796
+ createdAt: string;
2797
+ updatedAt: string;
2798
+ issueDate?: string | null | undefined;
2799
+ expiryDate?: string | null | undefined;
2800
+ }[] | null | undefined;
2801
+ phoneNumbers?: {
2802
+ id: string;
2803
+ createdAt: string;
2804
+ updatedAt: string;
2805
+ phoneNumber: string;
2806
+ isPrimary: boolean;
2807
+ description?: string | null | undefined;
2808
+ }[] | null | undefined;
2809
+ }, {
2810
+ id: string;
2811
+ firstName: string;
2812
+ createdAt: string | Date;
2813
+ updatedAt: string | Date;
2814
+ hasTools: boolean | null;
2815
+ hasPpe: boolean | null;
2816
+ blacklisted: boolean;
2817
+ suppression: {
2818
+ reason: string;
2819
+ until: string | null;
2820
+ note: string | null;
2821
+ setByName: string;
2822
+ setAt: string;
2823
+ } | null;
2824
+ distanceKm?: number | null | undefined;
2825
+ lastName?: string | null | undefined;
2826
+ bookingHistory?: {
2827
+ workedTotal: number;
2828
+ workedByMe: number;
2829
+ noShowTotal: number;
2830
+ noShowByMe: number;
2831
+ } | undefined;
2832
+ email?: string | null | undefined;
2833
+ nino?: string | null | undefined;
2834
+ dateOfBirth?: string | Date | null | undefined;
2835
+ bio?: string | null | undefined;
2836
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
2837
+ nationality?: "AFGHAN" | "ALBANIAN" | "ALGERIAN" | "AMERICAN" | "ANDORRAN" | "ANGOLAN" | "ANTIGUANS" | "ARGENTINEAN" | "ARMENIAN" | "AUSTRALIAN" | "AUSTRIAN" | "AZERBAIJANI" | "BAHAMIAN" | "BAHRAINI" | "BANGLADESHI" | "BARBADIAN" | "BARBUDANS" | "BELARUSIAN" | "BELGIAN" | "BELIZEAN" | "BENINESE" | "BHUTANESE" | "BOLIVIAN" | "BOSNIAN" | "BRAZILIAN" | "BRITISH" | "BRUNEIAN" | "BULGARIAN" | "BURKINABE" | "BURMESE" | "BURUNDIAN" | "CAMBODIAN" | "CAMEROONIAN" | "CANADIAN" | "CAPE_VERDEAN" | "CENTRAL_AFRICAN" | "CHADIAN" | "CHILEAN" | "CHINESE" | "COLOMBIAN" | "COMORAN" | "CONGOLESE" | "COSTA_RICAN" | "CROATIAN" | "CUBAN" | "CYPRIOT" | "CZECH" | "DANISH" | "DJIBOUTI" | "DOMINICAN" | "DUTCH" | "EAST_TIMORESE" | "ECUADOREAN" | "EGYPTIAN" | "EMIRIAN" | "EQUATORIAL_GUINEAN" | "ERITREAN" | "ESTONIAN" | "ETHIOPIAN" | "FIJIAN" | "FILIPINO" | "FINNISH" | "FRENCH" | "GABONESE" | "GAMBIAN" | "GEORGIAN" | "GERMAN" | "GHANAIAN" | "GREEK" | "GRENADIAN" | "GUATEMALAN" | "GUINEA_BISSAUAN" | "GUINEAN" | "GUYANESE" | "HAITIAN" | "HERZEGOVINIAN" | "HONDURAN" | "HUNGARIAN" | "ICELANDER" | "INDIAN" | "INDONESIAN" | "IRANIAN" | "IRAQI" | "IRISH" | "ISRAELI" | "ITALIAN" | "IVORIAN" | "JAMAICAN" | "JAPANESE" | "JORDANIAN" | "KAZAKHSTANI" | "KENYAN" | "KITTIAN_AND_NEVISIAN" | "KUWAITI" | "KYRGYZ" | "LAOTIAN" | "LATVIAN" | "LEBANESE" | "LIBERIAN" | "LIBYAN" | "LIECHTENSTEINER" | "LITHUANIAN" | "LUXEMBOURGER" | "MACEDONIAN" | "MALAGASY" | "MALAWIAN" | "MALAYSIAN" | "MALDIVAN" | "MALIAN" | "MALTESE" | "MARSHALLESE" | "MAURITANIAN" | "MAURITIAN" | "MEXICAN" | "MICRONESIAN" | "MOLDOVAN" | "MONACAN" | "MONGOLIAN" | "MOROCCAN" | "MOSOTHO" | "MOTSWANA" | "MOZAMBICAN" | "NAMIBIAN" | "NAURUAN" | "NEPALESE" | "NEW_ZEALANDER" | "NI_VANUATU" | "NICARAGUAN" | "NIGERIEN" | "NIGERIAN" | "NORTH_KOREAN" | "NORTHERN_IRISH" | "NORWEGIAN" | "OMANI" | "PAKISTANI" | "PALAUAN" | "PANAMANIAN" | "PAPUA_NEW_GUINEAN" | "PARAGUAYAN" | "PERUVIAN" | "POLISH" | "PORTUGUESE" | "QATARI" | "ROMANIAN" | "RUSSIAN" | "RWANDAN" | "SAINT_LUCIAN" | "SALVADORAN" | "SAMOAN" | "SAN_MARINESE" | "SAO_TOMEAN" | "SAUDI" | "SCOTTISH" | "SENEGALESE" | "SERBIAN" | "SEYCHELLOIS" | "SIERRA_LEONEAN" | "SINGAPOREAN" | "SLOVAKIAN" | "SLOVENIAN" | "SOLOMON_ISLANDER" | "SOMALI" | "SOUTH_AFRICAN" | "SOUTH_KOREAN" | "SOUTH_SUDANESE" | "SPANISH" | "SRI_LANKAN" | "SUDANESE" | "SURINAMER" | "SWAZI" | "SWEDISH" | "SWISS" | "SYRIAN" | "TAIWANESE" | "TAJIK" | "TANZANIAN" | "THAI" | "TOGOLESE" | "TONGAN" | "TRINIDADIAN_OR_TOBAGONIAN" | "TUNISIAN" | "TURKISH" | "TUVALUAN" | "UGANDAN" | "UKRAINIAN" | "URUGUAYAN" | "UZBEKISTANI" | "VENEZUELAN" | "VIETNAMESE" | "WELSH" | "YEMENITE" | "ZAMBIAN" | "ZIMBABWEAN" | null | undefined;
2838
+ transportation?: {
2839
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
2840
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
2841
+ } | null | undefined;
2842
+ location?: {
2843
+ address?: string | null | undefined;
2844
+ postcode?: string | null | undefined;
2845
+ county?: string | null | undefined;
2846
+ adminDistrict?: string | null | undefined;
2847
+ builtUpArea?: string | null | undefined;
2848
+ postTown?: string | null | undefined;
2849
+ areaCovered?: string | null | undefined;
2850
+ latitude?: number | null | undefined;
2851
+ longitude?: number | null | undefined;
2852
+ } | null | undefined;
2853
+ offerOpenness?: "NOT_INTERESTED" | "ACTIVELY_LOOKING" | "OPEN" | undefined;
2854
+ offerOpennessSetAt?: string | Date | null | undefined;
2855
+ offerNote?: string | null | undefined;
2856
+ offerNoteUpdatedAt?: string | Date | null | undefined;
2857
+ offerSignalUpdatedById?: string | null | undefined;
2858
+ offerSignalUpdatedByName?: string | null | undefined;
2859
+ shareCode?: {
2860
+ code: string | null;
2861
+ expiryDate?: string | Date | null | undefined;
2862
+ fileId?: string | null | undefined;
2863
+ } | null | undefined;
2864
+ liveStatus?: {
2865
+ bookingId?: string | null | undefined;
2866
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
2867
+ active?: {
2868
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2869
+ } | null | undefined;
2870
+ activeId?: string | null | undefined;
2871
+ bookingAgent?: {
2872
+ id: string;
2873
+ firstName: string;
2874
+ lastName: string;
2875
+ } | null | undefined;
2876
+ } | undefined;
2877
+ occupancyStatus?: "BOOKED" | "ACTIVE" | null | undefined;
2878
+ workingUntil?: string | Date | null | undefined;
2879
+ blacklistReason?: string | null | undefined;
2880
+ trades?: {
2881
+ id: string;
2882
+ createdAt: string | Date;
2883
+ updatedAt: string | Date;
2884
+ tradeId: string;
2885
+ mainTrade: boolean;
2886
+ }[] | null | undefined;
2887
+ qualifications?: {
2888
+ id: string;
2889
+ proofDocumentFileId: string | null;
2890
+ referenceNumber: string | null;
2891
+ qualificationId: string;
2892
+ qualificationTypeId: string | null;
2893
+ createdAt: string | Date;
2894
+ updatedAt: string | Date;
2895
+ issueDate?: string | Date | null | undefined;
2896
+ expiryDate?: string | Date | null | undefined;
2897
+ }[] | null | undefined;
2898
+ phoneNumbers?: {
2899
+ id: string;
2900
+ createdAt: string | Date;
2901
+ updatedAt: string | Date;
2902
+ phoneNumber: string;
2903
+ isPrimary?: boolean | undefined;
2904
+ description?: string | null | undefined;
2905
+ }[] | null | undefined;
2906
+ idDocuments?: {
2907
+ id: string;
2908
+ expiryDate?: string | Date | null | undefined;
2909
+ createdAt?: string | Date | undefined;
2910
+ updatedAt?: string | Date | undefined;
2911
+ fileId?: string | null | undefined;
2912
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
2913
+ documentNumber?: string | null | undefined;
2914
+ }[] | undefined;
2915
+ }>;
2916
+ matches: z.ZodArray<z.ZodObject<{
2917
+ subjectKind: z.ZodEnum<["OWNED", "CURATED"]>;
2918
+ subjectId: z.ZodString;
2919
+ jobId: z.ZodString;
2920
+ distanceKm: z.ZodNullable<z.ZodNumber>;
2921
+ driveMinutes: z.ZodNullable<z.ZodNumber>;
2922
+ transitMinutes: z.ZodNullable<z.ZodNumber>;
2923
+ status: z.ZodEnum<["NEW", "TOO_FAR", "NOT_INTERESTED", "OFFER_SENT", "BOOKED"]>;
2924
+ statusUpdatedAt: z.ZodNullable<z.ZodString>;
2925
+ }, "strip", z.ZodTypeAny, {
2926
+ subjectKind: "OWNED" | "CURATED";
2927
+ subjectId: string;
2928
+ jobId: string;
2929
+ status: "NEW" | "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
2930
+ distanceKm: number | null;
2931
+ driveMinutes: number | null;
2932
+ transitMinutes: number | null;
2933
+ statusUpdatedAt: string | null;
2934
+ }, {
2935
+ subjectKind: "OWNED" | "CURATED";
2936
+ subjectId: string;
2937
+ jobId: string;
2938
+ status: "NEW" | "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
2939
+ distanceKm: number | null;
2940
+ driveMinutes: number | null;
2941
+ transitMinutes: number | null;
2942
+ statusUpdatedAt: string | null;
2943
+ }>, "many">;
2944
+ jobCards: z.ZodArray<z.ZodObject<{
2945
+ id: z.ZodString;
2946
+ description: z.ZodString;
2947
+ numberOfPositions: z.ZodNumber;
2948
+ workHours: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2949
+ status: z.ZodEnum<["AVAILABLE", "NOT_AVAILABLE"]>;
2950
+ pay: z.ZodObject<{
2951
+ rateUnit: z.ZodEnum<["DAILY", "HOURLY"]>;
2952
+ isNegotiable: z.ZodDefault<z.ZodBoolean>;
2953
+ rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2954
+ rateMax: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2955
+ receivedRate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2956
+ }, "strip", z.ZodTypeAny, {
2957
+ rateUnit: "DAILY" | "HOURLY";
2958
+ isNegotiable: boolean;
2959
+ rate?: number | null | undefined;
2960
+ rateMax?: number | null | undefined;
2961
+ receivedRate?: number | null | undefined;
2962
+ }, {
2963
+ rateUnit: "DAILY" | "HOURLY";
2964
+ rate?: number | null | undefined;
2965
+ isNegotiable?: boolean | undefined;
2966
+ rateMax?: number | null | undefined;
2967
+ receivedRate?: number | null | undefined;
2968
+ }>;
2969
+ location: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2970
+ postcode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2971
+ postTown: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2972
+ adminDistrict: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2973
+ address: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2974
+ }, "strip", z.ZodTypeAny, {
2975
+ address?: string | null | undefined;
2976
+ postcode?: string | null | undefined;
2977
+ adminDistrict?: string | null | undefined;
2978
+ postTown?: string | null | undefined;
2979
+ }, {
2980
+ address?: string | null | undefined;
2981
+ postcode?: string | null | undefined;
2982
+ adminDistrict?: string | null | undefined;
2983
+ postTown?: string | null | undefined;
2984
+ }>>>;
2985
+ tradeId: z.ZodString;
2986
+ jobQualifications: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
2987
+ id: z.ZodString;
2988
+ qualificationId: z.ZodString;
2989
+ qualificationTypeId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
2990
+ }, "strip", z.ZodTypeAny, {
2991
+ id: string;
2992
+ qualificationId: string;
2993
+ qualificationTypeId?: string | null | undefined;
2994
+ }, {
2995
+ id: string;
2996
+ qualificationId: string;
2997
+ qualificationTypeId?: string | null | undefined;
2998
+ }>, "many">>>;
2999
+ collaboration: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3000
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3001
+ status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3002
+ userId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3003
+ client: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3004
+ id: z.ZodString;
3005
+ name: z.ZodString;
3006
+ }, "strip", z.ZodTypeAny, {
3007
+ id: string;
3008
+ name: string;
3009
+ }, {
3010
+ id: string;
3011
+ name: string;
3012
+ }>>>;
3013
+ company: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3014
+ id: z.ZodString;
3015
+ name: z.ZodString;
3016
+ }, "strip", z.ZodTypeAny, {
3017
+ id: string;
3018
+ name: string;
3019
+ }, {
3020
+ id: string;
3021
+ name: string;
3022
+ }>>>;
3023
+ user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3024
+ id: z.ZodString;
3025
+ firstName: z.ZodString;
3026
+ lastName: z.ZodString;
3027
+ phoneNumbers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
3028
+ id: z.ZodString;
3029
+ phoneNumber: z.ZodString;
3030
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3031
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
3032
+ }, "strip", z.ZodTypeAny, {
3033
+ id: string;
3034
+ phoneNumber: string;
3035
+ isPrimary: boolean;
3036
+ description?: string | null | undefined;
3037
+ }, {
3038
+ id: string;
3039
+ phoneNumber: string;
3040
+ isPrimary?: boolean | undefined;
3041
+ description?: string | null | undefined;
3042
+ }>, "many">>>;
3043
+ deletedAt: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate, z.ZodNull]>, string | null, string | Date | null>>>;
3044
+ }, "strip", z.ZodTypeAny, {
3045
+ id: string;
3046
+ firstName: string;
3047
+ lastName: string;
3048
+ phoneNumbers: {
3049
+ id: string;
3050
+ phoneNumber: string;
3051
+ isPrimary: boolean;
3052
+ description?: string | null | undefined;
3053
+ }[];
3054
+ deletedAt?: string | null | undefined;
3055
+ }, {
3056
+ id: string;
3057
+ firstName: string;
3058
+ lastName: string;
3059
+ phoneNumbers?: {
3060
+ id: string;
3061
+ phoneNumber: string;
3062
+ isPrimary?: boolean | undefined;
3063
+ description?: string | null | undefined;
3064
+ }[] | undefined;
3065
+ deletedAt?: string | Date | null | undefined;
3066
+ }>>>;
3067
+ }, "strip", z.ZodTypeAny, {
3068
+ status?: string | null | undefined;
3069
+ id?: string | null | undefined;
3070
+ userId?: string | null | undefined;
3071
+ client?: {
3072
+ id: string;
3073
+ name: string;
3074
+ } | null | undefined;
3075
+ company?: {
3076
+ id: string;
3077
+ name: string;
3078
+ } | null | undefined;
3079
+ user?: {
3080
+ id: string;
3081
+ firstName: string;
3082
+ lastName: string;
3083
+ phoneNumbers: {
3084
+ id: string;
3085
+ phoneNumber: string;
3086
+ isPrimary: boolean;
3087
+ description?: string | null | undefined;
3088
+ }[];
3089
+ deletedAt?: string | null | undefined;
3090
+ } | null | undefined;
3091
+ }, {
3092
+ status?: string | null | undefined;
3093
+ id?: string | null | undefined;
3094
+ userId?: string | null | undefined;
3095
+ client?: {
3096
+ id: string;
3097
+ name: string;
3098
+ } | null | undefined;
3099
+ company?: {
3100
+ id: string;
3101
+ name: string;
3102
+ } | null | undefined;
3103
+ user?: {
3104
+ id: string;
3105
+ firstName: string;
3106
+ lastName: string;
3107
+ phoneNumbers?: {
3108
+ id: string;
3109
+ phoneNumber: string;
3110
+ isPrimary?: boolean | undefined;
3111
+ description?: string | null | undefined;
3112
+ }[] | undefined;
3113
+ deletedAt?: string | Date | null | undefined;
3114
+ } | null | undefined;
3115
+ }>>>;
3116
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
3117
+ updatedAt: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate]>, string, string | Date>;
3118
+ createdById: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3119
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3120
+ id: z.ZodString;
3121
+ firstName: z.ZodString;
3122
+ lastName: z.ZodString;
3123
+ phoneNumbers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
3124
+ id: z.ZodString;
3125
+ phoneNumber: z.ZodString;
3126
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3127
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
3128
+ }, "strip", z.ZodTypeAny, {
3129
+ id: string;
3130
+ phoneNumber: string;
3131
+ isPrimary: boolean;
3132
+ description?: string | null | undefined;
3133
+ }, {
3134
+ id: string;
3135
+ phoneNumber: string;
3136
+ isPrimary?: boolean | undefined;
3137
+ description?: string | null | undefined;
3138
+ }>, "many">>>;
3139
+ deletedAt: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDate, z.ZodNull]>, string | null, string | Date | null>>>;
3140
+ }, "strip", z.ZodTypeAny, {
3141
+ id: string;
3142
+ firstName: string;
3143
+ lastName: string;
3144
+ phoneNumbers: {
3145
+ id: string;
3146
+ phoneNumber: string;
3147
+ isPrimary: boolean;
3148
+ description?: string | null | undefined;
3149
+ }[];
3150
+ deletedAt?: string | null | undefined;
3151
+ }, {
3152
+ id: string;
3153
+ firstName: string;
3154
+ lastName: string;
3155
+ phoneNumbers?: {
3156
+ id: string;
3157
+ phoneNumber: string;
3158
+ isPrimary?: boolean | undefined;
3159
+ description?: string | null | undefined;
3160
+ }[] | undefined;
3161
+ deletedAt?: string | Date | null | undefined;
3162
+ }>>>;
3163
+ creationSource: z.ZodOptional<z.ZodNullable<z.ZodEnum<["MANUAL", "BOT"]>>>;
3164
+ distanceKm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3165
+ filledPositions: z.ZodDefault<z.ZodNumber>;
3166
+ startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3167
+ }, "strip", z.ZodTypeAny, {
3168
+ status: "AVAILABLE" | "NOT_AVAILABLE";
3169
+ id: string;
3170
+ pay: {
3171
+ rateUnit: "DAILY" | "HOURLY";
3172
+ isNegotiable: boolean;
3173
+ rate?: number | null | undefined;
3174
+ rateMax?: number | null | undefined;
3175
+ receivedRate?: number | null | undefined;
3176
+ };
3177
+ createdAt: string;
3178
+ updatedAt: string;
3179
+ tradeId: string;
3180
+ description: string;
3181
+ numberOfPositions: number;
3182
+ filledPositions: number;
3183
+ distanceKm?: number | null | undefined;
3184
+ startDate?: string | null | undefined;
3185
+ location?: {
3186
+ address?: string | null | undefined;
3187
+ postcode?: string | null | undefined;
3188
+ adminDistrict?: string | null | undefined;
3189
+ postTown?: string | null | undefined;
3190
+ } | null | undefined;
3191
+ createdBy?: {
3192
+ id: string;
3193
+ firstName: string;
3194
+ lastName: string;
3195
+ phoneNumbers: {
3196
+ id: string;
3197
+ phoneNumber: string;
3198
+ isPrimary: boolean;
3199
+ description?: string | null | undefined;
3200
+ }[];
3201
+ deletedAt?: string | null | undefined;
3202
+ } | null | undefined;
3203
+ workHours?: number | null | undefined;
3204
+ jobQualifications?: {
3205
+ id: string;
3206
+ qualificationId: string;
3207
+ qualificationTypeId?: string | null | undefined;
3208
+ }[] | null | undefined;
3209
+ collaboration?: {
3210
+ status?: string | null | undefined;
3211
+ id?: string | null | undefined;
3212
+ userId?: string | null | undefined;
3213
+ client?: {
3214
+ id: string;
3215
+ name: string;
3216
+ } | null | undefined;
3217
+ company?: {
3218
+ id: string;
3219
+ name: string;
3220
+ } | null | undefined;
3221
+ user?: {
3222
+ id: string;
3223
+ firstName: string;
3224
+ lastName: string;
3225
+ phoneNumbers: {
3226
+ id: string;
3227
+ phoneNumber: string;
3228
+ isPrimary: boolean;
3229
+ description?: string | null | undefined;
3230
+ }[];
3231
+ deletedAt?: string | null | undefined;
3232
+ } | null | undefined;
3233
+ } | null | undefined;
3234
+ createdById?: string | null | undefined;
3235
+ creationSource?: "MANUAL" | "BOT" | null | undefined;
3236
+ }, {
3237
+ status: "AVAILABLE" | "NOT_AVAILABLE";
3238
+ id: string;
3239
+ pay: {
3240
+ rateUnit: "DAILY" | "HOURLY";
3241
+ rate?: number | null | undefined;
3242
+ isNegotiable?: boolean | undefined;
3243
+ rateMax?: number | null | undefined;
3244
+ receivedRate?: number | null | undefined;
3245
+ };
3246
+ createdAt: string | Date;
3247
+ updatedAt: string | Date;
3248
+ tradeId: string;
3249
+ description: string;
3250
+ numberOfPositions: number;
3251
+ distanceKm?: number | null | undefined;
3252
+ startDate?: string | null | undefined;
3253
+ location?: {
3254
+ address?: string | null | undefined;
3255
+ postcode?: string | null | undefined;
3256
+ adminDistrict?: string | null | undefined;
3257
+ postTown?: string | null | undefined;
3258
+ } | null | undefined;
3259
+ createdBy?: {
3260
+ id: string;
3261
+ firstName: string;
3262
+ lastName: string;
3263
+ phoneNumbers?: {
3264
+ id: string;
3265
+ phoneNumber: string;
3266
+ isPrimary?: boolean | undefined;
3267
+ description?: string | null | undefined;
3268
+ }[] | undefined;
3269
+ deletedAt?: string | Date | null | undefined;
3270
+ } | null | undefined;
3271
+ workHours?: number | null | undefined;
3272
+ jobQualifications?: {
3273
+ id: string;
3274
+ qualificationId: string;
3275
+ qualificationTypeId?: string | null | undefined;
3276
+ }[] | null | undefined;
3277
+ collaboration?: {
3278
+ status?: string | null | undefined;
3279
+ id?: string | null | undefined;
3280
+ userId?: string | null | undefined;
3281
+ client?: {
3282
+ id: string;
3283
+ name: string;
3284
+ } | null | undefined;
3285
+ company?: {
3286
+ id: string;
3287
+ name: string;
3288
+ } | null | undefined;
3289
+ user?: {
3290
+ id: string;
3291
+ firstName: string;
3292
+ lastName: string;
3293
+ phoneNumbers?: {
3294
+ id: string;
3295
+ phoneNumber: string;
3296
+ isPrimary?: boolean | undefined;
3297
+ description?: string | null | undefined;
3298
+ }[] | undefined;
3299
+ deletedAt?: string | Date | null | undefined;
3300
+ } | null | undefined;
3301
+ } | null | undefined;
3302
+ createdById?: string | null | undefined;
3303
+ creationSource?: "MANUAL" | "BOT" | null | undefined;
3304
+ filledPositions?: number | undefined;
3305
+ }>, "many">;
3306
+ }, "strip", z.ZodTypeAny, {
3307
+ matches: {
3308
+ subjectKind: "OWNED" | "CURATED";
3309
+ subjectId: string;
3310
+ jobId: string;
3311
+ status: "NEW" | "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
3312
+ distanceKm: number | null;
3313
+ driveMinutes: number | null;
3314
+ transitMinutes: number | null;
3315
+ statusUpdatedAt: string | null;
3316
+ }[];
3317
+ worker: {
3318
+ id: string;
3319
+ firstName: string;
3320
+ createdAt: string;
3321
+ updatedAt: string;
3322
+ hasTools: boolean | null;
3323
+ hasPpe: boolean | null;
3324
+ offerOpenness: "NOT_INTERESTED" | "ACTIVELY_LOOKING" | "OPEN";
3325
+ blacklisted: boolean;
3326
+ suppression: {
3327
+ reason: string;
3328
+ until: string | null;
3329
+ note: string | null;
3330
+ setByName: string;
3331
+ setAt: string;
3332
+ } | null;
3333
+ idDocuments: {
3334
+ id: string;
3335
+ expiryDate?: string | null | undefined;
3336
+ createdAt?: string | undefined;
3337
+ updatedAt?: string | undefined;
3338
+ fileId?: string | null | undefined;
3339
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
3340
+ documentNumber?: string | null | undefined;
3341
+ }[];
3342
+ distanceKm?: number | null | undefined;
3343
+ lastName?: string | null | undefined;
3344
+ bookingHistory?: {
3345
+ workedTotal: number;
3346
+ workedByMe: number;
3347
+ noShowTotal: number;
3348
+ noShowByMe: number;
3349
+ } | undefined;
3350
+ email?: string | null | undefined;
3351
+ nino?: string | null | undefined;
3352
+ dateOfBirth?: string | null | undefined;
3353
+ bio?: string | null | undefined;
3354
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
3355
+ nationality?: "AFGHAN" | "ALBANIAN" | "ALGERIAN" | "AMERICAN" | "ANDORRAN" | "ANGOLAN" | "ANTIGUANS" | "ARGENTINEAN" | "ARMENIAN" | "AUSTRALIAN" | "AUSTRIAN" | "AZERBAIJANI" | "BAHAMIAN" | "BAHRAINI" | "BANGLADESHI" | "BARBADIAN" | "BARBUDANS" | "BELARUSIAN" | "BELGIAN" | "BELIZEAN" | "BENINESE" | "BHUTANESE" | "BOLIVIAN" | "BOSNIAN" | "BRAZILIAN" | "BRITISH" | "BRUNEIAN" | "BULGARIAN" | "BURKINABE" | "BURMESE" | "BURUNDIAN" | "CAMBODIAN" | "CAMEROONIAN" | "CANADIAN" | "CAPE_VERDEAN" | "CENTRAL_AFRICAN" | "CHADIAN" | "CHILEAN" | "CHINESE" | "COLOMBIAN" | "COMORAN" | "CONGOLESE" | "COSTA_RICAN" | "CROATIAN" | "CUBAN" | "CYPRIOT" | "CZECH" | "DANISH" | "DJIBOUTI" | "DOMINICAN" | "DUTCH" | "EAST_TIMORESE" | "ECUADOREAN" | "EGYPTIAN" | "EMIRIAN" | "EQUATORIAL_GUINEAN" | "ERITREAN" | "ESTONIAN" | "ETHIOPIAN" | "FIJIAN" | "FILIPINO" | "FINNISH" | "FRENCH" | "GABONESE" | "GAMBIAN" | "GEORGIAN" | "GERMAN" | "GHANAIAN" | "GREEK" | "GRENADIAN" | "GUATEMALAN" | "GUINEA_BISSAUAN" | "GUINEAN" | "GUYANESE" | "HAITIAN" | "HERZEGOVINIAN" | "HONDURAN" | "HUNGARIAN" | "ICELANDER" | "INDIAN" | "INDONESIAN" | "IRANIAN" | "IRAQI" | "IRISH" | "ISRAELI" | "ITALIAN" | "IVORIAN" | "JAMAICAN" | "JAPANESE" | "JORDANIAN" | "KAZAKHSTANI" | "KENYAN" | "KITTIAN_AND_NEVISIAN" | "KUWAITI" | "KYRGYZ" | "LAOTIAN" | "LATVIAN" | "LEBANESE" | "LIBERIAN" | "LIBYAN" | "LIECHTENSTEINER" | "LITHUANIAN" | "LUXEMBOURGER" | "MACEDONIAN" | "MALAGASY" | "MALAWIAN" | "MALAYSIAN" | "MALDIVAN" | "MALIAN" | "MALTESE" | "MARSHALLESE" | "MAURITANIAN" | "MAURITIAN" | "MEXICAN" | "MICRONESIAN" | "MOLDOVAN" | "MONACAN" | "MONGOLIAN" | "MOROCCAN" | "MOSOTHO" | "MOTSWANA" | "MOZAMBICAN" | "NAMIBIAN" | "NAURUAN" | "NEPALESE" | "NEW_ZEALANDER" | "NI_VANUATU" | "NICARAGUAN" | "NIGERIEN" | "NIGERIAN" | "NORTH_KOREAN" | "NORTHERN_IRISH" | "NORWEGIAN" | "OMANI" | "PAKISTANI" | "PALAUAN" | "PANAMANIAN" | "PAPUA_NEW_GUINEAN" | "PARAGUAYAN" | "PERUVIAN" | "POLISH" | "PORTUGUESE" | "QATARI" | "ROMANIAN" | "RUSSIAN" | "RWANDAN" | "SAINT_LUCIAN" | "SALVADORAN" | "SAMOAN" | "SAN_MARINESE" | "SAO_TOMEAN" | "SAUDI" | "SCOTTISH" | "SENEGALESE" | "SERBIAN" | "SEYCHELLOIS" | "SIERRA_LEONEAN" | "SINGAPOREAN" | "SLOVAKIAN" | "SLOVENIAN" | "SOLOMON_ISLANDER" | "SOMALI" | "SOUTH_AFRICAN" | "SOUTH_KOREAN" | "SOUTH_SUDANESE" | "SPANISH" | "SRI_LANKAN" | "SUDANESE" | "SURINAMER" | "SWAZI" | "SWEDISH" | "SWISS" | "SYRIAN" | "TAIWANESE" | "TAJIK" | "TANZANIAN" | "THAI" | "TOGOLESE" | "TONGAN" | "TRINIDADIAN_OR_TOBAGONIAN" | "TUNISIAN" | "TURKISH" | "TUVALUAN" | "UGANDAN" | "UKRAINIAN" | "URUGUAYAN" | "UZBEKISTANI" | "VENEZUELAN" | "VIETNAMESE" | "WELSH" | "YEMENITE" | "ZAMBIAN" | "ZIMBABWEAN" | null | undefined;
3356
+ transportation?: {
3357
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
3358
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
3359
+ } | null | undefined;
3360
+ location?: {
3361
+ address?: string | null | undefined;
3362
+ postcode?: string | null | undefined;
3363
+ county?: string | null | undefined;
3364
+ adminDistrict?: string | null | undefined;
3365
+ builtUpArea?: string | null | undefined;
3366
+ postTown?: string | null | undefined;
3367
+ areaCovered?: string | null | undefined;
3368
+ latitude?: number | null | undefined;
3369
+ longitude?: number | null | undefined;
3370
+ } | null | undefined;
3371
+ offerOpennessSetAt?: string | null | undefined;
3372
+ offerNote?: string | null | undefined;
3373
+ offerNoteUpdatedAt?: string | null | undefined;
3374
+ offerSignalUpdatedById?: string | null | undefined;
3375
+ offerSignalUpdatedByName?: string | null | undefined;
3376
+ shareCode?: {
3377
+ code: string | null;
3378
+ expiryDate?: string | null | undefined;
3379
+ fileId?: string | null | undefined;
3380
+ } | null | undefined;
3381
+ liveStatus?: {
3382
+ bookingId?: string | null | undefined;
3383
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
3384
+ active?: {
3385
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
3386
+ } | null | undefined;
3387
+ activeId?: string | null | undefined;
3388
+ bookingAgent?: {
3389
+ id: string;
3390
+ firstName: string;
3391
+ lastName: string;
3392
+ } | null | undefined;
3393
+ } | undefined;
3394
+ occupancyStatus?: "BOOKED" | "ACTIVE" | null | undefined;
3395
+ workingUntil?: string | null | undefined;
3396
+ blacklistReason?: string | null | undefined;
3397
+ trades?: {
3398
+ id: string;
3399
+ createdAt: string;
3400
+ updatedAt: string;
3401
+ tradeId: string;
3402
+ mainTrade: boolean;
3403
+ }[] | null | undefined;
3404
+ qualifications?: {
3405
+ id: string;
3406
+ proofDocumentFileId: string | null;
3407
+ referenceNumber: string | null;
3408
+ qualificationId: string;
3409
+ qualificationTypeId: string | null;
3410
+ createdAt: string;
3411
+ updatedAt: string;
3412
+ issueDate?: string | null | undefined;
3413
+ expiryDate?: string | null | undefined;
3414
+ }[] | null | undefined;
3415
+ phoneNumbers?: {
3416
+ id: string;
3417
+ createdAt: string;
3418
+ updatedAt: string;
3419
+ phoneNumber: string;
3420
+ isPrimary: boolean;
3421
+ description?: string | null | undefined;
3422
+ }[] | null | undefined;
3423
+ };
3424
+ jobCards: {
3425
+ status: "AVAILABLE" | "NOT_AVAILABLE";
3426
+ id: string;
3427
+ pay: {
3428
+ rateUnit: "DAILY" | "HOURLY";
3429
+ isNegotiable: boolean;
3430
+ rate?: number | null | undefined;
3431
+ rateMax?: number | null | undefined;
3432
+ receivedRate?: number | null | undefined;
3433
+ };
3434
+ createdAt: string;
3435
+ updatedAt: string;
3436
+ tradeId: string;
3437
+ description: string;
3438
+ numberOfPositions: number;
3439
+ filledPositions: number;
3440
+ distanceKm?: number | null | undefined;
3441
+ startDate?: string | null | undefined;
3442
+ location?: {
3443
+ address?: string | null | undefined;
3444
+ postcode?: string | null | undefined;
3445
+ adminDistrict?: string | null | undefined;
3446
+ postTown?: string | null | undefined;
3447
+ } | null | undefined;
3448
+ createdBy?: {
3449
+ id: string;
3450
+ firstName: string;
3451
+ lastName: string;
3452
+ phoneNumbers: {
3453
+ id: string;
3454
+ phoneNumber: string;
3455
+ isPrimary: boolean;
3456
+ description?: string | null | undefined;
3457
+ }[];
3458
+ deletedAt?: string | null | undefined;
3459
+ } | null | undefined;
3460
+ workHours?: number | null | undefined;
3461
+ jobQualifications?: {
3462
+ id: string;
3463
+ qualificationId: string;
3464
+ qualificationTypeId?: string | null | undefined;
3465
+ }[] | null | undefined;
3466
+ collaboration?: {
3467
+ status?: string | null | undefined;
3468
+ id?: string | null | undefined;
3469
+ userId?: string | null | undefined;
3470
+ client?: {
3471
+ id: string;
3472
+ name: string;
3473
+ } | null | undefined;
3474
+ company?: {
3475
+ id: string;
3476
+ name: string;
3477
+ } | null | undefined;
3478
+ user?: {
3479
+ id: string;
3480
+ firstName: string;
3481
+ lastName: string;
3482
+ phoneNumbers: {
3483
+ id: string;
3484
+ phoneNumber: string;
3485
+ isPrimary: boolean;
3486
+ description?: string | null | undefined;
3487
+ }[];
3488
+ deletedAt?: string | null | undefined;
3489
+ } | null | undefined;
3490
+ } | null | undefined;
3491
+ createdById?: string | null | undefined;
3492
+ creationSource?: "MANUAL" | "BOT" | null | undefined;
3493
+ }[];
3494
+ }, {
3495
+ matches: {
3496
+ subjectKind: "OWNED" | "CURATED";
3497
+ subjectId: string;
3498
+ jobId: string;
3499
+ status: "NEW" | "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
3500
+ distanceKm: number | null;
3501
+ driveMinutes: number | null;
3502
+ transitMinutes: number | null;
3503
+ statusUpdatedAt: string | null;
3504
+ }[];
3505
+ worker: {
3506
+ id: string;
3507
+ firstName: string;
3508
+ createdAt: string | Date;
3509
+ updatedAt: string | Date;
3510
+ hasTools: boolean | null;
3511
+ hasPpe: boolean | null;
3512
+ blacklisted: boolean;
3513
+ suppression: {
3514
+ reason: string;
3515
+ until: string | null;
3516
+ note: string | null;
3517
+ setByName: string;
3518
+ setAt: string;
3519
+ } | null;
3520
+ distanceKm?: number | null | undefined;
3521
+ lastName?: string | null | undefined;
3522
+ bookingHistory?: {
3523
+ workedTotal: number;
3524
+ workedByMe: number;
3525
+ noShowTotal: number;
3526
+ noShowByMe: number;
3527
+ } | undefined;
3528
+ email?: string | null | undefined;
3529
+ nino?: string | null | undefined;
3530
+ dateOfBirth?: string | Date | null | undefined;
3531
+ bio?: string | null | undefined;
3532
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
3533
+ nationality?: "AFGHAN" | "ALBANIAN" | "ALGERIAN" | "AMERICAN" | "ANDORRAN" | "ANGOLAN" | "ANTIGUANS" | "ARGENTINEAN" | "ARMENIAN" | "AUSTRALIAN" | "AUSTRIAN" | "AZERBAIJANI" | "BAHAMIAN" | "BAHRAINI" | "BANGLADESHI" | "BARBADIAN" | "BARBUDANS" | "BELARUSIAN" | "BELGIAN" | "BELIZEAN" | "BENINESE" | "BHUTANESE" | "BOLIVIAN" | "BOSNIAN" | "BRAZILIAN" | "BRITISH" | "BRUNEIAN" | "BULGARIAN" | "BURKINABE" | "BURMESE" | "BURUNDIAN" | "CAMBODIAN" | "CAMEROONIAN" | "CANADIAN" | "CAPE_VERDEAN" | "CENTRAL_AFRICAN" | "CHADIAN" | "CHILEAN" | "CHINESE" | "COLOMBIAN" | "COMORAN" | "CONGOLESE" | "COSTA_RICAN" | "CROATIAN" | "CUBAN" | "CYPRIOT" | "CZECH" | "DANISH" | "DJIBOUTI" | "DOMINICAN" | "DUTCH" | "EAST_TIMORESE" | "ECUADOREAN" | "EGYPTIAN" | "EMIRIAN" | "EQUATORIAL_GUINEAN" | "ERITREAN" | "ESTONIAN" | "ETHIOPIAN" | "FIJIAN" | "FILIPINO" | "FINNISH" | "FRENCH" | "GABONESE" | "GAMBIAN" | "GEORGIAN" | "GERMAN" | "GHANAIAN" | "GREEK" | "GRENADIAN" | "GUATEMALAN" | "GUINEA_BISSAUAN" | "GUINEAN" | "GUYANESE" | "HAITIAN" | "HERZEGOVINIAN" | "HONDURAN" | "HUNGARIAN" | "ICELANDER" | "INDIAN" | "INDONESIAN" | "IRANIAN" | "IRAQI" | "IRISH" | "ISRAELI" | "ITALIAN" | "IVORIAN" | "JAMAICAN" | "JAPANESE" | "JORDANIAN" | "KAZAKHSTANI" | "KENYAN" | "KITTIAN_AND_NEVISIAN" | "KUWAITI" | "KYRGYZ" | "LAOTIAN" | "LATVIAN" | "LEBANESE" | "LIBERIAN" | "LIBYAN" | "LIECHTENSTEINER" | "LITHUANIAN" | "LUXEMBOURGER" | "MACEDONIAN" | "MALAGASY" | "MALAWIAN" | "MALAYSIAN" | "MALDIVAN" | "MALIAN" | "MALTESE" | "MARSHALLESE" | "MAURITANIAN" | "MAURITIAN" | "MEXICAN" | "MICRONESIAN" | "MOLDOVAN" | "MONACAN" | "MONGOLIAN" | "MOROCCAN" | "MOSOTHO" | "MOTSWANA" | "MOZAMBICAN" | "NAMIBIAN" | "NAURUAN" | "NEPALESE" | "NEW_ZEALANDER" | "NI_VANUATU" | "NICARAGUAN" | "NIGERIEN" | "NIGERIAN" | "NORTH_KOREAN" | "NORTHERN_IRISH" | "NORWEGIAN" | "OMANI" | "PAKISTANI" | "PALAUAN" | "PANAMANIAN" | "PAPUA_NEW_GUINEAN" | "PARAGUAYAN" | "PERUVIAN" | "POLISH" | "PORTUGUESE" | "QATARI" | "ROMANIAN" | "RUSSIAN" | "RWANDAN" | "SAINT_LUCIAN" | "SALVADORAN" | "SAMOAN" | "SAN_MARINESE" | "SAO_TOMEAN" | "SAUDI" | "SCOTTISH" | "SENEGALESE" | "SERBIAN" | "SEYCHELLOIS" | "SIERRA_LEONEAN" | "SINGAPOREAN" | "SLOVAKIAN" | "SLOVENIAN" | "SOLOMON_ISLANDER" | "SOMALI" | "SOUTH_AFRICAN" | "SOUTH_KOREAN" | "SOUTH_SUDANESE" | "SPANISH" | "SRI_LANKAN" | "SUDANESE" | "SURINAMER" | "SWAZI" | "SWEDISH" | "SWISS" | "SYRIAN" | "TAIWANESE" | "TAJIK" | "TANZANIAN" | "THAI" | "TOGOLESE" | "TONGAN" | "TRINIDADIAN_OR_TOBAGONIAN" | "TUNISIAN" | "TURKISH" | "TUVALUAN" | "UGANDAN" | "UKRAINIAN" | "URUGUAYAN" | "UZBEKISTANI" | "VENEZUELAN" | "VIETNAMESE" | "WELSH" | "YEMENITE" | "ZAMBIAN" | "ZIMBABWEAN" | null | undefined;
3534
+ transportation?: {
3535
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
3536
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
3537
+ } | null | undefined;
3538
+ location?: {
3539
+ address?: string | null | undefined;
3540
+ postcode?: string | null | undefined;
3541
+ county?: string | null | undefined;
3542
+ adminDistrict?: string | null | undefined;
3543
+ builtUpArea?: string | null | undefined;
3544
+ postTown?: string | null | undefined;
3545
+ areaCovered?: string | null | undefined;
3546
+ latitude?: number | null | undefined;
3547
+ longitude?: number | null | undefined;
3548
+ } | null | undefined;
3549
+ offerOpenness?: "NOT_INTERESTED" | "ACTIVELY_LOOKING" | "OPEN" | undefined;
3550
+ offerOpennessSetAt?: string | Date | null | undefined;
3551
+ offerNote?: string | null | undefined;
3552
+ offerNoteUpdatedAt?: string | Date | null | undefined;
3553
+ offerSignalUpdatedById?: string | null | undefined;
3554
+ offerSignalUpdatedByName?: string | null | undefined;
3555
+ shareCode?: {
3556
+ code: string | null;
3557
+ expiryDate?: string | Date | null | undefined;
3558
+ fileId?: string | null | undefined;
3559
+ } | null | undefined;
3560
+ liveStatus?: {
3561
+ bookingId?: string | null | undefined;
3562
+ booking?: "REFUSED_BY_CLIENT" | "REFUSED_BY_FIRST_BECAUSE_OF_NATIONALITY" | "REFUSED_BY_FIRST_NOT_ENOUGH_EXPERIENCE" | "REFUSED_BY_FIRST_JOB_FILLED" | "REFUSED_BY_FIRST_IGNORED_DENIED" | "REFUSED_BY_FIRST_BECAUSE_OF_DISTANCE" | "WAITING_FOR_CONFIRMATION" | "CONFIRMED" | "DIDNT_START_BECAUSE_OF_WORKER" | "DIDNT_START_BECAUSE_OF_US" | "DIDNT_START_BECAUSE_OF_CONSTRUCTION_SITE" | "DIDNT_START_BECAUSE_OF_AGENCY" | "DIDNT_START_BECAUSE_OF_TOOLS_REQUIREMENTS" | "DIDNT_START_OVERBOOK_BY_CLIENT" | "DIDNT_START_OVERBOOK_BY_US" | "ANOTHER_SITUATION" | "SPOKE_WITH_WORKER_IN_THE_MORNING" | "ON_THE_WAY_TO_THE_SITE" | "AT_THE_INDUCTION" | "STARTED_THE_JOB" | "COMPLETED" | "CANCELLED" | "JOB_CANCELLED" | null | undefined;
3563
+ active?: {
3564
+ status: "PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
3565
+ } | null | undefined;
3566
+ activeId?: string | null | undefined;
3567
+ bookingAgent?: {
3568
+ id: string;
3569
+ firstName: string;
3570
+ lastName: string;
3571
+ } | null | undefined;
3572
+ } | undefined;
3573
+ occupancyStatus?: "BOOKED" | "ACTIVE" | null | undefined;
3574
+ workingUntil?: string | Date | null | undefined;
3575
+ blacklistReason?: string | null | undefined;
3576
+ trades?: {
3577
+ id: string;
3578
+ createdAt: string | Date;
3579
+ updatedAt: string | Date;
3580
+ tradeId: string;
3581
+ mainTrade: boolean;
3582
+ }[] | null | undefined;
3583
+ qualifications?: {
3584
+ id: string;
3585
+ proofDocumentFileId: string | null;
3586
+ referenceNumber: string | null;
3587
+ qualificationId: string;
3588
+ qualificationTypeId: string | null;
3589
+ createdAt: string | Date;
3590
+ updatedAt: string | Date;
3591
+ issueDate?: string | Date | null | undefined;
3592
+ expiryDate?: string | Date | null | undefined;
3593
+ }[] | null | undefined;
3594
+ phoneNumbers?: {
3595
+ id: string;
3596
+ createdAt: string | Date;
3597
+ updatedAt: string | Date;
3598
+ phoneNumber: string;
3599
+ isPrimary?: boolean | undefined;
3600
+ description?: string | null | undefined;
3601
+ }[] | null | undefined;
3602
+ idDocuments?: {
3603
+ id: string;
3604
+ expiryDate?: string | Date | null | undefined;
3605
+ createdAt?: string | Date | undefined;
3606
+ updatedAt?: string | Date | undefined;
3607
+ fileId?: string | null | undefined;
3608
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
3609
+ documentNumber?: string | null | undefined;
3610
+ }[] | undefined;
3611
+ };
3612
+ jobCards: {
3613
+ status: "AVAILABLE" | "NOT_AVAILABLE";
3614
+ id: string;
3615
+ pay: {
3616
+ rateUnit: "DAILY" | "HOURLY";
3617
+ rate?: number | null | undefined;
3618
+ isNegotiable?: boolean | undefined;
3619
+ rateMax?: number | null | undefined;
3620
+ receivedRate?: number | null | undefined;
3621
+ };
3622
+ createdAt: string | Date;
3623
+ updatedAt: string | Date;
3624
+ tradeId: string;
3625
+ description: string;
3626
+ numberOfPositions: number;
3627
+ distanceKm?: number | null | undefined;
3628
+ startDate?: string | null | undefined;
3629
+ location?: {
3630
+ address?: string | null | undefined;
3631
+ postcode?: string | null | undefined;
3632
+ adminDistrict?: string | null | undefined;
3633
+ postTown?: string | null | undefined;
3634
+ } | null | undefined;
3635
+ createdBy?: {
3636
+ id: string;
3637
+ firstName: string;
3638
+ lastName: string;
3639
+ phoneNumbers?: {
3640
+ id: string;
3641
+ phoneNumber: string;
3642
+ isPrimary?: boolean | undefined;
3643
+ description?: string | null | undefined;
3644
+ }[] | undefined;
3645
+ deletedAt?: string | Date | null | undefined;
3646
+ } | null | undefined;
3647
+ workHours?: number | null | undefined;
3648
+ jobQualifications?: {
3649
+ id: string;
3650
+ qualificationId: string;
3651
+ qualificationTypeId?: string | null | undefined;
3652
+ }[] | null | undefined;
3653
+ collaboration?: {
3654
+ status?: string | null | undefined;
3655
+ id?: string | null | undefined;
3656
+ userId?: string | null | undefined;
3657
+ client?: {
3658
+ id: string;
3659
+ name: string;
3660
+ } | null | undefined;
3661
+ company?: {
3662
+ id: string;
3663
+ name: string;
3664
+ } | null | undefined;
3665
+ user?: {
3666
+ id: string;
3667
+ firstName: string;
3668
+ lastName: string;
3669
+ phoneNumbers?: {
3670
+ id: string;
3671
+ phoneNumber: string;
3672
+ isPrimary?: boolean | undefined;
3673
+ description?: string | null | undefined;
3674
+ }[] | undefined;
3675
+ deletedAt?: string | Date | null | undefined;
3676
+ } | null | undefined;
3677
+ } | null | undefined;
3678
+ createdById?: string | null | undefined;
3679
+ creationSource?: "MANUAL" | "BOT" | null | undefined;
3680
+ filledPositions?: number | undefined;
3681
+ }[];
3682
+ }>;
3683
+ 403: z.ZodObject<{
3684
+ statusCode: z.ZodNumber;
3685
+ message: z.ZodString;
3686
+ code: z.ZodString;
3687
+ details: z.ZodOptional<z.ZodUnknown>;
3688
+ timestamp: z.ZodString;
3689
+ path: z.ZodString;
3690
+ correlationId: z.ZodOptional<z.ZodString>;
3691
+ }, "strip", z.ZodTypeAny, {
3692
+ code: string;
3693
+ path: string;
3694
+ message: string;
3695
+ statusCode: number;
3696
+ timestamp: string;
3697
+ details?: unknown;
3698
+ correlationId?: string | undefined;
3699
+ }, {
3700
+ code: string;
3701
+ path: string;
3702
+ message: string;
3703
+ statusCode: number;
3704
+ timestamp: string;
3705
+ details?: unknown;
3706
+ correlationId?: string | undefined;
3707
+ }>;
3708
+ 404: z.ZodObject<{
3709
+ statusCode: z.ZodNumber;
3710
+ message: z.ZodString;
3711
+ code: z.ZodString;
3712
+ details: z.ZodOptional<z.ZodUnknown>;
3713
+ timestamp: z.ZodString;
3714
+ path: z.ZodString;
3715
+ correlationId: z.ZodOptional<z.ZodString>;
3716
+ }, "strip", z.ZodTypeAny, {
3717
+ code: string;
3718
+ path: string;
3719
+ message: string;
3720
+ statusCode: number;
3721
+ timestamp: string;
3722
+ details?: unknown;
3723
+ correlationId?: string | undefined;
3724
+ }, {
3725
+ code: string;
3726
+ path: string;
3727
+ message: string;
3728
+ statusCode: number;
3729
+ timestamp: string;
3730
+ details?: unknown;
3731
+ correlationId?: string | undefined;
3732
+ }>;
3733
+ };
3734
+ };
3735
+ consentAndOffer: {
3736
+ metadata: {
3737
+ tags: string[];
3738
+ };
3739
+ pathParams: z.ZodObject<{
3740
+ id: z.ZodString;
3741
+ }, "strip", z.ZodTypeAny, {
3742
+ id: string;
3743
+ }, {
3744
+ id: string;
3745
+ }>;
3746
+ summary: "Consent the worker AND record the selected offers atomically; advance";
3747
+ method: "POST";
3748
+ body: z.ZodObject<{
3749
+ tuples: z.ZodArray<z.ZodObject<{
3750
+ subjectKind: z.ZodEnum<["OWNED", "CURATED"]>;
3751
+ subjectId: z.ZodString;
3752
+ jobId: z.ZodString;
3753
+ }, "strip", z.ZodTypeAny, {
3754
+ subjectKind: "OWNED" | "CURATED";
3755
+ subjectId: string;
3756
+ jobId: string;
3757
+ }, {
3758
+ subjectKind: "OWNED" | "CURATED";
3759
+ subjectId: string;
3760
+ jobId: string;
3761
+ }>, "many">;
3762
+ channel: z.ZodOptional<z.ZodEnum<["WHATSAPP", "PHONE"]>>;
3763
+ }, "strip", z.ZodTypeAny, {
3764
+ tuples: {
3765
+ subjectKind: "OWNED" | "CURATED";
3766
+ subjectId: string;
3767
+ jobId: string;
3768
+ }[];
3769
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3770
+ }, {
3771
+ tuples: {
3772
+ subjectKind: "OWNED" | "CURATED";
3773
+ subjectId: string;
3774
+ jobId: string;
3775
+ }[];
3776
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3777
+ }>;
3778
+ path: "/v2/curated-worker-leads/consent-queue/:id/consent-and-offer";
3779
+ responses: {
3780
+ 500: z.ZodObject<{
3781
+ statusCode: z.ZodNumber;
3782
+ message: z.ZodString;
3783
+ code: z.ZodString;
3784
+ details: z.ZodOptional<z.ZodUnknown>;
3785
+ timestamp: z.ZodString;
3786
+ path: z.ZodString;
3787
+ correlationId: z.ZodOptional<z.ZodString>;
3788
+ }, "strip", z.ZodTypeAny, {
3789
+ code: string;
3790
+ path: string;
3791
+ message: string;
3792
+ statusCode: number;
3793
+ timestamp: string;
3794
+ details?: unknown;
3795
+ correlationId?: string | undefined;
3796
+ }, {
3797
+ code: string;
3798
+ path: string;
3799
+ message: string;
3800
+ statusCode: number;
3801
+ timestamp: string;
3802
+ details?: unknown;
3803
+ correlationId?: string | undefined;
3804
+ }>;
3805
+ 400: z.ZodObject<{
3806
+ statusCode: z.ZodNumber;
3807
+ message: z.ZodString;
3808
+ code: z.ZodString;
3809
+ details: z.ZodOptional<z.ZodUnknown>;
3810
+ timestamp: z.ZodString;
3811
+ path: z.ZodString;
3812
+ correlationId: z.ZodOptional<z.ZodString>;
3813
+ }, "strip", z.ZodTypeAny, {
3814
+ code: string;
3815
+ path: string;
3816
+ message: string;
3817
+ statusCode: number;
3818
+ timestamp: string;
3819
+ details?: unknown;
3820
+ correlationId?: string | undefined;
3821
+ }, {
3822
+ code: string;
3823
+ path: string;
3824
+ message: string;
3825
+ statusCode: number;
3826
+ timestamp: string;
3827
+ details?: unknown;
3828
+ correlationId?: string | undefined;
3829
+ }>;
3830
+ 401: z.ZodObject<{
3831
+ statusCode: z.ZodNumber;
3832
+ message: z.ZodString;
3833
+ code: z.ZodString;
3834
+ details: z.ZodOptional<z.ZodUnknown>;
3835
+ timestamp: z.ZodString;
3836
+ path: z.ZodString;
3837
+ correlationId: z.ZodOptional<z.ZodString>;
3838
+ }, "strip", z.ZodTypeAny, {
3839
+ code: string;
3840
+ path: string;
3841
+ message: string;
3842
+ statusCode: number;
3843
+ timestamp: string;
3844
+ details?: unknown;
3845
+ correlationId?: string | undefined;
3846
+ }, {
3847
+ code: string;
3848
+ path: string;
3849
+ message: string;
3850
+ statusCode: number;
3851
+ timestamp: string;
3852
+ details?: unknown;
3853
+ correlationId?: string | undefined;
3854
+ }>;
3855
+ 200: z.ZodObject<{
3856
+ next: z.ZodNullable<z.ZodObject<{
3857
+ assignmentId: z.ZodString;
3858
+ curatedWorkerId: z.ZodString;
3859
+ workerName: z.ZodString;
3860
+ phoneNumber: z.ZodNullable<z.ZodString>;
3861
+ phoneId: z.ZodNullable<z.ZodString>;
3862
+ postcode: z.ZodNullable<z.ZodString>;
3863
+ matchingJobCount: z.ZodNumber;
3864
+ nearestJobDistanceKm: z.ZodNullable<z.ZodNumber>;
3865
+ assignedAt: z.ZodString;
3866
+ }, "strip", z.ZodTypeAny, {
3867
+ curatedWorkerId: string;
3868
+ postcode: string | null;
3869
+ phoneNumber: string | null;
3870
+ workerName: string;
3871
+ assignmentId: string;
3872
+ phoneId: string | null;
3873
+ matchingJobCount: number;
3874
+ nearestJobDistanceKm: number | null;
3875
+ assignedAt: string;
3876
+ }, {
3877
+ curatedWorkerId: string;
3878
+ postcode: string | null;
3879
+ phoneNumber: string | null;
3880
+ workerName: string;
3881
+ assignmentId: string;
3882
+ phoneId: string | null;
3883
+ matchingJobCount: number;
3884
+ nearestJobDistanceKm: number | null;
3885
+ assignedAt: string;
3886
+ }>>;
3887
+ }, "strip", z.ZodTypeAny, {
3888
+ next: {
3889
+ curatedWorkerId: string;
3890
+ postcode: string | null;
3891
+ phoneNumber: string | null;
3892
+ workerName: string;
3893
+ assignmentId: string;
3894
+ phoneId: string | null;
3895
+ matchingJobCount: number;
3896
+ nearestJobDistanceKm: number | null;
3897
+ assignedAt: string;
3898
+ } | null;
3899
+ }, {
3900
+ next: {
3901
+ curatedWorkerId: string;
3902
+ postcode: string | null;
3903
+ phoneNumber: string | null;
3904
+ workerName: string;
3905
+ assignmentId: string;
3906
+ phoneId: string | null;
3907
+ matchingJobCount: number;
3908
+ nearestJobDistanceKm: number | null;
3909
+ assignedAt: string;
3910
+ } | null;
3911
+ }>;
3912
+ 403: z.ZodObject<{
3913
+ statusCode: z.ZodNumber;
3914
+ message: z.ZodString;
3915
+ code: z.ZodString;
3916
+ details: z.ZodOptional<z.ZodUnknown>;
3917
+ timestamp: z.ZodString;
3918
+ path: z.ZodString;
3919
+ correlationId: z.ZodOptional<z.ZodString>;
3920
+ }, "strip", z.ZodTypeAny, {
3921
+ code: string;
3922
+ path: string;
3923
+ message: string;
3924
+ statusCode: number;
3925
+ timestamp: string;
3926
+ details?: unknown;
3927
+ correlationId?: string | undefined;
3928
+ }, {
3929
+ code: string;
3930
+ path: string;
3931
+ message: string;
3932
+ statusCode: number;
3933
+ timestamp: string;
3934
+ details?: unknown;
3935
+ correlationId?: string | undefined;
3936
+ }>;
3937
+ 404: z.ZodObject<{
3938
+ statusCode: z.ZodNumber;
3939
+ message: z.ZodString;
3940
+ code: z.ZodString;
3941
+ details: z.ZodOptional<z.ZodUnknown>;
3942
+ timestamp: z.ZodString;
3943
+ path: z.ZodString;
3944
+ correlationId: z.ZodOptional<z.ZodString>;
3945
+ }, "strip", z.ZodTypeAny, {
3946
+ code: string;
3947
+ path: string;
3948
+ message: string;
3949
+ statusCode: number;
3950
+ timestamp: string;
3951
+ details?: unknown;
3952
+ correlationId?: string | undefined;
3953
+ }, {
3954
+ code: string;
3955
+ path: string;
3956
+ message: string;
3957
+ statusCode: number;
3958
+ timestamp: string;
3959
+ details?: unknown;
3960
+ correlationId?: string | undefined;
3961
+ }>;
3962
+ };
3963
+ };
3964
+ consentAndApply: {
3965
+ metadata: {
3966
+ tags: string[];
3967
+ };
3968
+ pathParams: z.ZodObject<{
3969
+ id: z.ZodString;
3970
+ }, "strip", z.ZodTypeAny, {
3971
+ id: string;
3972
+ }, {
3973
+ id: string;
3974
+ }>;
3975
+ summary: "Commit consent and non-booking outcomes, then process staged bookings sequentially; advance";
3976
+ method: "POST";
3977
+ body: z.ZodObject<{
3978
+ items: z.ZodArray<z.ZodObject<{
3979
+ jobId: z.ZodString;
3980
+ outcome: z.ZodEnum<["OFFER_SENT", "TOO_FAR", "NOT_INTERESTED", "BOOKED"]>;
3981
+ channel: z.ZodOptional<z.ZodEnum<["WHATSAPP", "PHONE"]>>;
3982
+ }, "strip", z.ZodTypeAny, {
3983
+ jobId: string;
3984
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
3985
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3986
+ }, {
3987
+ jobId: string;
3988
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
3989
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3990
+ }>, "many">;
3991
+ }, "strict", z.ZodTypeAny, {
3992
+ items: {
3993
+ jobId: string;
3994
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
3995
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3996
+ }[];
3997
+ }, {
3998
+ items: {
3999
+ jobId: string;
4000
+ outcome: "TOO_FAR" | "NOT_INTERESTED" | "OFFER_SENT" | "BOOKED";
4001
+ channel?: "WHATSAPP" | "PHONE" | undefined;
4002
+ }[];
4003
+ }>;
4004
+ path: "/v2/curated-worker-leads/consent-queue/:id/consent-and-apply";
4005
+ responses: {
4006
+ 500: z.ZodObject<{
4007
+ statusCode: z.ZodNumber;
4008
+ message: z.ZodString;
4009
+ code: z.ZodString;
4010
+ details: z.ZodOptional<z.ZodUnknown>;
4011
+ timestamp: z.ZodString;
4012
+ path: z.ZodString;
4013
+ correlationId: z.ZodOptional<z.ZodString>;
4014
+ }, "strip", z.ZodTypeAny, {
4015
+ code: string;
4016
+ path: string;
4017
+ message: string;
4018
+ statusCode: number;
4019
+ timestamp: string;
4020
+ details?: unknown;
4021
+ correlationId?: string | undefined;
4022
+ }, {
4023
+ code: string;
4024
+ path: string;
4025
+ message: string;
4026
+ statusCode: number;
4027
+ timestamp: string;
4028
+ details?: unknown;
4029
+ correlationId?: string | undefined;
4030
+ }>;
4031
+ 400: z.ZodObject<{
4032
+ statusCode: z.ZodNumber;
4033
+ message: z.ZodString;
4034
+ code: z.ZodString;
4035
+ details: z.ZodOptional<z.ZodUnknown>;
4036
+ timestamp: z.ZodString;
4037
+ path: z.ZodString;
4038
+ correlationId: z.ZodOptional<z.ZodString>;
4039
+ }, "strip", z.ZodTypeAny, {
4040
+ code: string;
4041
+ path: string;
4042
+ message: string;
4043
+ statusCode: number;
4044
+ timestamp: string;
4045
+ details?: unknown;
4046
+ correlationId?: string | undefined;
4047
+ }, {
4048
+ code: string;
4049
+ path: string;
4050
+ message: string;
4051
+ statusCode: number;
4052
+ timestamp: string;
4053
+ details?: unknown;
4054
+ correlationId?: string | undefined;
4055
+ }>;
4056
+ 401: z.ZodObject<{
4057
+ statusCode: z.ZodNumber;
4058
+ message: z.ZodString;
4059
+ code: z.ZodString;
4060
+ details: z.ZodOptional<z.ZodUnknown>;
4061
+ timestamp: z.ZodString;
4062
+ path: z.ZodString;
4063
+ correlationId: z.ZodOptional<z.ZodString>;
4064
+ }, "strip", z.ZodTypeAny, {
4065
+ code: string;
4066
+ path: string;
4067
+ message: string;
4068
+ statusCode: number;
4069
+ timestamp: string;
4070
+ details?: unknown;
4071
+ correlationId?: string | undefined;
4072
+ }, {
4073
+ code: string;
4074
+ path: string;
4075
+ message: string;
4076
+ statusCode: number;
4077
+ timestamp: string;
4078
+ details?: unknown;
4079
+ correlationId?: string | undefined;
4080
+ }>;
4081
+ 200: z.ZodObject<{
4082
+ next: z.ZodNullable<z.ZodObject<{
4083
+ assignmentId: z.ZodString;
4084
+ curatedWorkerId: z.ZodString;
4085
+ workerName: z.ZodString;
4086
+ phoneNumber: z.ZodNullable<z.ZodString>;
4087
+ phoneId: z.ZodNullable<z.ZodString>;
4088
+ postcode: z.ZodNullable<z.ZodString>;
4089
+ matchingJobCount: z.ZodNumber;
4090
+ nearestJobDistanceKm: z.ZodNullable<z.ZodNumber>;
4091
+ assignedAt: z.ZodString;
4092
+ }, "strip", z.ZodTypeAny, {
4093
+ curatedWorkerId: string;
4094
+ postcode: string | null;
4095
+ phoneNumber: string | null;
4096
+ workerName: string;
4097
+ assignmentId: string;
4098
+ phoneId: string | null;
4099
+ matchingJobCount: number;
4100
+ nearestJobDistanceKm: number | null;
4101
+ assignedAt: string;
4102
+ }, {
4103
+ curatedWorkerId: string;
4104
+ postcode: string | null;
4105
+ phoneNumber: string | null;
4106
+ workerName: string;
4107
+ assignmentId: string;
4108
+ phoneId: string | null;
4109
+ matchingJobCount: number;
4110
+ nearestJobDistanceKm: number | null;
4111
+ assignedAt: string;
4112
+ }>>;
4113
+ }, "strip", z.ZodTypeAny, {
4114
+ next: {
4115
+ curatedWorkerId: string;
4116
+ postcode: string | null;
4117
+ phoneNumber: string | null;
4118
+ workerName: string;
4119
+ assignmentId: string;
4120
+ phoneId: string | null;
4121
+ matchingJobCount: number;
4122
+ nearestJobDistanceKm: number | null;
4123
+ assignedAt: string;
4124
+ } | null;
4125
+ }, {
4126
+ next: {
4127
+ curatedWorkerId: string;
4128
+ postcode: string | null;
4129
+ phoneNumber: string | null;
4130
+ workerName: string;
4131
+ assignmentId: string;
4132
+ phoneId: string | null;
4133
+ matchingJobCount: number;
4134
+ nearestJobDistanceKm: number | null;
4135
+ assignedAt: string;
4136
+ } | null;
4137
+ }>;
4138
+ 403: z.ZodObject<{
4139
+ statusCode: z.ZodNumber;
4140
+ message: z.ZodString;
4141
+ code: z.ZodString;
4142
+ details: z.ZodOptional<z.ZodUnknown>;
4143
+ timestamp: z.ZodString;
4144
+ path: z.ZodString;
4145
+ correlationId: z.ZodOptional<z.ZodString>;
4146
+ }, "strip", z.ZodTypeAny, {
4147
+ code: string;
4148
+ path: string;
4149
+ message: string;
4150
+ statusCode: number;
4151
+ timestamp: string;
4152
+ details?: unknown;
4153
+ correlationId?: string | undefined;
4154
+ }, {
4155
+ code: string;
4156
+ path: string;
4157
+ message: string;
4158
+ statusCode: number;
4159
+ timestamp: string;
4160
+ details?: unknown;
4161
+ correlationId?: string | undefined;
4162
+ }>;
4163
+ 404: z.ZodObject<{
4164
+ statusCode: z.ZodNumber;
4165
+ message: z.ZodString;
4166
+ code: z.ZodString;
4167
+ details: z.ZodOptional<z.ZodUnknown>;
4168
+ timestamp: z.ZodString;
4169
+ path: z.ZodString;
4170
+ correlationId: z.ZodOptional<z.ZodString>;
4171
+ }, "strip", z.ZodTypeAny, {
4172
+ code: string;
4173
+ path: string;
4174
+ message: string;
4175
+ statusCode: number;
4176
+ timestamp: string;
4177
+ details?: unknown;
4178
+ correlationId?: string | undefined;
4179
+ }, {
4180
+ code: string;
4181
+ path: string;
4182
+ message: string;
4183
+ statusCode: number;
4184
+ timestamp: string;
4185
+ details?: unknown;
4186
+ correlationId?: string | undefined;
4187
+ }>;
4188
+ };
4189
+ };
4190
+ bringBackCurated: {
4191
+ metadata: {
4192
+ tags: string[];
4193
+ };
4194
+ pathParams: z.ZodObject<{
4195
+ curatedWorkerId: z.ZodString;
4196
+ }, "strip", z.ZodTypeAny, {
4197
+ curatedWorkerId: string;
4198
+ }, {
4199
+ curatedWorkerId: string;
4200
+ }>;
4201
+ summary: "Clear a curated worker snooze + revive the parking agent lead now";
4202
+ method: "POST";
4203
+ body: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4204
+ path: "/v2/curated-worker-leads/consent-queue/worker/:curatedWorkerId/bring-back";
4205
+ responses: {
4206
+ 500: z.ZodObject<{
4207
+ statusCode: z.ZodNumber;
4208
+ message: z.ZodString;
4209
+ code: z.ZodString;
4210
+ details: z.ZodOptional<z.ZodUnknown>;
4211
+ timestamp: z.ZodString;
4212
+ path: z.ZodString;
4213
+ correlationId: z.ZodOptional<z.ZodString>;
4214
+ }, "strip", z.ZodTypeAny, {
4215
+ code: string;
4216
+ path: string;
4217
+ message: string;
4218
+ statusCode: number;
4219
+ timestamp: string;
4220
+ details?: unknown;
4221
+ correlationId?: string | undefined;
4222
+ }, {
4223
+ code: string;
4224
+ path: string;
4225
+ message: string;
4226
+ statusCode: number;
4227
+ timestamp: string;
4228
+ details?: unknown;
4229
+ correlationId?: string | undefined;
4230
+ }>;
4231
+ 400: z.ZodObject<{
4232
+ statusCode: z.ZodNumber;
4233
+ message: z.ZodString;
4234
+ code: z.ZodString;
4235
+ details: z.ZodOptional<z.ZodUnknown>;
4236
+ timestamp: z.ZodString;
4237
+ path: z.ZodString;
4238
+ correlationId: z.ZodOptional<z.ZodString>;
4239
+ }, "strip", z.ZodTypeAny, {
4240
+ code: string;
4241
+ path: string;
4242
+ message: string;
4243
+ statusCode: number;
4244
+ timestamp: string;
4245
+ details?: unknown;
4246
+ correlationId?: string | undefined;
4247
+ }, {
4248
+ code: string;
4249
+ path: string;
4250
+ message: string;
4251
+ statusCode: number;
4252
+ timestamp: string;
4253
+ details?: unknown;
4254
+ correlationId?: string | undefined;
4255
+ }>;
4256
+ 401: z.ZodObject<{
4257
+ statusCode: z.ZodNumber;
4258
+ message: z.ZodString;
4259
+ code: z.ZodString;
4260
+ details: z.ZodOptional<z.ZodUnknown>;
4261
+ timestamp: z.ZodString;
4262
+ path: z.ZodString;
4263
+ correlationId: z.ZodOptional<z.ZodString>;
4264
+ }, "strip", z.ZodTypeAny, {
4265
+ code: string;
4266
+ path: string;
4267
+ message: string;
4268
+ statusCode: number;
4269
+ timestamp: string;
4270
+ details?: unknown;
4271
+ correlationId?: string | undefined;
4272
+ }, {
4273
+ code: string;
4274
+ path: string;
4275
+ message: string;
4276
+ statusCode: number;
4277
+ timestamp: string;
4278
+ details?: unknown;
4279
+ correlationId?: string | undefined;
4280
+ }>;
4281
+ 200: z.ZodObject<{
4282
+ ok: z.ZodLiteral<true>;
4283
+ }, "strip", z.ZodTypeAny, {
4284
+ ok: true;
4285
+ }, {
4286
+ ok: true;
4287
+ }>;
4288
+ 403: z.ZodObject<{
4289
+ statusCode: z.ZodNumber;
4290
+ message: z.ZodString;
4291
+ code: z.ZodString;
4292
+ details: z.ZodOptional<z.ZodUnknown>;
4293
+ timestamp: z.ZodString;
4294
+ path: z.ZodString;
4295
+ correlationId: z.ZodOptional<z.ZodString>;
4296
+ }, "strip", z.ZodTypeAny, {
4297
+ code: string;
4298
+ path: string;
4299
+ message: string;
4300
+ statusCode: number;
4301
+ timestamp: string;
4302
+ details?: unknown;
4303
+ correlationId?: string | undefined;
4304
+ }, {
4305
+ code: string;
4306
+ path: string;
4307
+ message: string;
4308
+ statusCode: number;
4309
+ timestamp: string;
4310
+ details?: unknown;
4311
+ correlationId?: string | undefined;
4312
+ }>;
4313
+ 404: z.ZodObject<{
4314
+ statusCode: z.ZodNumber;
4315
+ message: z.ZodString;
4316
+ code: z.ZodString;
4317
+ details: z.ZodOptional<z.ZodUnknown>;
4318
+ timestamp: z.ZodString;
4319
+ path: z.ZodString;
4320
+ correlationId: z.ZodOptional<z.ZodString>;
4321
+ }, "strip", z.ZodTypeAny, {
4322
+ code: string;
4323
+ path: string;
4324
+ message: string;
4325
+ statusCode: number;
4326
+ timestamp: string;
4327
+ details?: unknown;
4328
+ correlationId?: string | undefined;
4329
+ }, {
4330
+ code: string;
4331
+ path: string;
4332
+ message: string;
4333
+ statusCode: number;
4334
+ timestamp: string;
4335
+ details?: unknown;
4336
+ correlationId?: string | undefined;
4337
+ }>;
4338
+ };
4339
+ };
4340
+ reSnoozeCurated: {
4341
+ metadata: {
4342
+ tags: string[];
4343
+ };
4344
+ pathParams: z.ZodObject<{
4345
+ curatedWorkerId: z.ZodString;
4346
+ }, "strip", z.ZodTypeAny, {
4347
+ curatedWorkerId: string;
4348
+ }, {
4349
+ curatedWorkerId: string;
4350
+ }>;
4351
+ summary: "Extend a curated worker snooze";
4352
+ method: "POST";
4353
+ body: z.ZodObject<{
4354
+ days: z.ZodNumber;
4355
+ }, "strip", z.ZodTypeAny, {
4356
+ days: number;
4357
+ }, {
4358
+ days: number;
4359
+ }>;
4360
+ path: "/v2/curated-worker-leads/consent-queue/worker/:curatedWorkerId/re-snooze";
4361
+ responses: {
4362
+ 500: z.ZodObject<{
4363
+ statusCode: z.ZodNumber;
4364
+ message: z.ZodString;
4365
+ code: z.ZodString;
4366
+ details: z.ZodOptional<z.ZodUnknown>;
4367
+ timestamp: z.ZodString;
4368
+ path: z.ZodString;
4369
+ correlationId: z.ZodOptional<z.ZodString>;
4370
+ }, "strip", z.ZodTypeAny, {
4371
+ code: string;
4372
+ path: string;
4373
+ message: string;
4374
+ statusCode: number;
4375
+ timestamp: string;
4376
+ details?: unknown;
4377
+ correlationId?: string | undefined;
4378
+ }, {
4379
+ code: string;
4380
+ path: string;
4381
+ message: string;
4382
+ statusCode: number;
4383
+ timestamp: string;
4384
+ details?: unknown;
4385
+ correlationId?: string | undefined;
4386
+ }>;
4387
+ 400: z.ZodObject<{
4388
+ statusCode: z.ZodNumber;
4389
+ message: z.ZodString;
4390
+ code: z.ZodString;
4391
+ details: z.ZodOptional<z.ZodUnknown>;
4392
+ timestamp: z.ZodString;
4393
+ path: z.ZodString;
4394
+ correlationId: z.ZodOptional<z.ZodString>;
4395
+ }, "strip", z.ZodTypeAny, {
4396
+ code: string;
4397
+ path: string;
4398
+ message: string;
4399
+ statusCode: number;
4400
+ timestamp: string;
4401
+ details?: unknown;
4402
+ correlationId?: string | undefined;
4403
+ }, {
4404
+ code: string;
4405
+ path: string;
4406
+ message: string;
4407
+ statusCode: number;
4408
+ timestamp: string;
4409
+ details?: unknown;
4410
+ correlationId?: string | undefined;
4411
+ }>;
4412
+ 401: z.ZodObject<{
4413
+ statusCode: z.ZodNumber;
4414
+ message: z.ZodString;
4415
+ code: z.ZodString;
4416
+ details: z.ZodOptional<z.ZodUnknown>;
4417
+ timestamp: z.ZodString;
4418
+ path: z.ZodString;
4419
+ correlationId: z.ZodOptional<z.ZodString>;
4420
+ }, "strip", z.ZodTypeAny, {
4421
+ code: string;
4422
+ path: string;
4423
+ message: string;
4424
+ statusCode: number;
4425
+ timestamp: string;
4426
+ details?: unknown;
4427
+ correlationId?: string | undefined;
4428
+ }, {
4429
+ code: string;
4430
+ path: string;
4431
+ message: string;
4432
+ statusCode: number;
4433
+ timestamp: string;
4434
+ details?: unknown;
4435
+ correlationId?: string | undefined;
4436
+ }>;
4437
+ 200: z.ZodObject<{
4438
+ ok: z.ZodLiteral<true>;
4439
+ }, "strip", z.ZodTypeAny, {
4440
+ ok: true;
4441
+ }, {
4442
+ ok: true;
4443
+ }>;
4444
+ 403: z.ZodObject<{
4445
+ statusCode: z.ZodNumber;
4446
+ message: z.ZodString;
4447
+ code: z.ZodString;
4448
+ details: z.ZodOptional<z.ZodUnknown>;
4449
+ timestamp: z.ZodString;
4450
+ path: z.ZodString;
4451
+ correlationId: z.ZodOptional<z.ZodString>;
4452
+ }, "strip", z.ZodTypeAny, {
4453
+ code: string;
4454
+ path: string;
4455
+ message: string;
4456
+ statusCode: number;
4457
+ timestamp: string;
4458
+ details?: unknown;
4459
+ correlationId?: string | undefined;
4460
+ }, {
4461
+ code: string;
4462
+ path: string;
4463
+ message: string;
4464
+ statusCode: number;
4465
+ timestamp: string;
4466
+ details?: unknown;
4467
+ correlationId?: string | undefined;
4468
+ }>;
4469
+ 404: z.ZodObject<{
4470
+ statusCode: z.ZodNumber;
4471
+ message: z.ZodString;
4472
+ code: z.ZodString;
4473
+ details: z.ZodOptional<z.ZodUnknown>;
4474
+ timestamp: z.ZodString;
4475
+ path: z.ZodString;
4476
+ correlationId: z.ZodOptional<z.ZodString>;
4477
+ }, "strip", z.ZodTypeAny, {
4478
+ code: string;
4479
+ path: string;
4480
+ message: string;
4481
+ statusCode: number;
4482
+ timestamp: string;
4483
+ details?: unknown;
4484
+ correlationId?: string | undefined;
4485
+ }, {
4486
+ code: string;
4487
+ path: string;
4488
+ message: string;
4489
+ statusCode: number;
4490
+ timestamp: string;
4491
+ details?: unknown;
4492
+ correlationId?: string | undefined;
4493
+ }>;
4494
+ };
4495
+ };
4496
+ };
4497
+ //# sourceMappingURL=consent-queue.contract.d.ts.map