@dakkitor/api-contracts 1.1.154 → 1.5.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 (353) hide show
  1. package/dist/abilities/abilities.contract.d.ts +55 -1
  2. package/dist/abilities/abilities.contract.d.ts.map +1 -1
  3. package/dist/abilities/abilities.contract.js +95 -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 +330 -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/outreach-service.abilities.json +14 -0
  17. package/dist/abilities/second-agent.abilities.json +430 -43
  18. package/dist/abilities/team-leads.json +71 -6
  19. package/dist/abilities/worker-curator.abilities.json +233 -0
  20. package/dist/actives/actives.contract.d.ts +15521 -19793
  21. package/dist/actives/actives.contract.d.ts.map +1 -1
  22. package/dist/actives/actives.contract.js +517 -114
  23. package/dist/agent-client-links/agent-client-links.contract.d.ts +1431 -291
  24. package/dist/agent-client-links/agent-client-links.contract.d.ts.map +1 -1
  25. package/dist/auth/auth.contract.d.ts +1050 -81
  26. package/dist/auth/auth.contract.d.ts.map +1 -1
  27. package/dist/auth/auth.contract.js +115 -3
  28. package/dist/bookings/booking-worker-summary.spec.d.ts +2 -0
  29. package/dist/bookings/booking-worker-summary.spec.d.ts.map +1 -0
  30. package/dist/bookings/booking-worker-summary.spec.js +25 -0
  31. package/dist/bookings/bookings.contract.d.ts +21631 -27105
  32. package/dist/bookings/bookings.contract.d.ts.map +1 -1
  33. package/dist/bookings/bookings.contract.js +383 -91
  34. package/dist/bookings/bookings.contract.spec.d.ts +2 -0
  35. package/dist/bookings/bookings.contract.spec.d.ts.map +1 -0
  36. package/dist/bookings/bookings.contract.spec.js +11 -0
  37. package/dist/bookings/job-lock.spec.d.ts +2 -0
  38. package/dist/bookings/job-lock.spec.d.ts.map +1 -0
  39. package/dist/bookings/job-lock.spec.js +56 -0
  40. package/dist/bot-parse-cache/bot-parse-cache.contract.d.ts +232 -0
  41. package/dist/bot-parse-cache/bot-parse-cache.contract.d.ts.map +1 -0
  42. package/dist/bot-parse-cache/bot-parse-cache.contract.js +64 -0
  43. package/dist/call-history/call-history.contract.d.ts +1336 -767
  44. package/dist/call-history/call-history.contract.d.ts.map +1 -1
  45. package/dist/call-history/call-history.contract.js +86 -10
  46. package/dist/calls-feed/calls-feed.contract.d.ts +417 -0
  47. package/dist/calls-feed/calls-feed.contract.d.ts.map +1 -0
  48. package/dist/calls-feed/calls-feed.contract.js +32 -0
  49. package/dist/client-contacts/client-contacts.contract.d.ts +410 -226
  50. package/dist/client-contacts/client-contacts.contract.d.ts.map +1 -1
  51. package/dist/client-contacts/client-contacts.contract.js +35 -4
  52. package/dist/clients/clients.contract.d.ts +227 -73
  53. package/dist/clients/clients.contract.d.ts.map +1 -1
  54. package/dist/clients/clients.contract.js +45 -21
  55. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +2908 -1834
  56. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts.map +1 -1
  57. package/dist/collaboration-checkings/collaboration-checkings.contract.js +14 -9
  58. package/dist/collaborations/collaborations.contract.d.ts +2676 -1409
  59. package/dist/collaborations/collaborations.contract.d.ts.map +1 -1
  60. package/dist/collaborations/collaborations.contract.js +33 -9
  61. package/dist/common/call-rating.schema.d.ts.map +1 -1
  62. package/dist/common/call-rating.schema.js +4 -2
  63. package/dist/common/common-schemas.d.ts +59 -11
  64. package/dist/common/common-schemas.d.ts.map +1 -1
  65. package/dist/common/common-schemas.js +55 -29
  66. package/dist/common/error-schemas.d.ts +2 -2
  67. package/dist/common/pagination-query.schema.d.ts +13 -2
  68. package/dist/common/pagination-query.schema.d.ts.map +1 -1
  69. package/dist/common/pagination-query.schema.js +21 -2
  70. package/dist/common/pagination-query.schema.spec.d.ts +2 -0
  71. package/dist/common/pagination-query.schema.spec.d.ts.map +1 -0
  72. package/dist/common/pagination-query.schema.spec.js +53 -0
  73. package/dist/companies/companies.contract.d.ts +53 -28
  74. package/dist/companies/companies.contract.d.ts.map +1 -1
  75. package/dist/companies/companies.contract.js +11 -10
  76. package/dist/crews/crews.contract.d.ts +1010 -196
  77. package/dist/crews/crews.contract.d.ts.map +1 -1
  78. package/dist/crews/crews.contract.js +98 -17
  79. package/dist/crews/crews.contract.spec.d.ts +2 -0
  80. package/dist/crews/crews.contract.spec.d.ts.map +1 -0
  81. package/dist/crews/crews.contract.spec.js +67 -0
  82. package/dist/cron-executions/cron-executions.contract.d.ts +988 -59
  83. package/dist/cron-executions/cron-executions.contract.d.ts.map +1 -1
  84. package/dist/cron-executions/cron-executions.contract.js +127 -7
  85. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.d.ts +2 -0
  86. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.d.ts.map +1 -0
  87. package/dist/curated-worker-leads/__tests__/disposition-reason.spec.js +40 -0
  88. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.d.ts +2 -0
  89. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.d.ts.map +1 -0
  90. package/dist/curated-worker-leads/candidate-coordination-snapshot.spec.js +16 -0
  91. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts +21650 -0
  92. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts.map +1 -0
  93. package/dist/curated-worker-leads/candidate-coordination.contract.js +921 -0
  94. package/dist/curated-worker-leads/candidate-coordination.contract.spec.d.ts +2 -0
  95. package/dist/curated-worker-leads/candidate-coordination.contract.spec.d.ts.map +1 -0
  96. package/dist/curated-worker-leads/candidate-coordination.contract.spec.js +51 -0
  97. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts +2364 -0
  98. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts.map +1 -0
  99. package/dist/curated-worker-leads/candidate-edit-session.contract.js +173 -0
  100. package/dist/curated-worker-leads/consent-queue.contract.d.ts +4497 -0
  101. package/dist/curated-worker-leads/consent-queue.contract.d.ts.map +1 -0
  102. package/dist/curated-worker-leads/consent-queue.contract.js +201 -0
  103. package/dist/curated-worker-leads/contact-history.spec.d.ts +2 -0
  104. package/dist/curated-worker-leads/contact-history.spec.d.ts.map +1 -0
  105. package/dist/curated-worker-leads/contact-history.spec.js +88 -0
  106. package/dist/curated-worker-leads/contact-session.contract.spec.d.ts +2 -0
  107. package/dist/curated-worker-leads/contact-session.contract.spec.d.ts.map +1 -0
  108. package/dist/curated-worker-leads/contact-session.contract.spec.js +315 -0
  109. package/dist/curated-worker-leads/curated-worker-lead-config.contract.d.ts +489 -0
  110. package/dist/curated-worker-leads/curated-worker-lead-config.contract.d.ts.map +1 -0
  111. package/dist/curated-worker-leads/curated-worker-lead-config.contract.js +88 -0
  112. package/dist/curated-worker-leads/curated-worker-leads.contract.d.ts +135 -0
  113. package/dist/curated-worker-leads/curated-worker-leads.contract.d.ts.map +1 -0
  114. package/dist/curated-worker-leads/curated-worker-leads.contract.js +32 -0
  115. package/dist/curated-worker-leads/job-candidate-cards.spec.d.ts +2 -0
  116. package/dist/curated-worker-leads/job-candidate-cards.spec.d.ts.map +1 -0
  117. package/dist/curated-worker-leads/job-candidate-cards.spec.js +157 -0
  118. package/dist/curated-worker-leads/job-candidates.spec.d.ts +2 -0
  119. package/dist/curated-worker-leads/job-candidates.spec.d.ts.map +1 -0
  120. package/dist/curated-worker-leads/job-candidates.spec.js +140 -0
  121. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.d.ts +2 -0
  122. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.d.ts.map +1 -0
  123. package/dist/curated-worker-leads/job-feed-match-counts.contract.spec.js +19 -0
  124. package/dist/curated-worker-leads/jobs-tab.contract.d.ts +18547 -0
  125. package/dist/curated-worker-leads/jobs-tab.contract.d.ts.map +1 -0
  126. package/dist/curated-worker-leads/jobs-tab.contract.js +672 -0
  127. package/dist/curated-worker-leads/lead-agent-area.contract.d.ts +348 -0
  128. package/dist/curated-worker-leads/lead-agent-area.contract.d.ts.map +1 -0
  129. package/dist/curated-worker-leads/lead-agent-area.contract.js +51 -0
  130. package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts +1116 -0
  131. package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts.map +1 -0
  132. package/dist/curated-worker-leads/owned-jobs-tab.contract.js +93 -0
  133. package/dist/curated-workers/curated-filter-additions.spec.d.ts +2 -0
  134. package/dist/curated-workers/curated-filter-additions.spec.d.ts.map +1 -0
  135. package/dist/curated-workers/curated-filter-additions.spec.js +17 -0
  136. package/dist/curated-workers/curated-job-seeking.spec.d.ts +2 -0
  137. package/dist/curated-workers/curated-job-seeking.spec.d.ts.map +1 -0
  138. package/dist/curated-workers/curated-job-seeking.spec.js +53 -0
  139. package/dist/curated-workers/curated-workers-id-documents.spec.d.ts +2 -0
  140. package/dist/curated-workers/curated-workers-id-documents.spec.d.ts.map +1 -0
  141. package/dist/curated-workers/curated-workers-id-documents.spec.js +38 -0
  142. package/dist/curated-workers/curated-workers.contract.d.ts +6160 -1906
  143. package/dist/curated-workers/curated-workers.contract.d.ts.map +1 -1
  144. package/dist/curated-workers/curated-workers.contract.js +333 -51
  145. package/dist/dashboards/agent-daily-metrics.contract.d.ts +10 -10
  146. package/dist/dashboards/agent-daily-metrics.contract.js +1 -1
  147. package/dist/dashboards/dashboard-widgets.contract.d.ts +3777 -473
  148. package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
  149. package/dist/dashboards/dashboard-widgets.contract.js +527 -29
  150. package/dist/dashboards/dashboard.contract.d.ts +8 -8
  151. package/dist/document-intake/document-intake.contract.d.ts +3132 -0
  152. package/dist/document-intake/document-intake.contract.d.ts.map +1 -0
  153. package/dist/document-intake/document-intake.contract.js +418 -0
  154. package/dist/export-jobs/export-jobs.contract.d.ts +3928 -0
  155. package/dist/export-jobs/export-jobs.contract.d.ts.map +1 -0
  156. package/dist/export-jobs/export-jobs.contract.js +240 -0
  157. package/dist/exports-events/exports-events.schemas.d.ts +90 -0
  158. package/dist/exports-events/exports-events.schemas.d.ts.map +1 -0
  159. package/dist/exports-events/exports-events.schemas.js +56 -0
  160. package/dist/files/files.contract.d.ts +133 -126
  161. package/dist/files/files.contract.d.ts.map +1 -1
  162. package/dist/files/files.contract.js +8 -0
  163. package/dist/health/health.contract.d.ts +4 -4
  164. package/dist/index.d.ts +86 -0
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +91 -1
  167. package/dist/interactions/interactions.contract.d.ts +162 -0
  168. package/dist/interactions/interactions.contract.d.ts.map +1 -0
  169. package/dist/interactions/interactions.contract.js +42 -0
  170. package/dist/job-clusters/job-clusters.contract.d.ts +1584 -0
  171. package/dist/job-clusters/job-clusters.contract.d.ts.map +1 -0
  172. package/dist/job-clusters/job-clusters.contract.js +133 -0
  173. package/dist/jobs/jobs.contract.d.ts +16662 -8628
  174. package/dist/jobs/jobs.contract.d.ts.map +1 -1
  175. package/dist/jobs/jobs.contract.js +403 -190
  176. package/dist/jobs/jobs.contract.spec.d.ts +2 -0
  177. package/dist/jobs/jobs.contract.spec.d.ts.map +1 -0
  178. package/dist/jobs/jobs.contract.spec.js +70 -0
  179. package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +75 -75
  180. package/dist/lead-assignments/lead-assignments.contract.d.ts +2933 -1122
  181. package/dist/lead-assignments/lead-assignments.contract.d.ts.map +1 -1
  182. package/dist/lead-assignments/lead-assignments.contract.js +29 -7
  183. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +328 -64
  184. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts.map +1 -1
  185. package/dist/lead-distribution/agent-lead-distribution.contract.js +1 -1
  186. package/dist/lead-distribution/lead-distribution-config.contract.d.ts +31 -31
  187. package/dist/leads/leads.contract.d.ts +830 -368
  188. package/dist/leads/leads.contract.d.ts.map +1 -1
  189. package/dist/leads/leads.contract.js +106 -26
  190. package/dist/locations/locations.contract.d.ts +36 -36
  191. package/dist/notifications/notifications.contract.d.ts +1039 -0
  192. package/dist/notifications/notifications.contract.d.ts.map +1 -0
  193. package/dist/notifications/notifications.contract.js +110 -0
  194. package/dist/offices/offices.contract.d.ts +210 -60
  195. package/dist/offices/offices.contract.d.ts.map +1 -1
  196. package/dist/offices/offices.contract.js +18 -4
  197. package/dist/outreach/__tests__/outreach-claim.test.d.ts +2 -0
  198. package/dist/outreach/__tests__/outreach-claim.test.d.ts.map +1 -0
  199. package/dist/outreach/__tests__/outreach-claim.test.js +98 -0
  200. package/dist/outreach/__tests__/outreach-confirm-release.test.d.ts +2 -0
  201. package/dist/outreach/__tests__/outreach-confirm-release.test.d.ts.map +1 -0
  202. package/dist/outreach/__tests__/outreach-confirm-release.test.js +98 -0
  203. package/dist/outreach/__tests__/outreach-contract-additions.spec.d.ts +2 -0
  204. package/dist/outreach/__tests__/outreach-contract-additions.spec.d.ts.map +1 -0
  205. package/dist/outreach/__tests__/outreach-contract-additions.spec.js +78 -0
  206. package/dist/outreach/__tests__/outreach-requests.contract.spec.d.ts +2 -0
  207. package/dist/outreach/__tests__/outreach-requests.contract.spec.d.ts.map +1 -0
  208. package/dist/outreach/__tests__/outreach-requests.contract.spec.js +64 -0
  209. package/dist/outreach/__tests__/outreach-routes.test.d.ts +2 -0
  210. package/dist/outreach/__tests__/outreach-routes.test.d.ts.map +1 -0
  211. package/dist/outreach/__tests__/outreach-routes.test.js +57 -0
  212. package/dist/outreach/__tests__/outreach.schemas.test.d.ts +2 -0
  213. package/dist/outreach/__tests__/outreach.schemas.test.d.ts.map +1 -0
  214. package/dist/outreach/__tests__/outreach.schemas.test.js +144 -0
  215. package/dist/outreach/outreach-requests.contract.d.ts +1108 -0
  216. package/dist/outreach/outreach-requests.contract.d.ts.map +1 -0
  217. package/dist/outreach/outreach-requests.contract.js +134 -0
  218. package/dist/outreach/outreach-requests.schemas.d.ts +49 -0
  219. package/dist/outreach/outreach-requests.schemas.d.ts.map +1 -0
  220. package/dist/outreach/outreach-requests.schemas.js +60 -0
  221. package/dist/outreach/outreach.contract.d.ts +819 -0
  222. package/dist/outreach/outreach.contract.d.ts.map +1 -0
  223. package/dist/outreach/outreach.contract.js +195 -0
  224. package/dist/outreach/outreach.schemas.d.ts +118 -0
  225. package/dist/outreach/outreach.schemas.d.ts.map +1 -0
  226. package/dist/outreach/outreach.schemas.js +135 -0
  227. package/dist/own-research/own-research.contract.d.ts +1356 -552
  228. package/dist/own-research/own-research.contract.d.ts.map +1 -1
  229. package/dist/own-research/own-research.contract.js +14 -3
  230. package/dist/postcodes/postcodes.contract.d.ts +16 -16
  231. package/dist/proofs/proof-category.enum.d.ts +4 -0
  232. package/dist/proofs/proof-category.enum.d.ts.map +1 -0
  233. package/dist/proofs/proof-category.enum.js +5 -0
  234. package/dist/proofs/proof-entity-type.enum.d.ts +4 -0
  235. package/dist/proofs/proof-entity-type.enum.d.ts.map +1 -0
  236. package/dist/proofs/proof-entity-type.enum.js +5 -0
  237. package/dist/proofs/proof-type.enum.d.ts +28 -0
  238. package/dist/proofs/proof-type.enum.d.ts.map +1 -0
  239. package/dist/proofs/proof-type.enum.js +14 -0
  240. package/dist/proofs/proofs.contract.d.ts +3009 -0
  241. package/dist/proofs/proofs.contract.d.ts.map +1 -0
  242. package/dist/proofs/proofs.contract.js +92 -0
  243. package/dist/proofs/proofs.dtos.d.ts +1319 -0
  244. package/dist/proofs/proofs.dtos.d.ts.map +1 -0
  245. package/dist/proofs/proofs.dtos.js +178 -0
  246. package/dist/qualifications/qualifications.contract.d.ts +94 -94
  247. package/dist/realtime/data-changed.d.ts +21 -0
  248. package/dist/realtime/data-changed.d.ts.map +1 -0
  249. package/dist/realtime/data-changed.js +37 -0
  250. package/dist/shared/booking-history.schema.d.ts +27 -0
  251. package/dist/shared/booking-history.schema.d.ts.map +1 -0
  252. package/dist/shared/booking-history.schema.js +22 -0
  253. package/dist/shared/booking-history.spec.d.ts +2 -0
  254. package/dist/shared/booking-history.spec.d.ts.map +1 -0
  255. package/dist/shared/booking-history.spec.js +44 -0
  256. package/dist/shared/contact-suppressions.contract.d.ts +22 -0
  257. package/dist/shared/contact-suppressions.contract.d.ts.map +1 -0
  258. package/dist/shared/contact-suppressions.contract.js +13 -0
  259. package/dist/shared/live-booking.schema.d.ts +57 -0
  260. package/dist/shared/live-booking.schema.d.ts.map +1 -0
  261. package/dist/shared/live-booking.schema.js +34 -0
  262. package/dist/shared/summary-schemas.d.ts +218 -0
  263. package/dist/shared/summary-schemas.d.ts.map +1 -0
  264. package/dist/shared/summary-schemas.js +56 -0
  265. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.d.ts +2 -0
  266. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.d.ts.map +1 -0
  267. package/dist/sheets-sync/__tests__/sheets-sync-events.schemas.test.js +20 -0
  268. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.d.ts +2 -0
  269. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.d.ts.map +1 -0
  270. package/dist/sheets-sync/__tests__/tab-sync-config.schema.test.js +41 -0
  271. package/dist/sheets-sync/sheets-sync-events.schemas.d.ts +43 -0
  272. package/dist/sheets-sync/sheets-sync-events.schemas.d.ts.map +1 -0
  273. package/dist/sheets-sync/sheets-sync-events.schemas.js +29 -0
  274. package/dist/sheets-sync/sheets-sync.contract.d.ts +7258 -0
  275. package/dist/sheets-sync/sheets-sync.contract.d.ts.map +1 -0
  276. package/dist/sheets-sync/sheets-sync.contract.js +323 -0
  277. package/dist/telegram/telegram.contract.d.ts +727 -0
  278. package/dist/telegram/telegram.contract.d.ts.map +1 -0
  279. package/dist/telegram/telegram.contract.js +75 -0
  280. package/dist/trades/trade-rate-assessment.d.ts +18 -0
  281. package/dist/trades/trade-rate-assessment.d.ts.map +1 -0
  282. package/dist/trades/trade-rate-assessment.js +46 -0
  283. package/dist/trades/trade-rate-assessment.spec.d.ts +2 -0
  284. package/dist/trades/trade-rate-assessment.spec.d.ts.map +1 -0
  285. package/dist/trades/trade-rate-assessment.spec.js +223 -0
  286. package/dist/trades/trades.contract.d.ts +111 -0
  287. package/dist/trades/trades.contract.d.ts.map +1 -1
  288. package/dist/trades/trades.contract.js +49 -1
  289. package/dist/trades/trades.contract.spec.d.ts +2 -0
  290. package/dist/trades/trades.contract.spec.d.ts.map +1 -0
  291. package/dist/trades/trades.contract.spec.js +173 -0
  292. package/dist/user-access-grants/build-user-access-grant-rules.d.ts +10 -0
  293. package/dist/user-access-grants/build-user-access-grant-rules.d.ts.map +1 -0
  294. package/dist/user-access-grants/build-user-access-grant-rules.js +69 -0
  295. package/dist/user-access-grants/build-user-access-grant-rules.spec.d.ts +2 -0
  296. package/dist/user-access-grants/build-user-access-grant-rules.spec.d.ts.map +1 -0
  297. package/dist/user-access-grants/build-user-access-grant-rules.spec.js +77 -0
  298. package/dist/user-access-grants/user-access-grant-templates.json +454 -0
  299. package/dist/user-access-grants/user-access-grants.contract.d.ts +3886 -0
  300. package/dist/user-access-grants/user-access-grants.contract.d.ts.map +1 -0
  301. package/dist/user-access-grants/user-access-grants.contract.js +189 -0
  302. package/dist/user-access-grants/user-access-grants.contract.spec.d.ts +2 -0
  303. package/dist/user-access-grants/user-access-grants.contract.spec.d.ts.map +1 -0
  304. package/dist/user-access-grants/user-access-grants.contract.spec.js +149 -0
  305. package/dist/users/users.contract.d.ts +1959 -349
  306. package/dist/users/users.contract.d.ts.map +1 -1
  307. package/dist/users/users.contract.js +222 -37
  308. package/dist/users/users.contract.spec.d.ts +2 -0
  309. package/dist/users/users.contract.spec.d.ts.map +1 -0
  310. package/dist/users/users.contract.spec.js +103 -0
  311. package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts +4609 -0
  312. package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts.map +1 -0
  313. package/dist/worker-identity-cases/worker-identity-cases.contract.js +409 -0
  314. package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts +1511 -0
  315. package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts.map +1 -0
  316. package/dist/worker-merge-proposals/worker-merge-proposals.contract.js +150 -0
  317. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts +1106 -0
  318. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts.map +1 -0
  319. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.js +85 -0
  320. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.d.ts +2 -0
  321. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.d.ts.map +1 -0
  322. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.spec.js +216 -0
  323. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.d.ts +453 -0
  324. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.d.ts.map +1 -0
  325. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.js +109 -0
  326. package/dist/workers/do-not-contact.contract.d.ts +46 -0
  327. package/dist/workers/do-not-contact.contract.d.ts.map +1 -0
  328. package/dist/workers/do-not-contact.contract.js +41 -0
  329. package/dist/workers/do-not-contact.contract.spec.d.ts +2 -0
  330. package/dist/workers/do-not-contact.contract.spec.d.ts.map +1 -0
  331. package/dist/workers/do-not-contact.contract.spec.js +47 -0
  332. package/dist/workers/duplicate-group-worker.spec.d.ts +2 -0
  333. package/dist/workers/duplicate-group-worker.spec.d.ts.map +1 -0
  334. package/dist/workers/duplicate-group-worker.spec.js +34 -0
  335. package/dist/workers/filter-exact-flags.spec.d.ts +2 -0
  336. package/dist/workers/filter-exact-flags.spec.d.ts.map +1 -0
  337. package/dist/workers/filter-exact-flags.spec.js +37 -0
  338. package/dist/workers/worker-source-attribution.contract.spec.d.ts +2 -0
  339. package/dist/workers/worker-source-attribution.contract.spec.d.ts.map +1 -0
  340. package/dist/workers/worker-source-attribution.contract.spec.js +442 -0
  341. package/dist/workers/worker-source.spec.d.ts +2 -0
  342. package/dist/workers/worker-source.spec.d.ts.map +1 -0
  343. package/dist/workers/worker-source.spec.js +13 -0
  344. package/dist/workers/worker-status-facets.spec.d.ts +2 -0
  345. package/dist/workers/worker-status-facets.spec.d.ts.map +1 -0
  346. package/dist/workers/worker-status-facets.spec.js +34 -0
  347. package/dist/workers/workers.contract.d.ts +19534 -5969
  348. package/dist/workers/workers.contract.d.ts.map +1 -1
  349. package/dist/workers/workers.contract.js +1096 -113
  350. package/dist/workers/workers.contract.spec.d.ts +2 -0
  351. package/dist/workers/workers.contract.spec.d.ts.map +1 -0
  352. package/dist/workers/workers.contract.spec.js +31 -0
  353. 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
+ postcode: string | null;
14
+ workerName: string;
15
+ assignmentId: string;
16
+ phoneNumber: string | null;
17
+ assignedAt: string;
18
+ curatedWorkerId: string;
19
+ phoneId: string | null;
20
+ matchingJobCount: number;
21
+ nearestJobDistanceKm: number | null;
22
+ }, {
23
+ postcode: string | null;
24
+ workerName: string;
25
+ assignmentId: string;
26
+ phoneNumber: string | null;
27
+ assignedAt: string;
28
+ curatedWorkerId: string;
29
+ phoneId: string | null;
30
+ matchingJobCount: number;
31
+ nearestJobDistanceKm: number | null;
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: "NO_ANSWER" | "NOT_INTERESTED" | "ALREADY_WORKING" | "OUT_OF_COUNTRY" | "WRONG_NUMBER" | "OTHER";
39
+ doNotContactDays: number;
40
+ }, {
41
+ reason: "NO_ANSWER" | "NOT_INTERESTED" | "ALREADY_WORKING" | "OUT_OF_COUNTRY" | "WRONG_NUMBER" | "OTHER";
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
+ postcode: string | null;
69
+ workerName: string;
70
+ assignmentId: string;
71
+ phoneNumber: string | null;
72
+ assignedAt: string;
73
+ curatedWorkerId: string;
74
+ phoneId: string | null;
75
+ matchingJobCount: number;
76
+ nearestJobDistanceKm: number | null;
77
+ }, {
78
+ postcode: string | null;
79
+ workerName: string;
80
+ assignmentId: string;
81
+ phoneNumber: string | null;
82
+ assignedAt: string;
83
+ curatedWorkerId: string;
84
+ phoneId: string | null;
85
+ matchingJobCount: number;
86
+ nearestJobDistanceKm: number | null;
87
+ }>>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ next: {
90
+ postcode: string | null;
91
+ workerName: string;
92
+ assignmentId: string;
93
+ phoneNumber: string | null;
94
+ assignedAt: string;
95
+ curatedWorkerId: string;
96
+ phoneId: string | null;
97
+ matchingJobCount: number;
98
+ nearestJobDistanceKm: number | null;
99
+ } | null;
100
+ }, {
101
+ next: {
102
+ postcode: string | null;
103
+ workerName: string;
104
+ assignmentId: string;
105
+ phoneNumber: string | null;
106
+ assignedAt: string;
107
+ curatedWorkerId: string;
108
+ phoneId: string | null;
109
+ matchingJobCount: number;
110
+ nearestJobDistanceKm: number | null;
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
+ latitude?: number | null | undefined;
186
+ longitude?: number | null | undefined;
187
+ county?: string | null | undefined;
188
+ adminDistrict?: string | null | undefined;
189
+ builtUpArea?: string | null | undefined;
190
+ postTown?: string | null | undefined;
191
+ areaCovered?: string | null | undefined;
192
+ }, {
193
+ address?: string | null | undefined;
194
+ postcode?: string | null | undefined;
195
+ latitude?: number | null | undefined;
196
+ longitude?: number | null | undefined;
197
+ county?: string | null | undefined;
198
+ adminDistrict?: string | null | undefined;
199
+ builtUpArea?: string | null | undefined;
200
+ postTown?: string | null | undefined;
201
+ areaCovered?: string | 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: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
229
+ }, {
230
+ status: "ACTIVE" | "PENDING" | "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
+ lastName: string;
240
+ firstName: string;
241
+ }, {
242
+ id: string;
243
+ lastName: string;
244
+ firstName: string;
245
+ }>>>;
246
+ }, "strip", z.ZodTypeAny, {
247
+ 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;
248
+ active?: {
249
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
250
+ } | null | undefined;
251
+ bookingId?: string | null | undefined;
252
+ activeId?: string | null | undefined;
253
+ bookingAgent?: {
254
+ id: string;
255
+ lastName: string;
256
+ firstName: string;
257
+ } | null | undefined;
258
+ }, {
259
+ 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;
260
+ active?: {
261
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
262
+ } | null | undefined;
263
+ bookingId?: string | null | undefined;
264
+ activeId?: string | null | undefined;
265
+ bookingAgent?: {
266
+ id: string;
267
+ lastName: string;
268
+ firstName: 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
+ note: string | null;
287
+ until: string | null;
288
+ setByName: string;
289
+ setAt: string;
290
+ }, {
291
+ reason: string;
292
+ note: string | null;
293
+ until: 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
+ updatedAt: string;
306
+ createdAt: string;
307
+ tradeId: string;
308
+ mainTrade: boolean;
309
+ }, {
310
+ id: string;
311
+ updatedAt: string | Date;
312
+ createdAt: 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
+ updatedAt: string;
329
+ createdAt: string;
330
+ qualificationId: string;
331
+ qualificationTypeId: string | null;
332
+ referenceNumber: string | null;
333
+ proofDocumentFileId: string | null;
334
+ issueDate?: string | null | undefined;
335
+ expiryDate?: string | null | undefined;
336
+ }, {
337
+ id: string;
338
+ updatedAt: string | Date;
339
+ createdAt: string | Date;
340
+ qualificationId: string;
341
+ qualificationTypeId: string | null;
342
+ referenceNumber: string | null;
343
+ proofDocumentFileId: string | null;
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
+ updatedAt: string;
358
+ createdAt: string;
359
+ phoneNumber: string;
360
+ isPrimary: boolean;
361
+ description?: string | null | undefined;
362
+ }, {
363
+ id: string;
364
+ updatedAt: string | Date;
365
+ createdAt: string | Date;
366
+ phoneNumber: string;
367
+ description?: string | null | undefined;
368
+ isPrimary?: boolean | 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
+ updatedAt?: string | undefined;
381
+ createdAt?: string | undefined;
382
+ expiryDate?: string | null | 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
+ updatedAt?: string | Date | undefined;
389
+ createdAt?: string | Date | undefined;
390
+ expiryDate?: string | Date | null | 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
+ updatedAt: string;
398
+ createdAt: string;
399
+ firstName: string;
400
+ hasTools: boolean | null;
401
+ hasPpe: boolean | null;
402
+ blacklisted: boolean;
403
+ offerOpenness: "ACTIVELY_LOOKING" | "OPEN" | "NOT_INTERESTED";
404
+ idDocuments: {
405
+ id: string;
406
+ updatedAt?: string | undefined;
407
+ createdAt?: string | undefined;
408
+ expiryDate?: string | null | undefined;
409
+ fileId?: string | null | undefined;
410
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
411
+ documentNumber?: string | null | undefined;
412
+ }[];
413
+ suppression: {
414
+ reason: string;
415
+ note: string | null;
416
+ until: string | null;
417
+ setByName: string;
418
+ setAt: string;
419
+ } | null;
420
+ location?: {
421
+ address?: string | null | undefined;
422
+ postcode?: string | null | undefined;
423
+ latitude?: number | null | undefined;
424
+ longitude?: number | null | undefined;
425
+ county?: string | null | undefined;
426
+ adminDistrict?: string | null | undefined;
427
+ builtUpArea?: string | null | undefined;
428
+ postTown?: string | null | undefined;
429
+ areaCovered?: string | null | undefined;
430
+ } | null | undefined;
431
+ blacklistReason?: string | null | undefined;
432
+ email?: string | null | undefined;
433
+ lastName?: string | null | undefined;
434
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
435
+ 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;
436
+ transportation?: {
437
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
438
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
439
+ } | null | undefined;
440
+ dateOfBirth?: string | null | undefined;
441
+ bio?: string | null | undefined;
442
+ nino?: string | null | undefined;
443
+ offerNote?: string | null | undefined;
444
+ phoneNumbers?: {
445
+ id: string;
446
+ updatedAt: string;
447
+ createdAt: string;
448
+ phoneNumber: string;
449
+ isPrimary: boolean;
450
+ description?: string | null | undefined;
451
+ }[] | null | undefined;
452
+ trades?: {
453
+ id: string;
454
+ updatedAt: string;
455
+ createdAt: string;
456
+ tradeId: string;
457
+ mainTrade: boolean;
458
+ }[] | null | undefined;
459
+ qualifications?: {
460
+ id: string;
461
+ updatedAt: string;
462
+ createdAt: string;
463
+ qualificationId: string;
464
+ qualificationTypeId: string | null;
465
+ referenceNumber: string | null;
466
+ proofDocumentFileId: string | null;
467
+ issueDate?: string | null | undefined;
468
+ expiryDate?: string | null | undefined;
469
+ }[] | null | undefined;
470
+ shareCode?: {
471
+ code: string | null;
472
+ expiryDate?: string | null | undefined;
473
+ fileId?: string | null | undefined;
474
+ } | null | undefined;
475
+ liveStatus?: {
476
+ 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;
477
+ active?: {
478
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
479
+ } | null | undefined;
480
+ bookingId?: string | null | undefined;
481
+ activeId?: string | null | undefined;
482
+ bookingAgent?: {
483
+ id: string;
484
+ lastName: string;
485
+ firstName: string;
486
+ } | null | undefined;
487
+ } | undefined;
488
+ offerOpennessSetAt?: string | null | undefined;
489
+ offerNoteUpdatedAt?: string | null | undefined;
490
+ occupancyStatus?: "ACTIVE" | "BOOKED" | null | undefined;
491
+ distanceKm?: number | null | undefined;
492
+ bookingHistory?: {
493
+ workedTotal: number;
494
+ workedByMe: number;
495
+ noShowTotal: number;
496
+ noShowByMe: number;
497
+ } | undefined;
498
+ offerSignalUpdatedById?: string | null | undefined;
499
+ offerSignalUpdatedByName?: string | null | undefined;
500
+ workingUntil?: string | null | undefined;
501
+ }, {
502
+ id: string;
503
+ updatedAt: string | Date;
504
+ createdAt: string | Date;
505
+ firstName: string;
506
+ hasTools: boolean | null;
507
+ hasPpe: boolean | null;
508
+ blacklisted: boolean;
509
+ suppression: {
510
+ reason: string;
511
+ note: string | null;
512
+ until: string | null;
513
+ setByName: string;
514
+ setAt: string;
515
+ } | null;
516
+ location?: {
517
+ address?: string | null | undefined;
518
+ postcode?: string | null | undefined;
519
+ latitude?: number | null | undefined;
520
+ longitude?: number | null | undefined;
521
+ county?: string | null | undefined;
522
+ adminDistrict?: string | null | undefined;
523
+ builtUpArea?: string | null | undefined;
524
+ postTown?: string | null | undefined;
525
+ areaCovered?: string | null | undefined;
526
+ } | null | undefined;
527
+ blacklistReason?: string | null | undefined;
528
+ email?: string | null | undefined;
529
+ lastName?: string | null | undefined;
530
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
531
+ 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;
532
+ transportation?: {
533
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
534
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
535
+ } | null | undefined;
536
+ dateOfBirth?: string | Date | null | undefined;
537
+ bio?: string | null | undefined;
538
+ nino?: string | null | undefined;
539
+ offerOpenness?: "ACTIVELY_LOOKING" | "OPEN" | "NOT_INTERESTED" | undefined;
540
+ offerNote?: string | null | undefined;
541
+ phoneNumbers?: {
542
+ id: string;
543
+ updatedAt: string | Date;
544
+ createdAt: string | Date;
545
+ phoneNumber: string;
546
+ description?: string | null | undefined;
547
+ isPrimary?: boolean | undefined;
548
+ }[] | null | undefined;
549
+ trades?: {
550
+ id: string;
551
+ updatedAt: string | Date;
552
+ createdAt: string | Date;
553
+ tradeId: string;
554
+ mainTrade: boolean;
555
+ }[] | null | undefined;
556
+ qualifications?: {
557
+ id: string;
558
+ updatedAt: string | Date;
559
+ createdAt: string | Date;
560
+ qualificationId: string;
561
+ qualificationTypeId: string | null;
562
+ referenceNumber: string | null;
563
+ proofDocumentFileId: string | null;
564
+ issueDate?: string | Date | null | undefined;
565
+ expiryDate?: string | Date | null | undefined;
566
+ }[] | null | undefined;
567
+ idDocuments?: {
568
+ id: string;
569
+ updatedAt?: string | Date | undefined;
570
+ createdAt?: string | Date | undefined;
571
+ expiryDate?: string | Date | null | undefined;
572
+ fileId?: string | null | undefined;
573
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
574
+ documentNumber?: string | null | undefined;
575
+ }[] | undefined;
576
+ shareCode?: {
577
+ code: string | null;
578
+ expiryDate?: string | Date | null | undefined;
579
+ fileId?: string | null | undefined;
580
+ } | null | undefined;
581
+ liveStatus?: {
582
+ 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;
583
+ active?: {
584
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
585
+ } | null | undefined;
586
+ bookingId?: string | null | undefined;
587
+ activeId?: string | null | undefined;
588
+ bookingAgent?: {
589
+ id: string;
590
+ lastName: string;
591
+ firstName: string;
592
+ } | null | undefined;
593
+ } | undefined;
594
+ offerOpennessSetAt?: string | Date | null | undefined;
595
+ offerNoteUpdatedAt?: string | Date | null | undefined;
596
+ occupancyStatus?: "ACTIVE" | "BOOKED" | null | undefined;
597
+ distanceKm?: number | null | undefined;
598
+ bookingHistory?: {
599
+ workedTotal: number;
600
+ workedByMe: number;
601
+ noShowTotal: number;
602
+ noShowByMe: number;
603
+ } | undefined;
604
+ offerSignalUpdatedById?: string | null | undefined;
605
+ offerSignalUpdatedByName?: string | null | undefined;
606
+ workingUntil?: string | Date | null | 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
+ status: "NOT_INTERESTED" | "BOOKED" | "NEW" | "TOO_FAR" | "OFFER_SENT";
619
+ statusUpdatedAt: string | null;
620
+ jobId: string;
621
+ subjectKind: "OWNED" | "CURATED";
622
+ subjectId: string;
623
+ distanceKm: number | null;
624
+ driveMinutes: number | null;
625
+ transitMinutes: number | null;
626
+ }, {
627
+ status: "NOT_INTERESTED" | "BOOKED" | "NEW" | "TOO_FAR" | "OFFER_SENT";
628
+ statusUpdatedAt: string | null;
629
+ jobId: string;
630
+ subjectKind: "OWNED" | "CURATED";
631
+ subjectId: string;
632
+ distanceKm: number | null;
633
+ driveMinutes: number | null;
634
+ transitMinutes: number | 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
+ receivedRate?: number | null | undefined;
652
+ rate?: number | null | undefined;
653
+ rateMax?: number | null | undefined;
654
+ }, {
655
+ rateUnit: "DAILY" | "HOURLY";
656
+ receivedRate?: number | null | undefined;
657
+ rate?: number | null | undefined;
658
+ isNegotiable?: boolean | undefined;
659
+ rateMax?: 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
+ description?: string | null | undefined;
733
+ isPrimary?: boolean | 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
+ lastName: string;
739
+ firstName: 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
+ lastName: string;
750
+ firstName: string;
751
+ phoneNumbers?: {
752
+ id: string;
753
+ phoneNumber: string;
754
+ description?: string | null | undefined;
755
+ isPrimary?: boolean | undefined;
756
+ }[] | undefined;
757
+ deletedAt?: string | Date | null | undefined;
758
+ }>>>;
759
+ }, "strip", z.ZodTypeAny, {
760
+ id?: string | null | undefined;
761
+ status?: string | null | undefined;
762
+ client?: {
763
+ id: string;
764
+ name: string;
765
+ } | null | undefined;
766
+ company?: {
767
+ id: string;
768
+ name: string;
769
+ } | null | undefined;
770
+ userId?: string | null | undefined;
771
+ user?: {
772
+ id: string;
773
+ lastName: string;
774
+ firstName: 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
+ id?: string | null | undefined;
785
+ status?: string | null | undefined;
786
+ client?: {
787
+ id: string;
788
+ name: string;
789
+ } | null | undefined;
790
+ company?: {
791
+ id: string;
792
+ name: string;
793
+ } | null | undefined;
794
+ userId?: string | null | undefined;
795
+ user?: {
796
+ id: string;
797
+ lastName: string;
798
+ firstName: string;
799
+ phoneNumbers?: {
800
+ id: string;
801
+ phoneNumber: string;
802
+ description?: string | null | undefined;
803
+ isPrimary?: boolean | 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
+ description?: string | null | undefined;
829
+ isPrimary?: boolean | 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
+ lastName: string;
835
+ firstName: 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
+ lastName: string;
846
+ firstName: string;
847
+ phoneNumbers?: {
848
+ id: string;
849
+ phoneNumber: string;
850
+ description?: string | null | undefined;
851
+ isPrimary?: boolean | 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
+ id: string;
861
+ updatedAt: string;
862
+ createdAt: string;
863
+ description: string;
864
+ pay: {
865
+ rateUnit: "DAILY" | "HOURLY";
866
+ isNegotiable: boolean;
867
+ receivedRate?: number | null | undefined;
868
+ rate?: number | null | undefined;
869
+ rateMax?: number | null | undefined;
870
+ };
871
+ numberOfPositions: number;
872
+ status: "AVAILABLE" | "NOT_AVAILABLE";
873
+ tradeId: string;
874
+ filledPositions: number;
875
+ location?: {
876
+ address?: string | null | undefined;
877
+ postcode?: string | null | undefined;
878
+ adminDistrict?: string | null | undefined;
879
+ postTown?: string | null | undefined;
880
+ } | null | undefined;
881
+ workHours?: number | null | undefined;
882
+ startDate?: string | null | undefined;
883
+ jobQualifications?: {
884
+ id: string;
885
+ qualificationId: string;
886
+ qualificationTypeId?: string | null | undefined;
887
+ }[] | null | undefined;
888
+ collaboration?: {
889
+ id?: string | null | undefined;
890
+ status?: string | null | undefined;
891
+ client?: {
892
+ id: string;
893
+ name: string;
894
+ } | null | undefined;
895
+ company?: {
896
+ id: string;
897
+ name: string;
898
+ } | null | undefined;
899
+ userId?: string | null | undefined;
900
+ user?: {
901
+ id: string;
902
+ lastName: string;
903
+ firstName: string;
904
+ phoneNumbers: {
905
+ id: string;
906
+ phoneNumber: string;
907
+ isPrimary: boolean;
908
+ description?: string | null | undefined;
909
+ }[];
910
+ deletedAt?: string | null | undefined;
911
+ } | null | undefined;
912
+ } | null | undefined;
913
+ createdById?: string | null | undefined;
914
+ createdBy?: {
915
+ id: string;
916
+ lastName: string;
917
+ firstName: string;
918
+ phoneNumbers: {
919
+ id: string;
920
+ phoneNumber: string;
921
+ isPrimary: boolean;
922
+ description?: string | null | undefined;
923
+ }[];
924
+ deletedAt?: string | null | undefined;
925
+ } | null | undefined;
926
+ creationSource?: "BOT" | "MANUAL" | null | undefined;
927
+ distanceKm?: number | null | undefined;
928
+ }, {
929
+ id: string;
930
+ updatedAt: string | Date;
931
+ createdAt: string | Date;
932
+ description: string;
933
+ pay: {
934
+ rateUnit: "DAILY" | "HOURLY";
935
+ receivedRate?: number | null | undefined;
936
+ rate?: number | null | undefined;
937
+ isNegotiable?: boolean | undefined;
938
+ rateMax?: number | null | undefined;
939
+ };
940
+ numberOfPositions: number;
941
+ status: "AVAILABLE" | "NOT_AVAILABLE";
942
+ tradeId: string;
943
+ location?: {
944
+ address?: string | null | undefined;
945
+ postcode?: string | null | undefined;
946
+ adminDistrict?: string | null | undefined;
947
+ postTown?: string | null | undefined;
948
+ } | null | undefined;
949
+ workHours?: number | null | undefined;
950
+ startDate?: string | null | undefined;
951
+ jobQualifications?: {
952
+ id: string;
953
+ qualificationId: string;
954
+ qualificationTypeId?: string | null | undefined;
955
+ }[] | null | undefined;
956
+ collaboration?: {
957
+ id?: string | null | undefined;
958
+ status?: string | null | undefined;
959
+ client?: {
960
+ id: string;
961
+ name: string;
962
+ } | null | undefined;
963
+ company?: {
964
+ id: string;
965
+ name: string;
966
+ } | null | undefined;
967
+ userId?: string | null | undefined;
968
+ user?: {
969
+ id: string;
970
+ lastName: string;
971
+ firstName: string;
972
+ phoneNumbers?: {
973
+ id: string;
974
+ phoneNumber: string;
975
+ description?: string | null | undefined;
976
+ isPrimary?: boolean | undefined;
977
+ }[] | undefined;
978
+ deletedAt?: string | Date | null | undefined;
979
+ } | null | undefined;
980
+ } | null | undefined;
981
+ filledPositions?: number | undefined;
982
+ createdById?: string | null | undefined;
983
+ createdBy?: {
984
+ id: string;
985
+ lastName: string;
986
+ firstName: string;
987
+ phoneNumbers?: {
988
+ id: string;
989
+ phoneNumber: string;
990
+ description?: string | null | undefined;
991
+ isPrimary?: boolean | undefined;
992
+ }[] | undefined;
993
+ deletedAt?: string | Date | null | undefined;
994
+ } | null | undefined;
995
+ creationSource?: "BOT" | "MANUAL" | null | undefined;
996
+ distanceKm?: number | null | undefined;
997
+ }>, "many">;
998
+ }, "strip", z.ZodTypeAny, {
999
+ worker: {
1000
+ id: string;
1001
+ updatedAt: string;
1002
+ createdAt: string;
1003
+ firstName: string;
1004
+ hasTools: boolean | null;
1005
+ hasPpe: boolean | null;
1006
+ blacklisted: boolean;
1007
+ offerOpenness: "ACTIVELY_LOOKING" | "OPEN" | "NOT_INTERESTED";
1008
+ idDocuments: {
1009
+ id: string;
1010
+ updatedAt?: string | undefined;
1011
+ createdAt?: string | undefined;
1012
+ expiryDate?: string | null | undefined;
1013
+ fileId?: string | null | undefined;
1014
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
1015
+ documentNumber?: string | null | undefined;
1016
+ }[];
1017
+ suppression: {
1018
+ reason: string;
1019
+ note: string | null;
1020
+ until: string | null;
1021
+ setByName: string;
1022
+ setAt: string;
1023
+ } | null;
1024
+ location?: {
1025
+ address?: string | null | undefined;
1026
+ postcode?: string | null | undefined;
1027
+ latitude?: number | null | undefined;
1028
+ longitude?: number | null | undefined;
1029
+ county?: string | null | undefined;
1030
+ adminDistrict?: string | null | undefined;
1031
+ builtUpArea?: string | null | undefined;
1032
+ postTown?: string | null | undefined;
1033
+ areaCovered?: string | null | undefined;
1034
+ } | null | undefined;
1035
+ blacklistReason?: string | null | undefined;
1036
+ email?: string | null | undefined;
1037
+ lastName?: string | null | undefined;
1038
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
1039
+ 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;
1040
+ transportation?: {
1041
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
1042
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
1043
+ } | null | undefined;
1044
+ dateOfBirth?: string | null | undefined;
1045
+ bio?: string | null | undefined;
1046
+ nino?: string | null | undefined;
1047
+ offerNote?: string | null | undefined;
1048
+ phoneNumbers?: {
1049
+ id: string;
1050
+ updatedAt: string;
1051
+ createdAt: string;
1052
+ phoneNumber: string;
1053
+ isPrimary: boolean;
1054
+ description?: string | null | undefined;
1055
+ }[] | null | undefined;
1056
+ trades?: {
1057
+ id: string;
1058
+ updatedAt: string;
1059
+ createdAt: string;
1060
+ tradeId: string;
1061
+ mainTrade: boolean;
1062
+ }[] | null | undefined;
1063
+ qualifications?: {
1064
+ id: string;
1065
+ updatedAt: string;
1066
+ createdAt: string;
1067
+ qualificationId: string;
1068
+ qualificationTypeId: string | null;
1069
+ referenceNumber: string | null;
1070
+ proofDocumentFileId: string | null;
1071
+ issueDate?: string | null | undefined;
1072
+ expiryDate?: string | null | undefined;
1073
+ }[] | null | undefined;
1074
+ shareCode?: {
1075
+ code: string | null;
1076
+ expiryDate?: string | null | undefined;
1077
+ fileId?: string | null | undefined;
1078
+ } | null | undefined;
1079
+ liveStatus?: {
1080
+ 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;
1081
+ active?: {
1082
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
1083
+ } | null | undefined;
1084
+ bookingId?: string | null | undefined;
1085
+ activeId?: string | null | undefined;
1086
+ bookingAgent?: {
1087
+ id: string;
1088
+ lastName: string;
1089
+ firstName: string;
1090
+ } | null | undefined;
1091
+ } | undefined;
1092
+ offerOpennessSetAt?: string | null | undefined;
1093
+ offerNoteUpdatedAt?: string | null | undefined;
1094
+ occupancyStatus?: "ACTIVE" | "BOOKED" | null | undefined;
1095
+ distanceKm?: number | null | undefined;
1096
+ bookingHistory?: {
1097
+ workedTotal: number;
1098
+ workedByMe: number;
1099
+ noShowTotal: number;
1100
+ noShowByMe: number;
1101
+ } | undefined;
1102
+ offerSignalUpdatedById?: string | null | undefined;
1103
+ offerSignalUpdatedByName?: string | null | undefined;
1104
+ workingUntil?: string | null | undefined;
1105
+ };
1106
+ matches: {
1107
+ status: "NOT_INTERESTED" | "BOOKED" | "NEW" | "TOO_FAR" | "OFFER_SENT";
1108
+ statusUpdatedAt: string | null;
1109
+ jobId: string;
1110
+ subjectKind: "OWNED" | "CURATED";
1111
+ subjectId: string;
1112
+ distanceKm: number | null;
1113
+ driveMinutes: number | null;
1114
+ transitMinutes: number | null;
1115
+ }[];
1116
+ jobCards: {
1117
+ id: string;
1118
+ updatedAt: string;
1119
+ createdAt: string;
1120
+ description: string;
1121
+ pay: {
1122
+ rateUnit: "DAILY" | "HOURLY";
1123
+ isNegotiable: boolean;
1124
+ receivedRate?: number | null | undefined;
1125
+ rate?: number | null | undefined;
1126
+ rateMax?: number | null | undefined;
1127
+ };
1128
+ numberOfPositions: number;
1129
+ status: "AVAILABLE" | "NOT_AVAILABLE";
1130
+ tradeId: string;
1131
+ filledPositions: number;
1132
+ location?: {
1133
+ address?: string | null | undefined;
1134
+ postcode?: string | null | undefined;
1135
+ adminDistrict?: string | null | undefined;
1136
+ postTown?: string | null | undefined;
1137
+ } | null | undefined;
1138
+ workHours?: number | null | undefined;
1139
+ startDate?: string | null | undefined;
1140
+ jobQualifications?: {
1141
+ id: string;
1142
+ qualificationId: string;
1143
+ qualificationTypeId?: string | null | undefined;
1144
+ }[] | null | undefined;
1145
+ collaboration?: {
1146
+ id?: string | null | undefined;
1147
+ status?: string | null | undefined;
1148
+ client?: {
1149
+ id: string;
1150
+ name: string;
1151
+ } | null | undefined;
1152
+ company?: {
1153
+ id: string;
1154
+ name: string;
1155
+ } | null | undefined;
1156
+ userId?: string | null | undefined;
1157
+ user?: {
1158
+ id: string;
1159
+ lastName: string;
1160
+ firstName: string;
1161
+ phoneNumbers: {
1162
+ id: string;
1163
+ phoneNumber: string;
1164
+ isPrimary: boolean;
1165
+ description?: string | null | undefined;
1166
+ }[];
1167
+ deletedAt?: string | null | undefined;
1168
+ } | null | undefined;
1169
+ } | null | undefined;
1170
+ createdById?: string | null | undefined;
1171
+ createdBy?: {
1172
+ id: string;
1173
+ lastName: string;
1174
+ firstName: string;
1175
+ phoneNumbers: {
1176
+ id: string;
1177
+ phoneNumber: string;
1178
+ isPrimary: boolean;
1179
+ description?: string | null | undefined;
1180
+ }[];
1181
+ deletedAt?: string | null | undefined;
1182
+ } | null | undefined;
1183
+ creationSource?: "BOT" | "MANUAL" | null | undefined;
1184
+ distanceKm?: number | null | undefined;
1185
+ }[];
1186
+ }, {
1187
+ worker: {
1188
+ id: string;
1189
+ updatedAt: string | Date;
1190
+ createdAt: string | Date;
1191
+ firstName: string;
1192
+ hasTools: boolean | null;
1193
+ hasPpe: boolean | null;
1194
+ blacklisted: boolean;
1195
+ suppression: {
1196
+ reason: string;
1197
+ note: string | null;
1198
+ until: string | null;
1199
+ setByName: string;
1200
+ setAt: string;
1201
+ } | null;
1202
+ location?: {
1203
+ address?: string | null | undefined;
1204
+ postcode?: string | null | undefined;
1205
+ latitude?: number | null | undefined;
1206
+ longitude?: number | null | undefined;
1207
+ county?: string | null | undefined;
1208
+ adminDistrict?: string | null | undefined;
1209
+ builtUpArea?: string | null | undefined;
1210
+ postTown?: string | null | undefined;
1211
+ areaCovered?: string | null | undefined;
1212
+ } | null | undefined;
1213
+ blacklistReason?: string | null | undefined;
1214
+ email?: string | null | undefined;
1215
+ lastName?: string | null | undefined;
1216
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
1217
+ 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;
1218
+ transportation?: {
1219
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
1220
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
1221
+ } | null | undefined;
1222
+ dateOfBirth?: string | Date | null | undefined;
1223
+ bio?: string | null | undefined;
1224
+ nino?: string | null | undefined;
1225
+ offerOpenness?: "ACTIVELY_LOOKING" | "OPEN" | "NOT_INTERESTED" | undefined;
1226
+ offerNote?: string | null | undefined;
1227
+ phoneNumbers?: {
1228
+ id: string;
1229
+ updatedAt: string | Date;
1230
+ createdAt: string | Date;
1231
+ phoneNumber: string;
1232
+ description?: string | null | undefined;
1233
+ isPrimary?: boolean | undefined;
1234
+ }[] | null | undefined;
1235
+ trades?: {
1236
+ id: string;
1237
+ updatedAt: string | Date;
1238
+ createdAt: string | Date;
1239
+ tradeId: string;
1240
+ mainTrade: boolean;
1241
+ }[] | null | undefined;
1242
+ qualifications?: {
1243
+ id: string;
1244
+ updatedAt: string | Date;
1245
+ createdAt: string | Date;
1246
+ qualificationId: string;
1247
+ qualificationTypeId: string | null;
1248
+ referenceNumber: string | null;
1249
+ proofDocumentFileId: string | null;
1250
+ issueDate?: string | Date | null | undefined;
1251
+ expiryDate?: string | Date | null | undefined;
1252
+ }[] | null | undefined;
1253
+ idDocuments?: {
1254
+ id: string;
1255
+ updatedAt?: string | Date | undefined;
1256
+ createdAt?: string | Date | undefined;
1257
+ expiryDate?: string | Date | null | undefined;
1258
+ fileId?: string | null | undefined;
1259
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
1260
+ documentNumber?: string | null | undefined;
1261
+ }[] | undefined;
1262
+ shareCode?: {
1263
+ code: string | null;
1264
+ expiryDate?: string | Date | null | undefined;
1265
+ fileId?: string | null | undefined;
1266
+ } | null | undefined;
1267
+ liveStatus?: {
1268
+ 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;
1269
+ active?: {
1270
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
1271
+ } | null | undefined;
1272
+ bookingId?: string | null | undefined;
1273
+ activeId?: string | null | undefined;
1274
+ bookingAgent?: {
1275
+ id: string;
1276
+ lastName: string;
1277
+ firstName: string;
1278
+ } | null | undefined;
1279
+ } | undefined;
1280
+ offerOpennessSetAt?: string | Date | null | undefined;
1281
+ offerNoteUpdatedAt?: string | Date | null | undefined;
1282
+ occupancyStatus?: "ACTIVE" | "BOOKED" | null | undefined;
1283
+ distanceKm?: number | null | undefined;
1284
+ bookingHistory?: {
1285
+ workedTotal: number;
1286
+ workedByMe: number;
1287
+ noShowTotal: number;
1288
+ noShowByMe: number;
1289
+ } | undefined;
1290
+ offerSignalUpdatedById?: string | null | undefined;
1291
+ offerSignalUpdatedByName?: string | null | undefined;
1292
+ workingUntil?: string | Date | null | undefined;
1293
+ };
1294
+ matches: {
1295
+ status: "NOT_INTERESTED" | "BOOKED" | "NEW" | "TOO_FAR" | "OFFER_SENT";
1296
+ statusUpdatedAt: string | null;
1297
+ jobId: string;
1298
+ subjectKind: "OWNED" | "CURATED";
1299
+ subjectId: string;
1300
+ distanceKm: number | null;
1301
+ driveMinutes: number | null;
1302
+ transitMinutes: number | null;
1303
+ }[];
1304
+ jobCards: {
1305
+ id: string;
1306
+ updatedAt: string | Date;
1307
+ createdAt: string | Date;
1308
+ description: string;
1309
+ pay: {
1310
+ rateUnit: "DAILY" | "HOURLY";
1311
+ receivedRate?: number | null | undefined;
1312
+ rate?: number | null | undefined;
1313
+ isNegotiable?: boolean | undefined;
1314
+ rateMax?: number | null | undefined;
1315
+ };
1316
+ numberOfPositions: number;
1317
+ status: "AVAILABLE" | "NOT_AVAILABLE";
1318
+ tradeId: string;
1319
+ location?: {
1320
+ address?: string | null | undefined;
1321
+ postcode?: string | null | undefined;
1322
+ adminDistrict?: string | null | undefined;
1323
+ postTown?: string | null | undefined;
1324
+ } | null | undefined;
1325
+ workHours?: number | null | undefined;
1326
+ startDate?: string | null | undefined;
1327
+ jobQualifications?: {
1328
+ id: string;
1329
+ qualificationId: string;
1330
+ qualificationTypeId?: string | null | undefined;
1331
+ }[] | null | undefined;
1332
+ collaboration?: {
1333
+ id?: string | null | undefined;
1334
+ status?: string | null | undefined;
1335
+ client?: {
1336
+ id: string;
1337
+ name: string;
1338
+ } | null | undefined;
1339
+ company?: {
1340
+ id: string;
1341
+ name: string;
1342
+ } | null | undefined;
1343
+ userId?: string | null | undefined;
1344
+ user?: {
1345
+ id: string;
1346
+ lastName: string;
1347
+ firstName: string;
1348
+ phoneNumbers?: {
1349
+ id: string;
1350
+ phoneNumber: string;
1351
+ description?: string | null | undefined;
1352
+ isPrimary?: boolean | undefined;
1353
+ }[] | undefined;
1354
+ deletedAt?: string | Date | null | undefined;
1355
+ } | null | undefined;
1356
+ } | null | undefined;
1357
+ filledPositions?: number | undefined;
1358
+ createdById?: string | null | undefined;
1359
+ createdBy?: {
1360
+ id: string;
1361
+ lastName: string;
1362
+ firstName: string;
1363
+ phoneNumbers?: {
1364
+ id: string;
1365
+ phoneNumber: string;
1366
+ description?: string | null | undefined;
1367
+ isPrimary?: boolean | undefined;
1368
+ }[] | undefined;
1369
+ deletedAt?: string | Date | null | undefined;
1370
+ } | null | undefined;
1371
+ creationSource?: "BOT" | "MANUAL" | null | undefined;
1372
+ distanceKm?: number | null | 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
+ jobId: string;
1383
+ subjectKind: "OWNED" | "CURATED";
1384
+ subjectId: string;
1385
+ }, {
1386
+ jobId: string;
1387
+ subjectKind: "OWNED" | "CURATED";
1388
+ subjectId: string;
1389
+ }>, "many">;
1390
+ channel: z.ZodOptional<z.ZodEnum<["WHATSAPP", "PHONE"]>>;
1391
+ }, "strip", z.ZodTypeAny, {
1392
+ tuples: {
1393
+ jobId: string;
1394
+ subjectKind: "OWNED" | "CURATED";
1395
+ subjectId: string;
1396
+ }[];
1397
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1398
+ }, {
1399
+ tuples: {
1400
+ jobId: string;
1401
+ subjectKind: "OWNED" | "CURATED";
1402
+ subjectId: 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: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
1422
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1423
+ }, {
1424
+ jobId: string;
1425
+ outcome: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
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: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
1437
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1438
+ }, {
1439
+ jobId: string;
1440
+ outcome: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
1441
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1442
+ }>, "many">;
1443
+ }, "strict", z.ZodTypeAny, {
1444
+ items: {
1445
+ jobId: string;
1446
+ outcome: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
1447
+ channel?: "WHATSAPP" | "PHONE" | undefined;
1448
+ }[];
1449
+ }, {
1450
+ items: {
1451
+ jobId: string;
1452
+ outcome: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
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
+ 400: 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
+ message: string;
1484
+ path: string;
1485
+ code: string;
1486
+ statusCode: number;
1487
+ timestamp: string;
1488
+ details?: unknown;
1489
+ correlationId?: string | undefined;
1490
+ }, {
1491
+ message: string;
1492
+ path: string;
1493
+ code: string;
1494
+ statusCode: number;
1495
+ timestamp: string;
1496
+ details?: unknown;
1497
+ correlationId?: string | undefined;
1498
+ }>;
1499
+ 401: 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
+ message: string;
1509
+ path: string;
1510
+ code: string;
1511
+ statusCode: number;
1512
+ timestamp: string;
1513
+ details?: unknown;
1514
+ correlationId?: string | undefined;
1515
+ }, {
1516
+ message: string;
1517
+ path: string;
1518
+ code: string;
1519
+ statusCode: number;
1520
+ timestamp: string;
1521
+ details?: unknown;
1522
+ correlationId?: string | undefined;
1523
+ }>;
1524
+ 500: 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
+ message: string;
1534
+ path: string;
1535
+ code: string;
1536
+ statusCode: number;
1537
+ timestamp: string;
1538
+ details?: unknown;
1539
+ correlationId?: string | undefined;
1540
+ }, {
1541
+ message: string;
1542
+ path: string;
1543
+ code: 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
+ postcode: string | null;
1561
+ workerName: string;
1562
+ assignmentId: string;
1563
+ phoneNumber: string | null;
1564
+ assignedAt: string;
1565
+ curatedWorkerId: string;
1566
+ phoneId: string | null;
1567
+ matchingJobCount: number;
1568
+ nearestJobDistanceKm: number | null;
1569
+ }, {
1570
+ postcode: string | null;
1571
+ workerName: string;
1572
+ assignmentId: string;
1573
+ phoneNumber: string | null;
1574
+ assignedAt: string;
1575
+ curatedWorkerId: string;
1576
+ phoneId: string | null;
1577
+ matchingJobCount: number;
1578
+ nearestJobDistanceKm: number | null;
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
+ message: string;
1590
+ path: string;
1591
+ code: string;
1592
+ statusCode: number;
1593
+ timestamp: string;
1594
+ details?: unknown;
1595
+ correlationId?: string | undefined;
1596
+ }, {
1597
+ message: string;
1598
+ path: string;
1599
+ code: 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
+ 400: 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
+ message: string;
1625
+ path: string;
1626
+ code: string;
1627
+ statusCode: number;
1628
+ timestamp: string;
1629
+ details?: unknown;
1630
+ correlationId?: string | undefined;
1631
+ }, {
1632
+ message: string;
1633
+ path: string;
1634
+ code: string;
1635
+ statusCode: number;
1636
+ timestamp: string;
1637
+ details?: unknown;
1638
+ correlationId?: string | undefined;
1639
+ }>;
1640
+ 401: 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
+ message: string;
1650
+ path: string;
1651
+ code: string;
1652
+ statusCode: number;
1653
+ timestamp: string;
1654
+ details?: unknown;
1655
+ correlationId?: string | undefined;
1656
+ }, {
1657
+ message: string;
1658
+ path: string;
1659
+ code: string;
1660
+ statusCode: number;
1661
+ timestamp: string;
1662
+ details?: unknown;
1663
+ correlationId?: string | undefined;
1664
+ }>;
1665
+ 500: 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
+ message: string;
1675
+ path: string;
1676
+ code: string;
1677
+ statusCode: number;
1678
+ timestamp: string;
1679
+ details?: unknown;
1680
+ correlationId?: string | undefined;
1681
+ }, {
1682
+ message: string;
1683
+ path: string;
1684
+ code: 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
+ message: string;
1710
+ path: string;
1711
+ code: string;
1712
+ statusCode: number;
1713
+ timestamp: string;
1714
+ details?: unknown;
1715
+ correlationId?: string | undefined;
1716
+ }, {
1717
+ message: string;
1718
+ path: string;
1719
+ code: 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
+ 400: 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
+ message: string;
1753
+ path: string;
1754
+ code: string;
1755
+ statusCode: number;
1756
+ timestamp: string;
1757
+ details?: unknown;
1758
+ correlationId?: string | undefined;
1759
+ }, {
1760
+ message: string;
1761
+ path: string;
1762
+ code: string;
1763
+ statusCode: number;
1764
+ timestamp: string;
1765
+ details?: unknown;
1766
+ correlationId?: string | undefined;
1767
+ }>;
1768
+ 401: 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
+ message: string;
1778
+ path: string;
1779
+ code: string;
1780
+ statusCode: number;
1781
+ timestamp: string;
1782
+ details?: unknown;
1783
+ correlationId?: string | undefined;
1784
+ }, {
1785
+ message: string;
1786
+ path: string;
1787
+ code: string;
1788
+ statusCode: number;
1789
+ timestamp: string;
1790
+ details?: unknown;
1791
+ correlationId?: string | undefined;
1792
+ }>;
1793
+ 500: 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
+ message: string;
1803
+ path: string;
1804
+ code: string;
1805
+ statusCode: number;
1806
+ timestamp: string;
1807
+ details?: unknown;
1808
+ correlationId?: string | undefined;
1809
+ }, {
1810
+ message: string;
1811
+ path: string;
1812
+ code: 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
+ postcode: string | null;
1831
+ workerName: string;
1832
+ assignmentId: string;
1833
+ phoneNumber: string | null;
1834
+ assignedAt: string;
1835
+ curatedWorkerId: string;
1836
+ phoneId: string | null;
1837
+ matchingJobCount: number;
1838
+ nearestJobDistanceKm: number | null;
1839
+ }, {
1840
+ postcode: string | null;
1841
+ workerName: string;
1842
+ assignmentId: string;
1843
+ phoneNumber: string | null;
1844
+ assignedAt: string;
1845
+ curatedWorkerId: string;
1846
+ phoneId: string | null;
1847
+ matchingJobCount: number;
1848
+ nearestJobDistanceKm: number | null;
1849
+ }>>;
1850
+ }, "strip", z.ZodTypeAny, {
1851
+ next: {
1852
+ postcode: string | null;
1853
+ workerName: string;
1854
+ assignmentId: string;
1855
+ phoneNumber: string | null;
1856
+ assignedAt: string;
1857
+ curatedWorkerId: string;
1858
+ phoneId: string | null;
1859
+ matchingJobCount: number;
1860
+ nearestJobDistanceKm: number | null;
1861
+ } | null;
1862
+ }, {
1863
+ next: {
1864
+ postcode: string | null;
1865
+ workerName: string;
1866
+ assignmentId: string;
1867
+ phoneNumber: string | null;
1868
+ assignedAt: string;
1869
+ curatedWorkerId: string;
1870
+ phoneId: string | null;
1871
+ matchingJobCount: number;
1872
+ nearestJobDistanceKm: number | null;
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
+ message: string;
1885
+ path: string;
1886
+ code: string;
1887
+ statusCode: number;
1888
+ timestamp: string;
1889
+ details?: unknown;
1890
+ correlationId?: string | undefined;
1891
+ }, {
1892
+ message: string;
1893
+ path: string;
1894
+ code: 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
+ message: string;
1910
+ path: string;
1911
+ code: string;
1912
+ statusCode: number;
1913
+ timestamp: string;
1914
+ details?: unknown;
1915
+ correlationId?: string | undefined;
1916
+ }, {
1917
+ message: string;
1918
+ path: string;
1919
+ code: 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: "NO_ANSWER" | "NOT_INTERESTED" | "ALREADY_WORKING" | "OUT_OF_COUNTRY" | "WRONG_NUMBER" | "OTHER";
1945
+ doNotContactDays: number;
1946
+ }, {
1947
+ reason: "NO_ANSWER" | "NOT_INTERESTED" | "ALREADY_WORKING" | "OUT_OF_COUNTRY" | "WRONG_NUMBER" | "OTHER";
1948
+ doNotContactDays: number;
1949
+ }>;
1950
+ path: "/v2/curated-worker-leads/consent-queue/:id/decline";
1951
+ responses: {
1952
+ 400: 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
+ message: string;
1962
+ path: string;
1963
+ code: string;
1964
+ statusCode: number;
1965
+ timestamp: string;
1966
+ details?: unknown;
1967
+ correlationId?: string | undefined;
1968
+ }, {
1969
+ message: string;
1970
+ path: string;
1971
+ code: string;
1972
+ statusCode: number;
1973
+ timestamp: string;
1974
+ details?: unknown;
1975
+ correlationId?: string | undefined;
1976
+ }>;
1977
+ 401: 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
+ message: string;
1987
+ path: string;
1988
+ code: string;
1989
+ statusCode: number;
1990
+ timestamp: string;
1991
+ details?: unknown;
1992
+ correlationId?: string | undefined;
1993
+ }, {
1994
+ message: string;
1995
+ path: string;
1996
+ code: string;
1997
+ statusCode: number;
1998
+ timestamp: string;
1999
+ details?: unknown;
2000
+ correlationId?: string | undefined;
2001
+ }>;
2002
+ 500: 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
+ message: string;
2012
+ path: string;
2013
+ code: string;
2014
+ statusCode: number;
2015
+ timestamp: string;
2016
+ details?: unknown;
2017
+ correlationId?: string | undefined;
2018
+ }, {
2019
+ message: string;
2020
+ path: string;
2021
+ code: 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
+ postcode: string | null;
2040
+ workerName: string;
2041
+ assignmentId: string;
2042
+ phoneNumber: string | null;
2043
+ assignedAt: string;
2044
+ curatedWorkerId: string;
2045
+ phoneId: string | null;
2046
+ matchingJobCount: number;
2047
+ nearestJobDistanceKm: number | null;
2048
+ }, {
2049
+ postcode: string | null;
2050
+ workerName: string;
2051
+ assignmentId: string;
2052
+ phoneNumber: string | null;
2053
+ assignedAt: string;
2054
+ curatedWorkerId: string;
2055
+ phoneId: string | null;
2056
+ matchingJobCount: number;
2057
+ nearestJobDistanceKm: number | null;
2058
+ }>>;
2059
+ }, "strip", z.ZodTypeAny, {
2060
+ next: {
2061
+ postcode: string | null;
2062
+ workerName: string;
2063
+ assignmentId: string;
2064
+ phoneNumber: string | null;
2065
+ assignedAt: string;
2066
+ curatedWorkerId: string;
2067
+ phoneId: string | null;
2068
+ matchingJobCount: number;
2069
+ nearestJobDistanceKm: number | null;
2070
+ } | null;
2071
+ }, {
2072
+ next: {
2073
+ postcode: string | null;
2074
+ workerName: string;
2075
+ assignmentId: string;
2076
+ phoneNumber: string | null;
2077
+ assignedAt: string;
2078
+ curatedWorkerId: string;
2079
+ phoneId: string | null;
2080
+ matchingJobCount: number;
2081
+ nearestJobDistanceKm: number | null;
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
+ message: string;
2094
+ path: string;
2095
+ code: string;
2096
+ statusCode: number;
2097
+ timestamp: string;
2098
+ details?: unknown;
2099
+ correlationId?: string | undefined;
2100
+ }, {
2101
+ message: string;
2102
+ path: string;
2103
+ code: 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
+ message: string;
2119
+ path: string;
2120
+ code: string;
2121
+ statusCode: number;
2122
+ timestamp: string;
2123
+ details?: unknown;
2124
+ correlationId?: string | undefined;
2125
+ }, {
2126
+ message: string;
2127
+ path: string;
2128
+ code: 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
+ 400: 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
+ message: string;
2171
+ path: string;
2172
+ code: string;
2173
+ statusCode: number;
2174
+ timestamp: string;
2175
+ details?: unknown;
2176
+ correlationId?: string | undefined;
2177
+ }, {
2178
+ message: string;
2179
+ path: string;
2180
+ code: string;
2181
+ statusCode: number;
2182
+ timestamp: string;
2183
+ details?: unknown;
2184
+ correlationId?: string | undefined;
2185
+ }>;
2186
+ 401: 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
+ message: string;
2196
+ path: string;
2197
+ code: string;
2198
+ statusCode: number;
2199
+ timestamp: string;
2200
+ details?: unknown;
2201
+ correlationId?: string | undefined;
2202
+ }, {
2203
+ message: string;
2204
+ path: string;
2205
+ code: string;
2206
+ statusCode: number;
2207
+ timestamp: string;
2208
+ details?: unknown;
2209
+ correlationId?: string | undefined;
2210
+ }>;
2211
+ 500: 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
+ message: string;
2221
+ path: string;
2222
+ code: string;
2223
+ statusCode: number;
2224
+ timestamp: string;
2225
+ details?: unknown;
2226
+ correlationId?: string | undefined;
2227
+ }, {
2228
+ message: string;
2229
+ path: string;
2230
+ code: 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
+ postcode: string | null;
2249
+ workerName: string;
2250
+ assignmentId: string;
2251
+ phoneNumber: string | null;
2252
+ assignedAt: string;
2253
+ curatedWorkerId: string;
2254
+ phoneId: string | null;
2255
+ matchingJobCount: number;
2256
+ nearestJobDistanceKm: number | null;
2257
+ }, {
2258
+ postcode: string | null;
2259
+ workerName: string;
2260
+ assignmentId: string;
2261
+ phoneNumber: string | null;
2262
+ assignedAt: string;
2263
+ curatedWorkerId: string;
2264
+ phoneId: string | null;
2265
+ matchingJobCount: number;
2266
+ nearestJobDistanceKm: number | null;
2267
+ }>>;
2268
+ }, "strip", z.ZodTypeAny, {
2269
+ next: {
2270
+ postcode: string | null;
2271
+ workerName: string;
2272
+ assignmentId: string;
2273
+ phoneNumber: string | null;
2274
+ assignedAt: string;
2275
+ curatedWorkerId: string;
2276
+ phoneId: string | null;
2277
+ matchingJobCount: number;
2278
+ nearestJobDistanceKm: number | null;
2279
+ } | null;
2280
+ }, {
2281
+ next: {
2282
+ postcode: string | null;
2283
+ workerName: string;
2284
+ assignmentId: string;
2285
+ phoneNumber: string | null;
2286
+ assignedAt: string;
2287
+ curatedWorkerId: string;
2288
+ phoneId: string | null;
2289
+ matchingJobCount: number;
2290
+ nearestJobDistanceKm: number | null;
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
+ message: string;
2303
+ path: string;
2304
+ code: string;
2305
+ statusCode: number;
2306
+ timestamp: string;
2307
+ details?: unknown;
2308
+ correlationId?: string | undefined;
2309
+ }, {
2310
+ message: string;
2311
+ path: string;
2312
+ code: 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
+ message: string;
2328
+ path: string;
2329
+ code: string;
2330
+ statusCode: number;
2331
+ timestamp: string;
2332
+ details?: unknown;
2333
+ correlationId?: string | undefined;
2334
+ }, {
2335
+ message: string;
2336
+ path: string;
2337
+ code: 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
+ 400: 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
+ message: string;
2370
+ path: string;
2371
+ code: string;
2372
+ statusCode: number;
2373
+ timestamp: string;
2374
+ details?: unknown;
2375
+ correlationId?: string | undefined;
2376
+ }, {
2377
+ message: string;
2378
+ path: string;
2379
+ code: string;
2380
+ statusCode: number;
2381
+ timestamp: string;
2382
+ details?: unknown;
2383
+ correlationId?: string | undefined;
2384
+ }>;
2385
+ 401: 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
+ message: string;
2395
+ path: string;
2396
+ code: string;
2397
+ statusCode: number;
2398
+ timestamp: string;
2399
+ details?: unknown;
2400
+ correlationId?: string | undefined;
2401
+ }, {
2402
+ message: string;
2403
+ path: string;
2404
+ code: string;
2405
+ statusCode: number;
2406
+ timestamp: string;
2407
+ details?: unknown;
2408
+ correlationId?: string | undefined;
2409
+ }>;
2410
+ 500: 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
+ message: string;
2420
+ path: string;
2421
+ code: string;
2422
+ statusCode: number;
2423
+ timestamp: string;
2424
+ details?: unknown;
2425
+ correlationId?: string | undefined;
2426
+ }, {
2427
+ message: string;
2428
+ path: string;
2429
+ code: 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
+ latitude?: number | null | undefined;
2494
+ longitude?: number | null | undefined;
2495
+ county?: string | null | undefined;
2496
+ adminDistrict?: string | null | undefined;
2497
+ builtUpArea?: string | null | undefined;
2498
+ postTown?: string | null | undefined;
2499
+ areaCovered?: string | null | undefined;
2500
+ }, {
2501
+ address?: string | null | undefined;
2502
+ postcode?: string | null | undefined;
2503
+ latitude?: number | null | undefined;
2504
+ longitude?: number | null | undefined;
2505
+ county?: string | null | undefined;
2506
+ adminDistrict?: string | null | undefined;
2507
+ builtUpArea?: string | null | undefined;
2508
+ postTown?: string | null | undefined;
2509
+ areaCovered?: string | 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: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2537
+ }, {
2538
+ status: "ACTIVE" | "PENDING" | "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
+ lastName: string;
2548
+ firstName: string;
2549
+ }, {
2550
+ id: string;
2551
+ lastName: string;
2552
+ firstName: string;
2553
+ }>>>;
2554
+ }, "strip", z.ZodTypeAny, {
2555
+ 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;
2556
+ active?: {
2557
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2558
+ } | null | undefined;
2559
+ bookingId?: string | null | undefined;
2560
+ activeId?: string | null | undefined;
2561
+ bookingAgent?: {
2562
+ id: string;
2563
+ lastName: string;
2564
+ firstName: string;
2565
+ } | null | undefined;
2566
+ }, {
2567
+ 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;
2568
+ active?: {
2569
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2570
+ } | null | undefined;
2571
+ bookingId?: string | null | undefined;
2572
+ activeId?: string | null | undefined;
2573
+ bookingAgent?: {
2574
+ id: string;
2575
+ lastName: string;
2576
+ firstName: 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
+ note: string | null;
2595
+ until: string | null;
2596
+ setByName: string;
2597
+ setAt: string;
2598
+ }, {
2599
+ reason: string;
2600
+ note: string | null;
2601
+ until: 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
+ updatedAt: string;
2614
+ createdAt: string;
2615
+ tradeId: string;
2616
+ mainTrade: boolean;
2617
+ }, {
2618
+ id: string;
2619
+ updatedAt: string | Date;
2620
+ createdAt: 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
+ updatedAt: string;
2637
+ createdAt: string;
2638
+ qualificationId: string;
2639
+ qualificationTypeId: string | null;
2640
+ referenceNumber: string | null;
2641
+ proofDocumentFileId: string | null;
2642
+ issueDate?: string | null | undefined;
2643
+ expiryDate?: string | null | undefined;
2644
+ }, {
2645
+ id: string;
2646
+ updatedAt: string | Date;
2647
+ createdAt: string | Date;
2648
+ qualificationId: string;
2649
+ qualificationTypeId: string | null;
2650
+ referenceNumber: string | null;
2651
+ proofDocumentFileId: string | null;
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
+ updatedAt: string;
2666
+ createdAt: string;
2667
+ phoneNumber: string;
2668
+ isPrimary: boolean;
2669
+ description?: string | null | undefined;
2670
+ }, {
2671
+ id: string;
2672
+ updatedAt: string | Date;
2673
+ createdAt: string | Date;
2674
+ phoneNumber: string;
2675
+ description?: string | null | undefined;
2676
+ isPrimary?: boolean | 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
+ updatedAt?: string | undefined;
2689
+ createdAt?: string | undefined;
2690
+ expiryDate?: string | null | 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
+ updatedAt?: string | Date | undefined;
2697
+ createdAt?: string | Date | undefined;
2698
+ expiryDate?: string | Date | null | 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
+ updatedAt: string;
2706
+ createdAt: string;
2707
+ firstName: string;
2708
+ hasTools: boolean | null;
2709
+ hasPpe: boolean | null;
2710
+ blacklisted: boolean;
2711
+ offerOpenness: "ACTIVELY_LOOKING" | "OPEN" | "NOT_INTERESTED";
2712
+ idDocuments: {
2713
+ id: string;
2714
+ updatedAt?: string | undefined;
2715
+ createdAt?: string | undefined;
2716
+ expiryDate?: string | null | undefined;
2717
+ fileId?: string | null | undefined;
2718
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
2719
+ documentNumber?: string | null | undefined;
2720
+ }[];
2721
+ suppression: {
2722
+ reason: string;
2723
+ note: string | null;
2724
+ until: string | null;
2725
+ setByName: string;
2726
+ setAt: string;
2727
+ } | null;
2728
+ location?: {
2729
+ address?: string | null | undefined;
2730
+ postcode?: string | null | undefined;
2731
+ latitude?: number | null | undefined;
2732
+ longitude?: number | null | undefined;
2733
+ county?: string | null | undefined;
2734
+ adminDistrict?: string | null | undefined;
2735
+ builtUpArea?: string | null | undefined;
2736
+ postTown?: string | null | undefined;
2737
+ areaCovered?: string | null | undefined;
2738
+ } | null | undefined;
2739
+ blacklistReason?: string | null | undefined;
2740
+ email?: string | null | undefined;
2741
+ lastName?: string | null | undefined;
2742
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
2743
+ 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;
2744
+ transportation?: {
2745
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
2746
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
2747
+ } | null | undefined;
2748
+ dateOfBirth?: string | null | undefined;
2749
+ bio?: string | null | undefined;
2750
+ nino?: string | null | undefined;
2751
+ offerNote?: string | null | undefined;
2752
+ phoneNumbers?: {
2753
+ id: string;
2754
+ updatedAt: string;
2755
+ createdAt: string;
2756
+ phoneNumber: string;
2757
+ isPrimary: boolean;
2758
+ description?: string | null | undefined;
2759
+ }[] | null | undefined;
2760
+ trades?: {
2761
+ id: string;
2762
+ updatedAt: string;
2763
+ createdAt: string;
2764
+ tradeId: string;
2765
+ mainTrade: boolean;
2766
+ }[] | null | undefined;
2767
+ qualifications?: {
2768
+ id: string;
2769
+ updatedAt: string;
2770
+ createdAt: string;
2771
+ qualificationId: string;
2772
+ qualificationTypeId: string | null;
2773
+ referenceNumber: string | null;
2774
+ proofDocumentFileId: string | null;
2775
+ issueDate?: string | null | undefined;
2776
+ expiryDate?: string | null | undefined;
2777
+ }[] | null | undefined;
2778
+ shareCode?: {
2779
+ code: string | null;
2780
+ expiryDate?: string | null | undefined;
2781
+ fileId?: string | null | undefined;
2782
+ } | null | undefined;
2783
+ liveStatus?: {
2784
+ 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;
2785
+ active?: {
2786
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2787
+ } | null | undefined;
2788
+ bookingId?: string | null | undefined;
2789
+ activeId?: string | null | undefined;
2790
+ bookingAgent?: {
2791
+ id: string;
2792
+ lastName: string;
2793
+ firstName: string;
2794
+ } | null | undefined;
2795
+ } | undefined;
2796
+ offerOpennessSetAt?: string | null | undefined;
2797
+ offerNoteUpdatedAt?: string | null | undefined;
2798
+ occupancyStatus?: "ACTIVE" | "BOOKED" | null | undefined;
2799
+ distanceKm?: number | null | undefined;
2800
+ bookingHistory?: {
2801
+ workedTotal: number;
2802
+ workedByMe: number;
2803
+ noShowTotal: number;
2804
+ noShowByMe: number;
2805
+ } | undefined;
2806
+ offerSignalUpdatedById?: string | null | undefined;
2807
+ offerSignalUpdatedByName?: string | null | undefined;
2808
+ workingUntil?: string | null | undefined;
2809
+ }, {
2810
+ id: string;
2811
+ updatedAt: string | Date;
2812
+ createdAt: string | Date;
2813
+ firstName: string;
2814
+ hasTools: boolean | null;
2815
+ hasPpe: boolean | null;
2816
+ blacklisted: boolean;
2817
+ suppression: {
2818
+ reason: string;
2819
+ note: string | null;
2820
+ until: string | null;
2821
+ setByName: string;
2822
+ setAt: string;
2823
+ } | null;
2824
+ location?: {
2825
+ address?: string | null | undefined;
2826
+ postcode?: string | null | undefined;
2827
+ latitude?: number | null | undefined;
2828
+ longitude?: number | null | undefined;
2829
+ county?: string | null | undefined;
2830
+ adminDistrict?: string | null | undefined;
2831
+ builtUpArea?: string | null | undefined;
2832
+ postTown?: string | null | undefined;
2833
+ areaCovered?: string | null | undefined;
2834
+ } | null | undefined;
2835
+ blacklistReason?: string | null | undefined;
2836
+ email?: string | null | undefined;
2837
+ lastName?: string | null | undefined;
2838
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
2839
+ 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;
2840
+ transportation?: {
2841
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
2842
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
2843
+ } | null | undefined;
2844
+ dateOfBirth?: string | Date | null | undefined;
2845
+ bio?: string | null | undefined;
2846
+ nino?: string | null | undefined;
2847
+ offerOpenness?: "ACTIVELY_LOOKING" | "OPEN" | "NOT_INTERESTED" | undefined;
2848
+ offerNote?: string | null | undefined;
2849
+ phoneNumbers?: {
2850
+ id: string;
2851
+ updatedAt: string | Date;
2852
+ createdAt: string | Date;
2853
+ phoneNumber: string;
2854
+ description?: string | null | undefined;
2855
+ isPrimary?: boolean | undefined;
2856
+ }[] | null | undefined;
2857
+ trades?: {
2858
+ id: string;
2859
+ updatedAt: string | Date;
2860
+ createdAt: string | Date;
2861
+ tradeId: string;
2862
+ mainTrade: boolean;
2863
+ }[] | null | undefined;
2864
+ qualifications?: {
2865
+ id: string;
2866
+ updatedAt: string | Date;
2867
+ createdAt: string | Date;
2868
+ qualificationId: string;
2869
+ qualificationTypeId: string | null;
2870
+ referenceNumber: string | null;
2871
+ proofDocumentFileId: string | null;
2872
+ issueDate?: string | Date | null | undefined;
2873
+ expiryDate?: string | Date | null | undefined;
2874
+ }[] | null | undefined;
2875
+ idDocuments?: {
2876
+ id: string;
2877
+ updatedAt?: string | Date | undefined;
2878
+ createdAt?: string | Date | undefined;
2879
+ expiryDate?: string | Date | null | undefined;
2880
+ fileId?: string | null | undefined;
2881
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
2882
+ documentNumber?: string | null | undefined;
2883
+ }[] | undefined;
2884
+ shareCode?: {
2885
+ code: string | null;
2886
+ expiryDate?: string | Date | null | undefined;
2887
+ fileId?: string | null | undefined;
2888
+ } | null | undefined;
2889
+ liveStatus?: {
2890
+ 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;
2891
+ active?: {
2892
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
2893
+ } | null | undefined;
2894
+ bookingId?: string | null | undefined;
2895
+ activeId?: string | null | undefined;
2896
+ bookingAgent?: {
2897
+ id: string;
2898
+ lastName: string;
2899
+ firstName: string;
2900
+ } | null | undefined;
2901
+ } | undefined;
2902
+ offerOpennessSetAt?: string | Date | null | undefined;
2903
+ offerNoteUpdatedAt?: string | Date | null | undefined;
2904
+ occupancyStatus?: "ACTIVE" | "BOOKED" | null | undefined;
2905
+ distanceKm?: number | null | undefined;
2906
+ bookingHistory?: {
2907
+ workedTotal: number;
2908
+ workedByMe: number;
2909
+ noShowTotal: number;
2910
+ noShowByMe: number;
2911
+ } | undefined;
2912
+ offerSignalUpdatedById?: string | null | undefined;
2913
+ offerSignalUpdatedByName?: string | null | undefined;
2914
+ workingUntil?: string | Date | null | 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
+ status: "NOT_INTERESTED" | "BOOKED" | "NEW" | "TOO_FAR" | "OFFER_SENT";
2927
+ statusUpdatedAt: string | null;
2928
+ jobId: string;
2929
+ subjectKind: "OWNED" | "CURATED";
2930
+ subjectId: string;
2931
+ distanceKm: number | null;
2932
+ driveMinutes: number | null;
2933
+ transitMinutes: number | null;
2934
+ }, {
2935
+ status: "NOT_INTERESTED" | "BOOKED" | "NEW" | "TOO_FAR" | "OFFER_SENT";
2936
+ statusUpdatedAt: string | null;
2937
+ jobId: string;
2938
+ subjectKind: "OWNED" | "CURATED";
2939
+ subjectId: string;
2940
+ distanceKm: number | null;
2941
+ driveMinutes: number | null;
2942
+ transitMinutes: number | 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
+ receivedRate?: number | null | undefined;
2960
+ rate?: number | null | undefined;
2961
+ rateMax?: number | null | undefined;
2962
+ }, {
2963
+ rateUnit: "DAILY" | "HOURLY";
2964
+ receivedRate?: number | null | undefined;
2965
+ rate?: number | null | undefined;
2966
+ isNegotiable?: boolean | undefined;
2967
+ rateMax?: 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
+ description?: string | null | undefined;
3041
+ isPrimary?: boolean | 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
+ lastName: string;
3047
+ firstName: 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
+ lastName: string;
3058
+ firstName: string;
3059
+ phoneNumbers?: {
3060
+ id: string;
3061
+ phoneNumber: string;
3062
+ description?: string | null | undefined;
3063
+ isPrimary?: boolean | undefined;
3064
+ }[] | undefined;
3065
+ deletedAt?: string | Date | null | undefined;
3066
+ }>>>;
3067
+ }, "strip", z.ZodTypeAny, {
3068
+ id?: string | null | undefined;
3069
+ status?: string | null | undefined;
3070
+ client?: {
3071
+ id: string;
3072
+ name: string;
3073
+ } | null | undefined;
3074
+ company?: {
3075
+ id: string;
3076
+ name: string;
3077
+ } | null | undefined;
3078
+ userId?: string | null | undefined;
3079
+ user?: {
3080
+ id: string;
3081
+ lastName: string;
3082
+ firstName: 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
+ id?: string | null | undefined;
3093
+ status?: string | null | undefined;
3094
+ client?: {
3095
+ id: string;
3096
+ name: string;
3097
+ } | null | undefined;
3098
+ company?: {
3099
+ id: string;
3100
+ name: string;
3101
+ } | null | undefined;
3102
+ userId?: string | null | undefined;
3103
+ user?: {
3104
+ id: string;
3105
+ lastName: string;
3106
+ firstName: string;
3107
+ phoneNumbers?: {
3108
+ id: string;
3109
+ phoneNumber: string;
3110
+ description?: string | null | undefined;
3111
+ isPrimary?: boolean | 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
+ description?: string | null | undefined;
3137
+ isPrimary?: boolean | 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
+ lastName: string;
3143
+ firstName: 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
+ lastName: string;
3154
+ firstName: string;
3155
+ phoneNumbers?: {
3156
+ id: string;
3157
+ phoneNumber: string;
3158
+ description?: string | null | undefined;
3159
+ isPrimary?: boolean | 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
+ id: string;
3169
+ updatedAt: string;
3170
+ createdAt: string;
3171
+ description: string;
3172
+ pay: {
3173
+ rateUnit: "DAILY" | "HOURLY";
3174
+ isNegotiable: boolean;
3175
+ receivedRate?: number | null | undefined;
3176
+ rate?: number | null | undefined;
3177
+ rateMax?: number | null | undefined;
3178
+ };
3179
+ numberOfPositions: number;
3180
+ status: "AVAILABLE" | "NOT_AVAILABLE";
3181
+ tradeId: string;
3182
+ filledPositions: number;
3183
+ location?: {
3184
+ address?: string | null | undefined;
3185
+ postcode?: string | null | undefined;
3186
+ adminDistrict?: string | null | undefined;
3187
+ postTown?: string | null | undefined;
3188
+ } | null | undefined;
3189
+ workHours?: number | null | undefined;
3190
+ startDate?: string | null | undefined;
3191
+ jobQualifications?: {
3192
+ id: string;
3193
+ qualificationId: string;
3194
+ qualificationTypeId?: string | null | undefined;
3195
+ }[] | null | undefined;
3196
+ collaboration?: {
3197
+ id?: string | null | undefined;
3198
+ status?: string | null | undefined;
3199
+ client?: {
3200
+ id: string;
3201
+ name: string;
3202
+ } | null | undefined;
3203
+ company?: {
3204
+ id: string;
3205
+ name: string;
3206
+ } | null | undefined;
3207
+ userId?: string | null | undefined;
3208
+ user?: {
3209
+ id: string;
3210
+ lastName: string;
3211
+ firstName: string;
3212
+ phoneNumbers: {
3213
+ id: string;
3214
+ phoneNumber: string;
3215
+ isPrimary: boolean;
3216
+ description?: string | null | undefined;
3217
+ }[];
3218
+ deletedAt?: string | null | undefined;
3219
+ } | null | undefined;
3220
+ } | null | undefined;
3221
+ createdById?: string | null | undefined;
3222
+ createdBy?: {
3223
+ id: string;
3224
+ lastName: string;
3225
+ firstName: string;
3226
+ phoneNumbers: {
3227
+ id: string;
3228
+ phoneNumber: string;
3229
+ isPrimary: boolean;
3230
+ description?: string | null | undefined;
3231
+ }[];
3232
+ deletedAt?: string | null | undefined;
3233
+ } | null | undefined;
3234
+ creationSource?: "BOT" | "MANUAL" | null | undefined;
3235
+ distanceKm?: number | null | undefined;
3236
+ }, {
3237
+ id: string;
3238
+ updatedAt: string | Date;
3239
+ createdAt: string | Date;
3240
+ description: string;
3241
+ pay: {
3242
+ rateUnit: "DAILY" | "HOURLY";
3243
+ receivedRate?: number | null | undefined;
3244
+ rate?: number | null | undefined;
3245
+ isNegotiable?: boolean | undefined;
3246
+ rateMax?: number | null | undefined;
3247
+ };
3248
+ numberOfPositions: number;
3249
+ status: "AVAILABLE" | "NOT_AVAILABLE";
3250
+ tradeId: string;
3251
+ location?: {
3252
+ address?: string | null | undefined;
3253
+ postcode?: string | null | undefined;
3254
+ adminDistrict?: string | null | undefined;
3255
+ postTown?: string | null | undefined;
3256
+ } | null | undefined;
3257
+ workHours?: number | null | undefined;
3258
+ startDate?: string | null | undefined;
3259
+ jobQualifications?: {
3260
+ id: string;
3261
+ qualificationId: string;
3262
+ qualificationTypeId?: string | null | undefined;
3263
+ }[] | null | undefined;
3264
+ collaboration?: {
3265
+ id?: string | null | undefined;
3266
+ status?: string | null | undefined;
3267
+ client?: {
3268
+ id: string;
3269
+ name: string;
3270
+ } | null | undefined;
3271
+ company?: {
3272
+ id: string;
3273
+ name: string;
3274
+ } | null | undefined;
3275
+ userId?: string | null | undefined;
3276
+ user?: {
3277
+ id: string;
3278
+ lastName: string;
3279
+ firstName: string;
3280
+ phoneNumbers?: {
3281
+ id: string;
3282
+ phoneNumber: string;
3283
+ description?: string | null | undefined;
3284
+ isPrimary?: boolean | undefined;
3285
+ }[] | undefined;
3286
+ deletedAt?: string | Date | null | undefined;
3287
+ } | null | undefined;
3288
+ } | null | undefined;
3289
+ filledPositions?: number | undefined;
3290
+ createdById?: string | null | undefined;
3291
+ createdBy?: {
3292
+ id: string;
3293
+ lastName: string;
3294
+ firstName: string;
3295
+ phoneNumbers?: {
3296
+ id: string;
3297
+ phoneNumber: string;
3298
+ description?: string | null | undefined;
3299
+ isPrimary?: boolean | undefined;
3300
+ }[] | undefined;
3301
+ deletedAt?: string | Date | null | undefined;
3302
+ } | null | undefined;
3303
+ creationSource?: "BOT" | "MANUAL" | null | undefined;
3304
+ distanceKm?: number | null | undefined;
3305
+ }>, "many">;
3306
+ }, "strip", z.ZodTypeAny, {
3307
+ worker: {
3308
+ id: string;
3309
+ updatedAt: string;
3310
+ createdAt: string;
3311
+ firstName: string;
3312
+ hasTools: boolean | null;
3313
+ hasPpe: boolean | null;
3314
+ blacklisted: boolean;
3315
+ offerOpenness: "ACTIVELY_LOOKING" | "OPEN" | "NOT_INTERESTED";
3316
+ idDocuments: {
3317
+ id: string;
3318
+ updatedAt?: string | undefined;
3319
+ createdAt?: string | undefined;
3320
+ expiryDate?: string | null | undefined;
3321
+ fileId?: string | null | undefined;
3322
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
3323
+ documentNumber?: string | null | undefined;
3324
+ }[];
3325
+ suppression: {
3326
+ reason: string;
3327
+ note: string | null;
3328
+ until: string | null;
3329
+ setByName: string;
3330
+ setAt: string;
3331
+ } | null;
3332
+ location?: {
3333
+ address?: string | null | undefined;
3334
+ postcode?: string | null | undefined;
3335
+ latitude?: number | null | undefined;
3336
+ longitude?: number | null | undefined;
3337
+ county?: string | null | undefined;
3338
+ adminDistrict?: string | null | undefined;
3339
+ builtUpArea?: string | null | undefined;
3340
+ postTown?: string | null | undefined;
3341
+ areaCovered?: string | null | undefined;
3342
+ } | null | undefined;
3343
+ blacklistReason?: string | null | undefined;
3344
+ email?: string | null | undefined;
3345
+ lastName?: string | null | undefined;
3346
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
3347
+ 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;
3348
+ transportation?: {
3349
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
3350
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
3351
+ } | null | undefined;
3352
+ dateOfBirth?: string | null | undefined;
3353
+ bio?: string | null | undefined;
3354
+ nino?: string | null | undefined;
3355
+ offerNote?: string | null | undefined;
3356
+ phoneNumbers?: {
3357
+ id: string;
3358
+ updatedAt: string;
3359
+ createdAt: string;
3360
+ phoneNumber: string;
3361
+ isPrimary: boolean;
3362
+ description?: string | null | undefined;
3363
+ }[] | null | undefined;
3364
+ trades?: {
3365
+ id: string;
3366
+ updatedAt: string;
3367
+ createdAt: string;
3368
+ tradeId: string;
3369
+ mainTrade: boolean;
3370
+ }[] | null | undefined;
3371
+ qualifications?: {
3372
+ id: string;
3373
+ updatedAt: string;
3374
+ createdAt: string;
3375
+ qualificationId: string;
3376
+ qualificationTypeId: string | null;
3377
+ referenceNumber: string | null;
3378
+ proofDocumentFileId: string | null;
3379
+ issueDate?: string | null | undefined;
3380
+ expiryDate?: string | null | undefined;
3381
+ }[] | null | undefined;
3382
+ shareCode?: {
3383
+ code: string | null;
3384
+ expiryDate?: string | null | undefined;
3385
+ fileId?: string | null | undefined;
3386
+ } | null | undefined;
3387
+ liveStatus?: {
3388
+ 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;
3389
+ active?: {
3390
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
3391
+ } | null | undefined;
3392
+ bookingId?: string | null | undefined;
3393
+ activeId?: string | null | undefined;
3394
+ bookingAgent?: {
3395
+ id: string;
3396
+ lastName: string;
3397
+ firstName: string;
3398
+ } | null | undefined;
3399
+ } | undefined;
3400
+ offerOpennessSetAt?: string | null | undefined;
3401
+ offerNoteUpdatedAt?: string | null | undefined;
3402
+ occupancyStatus?: "ACTIVE" | "BOOKED" | null | undefined;
3403
+ distanceKm?: number | null | undefined;
3404
+ bookingHistory?: {
3405
+ workedTotal: number;
3406
+ workedByMe: number;
3407
+ noShowTotal: number;
3408
+ noShowByMe: number;
3409
+ } | undefined;
3410
+ offerSignalUpdatedById?: string | null | undefined;
3411
+ offerSignalUpdatedByName?: string | null | undefined;
3412
+ workingUntil?: string | null | undefined;
3413
+ };
3414
+ matches: {
3415
+ status: "NOT_INTERESTED" | "BOOKED" | "NEW" | "TOO_FAR" | "OFFER_SENT";
3416
+ statusUpdatedAt: string | null;
3417
+ jobId: string;
3418
+ subjectKind: "OWNED" | "CURATED";
3419
+ subjectId: string;
3420
+ distanceKm: number | null;
3421
+ driveMinutes: number | null;
3422
+ transitMinutes: number | null;
3423
+ }[];
3424
+ jobCards: {
3425
+ id: string;
3426
+ updatedAt: string;
3427
+ createdAt: string;
3428
+ description: string;
3429
+ pay: {
3430
+ rateUnit: "DAILY" | "HOURLY";
3431
+ isNegotiable: boolean;
3432
+ receivedRate?: number | null | undefined;
3433
+ rate?: number | null | undefined;
3434
+ rateMax?: number | null | undefined;
3435
+ };
3436
+ numberOfPositions: number;
3437
+ status: "AVAILABLE" | "NOT_AVAILABLE";
3438
+ tradeId: string;
3439
+ filledPositions: number;
3440
+ location?: {
3441
+ address?: string | null | undefined;
3442
+ postcode?: string | null | undefined;
3443
+ adminDistrict?: string | null | undefined;
3444
+ postTown?: string | null | undefined;
3445
+ } | null | undefined;
3446
+ workHours?: number | null | undefined;
3447
+ startDate?: string | null | undefined;
3448
+ jobQualifications?: {
3449
+ id: string;
3450
+ qualificationId: string;
3451
+ qualificationTypeId?: string | null | undefined;
3452
+ }[] | null | undefined;
3453
+ collaboration?: {
3454
+ id?: string | null | undefined;
3455
+ status?: string | null | undefined;
3456
+ client?: {
3457
+ id: string;
3458
+ name: string;
3459
+ } | null | undefined;
3460
+ company?: {
3461
+ id: string;
3462
+ name: string;
3463
+ } | null | undefined;
3464
+ userId?: string | null | undefined;
3465
+ user?: {
3466
+ id: string;
3467
+ lastName: string;
3468
+ firstName: string;
3469
+ phoneNumbers: {
3470
+ id: string;
3471
+ phoneNumber: string;
3472
+ isPrimary: boolean;
3473
+ description?: string | null | undefined;
3474
+ }[];
3475
+ deletedAt?: string | null | undefined;
3476
+ } | null | undefined;
3477
+ } | null | undefined;
3478
+ createdById?: string | null | undefined;
3479
+ createdBy?: {
3480
+ id: string;
3481
+ lastName: string;
3482
+ firstName: string;
3483
+ phoneNumbers: {
3484
+ id: string;
3485
+ phoneNumber: string;
3486
+ isPrimary: boolean;
3487
+ description?: string | null | undefined;
3488
+ }[];
3489
+ deletedAt?: string | null | undefined;
3490
+ } | null | undefined;
3491
+ creationSource?: "BOT" | "MANUAL" | null | undefined;
3492
+ distanceKm?: number | null | undefined;
3493
+ }[];
3494
+ }, {
3495
+ worker: {
3496
+ id: string;
3497
+ updatedAt: string | Date;
3498
+ createdAt: string | Date;
3499
+ firstName: string;
3500
+ hasTools: boolean | null;
3501
+ hasPpe: boolean | null;
3502
+ blacklisted: boolean;
3503
+ suppression: {
3504
+ reason: string;
3505
+ note: string | null;
3506
+ until: string | null;
3507
+ setByName: string;
3508
+ setAt: string;
3509
+ } | null;
3510
+ location?: {
3511
+ address?: string | null | undefined;
3512
+ postcode?: string | null | undefined;
3513
+ latitude?: number | null | undefined;
3514
+ longitude?: number | null | undefined;
3515
+ county?: string | null | undefined;
3516
+ adminDistrict?: string | null | undefined;
3517
+ builtUpArea?: string | null | undefined;
3518
+ postTown?: string | null | undefined;
3519
+ areaCovered?: string | null | undefined;
3520
+ } | null | undefined;
3521
+ blacklistReason?: string | null | undefined;
3522
+ email?: string | null | undefined;
3523
+ lastName?: string | null | undefined;
3524
+ englishLevel?: "NONE" | "BASIC" | "INTERMEDIATE" | "ADVANCED" | "NATIVE" | null | undefined;
3525
+ 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;
3526
+ transportation?: {
3527
+ methods?: ("OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK")[] | null | undefined;
3528
+ preferredMethod?: "OWN_CAR" | "OWN_VAN" | "MOTORCYCLE" | "PUBLIC_TRANSPORT" | "BICYCLE" | "WALK" | null | undefined;
3529
+ } | null | undefined;
3530
+ dateOfBirth?: string | Date | null | undefined;
3531
+ bio?: string | null | undefined;
3532
+ nino?: string | null | undefined;
3533
+ offerOpenness?: "ACTIVELY_LOOKING" | "OPEN" | "NOT_INTERESTED" | undefined;
3534
+ offerNote?: string | null | undefined;
3535
+ phoneNumbers?: {
3536
+ id: string;
3537
+ updatedAt: string | Date;
3538
+ createdAt: string | Date;
3539
+ phoneNumber: string;
3540
+ description?: string | null | undefined;
3541
+ isPrimary?: boolean | undefined;
3542
+ }[] | null | undefined;
3543
+ trades?: {
3544
+ id: string;
3545
+ updatedAt: string | Date;
3546
+ createdAt: string | Date;
3547
+ tradeId: string;
3548
+ mainTrade: boolean;
3549
+ }[] | null | undefined;
3550
+ qualifications?: {
3551
+ id: string;
3552
+ updatedAt: string | Date;
3553
+ createdAt: string | Date;
3554
+ qualificationId: string;
3555
+ qualificationTypeId: string | null;
3556
+ referenceNumber: string | null;
3557
+ proofDocumentFileId: string | null;
3558
+ issueDate?: string | Date | null | undefined;
3559
+ expiryDate?: string | Date | null | undefined;
3560
+ }[] | null | undefined;
3561
+ idDocuments?: {
3562
+ id: string;
3563
+ updatedAt?: string | Date | undefined;
3564
+ createdAt?: string | Date | undefined;
3565
+ expiryDate?: string | Date | null | undefined;
3566
+ fileId?: string | null | undefined;
3567
+ documentType?: "unknown" | "passport" | "id_card" | "driving_license" | null | undefined;
3568
+ documentNumber?: string | null | undefined;
3569
+ }[] | undefined;
3570
+ shareCode?: {
3571
+ code: string | null;
3572
+ expiryDate?: string | Date | null | undefined;
3573
+ fileId?: string | null | undefined;
3574
+ } | null | undefined;
3575
+ liveStatus?: {
3576
+ 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;
3577
+ active?: {
3578
+ status: "ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE";
3579
+ } | null | undefined;
3580
+ bookingId?: string | null | undefined;
3581
+ activeId?: string | null | undefined;
3582
+ bookingAgent?: {
3583
+ id: string;
3584
+ lastName: string;
3585
+ firstName: string;
3586
+ } | null | undefined;
3587
+ } | undefined;
3588
+ offerOpennessSetAt?: string | Date | null | undefined;
3589
+ offerNoteUpdatedAt?: string | Date | null | undefined;
3590
+ occupancyStatus?: "ACTIVE" | "BOOKED" | null | undefined;
3591
+ distanceKm?: number | null | undefined;
3592
+ bookingHistory?: {
3593
+ workedTotal: number;
3594
+ workedByMe: number;
3595
+ noShowTotal: number;
3596
+ noShowByMe: number;
3597
+ } | undefined;
3598
+ offerSignalUpdatedById?: string | null | undefined;
3599
+ offerSignalUpdatedByName?: string | null | undefined;
3600
+ workingUntil?: string | Date | null | undefined;
3601
+ };
3602
+ matches: {
3603
+ status: "NOT_INTERESTED" | "BOOKED" | "NEW" | "TOO_FAR" | "OFFER_SENT";
3604
+ statusUpdatedAt: string | null;
3605
+ jobId: string;
3606
+ subjectKind: "OWNED" | "CURATED";
3607
+ subjectId: string;
3608
+ distanceKm: number | null;
3609
+ driveMinutes: number | null;
3610
+ transitMinutes: number | null;
3611
+ }[];
3612
+ jobCards: {
3613
+ id: string;
3614
+ updatedAt: string | Date;
3615
+ createdAt: string | Date;
3616
+ description: string;
3617
+ pay: {
3618
+ rateUnit: "DAILY" | "HOURLY";
3619
+ receivedRate?: number | null | undefined;
3620
+ rate?: number | null | undefined;
3621
+ isNegotiable?: boolean | undefined;
3622
+ rateMax?: number | null | undefined;
3623
+ };
3624
+ numberOfPositions: number;
3625
+ status: "AVAILABLE" | "NOT_AVAILABLE";
3626
+ tradeId: string;
3627
+ location?: {
3628
+ address?: string | null | undefined;
3629
+ postcode?: string | null | undefined;
3630
+ adminDistrict?: string | null | undefined;
3631
+ postTown?: string | null | undefined;
3632
+ } | null | undefined;
3633
+ workHours?: number | null | undefined;
3634
+ startDate?: string | null | undefined;
3635
+ jobQualifications?: {
3636
+ id: string;
3637
+ qualificationId: string;
3638
+ qualificationTypeId?: string | null | undefined;
3639
+ }[] | null | undefined;
3640
+ collaboration?: {
3641
+ id?: string | null | undefined;
3642
+ status?: string | null | undefined;
3643
+ client?: {
3644
+ id: string;
3645
+ name: string;
3646
+ } | null | undefined;
3647
+ company?: {
3648
+ id: string;
3649
+ name: string;
3650
+ } | null | undefined;
3651
+ userId?: string | null | undefined;
3652
+ user?: {
3653
+ id: string;
3654
+ lastName: string;
3655
+ firstName: string;
3656
+ phoneNumbers?: {
3657
+ id: string;
3658
+ phoneNumber: string;
3659
+ description?: string | null | undefined;
3660
+ isPrimary?: boolean | undefined;
3661
+ }[] | undefined;
3662
+ deletedAt?: string | Date | null | undefined;
3663
+ } | null | undefined;
3664
+ } | null | undefined;
3665
+ filledPositions?: number | undefined;
3666
+ createdById?: string | null | undefined;
3667
+ createdBy?: {
3668
+ id: string;
3669
+ lastName: string;
3670
+ firstName: string;
3671
+ phoneNumbers?: {
3672
+ id: string;
3673
+ phoneNumber: string;
3674
+ description?: string | null | undefined;
3675
+ isPrimary?: boolean | undefined;
3676
+ }[] | undefined;
3677
+ deletedAt?: string | Date | null | undefined;
3678
+ } | null | undefined;
3679
+ creationSource?: "BOT" | "MANUAL" | null | undefined;
3680
+ distanceKm?: number | null | 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
+ message: string;
3693
+ path: string;
3694
+ code: string;
3695
+ statusCode: number;
3696
+ timestamp: string;
3697
+ details?: unknown;
3698
+ correlationId?: string | undefined;
3699
+ }, {
3700
+ message: string;
3701
+ path: string;
3702
+ code: 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
+ message: string;
3718
+ path: string;
3719
+ code: string;
3720
+ statusCode: number;
3721
+ timestamp: string;
3722
+ details?: unknown;
3723
+ correlationId?: string | undefined;
3724
+ }, {
3725
+ message: string;
3726
+ path: string;
3727
+ code: 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
+ jobId: string;
3755
+ subjectKind: "OWNED" | "CURATED";
3756
+ subjectId: string;
3757
+ }, {
3758
+ jobId: string;
3759
+ subjectKind: "OWNED" | "CURATED";
3760
+ subjectId: string;
3761
+ }>, "many">;
3762
+ channel: z.ZodOptional<z.ZodEnum<["WHATSAPP", "PHONE"]>>;
3763
+ }, "strip", z.ZodTypeAny, {
3764
+ tuples: {
3765
+ jobId: string;
3766
+ subjectKind: "OWNED" | "CURATED";
3767
+ subjectId: string;
3768
+ }[];
3769
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3770
+ }, {
3771
+ tuples: {
3772
+ jobId: string;
3773
+ subjectKind: "OWNED" | "CURATED";
3774
+ subjectId: string;
3775
+ }[];
3776
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3777
+ }>;
3778
+ path: "/v2/curated-worker-leads/consent-queue/:id/consent-and-offer";
3779
+ responses: {
3780
+ 400: 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
+ message: string;
3790
+ path: string;
3791
+ code: string;
3792
+ statusCode: number;
3793
+ timestamp: string;
3794
+ details?: unknown;
3795
+ correlationId?: string | undefined;
3796
+ }, {
3797
+ message: string;
3798
+ path: string;
3799
+ code: string;
3800
+ statusCode: number;
3801
+ timestamp: string;
3802
+ details?: unknown;
3803
+ correlationId?: string | undefined;
3804
+ }>;
3805
+ 401: 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
+ message: string;
3815
+ path: string;
3816
+ code: string;
3817
+ statusCode: number;
3818
+ timestamp: string;
3819
+ details?: unknown;
3820
+ correlationId?: string | undefined;
3821
+ }, {
3822
+ message: string;
3823
+ path: string;
3824
+ code: string;
3825
+ statusCode: number;
3826
+ timestamp: string;
3827
+ details?: unknown;
3828
+ correlationId?: string | undefined;
3829
+ }>;
3830
+ 500: 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
+ message: string;
3840
+ path: string;
3841
+ code: string;
3842
+ statusCode: number;
3843
+ timestamp: string;
3844
+ details?: unknown;
3845
+ correlationId?: string | undefined;
3846
+ }, {
3847
+ message: string;
3848
+ path: string;
3849
+ code: 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
+ postcode: string | null;
3868
+ workerName: string;
3869
+ assignmentId: string;
3870
+ phoneNumber: string | null;
3871
+ assignedAt: string;
3872
+ curatedWorkerId: string;
3873
+ phoneId: string | null;
3874
+ matchingJobCount: number;
3875
+ nearestJobDistanceKm: number | null;
3876
+ }, {
3877
+ postcode: string | null;
3878
+ workerName: string;
3879
+ assignmentId: string;
3880
+ phoneNumber: string | null;
3881
+ assignedAt: string;
3882
+ curatedWorkerId: string;
3883
+ phoneId: string | null;
3884
+ matchingJobCount: number;
3885
+ nearestJobDistanceKm: number | null;
3886
+ }>>;
3887
+ }, "strip", z.ZodTypeAny, {
3888
+ next: {
3889
+ postcode: string | null;
3890
+ workerName: string;
3891
+ assignmentId: string;
3892
+ phoneNumber: string | null;
3893
+ assignedAt: string;
3894
+ curatedWorkerId: string;
3895
+ phoneId: string | null;
3896
+ matchingJobCount: number;
3897
+ nearestJobDistanceKm: number | null;
3898
+ } | null;
3899
+ }, {
3900
+ next: {
3901
+ postcode: string | null;
3902
+ workerName: string;
3903
+ assignmentId: string;
3904
+ phoneNumber: string | null;
3905
+ assignedAt: string;
3906
+ curatedWorkerId: string;
3907
+ phoneId: string | null;
3908
+ matchingJobCount: number;
3909
+ nearestJobDistanceKm: number | null;
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
+ message: string;
3922
+ path: string;
3923
+ code: string;
3924
+ statusCode: number;
3925
+ timestamp: string;
3926
+ details?: unknown;
3927
+ correlationId?: string | undefined;
3928
+ }, {
3929
+ message: string;
3930
+ path: string;
3931
+ code: 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
+ message: string;
3947
+ path: string;
3948
+ code: string;
3949
+ statusCode: number;
3950
+ timestamp: string;
3951
+ details?: unknown;
3952
+ correlationId?: string | undefined;
3953
+ }, {
3954
+ message: string;
3955
+ path: string;
3956
+ code: 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: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
3985
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3986
+ }, {
3987
+ jobId: string;
3988
+ outcome: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
3989
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3990
+ }>, "many">;
3991
+ }, "strict", z.ZodTypeAny, {
3992
+ items: {
3993
+ jobId: string;
3994
+ outcome: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
3995
+ channel?: "WHATSAPP" | "PHONE" | undefined;
3996
+ }[];
3997
+ }, {
3998
+ items: {
3999
+ jobId: string;
4000
+ outcome: "NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT";
4001
+ channel?: "WHATSAPP" | "PHONE" | undefined;
4002
+ }[];
4003
+ }>;
4004
+ path: "/v2/curated-worker-leads/consent-queue/:id/consent-and-apply";
4005
+ responses: {
4006
+ 400: 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
+ message: string;
4016
+ path: string;
4017
+ code: string;
4018
+ statusCode: number;
4019
+ timestamp: string;
4020
+ details?: unknown;
4021
+ correlationId?: string | undefined;
4022
+ }, {
4023
+ message: string;
4024
+ path: string;
4025
+ code: string;
4026
+ statusCode: number;
4027
+ timestamp: string;
4028
+ details?: unknown;
4029
+ correlationId?: string | undefined;
4030
+ }>;
4031
+ 401: 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
+ message: string;
4041
+ path: string;
4042
+ code: string;
4043
+ statusCode: number;
4044
+ timestamp: string;
4045
+ details?: unknown;
4046
+ correlationId?: string | undefined;
4047
+ }, {
4048
+ message: string;
4049
+ path: string;
4050
+ code: string;
4051
+ statusCode: number;
4052
+ timestamp: string;
4053
+ details?: unknown;
4054
+ correlationId?: string | undefined;
4055
+ }>;
4056
+ 500: 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
+ message: string;
4066
+ path: string;
4067
+ code: string;
4068
+ statusCode: number;
4069
+ timestamp: string;
4070
+ details?: unknown;
4071
+ correlationId?: string | undefined;
4072
+ }, {
4073
+ message: string;
4074
+ path: string;
4075
+ code: 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
+ postcode: string | null;
4094
+ workerName: string;
4095
+ assignmentId: string;
4096
+ phoneNumber: string | null;
4097
+ assignedAt: string;
4098
+ curatedWorkerId: string;
4099
+ phoneId: string | null;
4100
+ matchingJobCount: number;
4101
+ nearestJobDistanceKm: number | null;
4102
+ }, {
4103
+ postcode: string | null;
4104
+ workerName: string;
4105
+ assignmentId: string;
4106
+ phoneNumber: string | null;
4107
+ assignedAt: string;
4108
+ curatedWorkerId: string;
4109
+ phoneId: string | null;
4110
+ matchingJobCount: number;
4111
+ nearestJobDistanceKm: number | null;
4112
+ }>>;
4113
+ }, "strip", z.ZodTypeAny, {
4114
+ next: {
4115
+ postcode: string | null;
4116
+ workerName: string;
4117
+ assignmentId: string;
4118
+ phoneNumber: string | null;
4119
+ assignedAt: string;
4120
+ curatedWorkerId: string;
4121
+ phoneId: string | null;
4122
+ matchingJobCount: number;
4123
+ nearestJobDistanceKm: number | null;
4124
+ } | null;
4125
+ }, {
4126
+ next: {
4127
+ postcode: string | null;
4128
+ workerName: string;
4129
+ assignmentId: string;
4130
+ phoneNumber: string | null;
4131
+ assignedAt: string;
4132
+ curatedWorkerId: string;
4133
+ phoneId: string | null;
4134
+ matchingJobCount: number;
4135
+ nearestJobDistanceKm: number | null;
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
+ message: string;
4148
+ path: string;
4149
+ code: string;
4150
+ statusCode: number;
4151
+ timestamp: string;
4152
+ details?: unknown;
4153
+ correlationId?: string | undefined;
4154
+ }, {
4155
+ message: string;
4156
+ path: string;
4157
+ code: 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
+ message: string;
4173
+ path: string;
4174
+ code: string;
4175
+ statusCode: number;
4176
+ timestamp: string;
4177
+ details?: unknown;
4178
+ correlationId?: string | undefined;
4179
+ }, {
4180
+ message: string;
4181
+ path: string;
4182
+ code: 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
+ 400: 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
+ message: string;
4216
+ path: string;
4217
+ code: string;
4218
+ statusCode: number;
4219
+ timestamp: string;
4220
+ details?: unknown;
4221
+ correlationId?: string | undefined;
4222
+ }, {
4223
+ message: string;
4224
+ path: string;
4225
+ code: string;
4226
+ statusCode: number;
4227
+ timestamp: string;
4228
+ details?: unknown;
4229
+ correlationId?: string | undefined;
4230
+ }>;
4231
+ 401: 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
+ message: string;
4241
+ path: string;
4242
+ code: string;
4243
+ statusCode: number;
4244
+ timestamp: string;
4245
+ details?: unknown;
4246
+ correlationId?: string | undefined;
4247
+ }, {
4248
+ message: string;
4249
+ path: string;
4250
+ code: string;
4251
+ statusCode: number;
4252
+ timestamp: string;
4253
+ details?: unknown;
4254
+ correlationId?: string | undefined;
4255
+ }>;
4256
+ 500: 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
+ message: string;
4266
+ path: string;
4267
+ code: string;
4268
+ statusCode: number;
4269
+ timestamp: string;
4270
+ details?: unknown;
4271
+ correlationId?: string | undefined;
4272
+ }, {
4273
+ message: string;
4274
+ path: string;
4275
+ code: 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
+ message: string;
4298
+ path: string;
4299
+ code: string;
4300
+ statusCode: number;
4301
+ timestamp: string;
4302
+ details?: unknown;
4303
+ correlationId?: string | undefined;
4304
+ }, {
4305
+ message: string;
4306
+ path: string;
4307
+ code: 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
+ message: string;
4323
+ path: string;
4324
+ code: string;
4325
+ statusCode: number;
4326
+ timestamp: string;
4327
+ details?: unknown;
4328
+ correlationId?: string | undefined;
4329
+ }, {
4330
+ message: string;
4331
+ path: string;
4332
+ code: 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
+ 400: 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
+ message: string;
4372
+ path: string;
4373
+ code: string;
4374
+ statusCode: number;
4375
+ timestamp: string;
4376
+ details?: unknown;
4377
+ correlationId?: string | undefined;
4378
+ }, {
4379
+ message: string;
4380
+ path: string;
4381
+ code: string;
4382
+ statusCode: number;
4383
+ timestamp: string;
4384
+ details?: unknown;
4385
+ correlationId?: string | undefined;
4386
+ }>;
4387
+ 401: 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
+ message: string;
4397
+ path: string;
4398
+ code: string;
4399
+ statusCode: number;
4400
+ timestamp: string;
4401
+ details?: unknown;
4402
+ correlationId?: string | undefined;
4403
+ }, {
4404
+ message: string;
4405
+ path: string;
4406
+ code: string;
4407
+ statusCode: number;
4408
+ timestamp: string;
4409
+ details?: unknown;
4410
+ correlationId?: string | undefined;
4411
+ }>;
4412
+ 500: 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
+ message: string;
4422
+ path: string;
4423
+ code: string;
4424
+ statusCode: number;
4425
+ timestamp: string;
4426
+ details?: unknown;
4427
+ correlationId?: string | undefined;
4428
+ }, {
4429
+ message: string;
4430
+ path: string;
4431
+ code: 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
+ message: string;
4454
+ path: string;
4455
+ code: string;
4456
+ statusCode: number;
4457
+ timestamp: string;
4458
+ details?: unknown;
4459
+ correlationId?: string | undefined;
4460
+ }, {
4461
+ message: string;
4462
+ path: string;
4463
+ code: 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
+ message: string;
4479
+ path: string;
4480
+ code: string;
4481
+ statusCode: number;
4482
+ timestamp: string;
4483
+ details?: unknown;
4484
+ correlationId?: string | undefined;
4485
+ }, {
4486
+ message: string;
4487
+ path: string;
4488
+ code: 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