@dsptch-work/api-client 0.9.0 → 0.10.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.
- package/CHANGELOG.md +53 -1
- package/dist/gen/index.d.ts +1 -1
- package/dist/gen/sdk.gen.d.ts +20 -5
- package/dist/gen/sdk.gen.js +27 -12
- package/dist/gen/types.gen.d.ts +537 -379
- package/dist/gen/zod.gen.d.ts +2278 -2144
- package/dist/gen/zod.gen.js +423 -267
- package/package.json +1 -1
package/dist/gen/zod.gen.js
CHANGED
|
@@ -50,6 +50,12 @@ export const zProblem = z.object({
|
|
|
50
50
|
*
|
|
51
51
|
* A signed token in the request fails signature verification. Re-obtain the token from the endpoint that issued it.
|
|
52
52
|
*
|
|
53
|
+
* ### malformed_body
|
|
54
|
+
*
|
|
55
|
+
* **Malformed Request Body**
|
|
56
|
+
*
|
|
57
|
+
* The request body could not be parsed in the declared content type — most commonly a body that is not valid JSON. Send a well-formed body matching the `Content-Type` header.
|
|
58
|
+
*
|
|
53
59
|
* ### non_range_filter_value
|
|
54
60
|
*
|
|
55
61
|
* **Range Filter Needs Bounds**
|
|
@@ -78,7 +84,7 @@ export const zProblem = z.object({
|
|
|
78
84
|
*
|
|
79
85
|
* **Parameter Must Be An Object**
|
|
80
86
|
*
|
|
81
|
-
*
|
|
87
|
+
* Something that must be an object arrived as something else. Either a container query parameter — `filter`, `page`, or `as_of` — arrived as a scalar, array, or blank value, in which case use the object syntax, for example `filter[key]=value`; or the request body of a write that documents this failure parsed to `null`, an array, or a bare scalar, in which case send a JSON object. An absent or empty body is not this failure.
|
|
82
88
|
*
|
|
83
89
|
* ### unknown_axis
|
|
84
90
|
*
|
|
@@ -88,9 +94,9 @@ export const zProblem = z.object({
|
|
|
88
94
|
*
|
|
89
95
|
* ### unknown_key
|
|
90
96
|
*
|
|
91
|
-
* **Unknown
|
|
97
|
+
* **Unknown Key**
|
|
92
98
|
*
|
|
93
|
-
* The query string carries a top-level key outside the declared containers — typically a misspelled container. Remove or correct
|
|
99
|
+
* The query string carries a top-level key outside the declared containers, or the request body carries a key the operation's contract does not declare — typically a misspelled container or field. Remove or correct the keys the detail names; unknown keys are never silently ignored.
|
|
94
100
|
*
|
|
95
101
|
* ### unsupported_axis
|
|
96
102
|
*
|
|
@@ -323,6 +329,7 @@ export const zProblemTypeCatalog = z.enum([
|
|
|
323
329
|
'invalid_filter_key',
|
|
324
330
|
'invalid_limit',
|
|
325
331
|
'invalid_signature',
|
|
332
|
+
'malformed_body',
|
|
326
333
|
'non_range_filter_value',
|
|
327
334
|
'non_scalar_axis',
|
|
328
335
|
'non_scalar_filter_value',
|
|
@@ -417,7 +424,7 @@ export const zApprenticeshipProgramResponseObject = z.object({
|
|
|
417
424
|
program_name: z.string().nullable(),
|
|
418
425
|
sponsor_name: z.string().nullable(),
|
|
419
426
|
doing_business_as: z.string().nullable(),
|
|
420
|
-
registration_agency_type: z.enum(['federal', 'regional']),
|
|
427
|
+
registration_agency_type: z.enum(['federal', 'regional']).nullable(),
|
|
421
428
|
created_at: z.iso.datetime(),
|
|
422
429
|
updated_at: z.iso.datetime()
|
|
423
430
|
});
|
|
@@ -535,7 +542,7 @@ export const zApprenticeshipApprenticeResponseObject = z.object({
|
|
|
535
542
|
'in_progress',
|
|
536
543
|
'failed',
|
|
537
544
|
'success'
|
|
538
|
-
]),
|
|
545
|
+
]).nullable(),
|
|
539
546
|
expected_start_date: z.iso.date(),
|
|
540
547
|
expected_completion_date: z.iso.date(),
|
|
541
548
|
operative_start_date: z.iso.date().nullable(),
|
|
@@ -574,7 +581,7 @@ export const zApprenticeshipProgramParameters = z.object({
|
|
|
574
581
|
program_name: z.string().nullish(),
|
|
575
582
|
sponsor_name: z.string().nullish(),
|
|
576
583
|
doing_business_as: z.string().nullish(),
|
|
577
|
-
registration_agency_type: z.enum(['federal', 'regional']).
|
|
584
|
+
registration_agency_type: z.enum(['federal', 'regional']).nullish()
|
|
578
585
|
});
|
|
579
586
|
/**
|
|
580
587
|
* Create or update an occupation (trade) within a sponsored program; the program is taken from the URL path.
|
|
@@ -682,7 +689,37 @@ export const zTimecodeResponseObject = z.object({
|
|
|
682
689
|
'non_job',
|
|
683
690
|
'job_with_timecode'
|
|
684
691
|
]),
|
|
685
|
-
default_for_company_id: z.string()
|
|
692
|
+
default_for_company_id: z.string(),
|
|
693
|
+
valid_from: z.iso.datetime().nullable(),
|
|
694
|
+
valid_to: z.iso.datetime().nullable(),
|
|
695
|
+
transaction_from: z.iso.datetime(),
|
|
696
|
+
transaction_to: z.iso.datetime().nullable(),
|
|
697
|
+
created_at: z.iso.datetime(),
|
|
698
|
+
updated_at: z.iso.datetime()
|
|
699
|
+
});
|
|
700
|
+
export const zTimecodeHistoryCorrectionObject = z.object({
|
|
701
|
+
timekeeping_timecode_id: z.string(),
|
|
702
|
+
name: z.string(),
|
|
703
|
+
description: z.string().nullable(),
|
|
704
|
+
description_is_required: z.boolean(),
|
|
705
|
+
billable: z.boolean(),
|
|
706
|
+
overtime_eligible: z.boolean(),
|
|
707
|
+
unpaid: z.boolean(),
|
|
708
|
+
holiday: z.boolean(),
|
|
709
|
+
pto: z.boolean(),
|
|
710
|
+
safety: z.boolean(),
|
|
711
|
+
lunch_shortcut: z.boolean(),
|
|
712
|
+
break_shortcut: z.boolean(),
|
|
713
|
+
pwa: z.boolean(),
|
|
714
|
+
rest_and_recovery: z.boolean(),
|
|
715
|
+
incentive_pay_eligible: z.boolean(),
|
|
716
|
+
restricted_to: z.enum([
|
|
717
|
+
'none',
|
|
718
|
+
'job',
|
|
719
|
+
'non_job',
|
|
720
|
+
'job_with_timecode'
|
|
721
|
+
]),
|
|
722
|
+
default_for_company_id: z.string(),
|
|
686
723
|
valid_from: z.iso.datetime().nullable(),
|
|
687
724
|
valid_to: z.iso.datetime().nullable(),
|
|
688
725
|
transaction_from: z.iso.datetime(),
|
|
@@ -691,7 +728,7 @@ export const zTimecodeResponseObject = z.object({
|
|
|
691
728
|
updated_at: z.iso.datetime()
|
|
692
729
|
});
|
|
693
730
|
export const zTimecodeHistoryVersionObject = z.object({
|
|
694
|
-
|
|
731
|
+
timekeeping_timecode_id: z.string(),
|
|
695
732
|
name: z.string(),
|
|
696
733
|
description: z.string().nullable(),
|
|
697
734
|
description_is_required: z.boolean(),
|
|
@@ -712,7 +749,7 @@ export const zTimecodeHistoryVersionObject = z.object({
|
|
|
712
749
|
'non_job',
|
|
713
750
|
'job_with_timecode'
|
|
714
751
|
]),
|
|
715
|
-
default_for_company_id: z.string()
|
|
752
|
+
default_for_company_id: z.string(),
|
|
716
753
|
valid_from: z.iso.datetime().nullable(),
|
|
717
754
|
valid_to: z.iso.datetime().nullable(),
|
|
718
755
|
transaction_from: z.iso.datetime(),
|
|
@@ -724,7 +761,7 @@ export const zTimecodeHistoryVersionObject = z.object({
|
|
|
724
761
|
'current',
|
|
725
762
|
'historical'
|
|
726
763
|
]),
|
|
727
|
-
corrections: z.array(
|
|
764
|
+
corrections: z.array(zTimecodeHistoryCorrectionObject)
|
|
728
765
|
});
|
|
729
766
|
/**
|
|
730
767
|
* Request body for creating or updating a timecode; only `name` is required. On create, omitted fields take their model/DB defaults (noted per field). On update the request applies a bitemporal correction, so omitted fields keep the current version's values rather than reverting to defaults.
|
|
@@ -991,7 +1028,7 @@ export const zHolidayResponseObject = z.object({
|
|
|
991
1028
|
export const zAttestationConfigResponseObject = z.object({
|
|
992
1029
|
id: z.string(),
|
|
993
1030
|
timekeeping_pay_period_config_id: z.string(),
|
|
994
|
-
content: z.string()
|
|
1031
|
+
content: z.string(),
|
|
995
1032
|
expected_response: z.boolean(),
|
|
996
1033
|
us_state_id: z.string().nullable(),
|
|
997
1034
|
deleted_at: z.iso.datetime().nullable(),
|
|
@@ -1026,7 +1063,7 @@ export const zPayPeriodConfigResponseObject = z.object({
|
|
|
1026
1063
|
'none',
|
|
1027
1064
|
'base',
|
|
1028
1065
|
'aggregate'
|
|
1029
|
-
]),
|
|
1066
|
+
]).nullable(),
|
|
1030
1067
|
time_mode: z.enum([
|
|
1031
1068
|
'none',
|
|
1032
1069
|
'base',
|
|
@@ -1037,7 +1074,44 @@ export const zPayPeriodConfigResponseObject = z.object({
|
|
|
1037
1074
|
'quickbooks_online',
|
|
1038
1075
|
'paychex',
|
|
1039
1076
|
'gusto'
|
|
1077
|
+
]).nullable(),
|
|
1078
|
+
actuals_enabled: z.boolean().nullable(),
|
|
1079
|
+
requires_external_map_contributor: z.boolean(),
|
|
1080
|
+
paid_after_holiday: z.boolean(),
|
|
1081
|
+
demo: z.boolean().nullable(),
|
|
1082
|
+
valid_from: z.iso.datetime().nullable(),
|
|
1083
|
+
valid_to: z.iso.datetime().nullable(),
|
|
1084
|
+
created_at: z.iso.datetime()
|
|
1085
|
+
});
|
|
1086
|
+
export const zPayPeriodConfigHistoryCorrectionObject = z.object({
|
|
1087
|
+
timekeeping_pay_period_config_id: z.string(),
|
|
1088
|
+
company_id: z.string(),
|
|
1089
|
+
name: z.string(),
|
|
1090
|
+
frequency: z.enum(['weekly', 'biweekly']),
|
|
1091
|
+
start_day_of_week: z.int(),
|
|
1092
|
+
tz_name: z.string(),
|
|
1093
|
+
currency: z.string(),
|
|
1094
|
+
status: z.enum([
|
|
1095
|
+
'synced',
|
|
1096
|
+
'pending',
|
|
1097
|
+
'failed'
|
|
1040
1098
|
]),
|
|
1099
|
+
payroll_mode: z.enum([
|
|
1100
|
+
'none',
|
|
1101
|
+
'base',
|
|
1102
|
+
'aggregate'
|
|
1103
|
+
]).nullable(),
|
|
1104
|
+
time_mode: z.enum([
|
|
1105
|
+
'none',
|
|
1106
|
+
'base',
|
|
1107
|
+
'aggregate'
|
|
1108
|
+
]),
|
|
1109
|
+
payroll_system: z.enum([
|
|
1110
|
+
'rippling',
|
|
1111
|
+
'quickbooks_online',
|
|
1112
|
+
'paychex',
|
|
1113
|
+
'gusto'
|
|
1114
|
+
]).nullable(),
|
|
1041
1115
|
actuals_enabled: z.boolean().nullable(),
|
|
1042
1116
|
requires_external_map_contributor: z.boolean(),
|
|
1043
1117
|
paid_after_holiday: z.boolean(),
|
|
@@ -1047,7 +1121,7 @@ export const zPayPeriodConfigResponseObject = z.object({
|
|
|
1047
1121
|
created_at: z.iso.datetime()
|
|
1048
1122
|
});
|
|
1049
1123
|
export const zPayPeriodConfigHistoryVersionObject = z.object({
|
|
1050
|
-
|
|
1124
|
+
timekeeping_pay_period_config_id: z.string(),
|
|
1051
1125
|
company_id: z.string(),
|
|
1052
1126
|
name: z.string(),
|
|
1053
1127
|
frequency: z.enum(['weekly', 'biweekly']),
|
|
@@ -1063,7 +1137,7 @@ export const zPayPeriodConfigHistoryVersionObject = z.object({
|
|
|
1063
1137
|
'none',
|
|
1064
1138
|
'base',
|
|
1065
1139
|
'aggregate'
|
|
1066
|
-
]),
|
|
1140
|
+
]).nullable(),
|
|
1067
1141
|
time_mode: z.enum([
|
|
1068
1142
|
'none',
|
|
1069
1143
|
'base',
|
|
@@ -1074,7 +1148,7 @@ export const zPayPeriodConfigHistoryVersionObject = z.object({
|
|
|
1074
1148
|
'quickbooks_online',
|
|
1075
1149
|
'paychex',
|
|
1076
1150
|
'gusto'
|
|
1077
|
-
]),
|
|
1151
|
+
]).nullable(),
|
|
1078
1152
|
actuals_enabled: z.boolean().nullable(),
|
|
1079
1153
|
requires_external_map_contributor: z.boolean(),
|
|
1080
1154
|
paid_after_holiday: z.boolean(),
|
|
@@ -1087,7 +1161,7 @@ export const zPayPeriodConfigHistoryVersionObject = z.object({
|
|
|
1087
1161
|
'current',
|
|
1088
1162
|
'historical'
|
|
1089
1163
|
]),
|
|
1090
|
-
corrections: z.array(
|
|
1164
|
+
corrections: z.array(zPayPeriodConfigHistoryCorrectionObject)
|
|
1091
1165
|
});
|
|
1092
1166
|
/**
|
|
1093
1167
|
* Create or update a holiday on a pay schedule. name, holiday_type, and month are required; mday is required for fixed holidays and wday + week for floating holidays (enforced by model validation).
|
|
@@ -1131,7 +1205,7 @@ export const zPwaCompanyUserDetailsResponseObject = z.object({
|
|
|
1131
1205
|
'male',
|
|
1132
1206
|
'non_binary',
|
|
1133
1207
|
'not_specified'
|
|
1134
|
-
]),
|
|
1208
|
+
]).nullable(),
|
|
1135
1209
|
local_business_license: z.string().nullable(),
|
|
1136
1210
|
drivers_license_state: z.string().nullable(),
|
|
1137
1211
|
drivers_license_number: z.string().nullable(),
|
|
@@ -1142,12 +1216,12 @@ export const zPwaCompanyUserDetailsResponseObject = z.object({
|
|
|
1142
1216
|
'reserves',
|
|
1143
1217
|
'guard',
|
|
1144
1218
|
'not_specified'
|
|
1145
|
-
]),
|
|
1219
|
+
]).nullable(),
|
|
1146
1220
|
hispanic_origin: z.enum([
|
|
1147
1221
|
'yes',
|
|
1148
1222
|
'no',
|
|
1149
1223
|
'not_specified'
|
|
1150
|
-
]),
|
|
1224
|
+
]).nullable(),
|
|
1151
1225
|
ca_dir_withholding_exemptions: z.int().nullable(),
|
|
1152
1226
|
disabled: z.boolean(),
|
|
1153
1227
|
il_dol_race: z.enum([
|
|
@@ -1167,13 +1241,13 @@ export const zPwaCompanyUserDetailsResponseObject = z.object({
|
|
|
1167
1241
|
'other_asian',
|
|
1168
1242
|
'other_pacific_islander',
|
|
1169
1243
|
'other'
|
|
1170
|
-
]),
|
|
1244
|
+
]).nullable(),
|
|
1171
1245
|
il_shines_employment_type: z.enum([
|
|
1172
1246
|
'part_time',
|
|
1173
1247
|
'full_time',
|
|
1174
1248
|
'seasonal_temporary',
|
|
1175
1249
|
'independent_contract'
|
|
1176
|
-
]),
|
|
1250
|
+
]).nullable(),
|
|
1177
1251
|
il_shines_eep_qualifiers: z.array(z.enum([
|
|
1178
1252
|
'eep_program_completed',
|
|
1179
1253
|
'foster_care',
|
|
@@ -1190,7 +1264,7 @@ export const zPwaCompanyUserDetailsResponseObject = z.object({
|
|
|
1190
1264
|
'returning_residents_clean_jobs_training_program',
|
|
1191
1265
|
'other'
|
|
1192
1266
|
])).nullable(),
|
|
1193
|
-
or_boli_schedule_type: z.enum(['five_eight', 'four_ten']),
|
|
1267
|
+
or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).nullable(),
|
|
1194
1268
|
or_boli_race: z.array(z.enum([
|
|
1195
1269
|
'american_indian_or_alaska_native',
|
|
1196
1270
|
'asian',
|
|
@@ -1225,7 +1299,7 @@ export const zPwaCompanyUserDetailsParameters = z.object({
|
|
|
1225
1299
|
'male',
|
|
1226
1300
|
'non_binary',
|
|
1227
1301
|
'not_specified'
|
|
1228
|
-
]).
|
|
1302
|
+
]).nullish(),
|
|
1229
1303
|
local_business_license: z.string().nullish(),
|
|
1230
1304
|
drivers_license_state: z.string().nullish(),
|
|
1231
1305
|
drivers_license_number: z.string().nullish(),
|
|
@@ -1236,12 +1310,12 @@ export const zPwaCompanyUserDetailsParameters = z.object({
|
|
|
1236
1310
|
'reserves',
|
|
1237
1311
|
'guard',
|
|
1238
1312
|
'not_specified'
|
|
1239
|
-
]).
|
|
1313
|
+
]).nullish(),
|
|
1240
1314
|
hispanic_origin: z.enum([
|
|
1241
1315
|
'yes',
|
|
1242
1316
|
'no',
|
|
1243
1317
|
'not_specified'
|
|
1244
|
-
]).
|
|
1318
|
+
]).nullish(),
|
|
1245
1319
|
ca_dir_withholding_exemptions: z.int().nullish(),
|
|
1246
1320
|
disabled: z.boolean().optional(),
|
|
1247
1321
|
il_dol_race: z.enum([
|
|
@@ -1261,13 +1335,13 @@ export const zPwaCompanyUserDetailsParameters = z.object({
|
|
|
1261
1335
|
'other_asian',
|
|
1262
1336
|
'other_pacific_islander',
|
|
1263
1337
|
'other'
|
|
1264
|
-
]).
|
|
1338
|
+
]).nullish(),
|
|
1265
1339
|
il_shines_employment_type: z.enum([
|
|
1266
1340
|
'part_time',
|
|
1267
1341
|
'full_time',
|
|
1268
1342
|
'seasonal_temporary',
|
|
1269
1343
|
'independent_contract'
|
|
1270
|
-
]).
|
|
1344
|
+
]).nullish(),
|
|
1271
1345
|
il_shines_eep_qualifiers: z.array(z.enum([
|
|
1272
1346
|
'eep_program_completed',
|
|
1273
1347
|
'foster_care',
|
|
@@ -1284,7 +1358,7 @@ export const zPwaCompanyUserDetailsParameters = z.object({
|
|
|
1284
1358
|
'returning_residents_clean_jobs_training_program',
|
|
1285
1359
|
'other'
|
|
1286
1360
|
])).nullish(),
|
|
1287
|
-
or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).
|
|
1361
|
+
or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).nullish(),
|
|
1288
1362
|
or_boli_race: z.array(z.enum([
|
|
1289
1363
|
'american_indian_or_alaska_native',
|
|
1290
1364
|
'asian',
|
|
@@ -1394,13 +1468,13 @@ export const zTimeEntryResponseObject = z.object({
|
|
|
1394
1468
|
]),
|
|
1395
1469
|
hours_worked: z.number(),
|
|
1396
1470
|
overtime_minutes_worked: z.object({
|
|
1397
|
-
1: z.number()
|
|
1398
|
-
1.5: z.number()
|
|
1399
|
-
2: z.number()
|
|
1471
|
+
1: z.number(),
|
|
1472
|
+
1.5: z.number(),
|
|
1473
|
+
2: z.number()
|
|
1400
1474
|
}),
|
|
1401
1475
|
incentive_pay_one_five_x_minutes_worked: z.int(),
|
|
1402
1476
|
hourly_rate_cents: z.string().nullable(),
|
|
1403
|
-
currency: z.string()
|
|
1477
|
+
currency: z.string(),
|
|
1404
1478
|
hourly_rate_src_type: z.string().nullable(),
|
|
1405
1479
|
timekeeping_pay_period_id: z.string(),
|
|
1406
1480
|
start_time: z.iso.datetime(),
|
|
@@ -1409,17 +1483,8 @@ export const zTimeEntryResponseObject = z.object({
|
|
|
1409
1483
|
updated_at: z.iso.datetime(),
|
|
1410
1484
|
feature_ids: z.array(z.string()),
|
|
1411
1485
|
features: z.array(z.object({
|
|
1412
|
-
name: z.string()
|
|
1413
|
-
}))
|
|
1414
|
-
user: z.object({
|
|
1415
|
-
id: z.string().optional(),
|
|
1416
|
-
name: z.string().optional()
|
|
1417
|
-
}),
|
|
1418
|
-
timecode: z.object({
|
|
1419
|
-
id: z.string().optional(),
|
|
1420
|
-
name: z.string().optional()
|
|
1421
|
-
}).nullable(),
|
|
1422
|
-
total_hours: z.number()
|
|
1486
|
+
name: z.string()
|
|
1487
|
+
}))
|
|
1423
1488
|
});
|
|
1424
1489
|
/**
|
|
1425
1490
|
* A record of a single approval or decline action taken against a time entry.
|
|
@@ -1467,8 +1532,8 @@ export const zTimeEntryParameters = z.object({
|
|
|
1467
1532
|
*/
|
|
1468
1533
|
export const zFormSubmissionResponseObject = z.object({
|
|
1469
1534
|
user: z.object({
|
|
1470
|
-
id: z.string()
|
|
1471
|
-
name: z.string()
|
|
1535
|
+
id: z.string(),
|
|
1536
|
+
name: z.string()
|
|
1472
1537
|
}),
|
|
1473
1538
|
title: z.string().nullable(),
|
|
1474
1539
|
json: z.record(z.string(), z.unknown()),
|
|
@@ -1722,8 +1787,8 @@ export const zCustomFieldConfigParameters = z.object({
|
|
|
1722
1787
|
* A user's membership in a group.
|
|
1723
1788
|
*/
|
|
1724
1789
|
export const zUserGroupResponse = z.object({
|
|
1725
|
-
id: z.string()
|
|
1726
|
-
user_id: z.string()
|
|
1790
|
+
id: z.string(),
|
|
1791
|
+
user_id: z.string()
|
|
1727
1792
|
});
|
|
1728
1793
|
/**
|
|
1729
1794
|
* Request body for adding users to a group. The group is taken from the URL path.
|
|
@@ -1750,8 +1815,8 @@ export const zJobParameters = z.object({
|
|
|
1750
1815
|
template_id: z.string().nullish(),
|
|
1751
1816
|
name: z.string().nullish(),
|
|
1752
1817
|
description: z.string().optional(),
|
|
1818
|
+
requested_by_company_id: z.string(),
|
|
1753
1819
|
created_by_user_id: z.string(),
|
|
1754
|
-
manager_user_id: z.string().nullish(),
|
|
1755
1820
|
manager_user_ids: z.array(z.string()).nullish(),
|
|
1756
1821
|
purchase_order_number: z.string().nullish(),
|
|
1757
1822
|
project_id: z.string().nullish(),
|
|
@@ -1834,27 +1899,27 @@ export const zJobUpdateParameters = zJobParameters.and(z.object({
|
|
|
1834
1899
|
* One version of a worker's compensation at your company, effective from its start date until the next version begins.
|
|
1835
1900
|
*/
|
|
1836
1901
|
export const zUserCompanyScheduledChange = z.object({
|
|
1837
|
-
id: z.string()
|
|
1838
|
-
start_date: z.string()
|
|
1839
|
-
hourly_rate: z.string().
|
|
1840
|
-
compensation_type: z.string()
|
|
1841
|
-
overtime_eligible: z.boolean()
|
|
1842
|
-
training_annual_amount: z.string().
|
|
1843
|
-
employer_combined_health_amount: z.string().
|
|
1844
|
-
employer_combined_savings: z.string().
|
|
1845
|
-
worked_annual_minutes: z.int().
|
|
1846
|
-
pto_annual_minutes: z.int().
|
|
1847
|
-
holiday_annual_minutes: z.int().
|
|
1848
|
-
training_annual_minutes: z.int().
|
|
1849
|
-
companies_department_id: z.string().
|
|
1902
|
+
id: z.string(),
|
|
1903
|
+
start_date: z.string(),
|
|
1904
|
+
hourly_rate: z.string().nullable(),
|
|
1905
|
+
compensation_type: z.string(),
|
|
1906
|
+
overtime_eligible: z.boolean(),
|
|
1907
|
+
training_annual_amount: z.string().nullable(),
|
|
1908
|
+
employer_combined_health_amount: z.string().nullable(),
|
|
1909
|
+
employer_combined_savings: z.string().nullable(),
|
|
1910
|
+
worked_annual_minutes: z.int().nullable(),
|
|
1911
|
+
pto_annual_minutes: z.int().nullable(),
|
|
1912
|
+
holiday_annual_minutes: z.int().nullable(),
|
|
1913
|
+
training_annual_minutes: z.int().nullable(),
|
|
1914
|
+
companies_department_id: z.string().nullable()
|
|
1850
1915
|
});
|
|
1851
1916
|
/**
|
|
1852
1917
|
* A worker's scheduled compensation timeline at your company — the version currently in effect plus any future-dated versions.
|
|
1853
1918
|
*/
|
|
1854
1919
|
export const zUserCompanyScheduledChangesResponse = z.object({
|
|
1855
|
-
user_id: z.string()
|
|
1856
|
-
current_version: zUserCompanyScheduledChange
|
|
1857
|
-
scheduled_changes: z.array(zUserCompanyScheduledChange)
|
|
1920
|
+
user_id: z.string(),
|
|
1921
|
+
current_version: zUserCompanyScheduledChange,
|
|
1922
|
+
scheduled_changes: z.array(zUserCompanyScheduledChange)
|
|
1858
1923
|
});
|
|
1859
1924
|
/**
|
|
1860
1925
|
* Request body for scheduling the end of a worker's employment at your company. Sets the employment's end date; cancel the scheduled termination to restore open-ended employment. Deleting the employment record instead (DELETE on the membership) removes it entirely and is not reversible.
|
|
@@ -1894,14 +1959,14 @@ export const zTimeCardResponseObject = z.object({
|
|
|
1894
1959
|
rest_and_recovery_minutes_worked: z.int(),
|
|
1895
1960
|
incentive_pay_eligible_minutes_worked: z.int(),
|
|
1896
1961
|
overtime_minutes_worked: z.object({
|
|
1897
|
-
1: z.number()
|
|
1898
|
-
1.5: z.number()
|
|
1899
|
-
2: z.number()
|
|
1962
|
+
1: z.number(),
|
|
1963
|
+
1.5: z.number(),
|
|
1964
|
+
2: z.number()
|
|
1900
1965
|
}),
|
|
1901
1966
|
incentive_pay_overtime_minutes_worked: z.object({
|
|
1902
|
-
1: z.number()
|
|
1903
|
-
1.5: z.number()
|
|
1904
|
-
2: z.number()
|
|
1967
|
+
1: z.number(),
|
|
1968
|
+
1.5: z.number(),
|
|
1969
|
+
2: z.number()
|
|
1905
1970
|
}),
|
|
1906
1971
|
pay_cents: z.string(),
|
|
1907
1972
|
base_wage_pay_cents: z.string(),
|
|
@@ -1930,14 +1995,14 @@ export const zJobTimeCardDayResponseObject = z.object({
|
|
|
1930
1995
|
rest_and_recovery_minutes_worked: z.int(),
|
|
1931
1996
|
incentive_pay_eligible_minutes_worked: z.int(),
|
|
1932
1997
|
overtime_minutes_worked: z.object({
|
|
1933
|
-
1: z.number()
|
|
1934
|
-
1.5: z.number()
|
|
1935
|
-
2: z.number()
|
|
1998
|
+
1: z.number(),
|
|
1999
|
+
1.5: z.number(),
|
|
2000
|
+
2: z.number()
|
|
1936
2001
|
}),
|
|
1937
2002
|
incentive_pay_overtime_minutes_worked: z.object({
|
|
1938
|
-
1: z.number()
|
|
1939
|
-
1.5: z.number()
|
|
1940
|
-
2: z.number()
|
|
2003
|
+
1: z.number(),
|
|
2004
|
+
1.5: z.number(),
|
|
2005
|
+
2: z.number()
|
|
1941
2006
|
}),
|
|
1942
2007
|
pay_cents: z.string(),
|
|
1943
2008
|
base_wage_pay_cents: z.string(),
|
|
@@ -1965,24 +2030,24 @@ export const zJobTimeCardDayResponseObject = z.object({
|
|
|
1965
2030
|
consecutive_days_worked: z.int(),
|
|
1966
2031
|
weekly_consecutive_days_worked: z.int(),
|
|
1967
2032
|
cumulative_overtime_minutes_worked: z.object({
|
|
1968
|
-
1: z.number()
|
|
1969
|
-
1.5: z.number()
|
|
1970
|
-
2: z.number()
|
|
2033
|
+
1: z.number(),
|
|
2034
|
+
1.5: z.number(),
|
|
2035
|
+
2: z.number()
|
|
1971
2036
|
}),
|
|
1972
2037
|
weekly_cumulative_overtime_minutes_worked: z.object({
|
|
1973
|
-
1: z.number()
|
|
1974
|
-
1.5: z.number()
|
|
1975
|
-
2: z.number()
|
|
2038
|
+
1: z.number(),
|
|
2039
|
+
1.5: z.number(),
|
|
2040
|
+
2: z.number()
|
|
1976
2041
|
}),
|
|
1977
2042
|
cumulative_incentive_pay_overtime_minutes_worked: z.object({
|
|
1978
|
-
1: z.number()
|
|
1979
|
-
1.5: z.number()
|
|
1980
|
-
2: z.number()
|
|
2043
|
+
1: z.number(),
|
|
2044
|
+
1.5: z.number(),
|
|
2045
|
+
2: z.number()
|
|
1981
2046
|
}),
|
|
1982
2047
|
weekly_cumulative_incentive_pay_overtime_minutes_worked: z.object({
|
|
1983
|
-
1: z.number()
|
|
1984
|
-
1.5: z.number()
|
|
1985
|
-
2: z.number()
|
|
2048
|
+
1: z.number(),
|
|
2049
|
+
1.5: z.number(),
|
|
2050
|
+
2: z.number()
|
|
1986
2051
|
}),
|
|
1987
2052
|
cumulative_pay_cents: z.string(),
|
|
1988
2053
|
weekly_cumulative_pay_cents: z.string(),
|
|
@@ -2097,7 +2162,7 @@ export const zPayrollFringeBenefitPlanResponseObject = z.object({
|
|
|
2097
2162
|
'employer_combined_holiday_pto',
|
|
2098
2163
|
'employer_training',
|
|
2099
2164
|
'employer_other_contributions'
|
|
2100
|
-
]),
|
|
2165
|
+
]).nullable(),
|
|
2101
2166
|
il_jointly_managed: z.boolean(),
|
|
2102
2167
|
il_fund_name: z.string().nullable(),
|
|
2103
2168
|
il_fund_address1: z.string().nullable(),
|
|
@@ -2158,7 +2223,38 @@ export const zPayrollExternalMapResponseObject = z.object({
|
|
|
2158
2223
|
'any',
|
|
2159
2224
|
'employee',
|
|
2160
2225
|
'employer'
|
|
2226
|
+
]).nullable(),
|
|
2227
|
+
annual_periods: z.int(),
|
|
2228
|
+
created_by_user_id: z.string().nullable(),
|
|
2229
|
+
global: z.boolean(),
|
|
2230
|
+
valid_from: z.iso.datetime().nullable(),
|
|
2231
|
+
valid_to: z.iso.datetime().nullable(),
|
|
2232
|
+
transaction_from: z.iso.datetime(),
|
|
2233
|
+
transaction_to: z.iso.datetime().nullable(),
|
|
2234
|
+
created_at: z.iso.datetime(),
|
|
2235
|
+
updated_at: z.iso.datetime()
|
|
2236
|
+
});
|
|
2237
|
+
export const zPayrollExternalMapHistoryCorrectionObject = z.object({
|
|
2238
|
+
payrolls_external_map_id: z.string(),
|
|
2239
|
+
name: z.string(),
|
|
2240
|
+
payrolls_compensation_element_id: z.string(),
|
|
2241
|
+
compensation_element_name: z.string(),
|
|
2242
|
+
compensation_element_category: z.enum([
|
|
2243
|
+
'tax',
|
|
2244
|
+
'health',
|
|
2245
|
+
'retirement',
|
|
2246
|
+
'insurance',
|
|
2247
|
+
'earning',
|
|
2248
|
+
'garnishment',
|
|
2249
|
+
'other'
|
|
2161
2250
|
]),
|
|
2251
|
+
timekeeping_pay_period_config_id: z.string().nullable(),
|
|
2252
|
+
payrolls_fringe_benefit_plan_id: z.string().nullable(),
|
|
2253
|
+
contributor: z.enum([
|
|
2254
|
+
'any',
|
|
2255
|
+
'employee',
|
|
2256
|
+
'employer'
|
|
2257
|
+
]).nullable(),
|
|
2162
2258
|
annual_periods: z.int(),
|
|
2163
2259
|
created_by_user_id: z.string().nullable(),
|
|
2164
2260
|
global: z.boolean(),
|
|
@@ -2170,7 +2266,7 @@ export const zPayrollExternalMapResponseObject = z.object({
|
|
|
2170
2266
|
updated_at: z.iso.datetime()
|
|
2171
2267
|
});
|
|
2172
2268
|
export const zPayrollExternalMapHistoryVersionObject = z.object({
|
|
2173
|
-
|
|
2269
|
+
payrolls_external_map_id: z.string(),
|
|
2174
2270
|
name: z.string(),
|
|
2175
2271
|
payrolls_compensation_element_id: z.string(),
|
|
2176
2272
|
compensation_element_name: z.string(),
|
|
@@ -2189,7 +2285,7 @@ export const zPayrollExternalMapHistoryVersionObject = z.object({
|
|
|
2189
2285
|
'any',
|
|
2190
2286
|
'employee',
|
|
2191
2287
|
'employer'
|
|
2192
|
-
]),
|
|
2288
|
+
]).nullable(),
|
|
2193
2289
|
annual_periods: z.int(),
|
|
2194
2290
|
created_by_user_id: z.string().nullable(),
|
|
2195
2291
|
global: z.boolean(),
|
|
@@ -2204,7 +2300,7 @@ export const zPayrollExternalMapHistoryVersionObject = z.object({
|
|
|
2204
2300
|
'current',
|
|
2205
2301
|
'historical'
|
|
2206
2302
|
]),
|
|
2207
|
-
corrections: z.array(
|
|
2303
|
+
corrections: z.array(zPayrollExternalMapHistoryCorrectionObject)
|
|
2208
2304
|
});
|
|
2209
2305
|
/**
|
|
2210
2306
|
* A payroll run — a record of one payroll-processing event, synced from an external payroll system or reported to DSPTCH (never a run DSPTCH itself initiates). Paystubs belong to a run.
|
|
@@ -2491,7 +2587,7 @@ export const zFeatureResponseObject = z.object({
|
|
|
2491
2587
|
address_id: z.string().nullable(),
|
|
2492
2588
|
created_by_user_id: z.string().nullable(),
|
|
2493
2589
|
updated_by_user_id: z.string().nullable(),
|
|
2494
|
-
geometry: z.record(z.string(), z.unknown())
|
|
2590
|
+
geometry: z.record(z.string(), z.unknown()),
|
|
2495
2591
|
active_time_begin: z.iso.datetime().nullable(),
|
|
2496
2592
|
active_time_end: z.iso.datetime().nullable(),
|
|
2497
2593
|
created_at: z.iso.datetime(),
|
|
@@ -2536,7 +2632,7 @@ export const zComplianceCheckResponseObject = z.object({
|
|
|
2536
2632
|
timekeeping_time_card_id: z.string().nullable(),
|
|
2537
2633
|
timekeeping_pay_period_id: z.string().nullable(),
|
|
2538
2634
|
user_id: z.string().nullable(),
|
|
2539
|
-
|
|
2635
|
+
employment_id: z.string().nullable(),
|
|
2540
2636
|
title: z.string(),
|
|
2541
2637
|
description: z.string(),
|
|
2542
2638
|
category: z.enum([
|
|
@@ -2564,7 +2660,7 @@ export const zComplianceCheckResponseObject = z.object({
|
|
|
2564
2660
|
'high',
|
|
2565
2661
|
'medium',
|
|
2566
2662
|
'low'
|
|
2567
|
-
]),
|
|
2663
|
+
]).nullable(),
|
|
2568
2664
|
checked_at: z.iso.datetime().nullable(),
|
|
2569
2665
|
passed_at: z.iso.datetime().nullable(),
|
|
2570
2666
|
time_due: z.iso.datetime().nullable(),
|
|
@@ -2689,10 +2785,10 @@ export const zPaystubLineItemResponseObject = z.object({
|
|
|
2689
2785
|
timekeeping_pay_period_id: z.string().nullable(),
|
|
2690
2786
|
user_id: z.string().nullable(),
|
|
2691
2787
|
external_map: z.object({
|
|
2692
|
-
name: z.string()
|
|
2788
|
+
name: z.string(),
|
|
2693
2789
|
compensation_element: z.object({
|
|
2694
|
-
name: z.string()
|
|
2695
|
-
description: z.string().
|
|
2790
|
+
name: z.string(),
|
|
2791
|
+
description: z.string().nullable(),
|
|
2696
2792
|
category: z.enum([
|
|
2697
2793
|
'tax',
|
|
2698
2794
|
'health',
|
|
@@ -2701,8 +2797,8 @@ export const zPaystubLineItemResponseObject = z.object({
|
|
|
2701
2797
|
'earning',
|
|
2702
2798
|
'garnishment',
|
|
2703
2799
|
'other'
|
|
2704
|
-
])
|
|
2705
|
-
})
|
|
2800
|
+
])
|
|
2801
|
+
})
|
|
2706
2802
|
}),
|
|
2707
2803
|
amount_cents: z.string(),
|
|
2708
2804
|
contributor: z.enum(['employee', 'employer']),
|
|
@@ -2736,7 +2832,7 @@ export const zPositionParameters = z.object({
|
|
|
2736
2832
|
wage_adder_rate_cents: z.number().nullish(),
|
|
2737
2833
|
job_wage_determinations_positions_attributes: z.array(z.object({
|
|
2738
2834
|
id: z.int().nullish(),
|
|
2739
|
-
|
|
2835
|
+
job_wage_determination_id: z.string().nullish()
|
|
2740
2836
|
})).optional(),
|
|
2741
2837
|
pwa_details_attributes: z.object({
|
|
2742
2838
|
skill_level: z.string().nullish()
|
|
@@ -2846,8 +2942,8 @@ export const zProductionCompletionResponseObject = z.discriminatedUnion('complet
|
|
|
2846
2942
|
* The form-assignment tasks created by one request — assigning a form to one or more users, each with a due time and optional recurrence and reminders. Returned as an array because a request can spread the assignment into one task per assignee.
|
|
2847
2943
|
*/
|
|
2848
2944
|
export const zFormAssignmentTaskResponseObject = z.array(z.object({
|
|
2849
|
-
id: z.string()
|
|
2850
|
-
form_definition_id: z.string()
|
|
2945
|
+
id: z.string(),
|
|
2946
|
+
form_definition_id: z.string(),
|
|
2851
2947
|
frequency: z.enum([
|
|
2852
2948
|
'DAILY',
|
|
2853
2949
|
'WORKDAILY',
|
|
@@ -2856,17 +2952,17 @@ export const zFormAssignmentTaskResponseObject = z.array(z.object({
|
|
|
2856
2952
|
'BIWEEKLY',
|
|
2857
2953
|
'MONTHLY',
|
|
2858
2954
|
'QUARTERLY'
|
|
2859
|
-
]).
|
|
2860
|
-
recurrence_end_time: z.iso.datetime().
|
|
2861
|
-
time_due: z.iso.datetime()
|
|
2862
|
-
tz_name: z.string()
|
|
2863
|
-
name: z.string()
|
|
2864
|
-
description: z.string().
|
|
2865
|
-
task_assignee_user_ids: z.array(z.string())
|
|
2955
|
+
]).nullable(),
|
|
2956
|
+
recurrence_end_time: z.iso.datetime().nullable(),
|
|
2957
|
+
time_due: z.iso.datetime(),
|
|
2958
|
+
tz_name: z.string(),
|
|
2959
|
+
name: z.string(),
|
|
2960
|
+
description: z.string().nullable(),
|
|
2961
|
+
task_assignee_user_ids: z.array(z.string()),
|
|
2866
2962
|
reminders: z.array(z.object({
|
|
2867
|
-
offset: z.string()
|
|
2868
|
-
remind_at: z.iso.datetime()
|
|
2869
|
-
}))
|
|
2963
|
+
offset: z.string(),
|
|
2964
|
+
remind_at: z.iso.datetime()
|
|
2965
|
+
}))
|
|
2870
2966
|
}));
|
|
2871
2967
|
/**
|
|
2872
2968
|
* Request body for creating or updating a certification — a named qualification a worker can hold. You can only manage your own company's certifications; global (platform) certifications are read-only.
|
|
@@ -2956,9 +3052,9 @@ export const zUserCertificationResponseObject = z.object({
|
|
|
2956
3052
|
* The function the worker performs in a position (e.g. "Electrician", "Foreman"); null when no function is assigned.
|
|
2957
3053
|
*/
|
|
2958
3054
|
export const zPositionFunction = z.object({
|
|
2959
|
-
id: z.string()
|
|
2960
|
-
value: z.string()
|
|
2961
|
-
description: z.string()
|
|
3055
|
+
id: z.string(),
|
|
3056
|
+
value: z.string(),
|
|
3057
|
+
description: z.string()
|
|
2962
3058
|
}).nullable();
|
|
2963
3059
|
/**
|
|
2964
3060
|
* A job — the primary unit of work in DSPTCH. Workers fill its positions and track time against it; it optionally tracks Prevailing Wage / Apprenticeship (PWA) compliance and optionally belongs to a project. There is no delete endpoint — cancel or complete a job through its status instead.
|
|
@@ -3001,47 +3097,35 @@ export const zJobResponseObject = z.object({
|
|
|
3001
3097
|
created_by_company_id: z.string(),
|
|
3002
3098
|
requested_by_company_id: z.string().nullable(),
|
|
3003
3099
|
project_id: z.string().nullable(),
|
|
3004
|
-
created_by_company: z.object({
|
|
3005
|
-
id: z.string().optional(),
|
|
3006
|
-
name: z.string().optional()
|
|
3007
|
-
}),
|
|
3008
|
-
requested_by_company: z.object({
|
|
3009
|
-
id: z.string().optional(),
|
|
3010
|
-
name: z.string().optional()
|
|
3011
|
-
}),
|
|
3012
|
-
manager_user: z.object({
|
|
3013
|
-
id: z.string().optional(),
|
|
3014
|
-
name: z.string().optional()
|
|
3015
|
-
}).nullable(),
|
|
3016
3100
|
manager_users: z.array(z.object({
|
|
3017
3101
|
id: z.string(),
|
|
3018
3102
|
name: z.string()
|
|
3019
3103
|
})),
|
|
3020
3104
|
created_by_user: z.object({
|
|
3021
|
-
id: z.string()
|
|
3022
|
-
name: z.string()
|
|
3105
|
+
id: z.string(),
|
|
3106
|
+
name: z.string()
|
|
3023
3107
|
}),
|
|
3024
3108
|
sites: z.array(z.object({
|
|
3025
|
-
name: z.string()
|
|
3109
|
+
name: z.string(),
|
|
3026
3110
|
features: z.array(z.object({
|
|
3027
|
-
name: z.string()
|
|
3028
|
-
}))
|
|
3029
|
-
}))
|
|
3111
|
+
name: z.string()
|
|
3112
|
+
}))
|
|
3113
|
+
})),
|
|
3030
3114
|
job_address: z.object({
|
|
3031
|
-
label: z.string()
|
|
3115
|
+
label: z.string()
|
|
3032
3116
|
}).nullable(),
|
|
3033
3117
|
positions: z.array(z.object({
|
|
3034
|
-
position_function: zPositionFunction
|
|
3035
|
-
fulfilled_by_user_id: z.string().
|
|
3036
|
-
}))
|
|
3118
|
+
position_function: zPositionFunction,
|
|
3119
|
+
fulfilled_by_user_id: z.string().nullable()
|
|
3120
|
+
})),
|
|
3037
3121
|
project: z.object({
|
|
3038
|
-
name: z.string()
|
|
3122
|
+
name: z.string()
|
|
3039
3123
|
}).nullable(),
|
|
3040
3124
|
pwa_details: zPwaJobDetailsResponseObject,
|
|
3041
3125
|
work_types: z.array(z.object({
|
|
3042
|
-
value: z.string()
|
|
3043
|
-
}))
|
|
3044
|
-
timekeeping_timecode_ids: z.array(z.string())
|
|
3126
|
+
value: z.string()
|
|
3127
|
+
})),
|
|
3128
|
+
timekeeping_timecode_ids: z.array(z.string()),
|
|
3045
3129
|
tracks_feature_allocations: z.boolean(),
|
|
3046
3130
|
requires_feature_allocation: z.boolean(),
|
|
3047
3131
|
max_one_feature_allocation: z.boolean()
|
|
@@ -3065,11 +3149,11 @@ export const zPositionResponseObject = z.object({
|
|
|
3065
3149
|
pwa_wage_pay_rate_src_type: z.string().nullable(),
|
|
3066
3150
|
wage_adder_rate_cents: z.string().nullable(),
|
|
3067
3151
|
pwa: z.boolean(),
|
|
3068
|
-
|
|
3069
|
-
|
|
3152
|
+
federal_wage_determination_ids: z.array(z.string()),
|
|
3153
|
+
regional_wage_determination_ids: z.array(z.string()),
|
|
3070
3154
|
pwa_details: z.object({
|
|
3071
3155
|
skill_level: z.string().nullable()
|
|
3072
|
-
})
|
|
3156
|
+
}),
|
|
3073
3157
|
start_time: z.iso.datetime().nullable(),
|
|
3074
3158
|
end_time: z.iso.datetime().nullable(),
|
|
3075
3159
|
created_at: z.iso.datetime(),
|
|
@@ -3093,21 +3177,21 @@ export const zUserRoleRequest = z.object({
|
|
|
3093
3177
|
* A role granted to a user within a company's scope — the permissions the user has there. A user can hold several distinct roles per company.
|
|
3094
3178
|
*/
|
|
3095
3179
|
export const zUserRoleResponse = z.object({
|
|
3096
|
-
id: z.string()
|
|
3097
|
-
user_id: z.string()
|
|
3098
|
-
company_id: z.string()
|
|
3180
|
+
id: z.string(),
|
|
3181
|
+
user_id: z.string(),
|
|
3182
|
+
company_id: z.string(),
|
|
3099
3183
|
role: z.enum([
|
|
3100
3184
|
'TECHNICIAN',
|
|
3101
3185
|
'FIELD_LEAD',
|
|
3102
3186
|
'MANAGER',
|
|
3103
3187
|
'SAFETY_MANAGER',
|
|
3104
3188
|
'ADMIN'
|
|
3105
|
-
])
|
|
3189
|
+
])
|
|
3106
3190
|
});
|
|
3107
3191
|
/**
|
|
3108
3192
|
* Employment classification of a worker at a company: EMPLOYEE (W-2) or CONTRACTOR (1099). Null when unset.
|
|
3109
3193
|
*/
|
|
3110
|
-
export const zUserCompanyType = z.enum(['EMPLOYEE', 'CONTRACTOR']);
|
|
3194
|
+
export const zUserCompanyType = z.enum(['EMPLOYEE', 'CONTRACTOR']).nullable();
|
|
3111
3195
|
/**
|
|
3112
3196
|
* A worker as your company sees them: the cross-company person merged with their employment record at your company (title, pay, benefits, and accruals), their roles at your company, and optional prevailing-wage compliance details. There is no delete — removing a worker terminates their employment at the company (see the user-company endpoints), which sets termination_date and drops them from the default list.
|
|
3113
3197
|
*/
|
|
@@ -3130,6 +3214,7 @@ export const zUserResponseObject = z.object({
|
|
|
3130
3214
|
updated_at: z.iso.datetime(),
|
|
3131
3215
|
winda_id: z.string().nullable(),
|
|
3132
3216
|
linkedin_url: z.string().nullable(),
|
|
3217
|
+
employment_id: z.string(),
|
|
3133
3218
|
type: zUserCompanyType,
|
|
3134
3219
|
title: z.string().nullable(),
|
|
3135
3220
|
overtime_eligible: z.boolean(),
|
|
@@ -3153,22 +3238,22 @@ export const zUserResponseObject = z.object({
|
|
|
3153
3238
|
manager_user_id: z.string().nullable(),
|
|
3154
3239
|
roles: z.array(z.string()),
|
|
3155
3240
|
company_user_pwa_info: z.object({
|
|
3156
|
-
id: z.string()
|
|
3157
|
-
address1: z.string().
|
|
3158
|
-
address2: z.string().
|
|
3159
|
-
city: z.string().
|
|
3160
|
-
state: z.string().
|
|
3161
|
-
zip: z.string().
|
|
3162
|
-
race: z.array(z.string()).
|
|
3163
|
-
sex: z.string().
|
|
3164
|
-
local_business_license: z.string().
|
|
3165
|
-
drivers_license_state: z.string().
|
|
3166
|
-
drivers_license_number: z.string().
|
|
3167
|
-
veteran_status: z.string().
|
|
3168
|
-
hispanic_origin: z.string().
|
|
3169
|
-
ssn: z.string().
|
|
3170
|
-
disabled: z.boolean().
|
|
3171
|
-
ca_dir_withholding_exemptions: z.int().
|
|
3241
|
+
id: z.string(),
|
|
3242
|
+
address1: z.string().nullable(),
|
|
3243
|
+
address2: z.string().nullable(),
|
|
3244
|
+
city: z.string().nullable(),
|
|
3245
|
+
state: z.string().nullable(),
|
|
3246
|
+
zip: z.string().nullable(),
|
|
3247
|
+
race: z.array(z.string()).nullable(),
|
|
3248
|
+
sex: z.string().nullable(),
|
|
3249
|
+
local_business_license: z.string().nullable(),
|
|
3250
|
+
drivers_license_state: z.string().nullable(),
|
|
3251
|
+
drivers_license_number: z.string().nullable(),
|
|
3252
|
+
veteran_status: z.string().nullable(),
|
|
3253
|
+
hispanic_origin: z.string().nullable(),
|
|
3254
|
+
ssn: z.string().nullable(),
|
|
3255
|
+
disabled: z.boolean().nullable(),
|
|
3256
|
+
ca_dir_withholding_exemptions: z.int().nullable(),
|
|
3172
3257
|
il_dol_race: z.enum([
|
|
3173
3258
|
'white',
|
|
3174
3259
|
'black',
|
|
@@ -3186,20 +3271,20 @@ export const zUserResponseObject = z.object({
|
|
|
3186
3271
|
'other_asian',
|
|
3187
3272
|
'other_pacific_islander',
|
|
3188
3273
|
'other'
|
|
3189
|
-
]).
|
|
3274
|
+
]).nullable(),
|
|
3190
3275
|
il_shines_employment_type: z.enum([
|
|
3191
3276
|
'part_time',
|
|
3192
3277
|
'full_time',
|
|
3193
3278
|
'seasonal_temporary',
|
|
3194
3279
|
'independent_contract'
|
|
3195
|
-
]).
|
|
3280
|
+
]).nullable(),
|
|
3196
3281
|
il_shines_eep_qualifiers: z.array(z.enum([
|
|
3197
3282
|
'eep_program_completed',
|
|
3198
3283
|
'foster_care',
|
|
3199
3284
|
'formerly_incarcerated',
|
|
3200
3285
|
'equity_investment_eligible_community',
|
|
3201
3286
|
'self_registered_or_unknown'
|
|
3202
|
-
])).
|
|
3287
|
+
])).nullable(),
|
|
3203
3288
|
il_shines_other_programs: z.array(z.enum([
|
|
3204
3289
|
'solar_training_pipeline_program',
|
|
3205
3290
|
'craft_apprenticeship_program',
|
|
@@ -3208,8 +3293,8 @@ export const zUserResponseObject = z.object({
|
|
|
3208
3293
|
'illinois_climate_works_prep_apprenticeship_program',
|
|
3209
3294
|
'returning_residents_clean_jobs_training_program',
|
|
3210
3295
|
'other'
|
|
3211
|
-
])).
|
|
3212
|
-
or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).
|
|
3296
|
+
])).nullable(),
|
|
3297
|
+
or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).nullable(),
|
|
3213
3298
|
or_boli_race: z.array(z.enum([
|
|
3214
3299
|
'american_indian_or_alaska_native',
|
|
3215
3300
|
'asian',
|
|
@@ -3218,7 +3303,7 @@ export const zUserResponseObject = z.object({
|
|
|
3218
3303
|
'native_hawaiian_or_pacific_islander',
|
|
3219
3304
|
'white',
|
|
3220
3305
|
'portuguese_or_brazilian'
|
|
3221
|
-
])).
|
|
3306
|
+
])).nullable()
|
|
3222
3307
|
}).nullable()
|
|
3223
3308
|
});
|
|
3224
3309
|
/**
|
|
@@ -3294,13 +3379,13 @@ export const zUserParameters = z.object({
|
|
|
3294
3379
|
'other_asian',
|
|
3295
3380
|
'other_pacific_islander',
|
|
3296
3381
|
'other'
|
|
3297
|
-
]).
|
|
3382
|
+
]).nullish(),
|
|
3298
3383
|
il_shines_employment_type: z.enum([
|
|
3299
3384
|
'part_time',
|
|
3300
3385
|
'full_time',
|
|
3301
3386
|
'seasonal_temporary',
|
|
3302
3387
|
'independent_contract'
|
|
3303
|
-
]).
|
|
3388
|
+
]).nullish(),
|
|
3304
3389
|
il_shines_eep_qualifiers: z.array(z.enum([
|
|
3305
3390
|
'eep_program_completed',
|
|
3306
3391
|
'foster_care',
|
|
@@ -3317,7 +3402,7 @@ export const zUserParameters = z.object({
|
|
|
3317
3402
|
'returning_residents_clean_jobs_training_program',
|
|
3318
3403
|
'other'
|
|
3319
3404
|
])).nullish(),
|
|
3320
|
-
or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).
|
|
3405
|
+
or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).nullish(),
|
|
3321
3406
|
or_boli_race: z.array(z.enum([
|
|
3322
3407
|
'american_indian_or_alaska_native',
|
|
3323
3408
|
'asian',
|
|
@@ -3365,14 +3450,14 @@ export const zUserCompanyCreateParameters = z.object({
|
|
|
3365
3450
|
* Keyset pagination cursors for the collection.
|
|
3366
3451
|
*/
|
|
3367
3452
|
export const zPage = z.object({
|
|
3368
|
-
next_cursor: z.string().
|
|
3369
|
-
current_cursor: z.string().
|
|
3453
|
+
next_cursor: z.string().nullable(),
|
|
3454
|
+
current_cursor: z.string().nullable()
|
|
3370
3455
|
});
|
|
3371
3456
|
/**
|
|
3372
3457
|
* Pagination metadata for a paged collection, holding the keyset cursors under `page`.
|
|
3373
3458
|
*/
|
|
3374
3459
|
export const zMeta = z.object({
|
|
3375
|
-
page: zPage
|
|
3460
|
+
page: zPage
|
|
3376
3461
|
});
|
|
3377
3462
|
/**
|
|
3378
3463
|
* Pagination metadata for a change-feed page, with the feed's safe polling watermark.
|
|
@@ -3385,17 +3470,17 @@ export const zDeltaMeta = z.object({
|
|
|
3385
3470
|
* Pagination links for navigating a paged collection.
|
|
3386
3471
|
*/
|
|
3387
3472
|
export const zLinks = z.object({
|
|
3388
|
-
self: z.string()
|
|
3389
|
-
first: z.string().
|
|
3390
|
-
next: z.string().
|
|
3473
|
+
self: z.string(),
|
|
3474
|
+
first: z.string().nullable(),
|
|
3475
|
+
next: z.string().nullable()
|
|
3391
3476
|
});
|
|
3392
3477
|
/**
|
|
3393
3478
|
* A page of time entries, with pagination metadata and navigation links.
|
|
3394
3479
|
*/
|
|
3395
3480
|
export const zTimeEntryIndexObject = z.object({
|
|
3396
|
-
meta: zMeta
|
|
3397
|
-
links: zLinks
|
|
3398
|
-
data: z.array(zTimeEntryResponseObject)
|
|
3481
|
+
meta: zMeta,
|
|
3482
|
+
links: zLinks,
|
|
3483
|
+
data: z.array(zTimeEntryResponseObject)
|
|
3399
3484
|
});
|
|
3400
3485
|
/**
|
|
3401
3486
|
* A page of form definitions. A form definition is a SurveyJS form template built and versioned in the web app's form builder, so this API is read-only.
|
|
@@ -3404,35 +3489,35 @@ export const zFormDefinitionResponseObject = z.object({
|
|
|
3404
3489
|
meta: zMeta,
|
|
3405
3490
|
links: zLinks,
|
|
3406
3491
|
data: z.array(z.object({
|
|
3407
|
-
id: z.string()
|
|
3408
|
-
name: z.string()
|
|
3409
|
-
description: z.string()
|
|
3410
|
-
company_id: z.string()
|
|
3411
|
-
modified_by_user_id: z.string().
|
|
3412
|
-
tags: z.array(z.string()).
|
|
3413
|
-
title_keys: z.array(z.string()).
|
|
3414
|
-
editable: z.boolean()
|
|
3415
|
-
always_visible: z.boolean()
|
|
3416
|
-
sensitive_form: z.boolean()
|
|
3417
|
-
allow_carry_forward: z.boolean()
|
|
3418
|
-
current_revision: z.int().
|
|
3419
|
-
json: z.record(z.string(), z.unknown())
|
|
3420
|
-
created_at: z.iso.datetime()
|
|
3492
|
+
id: z.string(),
|
|
3493
|
+
name: z.string(),
|
|
3494
|
+
description: z.string(),
|
|
3495
|
+
company_id: z.string(),
|
|
3496
|
+
modified_by_user_id: z.string().nullable(),
|
|
3497
|
+
tags: z.array(z.string()).nullable(),
|
|
3498
|
+
title_keys: z.array(z.string()).nullable(),
|
|
3499
|
+
editable: z.boolean(),
|
|
3500
|
+
always_visible: z.boolean(),
|
|
3501
|
+
sensitive_form: z.boolean(),
|
|
3502
|
+
allow_carry_forward: z.boolean(),
|
|
3503
|
+
current_revision: z.int().nullable(),
|
|
3504
|
+
json: z.record(z.string(), z.unknown()),
|
|
3505
|
+
created_at: z.iso.datetime()
|
|
3421
3506
|
}))
|
|
3422
3507
|
});
|
|
3423
3508
|
/**
|
|
3424
3509
|
* A page of form submissions — the lighter list representation. A submission is a user's completed form; submissions are created in the app, so this API is read-only.
|
|
3425
3510
|
*/
|
|
3426
3511
|
export const zFormSubmissionIndexObject = z.object({
|
|
3427
|
-
meta: zMeta
|
|
3428
|
-
links: zLinks
|
|
3512
|
+
meta: zMeta,
|
|
3513
|
+
links: zLinks,
|
|
3429
3514
|
data: z.array(z.object({
|
|
3430
|
-
id: z.string()
|
|
3431
|
-
user_id: z.string()
|
|
3432
|
-
updated_by_user_id: z.string()
|
|
3433
|
-
created_at: z.iso.datetime()
|
|
3434
|
-
updated_at: z.iso.datetime()
|
|
3435
|
-
}))
|
|
3515
|
+
id: z.string(),
|
|
3516
|
+
user_id: z.string(),
|
|
3517
|
+
updated_by_user_id: z.string(),
|
|
3518
|
+
created_at: z.iso.datetime(),
|
|
3519
|
+
updated_at: z.iso.datetime()
|
|
3520
|
+
}))
|
|
3436
3521
|
});
|
|
3437
3522
|
/**
|
|
3438
3523
|
* A page of change events for form submissions, written at archival time; archiving hard-deletes the live row, so this feed is the deletion signal the main index cannot give. Visibility derives from metadata retained at archival time — a subset of the live submission index, never a superset.
|
|
@@ -3450,17 +3535,17 @@ export const zFormSubmissionDeltasResponse = z.object({
|
|
|
3450
3535
|
* A page of change events (create, update, destroy) for time entries, drawn from version history; scoped by the surviving parent time card, so a destroyed entry's history stays visible.
|
|
3451
3536
|
*/
|
|
3452
3537
|
export const zTimeEntryDeltasResponse = z.object({
|
|
3453
|
-
meta: zDeltaMeta
|
|
3454
|
-
links: zLinks
|
|
3538
|
+
meta: zDeltaMeta,
|
|
3539
|
+
links: zLinks,
|
|
3455
3540
|
data: z.array(z.object({
|
|
3456
3541
|
event: z.enum([
|
|
3457
3542
|
'create',
|
|
3458
3543
|
'update',
|
|
3459
3544
|
'destroy'
|
|
3460
|
-
])
|
|
3461
|
-
id: z.string()
|
|
3462
|
-
timestamp: z.iso.datetime()
|
|
3463
|
-
}))
|
|
3545
|
+
]),
|
|
3546
|
+
id: z.string(),
|
|
3547
|
+
timestamp: z.iso.datetime()
|
|
3548
|
+
}))
|
|
3464
3549
|
});
|
|
3465
3550
|
/**
|
|
3466
3551
|
* A page of pay periods. A pay period is a bounded pay window generated automatically by its pay schedule (PayPeriodConfig), so this API is read-only.
|
|
@@ -3469,15 +3554,15 @@ export const zPayPeriodsResponseObject = z.object({
|
|
|
3469
3554
|
meta: zMeta,
|
|
3470
3555
|
links: zLinks,
|
|
3471
3556
|
data: z.array(z.object({
|
|
3472
|
-
id: z.string()
|
|
3473
|
-
timekeeping_pay_period_config_id: z.string()
|
|
3474
|
-
pay_date: z.iso.date()
|
|
3475
|
-
start_time: z.iso.datetime()
|
|
3476
|
-
end_time: z.iso.datetime()
|
|
3477
|
-
pay_run_deadline: z.iso.datetime()
|
|
3478
|
-
approvals_deadline: z.iso.datetime()
|
|
3479
|
-
created_at: z.iso.datetime()
|
|
3480
|
-
updated_at: z.iso.datetime()
|
|
3557
|
+
id: z.string(),
|
|
3558
|
+
timekeeping_pay_period_config_id: z.string(),
|
|
3559
|
+
pay_date: z.iso.date(),
|
|
3560
|
+
start_time: z.iso.datetime(),
|
|
3561
|
+
end_time: z.iso.datetime(),
|
|
3562
|
+
pay_run_deadline: z.iso.datetime(),
|
|
3563
|
+
approvals_deadline: z.iso.datetime(),
|
|
3564
|
+
created_at: z.iso.datetime(),
|
|
3565
|
+
updated_at: z.iso.datetime()
|
|
3481
3566
|
}))
|
|
3482
3567
|
});
|
|
3483
3568
|
/**
|
|
@@ -3540,9 +3625,9 @@ export const zCertificationsResponseObject = z.object({
|
|
|
3540
3625
|
* A page of certifications held by your company's workers.
|
|
3541
3626
|
*/
|
|
3542
3627
|
export const zUserCertificationsResponseObj = z.object({
|
|
3543
|
-
meta: zMeta
|
|
3544
|
-
links: zLinks
|
|
3545
|
-
data: z.array(zUserCertificationResponseObject)
|
|
3628
|
+
meta: zMeta,
|
|
3629
|
+
links: zLinks,
|
|
3630
|
+
data: z.array(zUserCertificationResponseObject)
|
|
3546
3631
|
});
|
|
3547
3632
|
/**
|
|
3548
3633
|
* A timestamp range filter on a date/time field, supplied as `filter[field][gte]` and/or `filter[field][lte]`; omit or null a bound for an open-ended range.
|
|
@@ -3556,7 +3641,6 @@ export const zDateTimeFilter = z.object({
|
|
|
3556
3641
|
*/
|
|
3557
3642
|
export const zWageDeterminationResponseObject = z.object({
|
|
3558
3643
|
id: z.string(),
|
|
3559
|
-
uid: z.string(),
|
|
3560
3644
|
general_decision_number: z.string(),
|
|
3561
3645
|
modification_number: z.int(),
|
|
3562
3646
|
superseded_by_wage_determination_id: z.string().nullable(),
|
|
@@ -3604,7 +3688,6 @@ export const zLaborRatesResponseObject = z.object({
|
|
|
3604
3688
|
*/
|
|
3605
3689
|
export const zFederalJobWageDeterminationResponseObject = z.object({
|
|
3606
3690
|
id: z.string(),
|
|
3607
|
-
uid: z.string(),
|
|
3608
3691
|
job_id: z.string(),
|
|
3609
3692
|
pwa_trade_id: z.string(),
|
|
3610
3693
|
type: z.enum(['Pwa::JobWageDeterminations::Federal']),
|
|
@@ -3617,7 +3700,28 @@ export const zFederalJobWageDeterminationResponseObject = z.object({
|
|
|
3617
3700
|
'heavy',
|
|
3618
3701
|
'highway',
|
|
3619
3702
|
'residential'
|
|
3620
|
-
]),
|
|
3703
|
+
]).nullable(),
|
|
3704
|
+
general_wage_determination: z.string().nullable(),
|
|
3705
|
+
valid_from: z.iso.datetime().nullable(),
|
|
3706
|
+
valid_to: z.iso.datetime().nullable(),
|
|
3707
|
+
created_at: z.iso.datetime(),
|
|
3708
|
+
updated_at: z.iso.datetime()
|
|
3709
|
+
});
|
|
3710
|
+
export const zFederalJobWageDeterminationHistoryCorrectionObject = z.object({
|
|
3711
|
+
job_wage_determination_id: z.string(),
|
|
3712
|
+
job_id: z.string(),
|
|
3713
|
+
pwa_trade_id: z.string(),
|
|
3714
|
+
type: z.enum(['Pwa::JobWageDeterminations::Federal']),
|
|
3715
|
+
labor_classification: z.string(),
|
|
3716
|
+
hourly_rate_cents: z.string(),
|
|
3717
|
+
fringe_rate_cents: z.string(),
|
|
3718
|
+
class_code: z.string().nullable(),
|
|
3719
|
+
construction_category: z.enum([
|
|
3720
|
+
'building',
|
|
3721
|
+
'heavy',
|
|
3722
|
+
'highway',
|
|
3723
|
+
'residential'
|
|
3724
|
+
]).nullable(),
|
|
3621
3725
|
general_wage_determination: z.string().nullable(),
|
|
3622
3726
|
valid_from: z.iso.datetime().nullable(),
|
|
3623
3727
|
valid_to: z.iso.datetime().nullable(),
|
|
@@ -3626,8 +3730,37 @@ export const zFederalJobWageDeterminationResponseObject = z.object({
|
|
|
3626
3730
|
});
|
|
3627
3731
|
/**
|
|
3628
3732
|
* State-specific rate fields for a Regional determination, as decimal-string money in cents
|
|
3629
|
-
* (e.g. "538.0").
|
|
3630
|
-
*
|
|
3733
|
+
* (e.g. "538.0"). These nine properties are the whole write vocabulary, but which of them a
|
|
3734
|
+
* request may send is set by the job's region, not the request — sending a key the job's
|
|
3735
|
+
* region does not allow returns a 422:
|
|
3736
|
+
*
|
|
3737
|
+
* - Categorized-fringe regions (currently IL) accept `combined_health_fringe_rate_cents`,
|
|
3738
|
+
* `combined_savings_fringe_rate_cents`, `combined_holiday_pto_fringe_rate_cents`,
|
|
3739
|
+
* `training_fringe_rate_cents`, and `other_fringe_rate_cents`.
|
|
3740
|
+
* - Overtime-adder regions (currently IL and NY) accept `one_five_x_adder_rate_cents`,
|
|
3741
|
+
* `two_x_adder_rate_cents`, `one_five_x_fringe_adder_rate_cents`, and
|
|
3742
|
+
* `two_x_fringe_adder_rate_cents`.
|
|
3743
|
+
*
|
|
3744
|
+
* In a categorized-fringe region the five fringe keys are required, not merely accepted —
|
|
3745
|
+
* omitting any of them returns a 422. Categorized-fringe values are non-null when present;
|
|
3746
|
+
* overtime-adder values may be null.
|
|
3747
|
+
*
|
|
3748
|
+
*/
|
|
3749
|
+
export const zRegionalWageDeterminationFields = z.object({
|
|
3750
|
+
combined_health_fringe_rate_cents: z.string().optional(),
|
|
3751
|
+
combined_savings_fringe_rate_cents: z.string().optional(),
|
|
3752
|
+
combined_holiday_pto_fringe_rate_cents: z.string().optional(),
|
|
3753
|
+
training_fringe_rate_cents: z.string().optional(),
|
|
3754
|
+
other_fringe_rate_cents: z.string().optional(),
|
|
3755
|
+
one_five_x_adder_rate_cents: z.string().nullish(),
|
|
3756
|
+
two_x_adder_rate_cents: z.string().nullish(),
|
|
3757
|
+
one_five_x_fringe_adder_rate_cents: z.string().nullish(),
|
|
3758
|
+
two_x_fringe_adder_rate_cents: z.string().nullish()
|
|
3759
|
+
});
|
|
3760
|
+
/**
|
|
3761
|
+
* State-specific rate fields recorded on a Regional determination, as decimal-string money in
|
|
3762
|
+
* cents (e.g. "538.0"). Which keys appear is set by the job's region, so this object is always
|
|
3763
|
+
* a region-determined subset of the nine keys the write side accepts — never a fixed shape:
|
|
3631
3764
|
*
|
|
3632
3765
|
* - Categorized-fringe regions (currently IL) carry `combined_health_fringe_rate_cents`,
|
|
3633
3766
|
* `combined_savings_fringe_rate_cents`, `combined_holiday_pto_fringe_rate_cents`,
|
|
@@ -3637,18 +3770,15 @@ export const zFederalJobWageDeterminationResponseObject = z.object({
|
|
|
3637
3770
|
* `two_x_fringe_adder_rate_cents`.
|
|
3638
3771
|
* - A region with neither returns an empty object.
|
|
3639
3772
|
*
|
|
3640
|
-
*
|
|
3641
|
-
* allow returns a 422. Categorized-fringe values are non-null when present; overtime-adder values
|
|
3642
|
-
* may be null.
|
|
3773
|
+
* Categorized-fringe values are non-null when present; overtime-adder values may be null.
|
|
3643
3774
|
*
|
|
3644
3775
|
*/
|
|
3645
|
-
export const
|
|
3776
|
+
export const zRegionalWageDeterminationFieldsResponse = z.record(z.string(), z.string().nullable());
|
|
3646
3777
|
/**
|
|
3647
3778
|
* A Regional (state prevailing-wage) wage determination on a job.
|
|
3648
3779
|
*/
|
|
3649
3780
|
export const zRegionalJobWageDeterminationResponseObject = z.object({
|
|
3650
3781
|
id: z.string(),
|
|
3651
|
-
uid: z.string(),
|
|
3652
3782
|
job_id: z.string(),
|
|
3653
3783
|
pwa_trade_id: z.string(),
|
|
3654
3784
|
type: z.enum(['Pwa::JobWageDeterminations::Regional']),
|
|
@@ -3656,7 +3786,7 @@ export const zRegionalJobWageDeterminationResponseObject = z.object({
|
|
|
3656
3786
|
hourly_rate_cents: z.string(),
|
|
3657
3787
|
fringe_rate_cents: z.string(),
|
|
3658
3788
|
general_wage_determination: z.string().nullable(),
|
|
3659
|
-
regional_fields:
|
|
3789
|
+
regional_fields: zRegionalWageDeterminationFieldsResponse,
|
|
3660
3790
|
valid_from: z.iso.datetime().nullable(),
|
|
3661
3791
|
valid_to: z.iso.datetime().nullable(),
|
|
3662
3792
|
created_at: z.iso.datetime(),
|
|
@@ -3669,9 +3799,27 @@ export const zJobWageDeterminationResponseObject = z.discriminatedUnion('type',
|
|
|
3669
3799
|
zFederalJobWageDeterminationResponseObject.extend({ type: z.literal('Pwa::JobWageDeterminations::Federal') }),
|
|
3670
3800
|
zRegionalJobWageDeterminationResponseObject.extend({ type: z.literal('Pwa::JobWageDeterminations::Regional') })
|
|
3671
3801
|
]);
|
|
3802
|
+
export const zRegionalJobWageDeterminationHistoryCorrectionObject = z.object({
|
|
3803
|
+
job_wage_determination_id: z.string(),
|
|
3804
|
+
job_id: z.string(),
|
|
3805
|
+
pwa_trade_id: z.string(),
|
|
3806
|
+
type: z.enum(['Pwa::JobWageDeterminations::Regional']),
|
|
3807
|
+
labor_classification: z.string(),
|
|
3808
|
+
hourly_rate_cents: z.string(),
|
|
3809
|
+
fringe_rate_cents: z.string(),
|
|
3810
|
+
general_wage_determination: z.string().nullable(),
|
|
3811
|
+
regional_fields: zRegionalWageDeterminationFieldsResponse,
|
|
3812
|
+
valid_from: z.iso.datetime().nullable(),
|
|
3813
|
+
valid_to: z.iso.datetime().nullable(),
|
|
3814
|
+
created_at: z.iso.datetime(),
|
|
3815
|
+
updated_at: z.iso.datetime()
|
|
3816
|
+
});
|
|
3817
|
+
export const zJobWageDeterminationHistoryCorrectionObject = z.discriminatedUnion('type', [
|
|
3818
|
+
zFederalJobWageDeterminationHistoryCorrectionObject.extend({ type: z.literal('Pwa::JobWageDeterminations::Federal') }),
|
|
3819
|
+
zRegionalJobWageDeterminationHistoryCorrectionObject.extend({ type: z.literal('Pwa::JobWageDeterminations::Regional') })
|
|
3820
|
+
]);
|
|
3672
3821
|
export const zFederalJobWageDeterminationHistoryVersionObject = z.object({
|
|
3673
|
-
|
|
3674
|
-
uid: z.string(),
|
|
3822
|
+
job_wage_determination_id: z.string(),
|
|
3675
3823
|
job_id: z.string(),
|
|
3676
3824
|
pwa_trade_id: z.string(),
|
|
3677
3825
|
type: z.enum(['Pwa::JobWageDeterminations::Federal']),
|
|
@@ -3684,7 +3832,7 @@ export const zFederalJobWageDeterminationHistoryVersionObject = z.object({
|
|
|
3684
3832
|
'heavy',
|
|
3685
3833
|
'highway',
|
|
3686
3834
|
'residential'
|
|
3687
|
-
]),
|
|
3835
|
+
]).nullable(),
|
|
3688
3836
|
general_wage_determination: z.string().nullable(),
|
|
3689
3837
|
valid_from: z.iso.datetime().nullable(),
|
|
3690
3838
|
valid_to: z.iso.datetime().nullable(),
|
|
@@ -3695,11 +3843,10 @@ export const zFederalJobWageDeterminationHistoryVersionObject = z.object({
|
|
|
3695
3843
|
'current',
|
|
3696
3844
|
'historical'
|
|
3697
3845
|
]),
|
|
3698
|
-
corrections: z.array(
|
|
3846
|
+
corrections: z.array(zJobWageDeterminationHistoryCorrectionObject)
|
|
3699
3847
|
});
|
|
3700
3848
|
export const zRegionalJobWageDeterminationHistoryVersionObject = z.object({
|
|
3701
|
-
|
|
3702
|
-
uid: z.string(),
|
|
3849
|
+
job_wage_determination_id: z.string(),
|
|
3703
3850
|
job_id: z.string(),
|
|
3704
3851
|
pwa_trade_id: z.string(),
|
|
3705
3852
|
type: z.enum(['Pwa::JobWageDeterminations::Regional']),
|
|
@@ -3707,7 +3854,7 @@ export const zRegionalJobWageDeterminationHistoryVersionObject = z.object({
|
|
|
3707
3854
|
hourly_rate_cents: z.string(),
|
|
3708
3855
|
fringe_rate_cents: z.string(),
|
|
3709
3856
|
general_wage_determination: z.string().nullable(),
|
|
3710
|
-
regional_fields:
|
|
3857
|
+
regional_fields: zRegionalWageDeterminationFieldsResponse,
|
|
3711
3858
|
valid_from: z.iso.datetime().nullable(),
|
|
3712
3859
|
valid_to: z.iso.datetime().nullable(),
|
|
3713
3860
|
created_at: z.iso.datetime(),
|
|
@@ -3717,7 +3864,7 @@ export const zRegionalJobWageDeterminationHistoryVersionObject = z.object({
|
|
|
3717
3864
|
'current',
|
|
3718
3865
|
'historical'
|
|
3719
3866
|
]),
|
|
3720
|
-
corrections: z.array(
|
|
3867
|
+
corrections: z.array(zJobWageDeterminationHistoryCorrectionObject)
|
|
3721
3868
|
});
|
|
3722
3869
|
export const zJobWageDeterminationHistoryVersionObject = z.discriminatedUnion('type', [
|
|
3723
3870
|
zFederalJobWageDeterminationHistoryVersionObject.extend({ type: z.literal('Pwa::JobWageDeterminations::Federal') }),
|
|
@@ -3738,7 +3885,7 @@ export const zFederalJobWageDeterminationParameters = z.object({
|
|
|
3738
3885
|
'heavy',
|
|
3739
3886
|
'highway',
|
|
3740
3887
|
'residential'
|
|
3741
|
-
]).
|
|
3888
|
+
]).nullish(),
|
|
3742
3889
|
general_wage_determination: z.string().nullish()
|
|
3743
3890
|
});
|
|
3744
3891
|
/**
|
|
@@ -3827,7 +3974,17 @@ export const zRateRuleCondition = z.discriminatedUnion('type', [
|
|
|
3827
3974
|
*/
|
|
3828
3975
|
export const zRateRuleResponseObject = z.object({
|
|
3829
3976
|
id: z.string(),
|
|
3830
|
-
|
|
3977
|
+
job_wage_determination_id: z.string(),
|
|
3978
|
+
pay_rates_rule_package_id: z.string(),
|
|
3979
|
+
effect: zRateRuleEffect,
|
|
3980
|
+
conditions: z.array(zRateRuleCondition),
|
|
3981
|
+
valid_from: z.iso.datetime().nullable(),
|
|
3982
|
+
valid_to: z.iso.datetime().nullable(),
|
|
3983
|
+
created_at: z.iso.datetime(),
|
|
3984
|
+
updated_at: z.iso.datetime()
|
|
3985
|
+
});
|
|
3986
|
+
export const zRateRuleHistoryCorrectionObject = z.object({
|
|
3987
|
+
pay_rates_rule_id: z.string(),
|
|
3831
3988
|
job_wage_determination_id: z.string(),
|
|
3832
3989
|
pay_rates_rule_package_id: z.string(),
|
|
3833
3990
|
effect: zRateRuleEffect,
|
|
@@ -3838,8 +3995,7 @@ export const zRateRuleResponseObject = z.object({
|
|
|
3838
3995
|
updated_at: z.iso.datetime()
|
|
3839
3996
|
});
|
|
3840
3997
|
export const zRateRuleHistoryVersionObject = z.object({
|
|
3841
|
-
|
|
3842
|
-
uid: z.string(),
|
|
3998
|
+
pay_rates_rule_id: z.string(),
|
|
3843
3999
|
job_wage_determination_id: z.string(),
|
|
3844
4000
|
pay_rates_rule_package_id: z.string(),
|
|
3845
4001
|
effect: zRateRuleEffect,
|
|
@@ -3853,7 +4009,7 @@ export const zRateRuleHistoryVersionObject = z.object({
|
|
|
3853
4009
|
'current',
|
|
3854
4010
|
'historical'
|
|
3855
4011
|
]),
|
|
3856
|
-
corrections: z.array(
|
|
4012
|
+
corrections: z.array(zRateRuleHistoryCorrectionObject)
|
|
3857
4013
|
});
|
|
3858
4014
|
/**
|
|
3859
4015
|
* Create a rate rule on a job wage determination. `effect` is required. `conditions` is optional — an omitted or empty list makes the rule always apply. `effective_date` (YYYY-MM-DD) sets when the rule takes effect; it defaults to today and cannot predate the earliest applicable wage determination.
|
|
@@ -3933,7 +4089,7 @@ export const zAssetsFormAssignmentTriggerResponseObject = z.object({
|
|
|
3933
4089
|
'BIWEEKLY',
|
|
3934
4090
|
'MONTHLY',
|
|
3935
4091
|
'QUARTERLY'
|
|
3936
|
-
]),
|
|
4092
|
+
]).nullable(),
|
|
3937
4093
|
first_due_by: z.enum([
|
|
3938
4094
|
'day_of_event',
|
|
3939
4095
|
'day_of_week',
|
|
@@ -3975,7 +4131,7 @@ export const zAssetsFormAssignmentTriggerParameters = z.object({
|
|
|
3975
4131
|
'BIWEEKLY',
|
|
3976
4132
|
'MONTHLY',
|
|
3977
4133
|
'QUARTERLY'
|
|
3978
|
-
]).
|
|
4134
|
+
]).nullish(),
|
|
3979
4135
|
day_of_week_due: z.int().nullish(),
|
|
3980
4136
|
day_of_month_due: z.int().nullish(),
|
|
3981
4137
|
assigned_user_ids: z.array(z.string()).optional(),
|
|
@@ -3988,7 +4144,7 @@ export const zAssetsAttachmentResponseObject = z.object({
|
|
|
3988
4144
|
id: z.string(),
|
|
3989
4145
|
file: z.object({
|
|
3990
4146
|
filename: z.string(),
|
|
3991
|
-
content_type: z.string().
|
|
4147
|
+
content_type: z.string().nullable(),
|
|
3992
4148
|
byte_size: z.int(),
|
|
3993
4149
|
url: z.string()
|
|
3994
4150
|
}).nullable(),
|
|
@@ -4035,7 +4191,7 @@ export const zAssetsItemResponseObject = z.object({
|
|
|
4035
4191
|
'available',
|
|
4036
4192
|
'assigned',
|
|
4037
4193
|
'retired'
|
|
4038
|
-
]),
|
|
4194
|
+
]).nullable(),
|
|
4039
4195
|
purchase_date: z.iso.datetime().nullable(),
|
|
4040
4196
|
purchase_price_cents: z.string().nullable(),
|
|
4041
4197
|
currency: z.string().nullable(),
|
|
@@ -4150,7 +4306,7 @@ export const zAssetsDocumentResponseObject = z.object({
|
|
|
4150
4306
|
created_by_user_id: z.string(),
|
|
4151
4307
|
file: z.object({
|
|
4152
4308
|
filename: z.string(),
|
|
4153
|
-
content_type: z.string().
|
|
4309
|
+
content_type: z.string().nullable(),
|
|
4154
4310
|
byte_size: z.int(),
|
|
4155
4311
|
url: z.string()
|
|
4156
4312
|
}).nullable(),
|
|
@@ -4188,7 +4344,7 @@ export const zAssetsItemFormAssignmentResponseObject = z.object({
|
|
|
4188
4344
|
form_definition_id: z.string(),
|
|
4189
4345
|
name: z.string(),
|
|
4190
4346
|
description: z.string().nullable(),
|
|
4191
|
-
tz_name: z.string()
|
|
4347
|
+
tz_name: z.string(),
|
|
4192
4348
|
time_due: z.iso.datetime().nullable(),
|
|
4193
4349
|
frequency: z.enum([
|
|
4194
4350
|
'DAILY',
|
|
@@ -4198,12 +4354,12 @@ export const zAssetsItemFormAssignmentResponseObject = z.object({
|
|
|
4198
4354
|
'BIWEEKLY',
|
|
4199
4355
|
'MONTHLY',
|
|
4200
4356
|
'QUARTERLY'
|
|
4201
|
-
]),
|
|
4357
|
+
]).nullable(),
|
|
4202
4358
|
recurrence_end_time: z.iso.datetime().nullable(),
|
|
4203
4359
|
task_assignee_user_ids: z.array(z.string()),
|
|
4204
4360
|
reminders: z.array(z.object({
|
|
4205
|
-
offset: z.string()
|
|
4206
|
-
remind_at: z.iso.datetime()
|
|
4361
|
+
offset: z.string(),
|
|
4362
|
+
remind_at: z.iso.datetime()
|
|
4207
4363
|
}))
|
|
4208
4364
|
});
|
|
4209
4365
|
/**
|
|
@@ -4227,7 +4383,7 @@ export const zAssetsItemFormAssignmentParameters = z.object({
|
|
|
4227
4383
|
'BIWEEKLY',
|
|
4228
4384
|
'MONTHLY',
|
|
4229
4385
|
'QUARTERLY'
|
|
4230
|
-
]).
|
|
4386
|
+
]).nullish(),
|
|
4231
4387
|
recurrence_end_time: z.iso.datetime().nullish(),
|
|
4232
4388
|
task_assignee_user_ids: z.array(z.string()).optional(),
|
|
4233
4389
|
reminders_attributes: z.array(z.object({
|
|
@@ -6047,8 +6203,8 @@ export const zCreateJobTradePath = z.object({
|
|
|
6047
6203
|
export const zCreateJobTradeResponse = zPwaTradeResponseObject;
|
|
6048
6204
|
export const zListRateRuleHistoryPath = z.object({
|
|
6049
6205
|
job_id: z.string(),
|
|
6050
|
-
|
|
6051
|
-
|
|
6206
|
+
wage_determination_id: z.string(),
|
|
6207
|
+
rate_rule_id: z.string()
|
|
6052
6208
|
});
|
|
6053
6209
|
export const zListRateRuleHistoryQuery = z.object({
|
|
6054
6210
|
'as_of[valid]': z.string().optional()
|
|
@@ -6063,7 +6219,7 @@ export const zListRateRuleHistoryResponse = z.object({
|
|
|
6063
6219
|
});
|
|
6064
6220
|
export const zListRateRulesPath = z.object({
|
|
6065
6221
|
job_id: z.string(),
|
|
6066
|
-
|
|
6222
|
+
wage_determination_id: z.string()
|
|
6067
6223
|
});
|
|
6068
6224
|
export const zListRateRulesQuery = z.object({
|
|
6069
6225
|
'as_of[valid]': z.iso.datetime().optional(),
|
|
@@ -6083,7 +6239,7 @@ export const zListRateRulesResponse = z.object({
|
|
|
6083
6239
|
export const zCreateRateRuleBody = zRateRuleParameters;
|
|
6084
6240
|
export const zCreateRateRulePath = z.object({
|
|
6085
6241
|
job_id: z.string(),
|
|
6086
|
-
|
|
6242
|
+
wage_determination_id: z.string()
|
|
6087
6243
|
});
|
|
6088
6244
|
/**
|
|
6089
6245
|
* Created
|
|
@@ -6091,8 +6247,8 @@ export const zCreateRateRulePath = z.object({
|
|
|
6091
6247
|
export const zCreateRateRuleResponse = zRateRuleResponseObject;
|
|
6092
6248
|
export const zGetRateRulePath = z.object({
|
|
6093
6249
|
job_id: z.string(),
|
|
6094
|
-
|
|
6095
|
-
|
|
6250
|
+
wage_determination_id: z.string(),
|
|
6251
|
+
id: z.string()
|
|
6096
6252
|
});
|
|
6097
6253
|
export const zGetRateRuleQuery = z.object({
|
|
6098
6254
|
'as_of[valid]': z.iso.datetime().optional()
|
|
@@ -6103,7 +6259,7 @@ export const zGetRateRuleQuery = z.object({
|
|
|
6103
6259
|
export const zGetRateRuleResponse = zRateRuleResponseObject;
|
|
6104
6260
|
export const zListJobWageDeterminationHistoryPath = z.object({
|
|
6105
6261
|
job_id: z.string(),
|
|
6106
|
-
|
|
6262
|
+
wage_determination_id: z.string()
|
|
6107
6263
|
});
|
|
6108
6264
|
export const zListJobWageDeterminationHistoryQuery = z.object({
|
|
6109
6265
|
'as_of[valid]': z.string().optional()
|
|
@@ -6147,7 +6303,7 @@ export const zDeleteWageDeterminationHeaders = z.object({
|
|
|
6147
6303
|
});
|
|
6148
6304
|
export const zDeleteWageDeterminationPath = z.object({
|
|
6149
6305
|
job_id: z.string(),
|
|
6150
|
-
|
|
6306
|
+
id: z.string()
|
|
6151
6307
|
});
|
|
6152
6308
|
/**
|
|
6153
6309
|
* Success
|
|
@@ -6155,7 +6311,7 @@ export const zDeleteWageDeterminationPath = z.object({
|
|
|
6155
6311
|
export const zDeleteWageDeterminationResponse = zJobWageDeterminationResponseObject;
|
|
6156
6312
|
export const zGetJobWageDeterminationPath = z.object({
|
|
6157
6313
|
job_id: z.string(),
|
|
6158
|
-
|
|
6314
|
+
id: z.string()
|
|
6159
6315
|
});
|
|
6160
6316
|
export const zGetJobWageDeterminationQuery = z.object({
|
|
6161
6317
|
'as_of[valid]': z.iso.datetime().optional()
|