@dsptch-work/api-client 0.12.0 → 0.14.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.
@@ -138,6 +138,12 @@ export const zProblem = z.object({
138
138
  *
139
139
  * The API key lacks the scope grant for this endpoint and verb. Grant the required scope to the key and retry.
140
140
  *
141
+ * ### user_scoped_key_required
142
+ *
143
+ * **User-Scoped Key Required**
144
+ *
145
+ * The endpoint records which person performed the action, so it needs a credential that names one. The presented key is scoped to the company itself. Retry with a user-scoped API key; no additional scope grant makes a company-scoped key acceptable here.
146
+ *
141
147
  * ## 404
142
148
  *
143
149
  * ### not_found
@@ -349,6 +355,7 @@ export const zProblemTypeCatalog = z.enum([
349
355
  'company_scoped_key_required',
350
356
  'forbidden',
351
357
  'insufficient_api_key_scope',
358
+ 'user_scoped_key_required',
352
359
  'not_found',
353
360
  'already_terminated',
354
361
  'product_archived',
@@ -399,6 +406,7 @@ export const zDirectUploadParameters = z.object({
399
406
  'assets.items.service_events',
400
407
  'assets.products',
401
408
  'assets.vendors',
409
+ 'pay_periods.imports.time_entries',
402
410
  'users'
403
411
  ]),
404
412
  blob: z.object({
@@ -1404,6 +1412,36 @@ export const zPwaTradeResponseObject = z.object({
1404
1412
  export const zPwaTradeParameters = z.object({
1405
1413
  name: z.string()
1406
1414
  });
1415
+ /**
1416
+ * Parameters for renaming a PWA trade (craft). Renaming edits the display label only — the craft's match key and every determination grouped under it are untouched.
1417
+ */
1418
+ export const zPwaTradeUpdateParameters = z.object({
1419
+ name: z.string().optional()
1420
+ });
1421
+ /**
1422
+ * A reviewed apprentice-scope decision pairing a registered apprenticeship occupation with a craft (trade). The row's existence means the pair was reviewed; scope_status carries the verdict. A pair with no row is undecided and denies apprentice treatment.
1423
+ */
1424
+ export const zPwaTradeApprenticeshipOccupationResponseObject = z.object({
1425
+ id: z.string(),
1426
+ pwa_trade_id: z.string(),
1427
+ apprenticeship_occupation_id: z.string(),
1428
+ scope_status: z.enum(['in_scope', 'out_of_scope']),
1429
+ created_at: z.iso.datetime(),
1430
+ updated_at: z.iso.datetime()
1431
+ });
1432
+ /**
1433
+ * Parameters for recording an apprentice-scope decision on a trade.
1434
+ */
1435
+ export const zPwaTradeApprenticeshipOccupationCreateParameters = z.object({
1436
+ apprenticeship_occupation_id: z.string(),
1437
+ scope_status: z.enum(['in_scope', 'out_of_scope']).nullish()
1438
+ });
1439
+ /**
1440
+ * Parameters for flipping an existing apprentice-scope decision's verdict.
1441
+ */
1442
+ export const zPwaTradeApprenticeshipOccupationUpdateParameters = z.object({
1443
+ scope_status: z.enum(['in_scope', 'out_of_scope']).nullish()
1444
+ });
1407
1445
  /**
1408
1446
  * Prevailing-wage / apprenticeship (PWA) compliance details for a job, used in certified-payroll reporting. Fields for every supported state are always present; those outside the job's region come back null. Null on the job when it tracks no PWA compliance.
1409
1447
  */
@@ -1959,6 +1997,40 @@ export const zUserCompanyScheduledChangesResponse = z.object({
1959
1997
  export const zUserCompanyScheduledTerminationParameters = z.object({
1960
1998
  termination_date: z.string()
1961
1999
  });
2000
+ /**
2001
+ * One problem found while processing an accepted import.
2002
+ */
2003
+ export const zTimeEntryImportProcessingError = z.object({
2004
+ code: z.string(),
2005
+ row: z.int().nullable(),
2006
+ column: z.string().nullable(),
2007
+ context: z.record(z.string(), z.unknown())
2008
+ });
2009
+ /**
2010
+ * One bulk upload of time entries against a pay period, and how it turned out.
2011
+ */
2012
+ export const zTimeEntryImportResponseObject = z.object({
2013
+ id: z.string(),
2014
+ pay_period_id: z.string(),
2015
+ status: z.enum([
2016
+ 'pending',
2017
+ 'processing',
2018
+ 'processed',
2019
+ 'success',
2020
+ 'failed'
2021
+ ]),
2022
+ processed_rows_count: z.int(),
2023
+ processing_errors: z.array(zTimeEntryImportProcessingError),
2024
+ completed_at: z.iso.datetime().nullable(),
2025
+ created_at: z.iso.datetime(),
2026
+ updated_at: z.iso.datetime()
2027
+ });
2028
+ /**
2029
+ * Submit a spreadsheet of time entries for a pay period. All seven of payroll_id, start_time, end_time, timecode, job_id, state and description must be present as column headers, or the file is refused naming the ones missing. Of those, payroll_id, start_time, end_time, timecode and state must also carry a value on every row. features, federal_labor_classification and regional_labor_classification are read when present. Header matching ignores case and treats spaces as underscores, and column order does not matter. Any other column is refused: a name this import does not read would be dropped without trace, so the file is rejected naming it rather than applied in part.
2030
+ */
2031
+ export const zTimeEntryImportParameters = z.object({
2032
+ file_signed_id: z.string()
2033
+ });
1962
2034
  /**
1963
2035
  * A worker's time card for one pay period — the aggregation root for their tracked time, carrying approval and lock status alongside the period's rolled-up minutes and pay totals. One per worker per pay period.
1964
2036
  */
@@ -2706,6 +2778,66 @@ export const zComplianceCheckParameters = z.object({
2706
2778
  status: z.enum(['dismissed', 'pending']).optional(),
2707
2779
  time_due: z.iso.datetime().nullish()
2708
2780
  });
2781
+ /**
2782
+ * One compliance requirement from the catalog. Requirements ship with the application, so the catalog reads the same for every company.
2783
+ */
2784
+ export const zComplianceRequirementResponseObject = z.object({
2785
+ id: z.string(),
2786
+ type: z.string(),
2787
+ title: z.string(),
2788
+ description: z.string(),
2789
+ target: z.enum([
2790
+ 'Company',
2791
+ 'Job',
2792
+ 'Project',
2793
+ 'Timekeeping::TimeCard',
2794
+ 'Timekeeping::PayPeriod',
2795
+ 'User',
2796
+ 'UserCompany'
2797
+ ]),
2798
+ category: z.enum([
2799
+ 'apprenticeship',
2800
+ 'certified_payroll',
2801
+ 'company',
2802
+ 'job',
2803
+ 'payroll',
2804
+ 'project',
2805
+ 'regional',
2806
+ 'tax_credit',
2807
+ 'timekeeping',
2808
+ 'worker'
2809
+ ]),
2810
+ phase: z.enum([
2811
+ 'after_pay_date',
2812
+ 'before_approval_deadline',
2813
+ 'close_out',
2814
+ 'maintenance',
2815
+ 'onboarding',
2816
+ 'setup'
2817
+ ]),
2818
+ priority: z.enum([
2819
+ 'critical',
2820
+ 'high',
2821
+ 'medium',
2822
+ 'low'
2823
+ ]).nullable(),
2824
+ requisite: z.enum([
2825
+ 'apprenticeship',
2826
+ 'best_practice',
2827
+ 'dsptch',
2828
+ 'federal_pwa',
2829
+ 'ira',
2830
+ 'ira_tax_credit',
2831
+ 'payroll',
2832
+ 'pwa',
2833
+ 'regional_pwa',
2834
+ 'timekeeping',
2835
+ 'wh347'
2836
+ ]).nullable(),
2837
+ sort_order: z.int(),
2838
+ created_at: z.iso.datetime(),
2839
+ updated_at: z.iso.datetime()
2840
+ });
2709
2841
  /**
2710
2842
  * A worker's individual payment record within a payroll run — a recorded or imported actual payment. Its money detail lives in the paystub's line items; this record carries only identifiers.
2711
2843
  */
@@ -2730,7 +2862,7 @@ export const zPaystubParameters = z.object({
2730
2862
  check_number: z.string().nullish()
2731
2863
  });
2732
2864
  /**
2733
- * An adjustment applied in the current pay period to correct a prior one, tied to the paystub line item it corrects. Read-only.
2865
+ * An adjustment applied in the current pay period to correct a prior one, tied to the paystub line item it corrects.
2734
2866
  */
2735
2867
  export const zPriorPeriodAdjustmentResponseObject = z.object({
2736
2868
  id: z.string(),
@@ -2752,6 +2884,56 @@ export const zPriorPeriodAdjustmentResponseObject = z.object({
2752
2884
  created_at: z.iso.datetime(),
2753
2885
  updated_at: z.iso.datetime()
2754
2886
  });
2887
+ /**
2888
+ * Request body for allocating part of a retroactive-pay line item to an earlier time card. The time card comes from the path; the adjustment is always a retroactive increase.
2889
+ */
2890
+ export const zPriorPeriodAdjustmentParameters = z.object({
2891
+ payrolls_paystub_line_item_id: z.string(),
2892
+ created_by_user_id: z.string(),
2893
+ amount_cents: z.string(),
2894
+ rationale: z.enum([
2895
+ 'hours_correction',
2896
+ 'other',
2897
+ 'pwa_compliance',
2898
+ 'rate_correction'
2899
+ ]),
2900
+ job_id: z.string().nullish(),
2901
+ notes: z.string().nullish(),
2902
+ pwa_compliance_eligible: z.boolean().optional()
2903
+ });
2904
+ /**
2905
+ * What one PWA-tracked job on a time card still owes the worker, from the materialized prevailing-wage compliance view. Read-only.
2906
+ */
2907
+ export const zPwaComplianceResponseObject = z.object({
2908
+ timekeeping_time_card_id: z.string(),
2909
+ timekeeping_pay_period_id: z.string(),
2910
+ job_id: z.string(),
2911
+ user_id: z.string(),
2912
+ pwa_minutes_worked: z.int(),
2913
+ federal_post_interest_outstanding_cents: z.string(),
2914
+ regional_post_interest_outstanding_cents: z.string(),
2915
+ pwa_adjustments_cents: z.string(),
2916
+ federal_balance_due_cents: z.string(),
2917
+ regional_balance_due_cents: z.string(),
2918
+ balance_due_cents: z.string(),
2919
+ all_actuals_exist: z.boolean(),
2920
+ compliant: z.boolean()
2921
+ });
2922
+ /**
2923
+ * A retroactive-pay line item that can fund a prior period adjustment on the time card it was requested for. Read-only.
2924
+ */
2925
+ export const zAdjustableLineItemResponseObject = z.object({
2926
+ id: z.string(),
2927
+ payrolls_paystub_id: z.string().nullable(),
2928
+ payrolls_payroll_run_id: z.string().nullable(),
2929
+ payrolls_external_map_id: z.string(),
2930
+ user_id: z.string().nullable(),
2931
+ amount_cents: z.string(),
2932
+ contributor: z.enum(['employee', 'employer']),
2933
+ adjustable_amount_cents: z.string(),
2934
+ created_at: z.iso.datetime(),
2935
+ updated_at: z.iso.datetime()
2936
+ });
2755
2937
  /**
2756
2938
  * What a worker was actually paid for a pay period, derived from imported paystub line items — gross and net pay, employee deductions (taxes, insurance, savings, garnishments), and employer contributions. Read-only. Every amount is a decimal string of cents.
2757
2939
  */
@@ -3936,6 +4118,7 @@ export const zRegionalJobWageDeterminationParameters = z.object({
3936
4118
  hourly_rate_cents: z.string(),
3937
4119
  fringe_rate_cents: z.string().optional(),
3938
4120
  general_wage_determination: z.string().nullish(),
4121
+ overtime_package_id: z.string().nullish(),
3939
4122
  regional_fields: zRegionalWageDeterminationFields.optional()
3940
4123
  });
3941
4124
  /**
@@ -3950,6 +4133,7 @@ export const zJobWageDeterminationParameters = z.discriminatedUnion('type', [
3950
4133
  */
3951
4134
  export const zJobWageDeterminationUpdateParameters = z.object({
3952
4135
  effective_from: z.iso.date().optional(),
4136
+ overtime_package_id: z.string().nullish(),
3953
4137
  labor_classification: z.string().optional(),
3954
4138
  pwa_trade_id: z.string().optional(),
3955
4139
  hourly_rate_cents: z.string().optional(),
@@ -3970,7 +4154,6 @@ export const zJobWageDeterminationUpdateParameters = z.object({
3970
4154
  export const zJobWageDeterminationScheduledChangeParameters = z.object({
3971
4155
  effective_date: z.iso.date(),
3972
4156
  labor_classification: z.string().optional(),
3973
- pwa_trade_id: z.string().optional(),
3974
4157
  hourly_rate_cents: z.string().optional(),
3975
4158
  fringe_rate_cents: z.string().optional(),
3976
4159
  class_code: z.string().nullish(),
@@ -4099,6 +4282,177 @@ export const zRateRuleHistoryVersionObject = z.object({
4099
4282
  ]),
4100
4283
  corrections: z.array(zRateRuleHistoryCorrectionObject)
4101
4284
  });
4285
+ /**
4286
+ * An overtime rule (daily or weekly) belonging to an overtime package. It sets a pay multiplier that applies once a worked-hours threshold — and any day or date qualifier — is met. `valid_from`/`valid_to` bound the window this version is in effect.
4287
+ */
4288
+ export const zOvertimeRuleResponseObject = z.object({
4289
+ id: z.string(),
4290
+ overtime_package_id: z.string(),
4291
+ type: z.enum(['DailyOvertimeRule', 'WeeklyOvertimeRule']),
4292
+ rate_multiplier: z.enum([
4293
+ 'one_x',
4294
+ 'one_five_x',
4295
+ 'two_x'
4296
+ ]),
4297
+ region_id: z.string().nullable(),
4298
+ eligible_hours_worked: z.int().nullable(),
4299
+ specific_day_of_week: z.enum([
4300
+ 'sunday',
4301
+ 'monday',
4302
+ 'tuesday',
4303
+ 'wednesday',
4304
+ 'thursday',
4305
+ 'friday',
4306
+ 'saturday'
4307
+ ]).nullable(),
4308
+ specific_date: z.iso.date().nullable(),
4309
+ valid_from: z.iso.datetime().nullable(),
4310
+ valid_to: z.iso.datetime().nullable(),
4311
+ created_at: z.iso.datetime().nullable(),
4312
+ updated_at: z.iso.datetime().nullable()
4313
+ });
4314
+ export const zOvertimeRuleHistoryCorrectionObject = z.object({
4315
+ overtime_rule_id: z.string(),
4316
+ overtime_package_id: z.string(),
4317
+ type: z.enum(['DailyOvertimeRule', 'WeeklyOvertimeRule']),
4318
+ rate_multiplier: z.enum([
4319
+ 'one_x',
4320
+ 'one_five_x',
4321
+ 'two_x'
4322
+ ]),
4323
+ region_id: z.string().nullable(),
4324
+ eligible_hours_worked: z.int().nullable(),
4325
+ specific_day_of_week: z.enum([
4326
+ 'sunday',
4327
+ 'monday',
4328
+ 'tuesday',
4329
+ 'wednesday',
4330
+ 'thursday',
4331
+ 'friday',
4332
+ 'saturday'
4333
+ ]).nullable(),
4334
+ specific_date: z.iso.date().nullable(),
4335
+ valid_from: z.iso.datetime().nullable(),
4336
+ valid_to: z.iso.datetime().nullable(),
4337
+ created_at: z.iso.datetime().nullable(),
4338
+ updated_at: z.iso.datetime().nullable()
4339
+ });
4340
+ export const zOvertimeRuleHistoryVersionObject = z.object({
4341
+ overtime_rule_id: z.string(),
4342
+ overtime_package_id: z.string(),
4343
+ type: z.enum(['DailyOvertimeRule', 'WeeklyOvertimeRule']),
4344
+ rate_multiplier: z.enum([
4345
+ 'one_x',
4346
+ 'one_five_x',
4347
+ 'two_x'
4348
+ ]),
4349
+ region_id: z.string().nullable(),
4350
+ eligible_hours_worked: z.int().nullable(),
4351
+ specific_day_of_week: z.enum([
4352
+ 'sunday',
4353
+ 'monday',
4354
+ 'tuesday',
4355
+ 'wednesday',
4356
+ 'thursday',
4357
+ 'friday',
4358
+ 'saturday'
4359
+ ]).nullable(),
4360
+ specific_date: z.iso.date().nullable(),
4361
+ valid_from: z.iso.datetime().nullable(),
4362
+ valid_to: z.iso.datetime().nullable(),
4363
+ created_at: z.iso.datetime().nullable(),
4364
+ updated_at: z.iso.datetime().nullable(),
4365
+ version_status: z.enum([
4366
+ 'scheduled',
4367
+ 'current',
4368
+ 'historical'
4369
+ ]),
4370
+ corrections: z.array(zOvertimeRuleHistoryCorrectionObject)
4371
+ });
4372
+ /**
4373
+ * Create an overtime rule on the package. `type` and `rate_multiplier` are required; the qualifiers below are optional and describe when the multiplier applies.
4374
+ */
4375
+ export const zOvertimeRuleParameters = z.object({
4376
+ effective_date: z.iso.date().optional(),
4377
+ type: z.enum(['DailyOvertimeRule', 'WeeklyOvertimeRule']),
4378
+ rate_multiplier: z.enum([
4379
+ 'one_x',
4380
+ 'one_five_x',
4381
+ 'two_x'
4382
+ ]),
4383
+ region_id: z.string().nullish(),
4384
+ eligible_hours_worked: z.int().nullish(),
4385
+ specific_day_of_week: z.enum([
4386
+ 'sunday',
4387
+ 'monday',
4388
+ 'tuesday',
4389
+ 'wednesday',
4390
+ 'thursday',
4391
+ 'friday',
4392
+ 'saturday'
4393
+ ]).nullish(),
4394
+ specific_date: z.iso.date().nullish()
4395
+ });
4396
+ /**
4397
+ * Edit the rule from a point in valid time forward. `type` is required, since it selects how the rule is compiled, and `rate_multiplier` carries forward when omitted. Everything describing *when* the multiplier applies — `region_id`, `eligible_hours_worked`, `specific_day_of_week`, `specific_date` — is recompiled from the body on every write, so omitting one drops it rather than keeping it. State the whole set of qualifiers you want, not just the ones you are changing.
4398
+ */
4399
+ export const zOvertimeRuleUpdateParameters = z.object({
4400
+ effective_from: z.iso.date().optional(),
4401
+ type: z.enum(['DailyOvertimeRule', 'WeeklyOvertimeRule']),
4402
+ rate_multiplier: z.enum([
4403
+ 'one_x',
4404
+ 'one_five_x',
4405
+ 'two_x'
4406
+ ]).optional(),
4407
+ region_id: z.string().nullish(),
4408
+ eligible_hours_worked: z.int().nullish(),
4409
+ specific_day_of_week: z.enum([
4410
+ 'sunday',
4411
+ 'monday',
4412
+ 'tuesday',
4413
+ 'wednesday',
4414
+ 'thursday',
4415
+ 'friday',
4416
+ 'saturday'
4417
+ ]).nullish(),
4418
+ specific_date: z.iso.date().nullish()
4419
+ });
4420
+ /**
4421
+ * Schedule an effective-dated change to the rule, applying from a calendar date forward. `type` is required, since it selects how the rule is compiled, and `rate_multiplier` carries forward when omitted. Everything describing *when* the multiplier applies — `region_id`, `eligible_hours_worked`, `specific_day_of_week`, `specific_date` — is recompiled from the body on every write, so omitting one drops it rather than keeping it. State the whole set of qualifiers you want, not just the ones you are changing.
4422
+ */
4423
+ export const zOvertimeRuleScheduledChangeParameters = z.object({
4424
+ effective_date: z.iso.date(),
4425
+ type: z.enum(['DailyOvertimeRule', 'WeeklyOvertimeRule']),
4426
+ rate_multiplier: z.enum([
4427
+ 'one_x',
4428
+ 'one_five_x',
4429
+ 'two_x'
4430
+ ]).optional(),
4431
+ region_id: z.string().nullish(),
4432
+ eligible_hours_worked: z.int().nullish(),
4433
+ specific_day_of_week: z.enum([
4434
+ 'sunday',
4435
+ 'monday',
4436
+ 'tuesday',
4437
+ 'wednesday',
4438
+ 'thursday',
4439
+ 'friday',
4440
+ 'saturday'
4441
+ ]).nullish(),
4442
+ specific_date: z.iso.date().nullish()
4443
+ });
4444
+ /**
4445
+ * Parameters for moving where an overtime rule's timeline begins.
4446
+ */
4447
+ export const zOvertimeRuleGenesisParameters = z.object({
4448
+ effective_date: z.iso.date()
4449
+ });
4450
+ /**
4451
+ * Schedule when the overtime rule stops being valid.
4452
+ */
4453
+ export const zOvertimeRuleScheduledTerminationParameters = z.object({
4454
+ effective_date: z.iso.date()
4455
+ });
4102
4456
  /**
4103
4457
  * 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.
4104
4458
  */
@@ -6177,6 +6531,28 @@ export const zUpdateCheckPath = z.object({
6177
6531
  * Success
6178
6532
  */
6179
6533
  export const zUpdateCheckResponse = zComplianceCheckResponseObject;
6534
+ export const zListRequirementsQuery = z.object({
6535
+ 'filter[search]': z.string().optional(),
6536
+ 'filter[type]': z.string().optional(),
6537
+ 'filter[category]': z.string().optional(),
6538
+ 'filter[phase]': z.string().optional(),
6539
+ 'filter[priority]': z.string().optional(),
6540
+ 'filter[requisite]': z.string().optional(),
6541
+ 'filter[target]': z.string().optional(),
6542
+ filter: z.string().optional(),
6543
+ 'filter[unexpected]': z.string().optional(),
6544
+ 'page[cursor]': z.string().optional(),
6545
+ 'page[limit]': z.int().gte(1).optional().default(20),
6546
+ page: z.string().optional()
6547
+ });
6548
+ /**
6549
+ * Success
6550
+ */
6551
+ export const zListRequirementsResponse = z.object({
6552
+ meta: zMeta,
6553
+ links: zLinks,
6554
+ data: z.array(zComplianceRequirementResponseObject)
6555
+ });
6180
6556
  export const zListCustomFieldConfigsQuery = z.object({
6181
6557
  'page[cursor]': z.string().optional(),
6182
6558
  'page[limit]': z.int().gte(1).optional().default(20),
@@ -6658,6 +7034,19 @@ export const zUpdateJobPath = z.object({
6658
7034
  * Success
6659
7035
  */
6660
7036
  export const zUpdateJobResponse = zJobResponseObject;
7037
+ /**
7038
+ * Success
7039
+ */
7040
+ export const zGetOpenapiDocumentResponse = z.object({
7041
+ openapi: z.string(),
7042
+ info: z.record(z.string(), z.unknown()),
7043
+ externalDocs: z.record(z.string(), z.unknown()),
7044
+ tags: z.array(z.record(z.string(), z.unknown())),
7045
+ 'x-tagGroups': z.array(z.record(z.string(), z.unknown())),
7046
+ paths: z.record(z.string(), z.unknown()),
7047
+ servers: z.array(z.record(z.string(), z.unknown())),
7048
+ components: z.record(z.string(), z.unknown())
7049
+ });
6661
7050
  export const zListSiteCheckInsPath = z.object({
6662
7051
  site_id: z.string()
6663
7052
  });
@@ -6691,6 +7080,193 @@ export const zGetSiteCheckInPath = z.object({
6691
7080
  * Success
6692
7081
  */
6693
7082
  export const zGetSiteCheckInResponse = zSiteCheckInResponseObject;
7083
+ export const zShiftOvertimeRuleGenesisBody = zOvertimeRuleGenesisParameters;
7084
+ export const zShiftOvertimeRuleGenesisHeaders = z.object({
7085
+ 'If-Match': z.string()
7086
+ });
7087
+ export const zShiftOvertimeRuleGenesisPath = z.object({
7088
+ overtime_package_id: z.string(),
7089
+ overtime_rule_id: z.string()
7090
+ });
7091
+ /**
7092
+ * Success
7093
+ */
7094
+ export const zShiftOvertimeRuleGenesisResponse = zOvertimeRuleResponseObject;
7095
+ export const zListOvertimeRuleHistoryPath = z.object({
7096
+ overtime_package_id: z.string(),
7097
+ overtime_rule_id: z.string()
7098
+ });
7099
+ export const zListOvertimeRuleHistoryQuery = z.object({
7100
+ 'as_of[valid]': z.string().optional()
7101
+ });
7102
+ /**
7103
+ * Success
7104
+ */
7105
+ export const zListOvertimeRuleHistoryResponse = z.object({
7106
+ meta: zMeta,
7107
+ links: zLinks,
7108
+ data: z.array(zOvertimeRuleHistoryVersionObject)
7109
+ });
7110
+ export const zCancelOvertimeRuleScheduledChangesHeaders = z.object({
7111
+ 'If-Match': z.string()
7112
+ });
7113
+ export const zCancelOvertimeRuleScheduledChangesPath = z.object({
7114
+ overtime_package_id: z.string(),
7115
+ overtime_rule_id: z.string()
7116
+ });
7117
+ /**
7118
+ * Success
7119
+ */
7120
+ export const zCancelOvertimeRuleScheduledChangesResponse = zOvertimeRuleResponseObject;
7121
+ export const zListOvertimeRuleScheduledChangesPath = z.object({
7122
+ overtime_package_id: z.string(),
7123
+ overtime_rule_id: z.string()
7124
+ });
7125
+ /**
7126
+ * Success with scheduled changes
7127
+ */
7128
+ export const zListOvertimeRuleScheduledChangesResponse = z.array(zOvertimeRuleResponseObject);
7129
+ export const zScheduleOvertimeRuleChangeBody = zOvertimeRuleScheduledChangeParameters;
7130
+ export const zScheduleOvertimeRuleChangeHeaders = z.object({
7131
+ 'If-Match': z.string()
7132
+ });
7133
+ export const zScheduleOvertimeRuleChangePath = z.object({
7134
+ overtime_package_id: z.string(),
7135
+ overtime_rule_id: z.string()
7136
+ });
7137
+ /**
7138
+ * Success (already scheduled)
7139
+ */
7140
+ export const zScheduleOvertimeRuleChangeResponse = zOvertimeRuleResponseObject;
7141
+ export const zCancelOvertimeRuleScheduledTerminationHeaders = z.object({
7142
+ 'If-Match': z.string()
7143
+ });
7144
+ export const zCancelOvertimeRuleScheduledTerminationPath = z.object({
7145
+ overtime_package_id: z.string(),
7146
+ overtime_rule_id: z.string()
7147
+ });
7148
+ /**
7149
+ * Success
7150
+ */
7151
+ export const zCancelOvertimeRuleScheduledTerminationResponse = zOvertimeRuleResponseObject;
7152
+ export const zScheduleOvertimeRuleTerminationBody = zOvertimeRuleScheduledTerminationParameters;
7153
+ export const zScheduleOvertimeRuleTerminationHeaders = z.object({
7154
+ 'If-Match': z.string()
7155
+ });
7156
+ export const zScheduleOvertimeRuleTerminationPath = z.object({
7157
+ overtime_package_id: z.string(),
7158
+ overtime_rule_id: z.string()
7159
+ });
7160
+ /**
7161
+ * Created
7162
+ */
7163
+ export const zScheduleOvertimeRuleTerminationResponse = zOvertimeRuleResponseObject;
7164
+ export const zListOvertimeRulesPath = z.object({
7165
+ overtime_package_id: z.string()
7166
+ });
7167
+ export const zListOvertimeRulesQuery = z.object({
7168
+ 'as_of[valid]': z.iso.datetime().optional(),
7169
+ as_of: z.string().optional(),
7170
+ 'as_of[bogus_axis]': z.string().optional(),
7171
+ 'as_of[valid][gte]': z.string().optional(),
7172
+ 'as_of[transaction]': z.string().optional(),
7173
+ filter: z.string().optional(),
7174
+ 'filter[unexpected]': z.string().optional(),
7175
+ 'page[cursor]': z.string().optional(),
7176
+ 'page[limit]': z.int().gte(1).optional().default(20),
7177
+ page: z.string().optional()
7178
+ });
7179
+ /**
7180
+ * Success
7181
+ */
7182
+ export const zListOvertimeRulesResponse = z.object({
7183
+ meta: zMeta,
7184
+ links: zLinks,
7185
+ data: z.array(zOvertimeRuleResponseObject)
7186
+ });
7187
+ export const zCreateOvertimeRuleBody = zOvertimeRuleParameters;
7188
+ export const zCreateOvertimeRulePath = z.object({
7189
+ overtime_package_id: z.string()
7190
+ });
7191
+ /**
7192
+ * Created
7193
+ */
7194
+ export const zCreateOvertimeRuleResponse = zOvertimeRuleResponseObject;
7195
+ export const zDeleteOvertimeRuleHeaders = z.object({
7196
+ 'If-Match': z.string()
7197
+ });
7198
+ export const zDeleteOvertimeRulePath = z.object({
7199
+ overtime_package_id: z.string(),
7200
+ id: z.string()
7201
+ });
7202
+ /**
7203
+ * Success
7204
+ */
7205
+ export const zDeleteOvertimeRuleResponse = zOvertimeRuleResponseObject;
7206
+ export const zGetOvertimeRulePath = z.object({
7207
+ overtime_package_id: z.string(),
7208
+ id: z.string()
7209
+ });
7210
+ export const zGetOvertimeRuleQuery = z.object({
7211
+ 'as_of[valid]': z.iso.datetime().optional()
7212
+ });
7213
+ /**
7214
+ * Success
7215
+ */
7216
+ export const zGetOvertimeRuleResponse = zOvertimeRuleResponseObject;
7217
+ export const zUpdateOvertimeRuleBody = zOvertimeRuleUpdateParameters;
7218
+ export const zUpdateOvertimeRuleHeaders = z.object({
7219
+ 'If-Match': z.string()
7220
+ });
7221
+ export const zUpdateOvertimeRulePath = z.object({
7222
+ overtime_package_id: z.string(),
7223
+ id: z.string()
7224
+ });
7225
+ /**
7226
+ * Success
7227
+ */
7228
+ export const zUpdateOvertimeRuleResponse = zOvertimeRuleResponseObject;
7229
+ export const zListTimeEntryImportsPath = z.object({
7230
+ pay_period_id: z.string()
7231
+ });
7232
+ export const zListTimeEntryImportsQuery = z.object({
7233
+ 'filter[status]': z.string().optional(),
7234
+ filter: z.string().optional(),
7235
+ 'filter[unexpected]': z.string().optional(),
7236
+ 'filter[completed_at][gte]': z.iso.datetime().optional(),
7237
+ 'filter[completed_at][lte]': z.iso.datetime().optional(),
7238
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
7239
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
7240
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
7241
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
7242
+ 'page[cursor]': z.string().optional(),
7243
+ 'page[limit]': z.int().gte(1).optional().default(20),
7244
+ page: z.string().optional()
7245
+ });
7246
+ /**
7247
+ * Success
7248
+ */
7249
+ export const zListTimeEntryImportsResponse = z.object({
7250
+ meta: zMeta,
7251
+ links: zLinks,
7252
+ data: z.array(zTimeEntryImportResponseObject)
7253
+ });
7254
+ export const zCreateTimeEntryImportBody = zTimeEntryImportParameters;
7255
+ export const zCreateTimeEntryImportPath = z.object({
7256
+ pay_period_id: z.string()
7257
+ });
7258
+ /**
7259
+ * Created
7260
+ */
7261
+ export const zCreateTimeEntryImportResponse = zTimeEntryImportResponseObject;
7262
+ export const zGetTimeEntryImportPath = z.object({
7263
+ pay_period_id: z.string(),
7264
+ id: z.string()
7265
+ });
7266
+ /**
7267
+ * Success
7268
+ */
7269
+ export const zGetTimeEntryImportResponse = zTimeEntryImportResponseObject;
6694
7270
  export const zListPayPeriodsQuery = z.object({
6695
7271
  'filter[start_time][gte]': z.iso.datetime().optional(),
6696
7272
  'filter[start_time][lte]': z.iso.datetime().optional(),
@@ -7156,9 +7732,57 @@ export const zUpdateCompanyUserDetailPath = z.object({
7156
7732
  * Success
7157
7733
  */
7158
7734
  export const zUpdateCompanyUserDetailResponse = zPwaCompanyUserDetailsResponseObject;
7735
+ export const zListApprenticeshipOccupationsPath = z.object({
7736
+ trade_id: z.string()
7737
+ });
7738
+ export const zListApprenticeshipOccupationsQuery = z.object({
7739
+ 'filter[apprenticeship_occupation_id]': z.string().optional(),
7740
+ 'filter[scope_status]': z.enum(['in_scope', 'out_of_scope']).optional(),
7741
+ 'page[cursor]': z.string().optional(),
7742
+ 'page[limit]': z.int().gte(1).optional().default(20),
7743
+ page: z.string().optional(),
7744
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
7745
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
7746
+ filter: z.string().optional(),
7747
+ 'filter[unexpected]': z.string().optional()
7748
+ });
7749
+ /**
7750
+ * Success
7751
+ */
7752
+ export const zListApprenticeshipOccupationsResponse = z.object({
7753
+ meta: zMeta,
7754
+ links: zLinks,
7755
+ data: z.array(zPwaTradeApprenticeshipOccupationResponseObject)
7756
+ });
7757
+ export const zCreateApprenticeshipOccupationBody = zPwaTradeApprenticeshipOccupationCreateParameters;
7758
+ export const zCreateApprenticeshipOccupationPath = z.object({
7759
+ trade_id: z.string()
7760
+ });
7761
+ /**
7762
+ * Created
7763
+ */
7764
+ export const zCreateApprenticeshipOccupationResponse = zPwaTradeApprenticeshipOccupationResponseObject;
7765
+ export const zDeleteApprenticeshipOccupationPath = z.object({
7766
+ trade_id: z.string(),
7767
+ id: z.string()
7768
+ });
7769
+ /**
7770
+ * Success
7771
+ */
7772
+ export const zDeleteApprenticeshipOccupationResponse = zPwaTradeApprenticeshipOccupationResponseObject;
7773
+ export const zUpdateApprenticeshipOccupationBody = zPwaTradeApprenticeshipOccupationUpdateParameters;
7774
+ export const zUpdateApprenticeshipOccupationPath = z.object({
7775
+ trade_id: z.string(),
7776
+ id: z.string()
7777
+ });
7778
+ /**
7779
+ * Success
7780
+ */
7781
+ export const zUpdateApprenticeshipOccupationResponse = zPwaTradeApprenticeshipOccupationResponseObject;
7159
7782
  export const zListTradesQuery = z.object({
7160
7783
  'filter[project_id]': z.string().optional(),
7161
7784
  'filter[job_id]': z.string().optional(),
7785
+ 'filter[name]': z.string().optional(),
7162
7786
  'filter[created_at][gte]': z.iso.datetime().optional(),
7163
7787
  'filter[created_at][lte]': z.iso.datetime().optional(),
7164
7788
  'filter[updated_at][gte]': z.iso.datetime().optional(),
@@ -7177,6 +7801,13 @@ export const zListTradesResponse = z.object({
7177
7801
  links: zLinks,
7178
7802
  data: z.array(zPwaTradeResponseObject)
7179
7803
  });
7804
+ export const zDeleteTradePath = z.object({
7805
+ id: z.string()
7806
+ });
7807
+ /**
7808
+ * Success
7809
+ */
7810
+ export const zDeleteTradeResponse = zPwaTradeResponseObject;
7180
7811
  export const zGetTradePath = z.object({
7181
7812
  id: z.string()
7182
7813
  });
@@ -7184,6 +7815,14 @@ export const zGetTradePath = z.object({
7184
7815
  * Success
7185
7816
  */
7186
7817
  export const zGetTradeResponse = zPwaTradeResponseObject;
7818
+ export const zUpdateTradeBody = zPwaTradeUpdateParameters;
7819
+ export const zUpdateTradePath = z.object({
7820
+ id: z.string()
7821
+ });
7822
+ /**
7823
+ * Success
7824
+ */
7825
+ export const zUpdateTradeResponse = zPwaTradeResponseObject;
7187
7826
  export const zCreateFormAssignmentTaskBody = z.object({
7188
7827
  form_definition_id: z.string(),
7189
7828
  spread_assignees: z.boolean().optional(),
@@ -7299,6 +7938,25 @@ export const zListTemplatesResponse = z.object({
7299
7938
  links: zLinks,
7300
7939
  data: z.array(zJobTemplateResponseObject)
7301
7940
  });
7941
+ export const zListAdjustableLineItemsPath = z.object({
7942
+ time_card_id: z.string()
7943
+ });
7944
+ export const zListAdjustableLineItemsQuery = z.object({
7945
+ 'filter[payrolls_paystub_id]': z.string().optional(),
7946
+ 'page[cursor]': z.string().optional(),
7947
+ 'page[limit]': z.int().gte(1).optional().default(20),
7948
+ page: z.string().optional(),
7949
+ filter: z.string().optional(),
7950
+ 'filter[unexpected]': z.string().optional()
7951
+ });
7952
+ /**
7953
+ * Success
7954
+ */
7955
+ export const zListAdjustableLineItemsResponse = z.object({
7956
+ meta: zMeta,
7957
+ links: zLinks,
7958
+ data: z.array(zAdjustableLineItemResponseObject)
7959
+ });
7302
7960
  export const zSetTimeCardLockBody = zTimeCardLockParameters;
7303
7961
  export const zSetTimeCardLockPath = z.object({
7304
7962
  time_card_id: z.string()
@@ -7373,6 +8031,22 @@ export const zListPriorPeriodAdjustmentsResponse = z.object({
7373
8031
  links: zLinks,
7374
8032
  data: z.array(zPriorPeriodAdjustmentResponseObject)
7375
8033
  });
8034
+ export const zCreatePriorPeriodAdjustmentBody = zPriorPeriodAdjustmentParameters;
8035
+ export const zCreatePriorPeriodAdjustmentPath = z.object({
8036
+ time_card_id: z.string()
8037
+ });
8038
+ /**
8039
+ * Created
8040
+ */
8041
+ export const zCreatePriorPeriodAdjustmentResponse = zPriorPeriodAdjustmentResponseObject;
8042
+ export const zDeletePriorPeriodAdjustmentPath = z.object({
8043
+ time_card_id: z.string(),
8044
+ id: z.string()
8045
+ });
8046
+ /**
8047
+ * Success
8048
+ */
8049
+ export const zDeletePriorPeriodAdjustmentResponse = zPriorPeriodAdjustmentResponseObject;
7376
8050
  export const zGetPriorPeriodAdjustmentPath = z.object({
7377
8051
  time_card_id: z.string(),
7378
8052
  id: z.string()
@@ -7381,6 +8055,25 @@ export const zGetPriorPeriodAdjustmentPath = z.object({
7381
8055
  * Success
7382
8056
  */
7383
8057
  export const zGetPriorPeriodAdjustmentResponse = zPriorPeriodAdjustmentResponseObject;
8058
+ export const zListPwaCompliancesPath = z.object({
8059
+ time_card_id: z.string()
8060
+ });
8061
+ export const zListPwaCompliancesQuery = z.object({
8062
+ 'filter[job_id]': z.string().optional(),
8063
+ 'page[cursor]': z.string().optional(),
8064
+ 'page[limit]': z.int().gte(1).optional().default(20),
8065
+ page: z.string().optional(),
8066
+ filter: z.string().optional(),
8067
+ 'filter[unexpected]': z.string().optional()
8068
+ });
8069
+ /**
8070
+ * Success
8071
+ */
8072
+ export const zListPwaCompliancesResponse = z.object({
8073
+ meta: zMeta,
8074
+ links: zLinks,
8075
+ data: z.array(zPwaComplianceResponseObject)
8076
+ });
7384
8077
  export const zCreateWorkerTimeCardApprovalBody = zWorkerTimeCardApprovalParameters;
7385
8078
  export const zCreateWorkerTimeCardApprovalPath = z.object({
7386
8079
  time_card_id: z.string()