@dsptch-work/api-client 0.45.0 → 0.47.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 +45 -0
- package/dist/gen/index.d.ts +1 -1
- package/dist/gen/sdk.gen.d.ts +100 -3
- package/dist/gen/sdk.gen.js +155 -2
- package/dist/gen/types.gen.d.ts +987 -260
- package/dist/gen/zod.gen.d.ts +499 -9
- package/dist/gen/zod.gen.js +273 -8
- package/package.json +1 -1
package/dist/gen/types.gen.d.ts
CHANGED
|
@@ -219,6 +219,18 @@ export type Problem = {
|
|
|
219
219
|
*
|
|
220
220
|
* The company already has a pay schedule, including one starting in the future or ending in the past. Use the existing schedule instead of creating another.
|
|
221
221
|
*
|
|
222
|
+
* ### pay_schedule_deletion_in_progress
|
|
223
|
+
*
|
|
224
|
+
* **Pay Schedule Deletion In Progress**
|
|
225
|
+
*
|
|
226
|
+
* A reset or deletion is already running for this pay schedule. Wait until it finishes, then retry if the schedule is still present.
|
|
227
|
+
*
|
|
228
|
+
* ### pay_schedule_deletion_refused
|
|
229
|
+
*
|
|
230
|
+
* **Pay Schedule Deletion Refused**
|
|
231
|
+
*
|
|
232
|
+
* This pay schedule cannot be deleted because it holds recorded time, payroll data, approvals, comments, exports, or payroll mappings that must be retained.
|
|
233
|
+
*
|
|
222
234
|
* ### product_archived
|
|
223
235
|
*
|
|
224
236
|
* **Product Archived**
|
|
@@ -412,7 +424,7 @@ export type Problem = {
|
|
|
412
424
|
* Another write to the same resource held it for longer than this request was willing to wait, or collided with it, so nothing was applied. The request itself is fine — resend it unchanged after the `Retry-After` window.
|
|
413
425
|
*
|
|
414
426
|
*/
|
|
415
|
-
export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'forbidden_key' | 'insufficient_api_key_scope' | 'user_scoped_key_required' | 'not_found' | 'already_subscribed' | 'already_terminated' | 'authorization_revoked' | 'import_in_progress' | 'pay_schedule_already_exists' | 'product_archived' | 'recorded_since_termination' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'certified_payroll_format_unavailable' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'not_incomplete_permanent_copy' | 'nothing_exportable' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'database_timeout' | 'write_contended';
|
|
427
|
+
export type ProblemTypeCatalog = 'blank_axis' | 'invalid_cursor' | 'invalid_filter_key' | 'invalid_limit' | 'invalid_signature' | 'malformed_body' | 'non_range_filter_value' | 'non_scalar_axis' | 'non_scalar_filter_value' | 'parameter_missing' | 'parameter_not_object' | 'unknown_axis' | 'unknown_key' | 'unsupported_axis' | 'valid_axis_on_timeline' | 'unauthorized' | 'company_scoped_key_required' | 'forbidden' | 'forbidden_key' | 'insufficient_api_key_scope' | 'user_scoped_key_required' | 'not_found' | 'already_subscribed' | 'already_terminated' | 'authorization_revoked' | 'import_in_progress' | 'pay_schedule_already_exists' | 'pay_schedule_deletion_in_progress' | 'pay_schedule_deletion_refused' | 'product_archived' | 'recorded_since_termination' | 'span_beyond_timeline_end' | 'version_overlap' | 'precondition_failed' | 'attachment_not_image' | 'certified_payroll_format_unavailable' | 'company_not_employer' | 'confirm_apprenticeship_conflict' | 'destroy_restricted' | 'interval_too_wide' | 'invalid_date' | 'invalid_filter_value' | 'invalid_iso8601_duration' | 'invalid_placement_move' | 'invalid_signed_id' | 'not_incomplete_permanent_copy' | 'nothing_exportable' | 'nothing_to_cancel' | 'pagination_failed' | 'subtype_foreign_keys' | 'synced_determination' | 'user_not_company_member' | 'validation_failed' | 'wage_schedule_outside_program' | 'precondition_required' | 'too_many_requests' | 'internal_error' | 'database_timeout' | 'write_contended';
|
|
416
428
|
export type ApiKeyScopeResponseObject = {
|
|
417
429
|
resource: string;
|
|
418
430
|
action: 'read' | 'create' | 'update' | 'delete';
|
|
@@ -425,7 +437,7 @@ export type DirectUploadParameters = {
|
|
|
425
437
|
/**
|
|
426
438
|
* What the file is for, named as the endpoint that will attach it (for example `assets.vendors`). Required. It decides where the file is stored, and the signed ID this call returns is issued for that resource alone — it will not resolve at any other endpoint, so a vendor logo cannot be attached as an avatar, or an avatar as a logo.
|
|
427
439
|
*/
|
|
428
|
-
resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.vendors' | 'compliance.checks' | 'form_submissions' | 'internal.companies' | 'internal.company_todos' | 'internal.job_todos' | 'internal.project_todos' | 'jobs.documents' | 'jobs.pwa.apprenticeship.good_faith_effort_exceptions' | 'jobs.pwa.cure_payments' | 'pay_periods.imports.aggregate_times' | 'pay_periods.imports.dsptch_cprs' | 'pay_periods.imports.time_entries' | 'payrolls.payroll_runs.imports.paystubs' | 'payrolls.payroll_runs.imports.wide_paystubs' | 'projects' | 'projects.documents' | 'users';
|
|
440
|
+
resource: 'assets.items' | 'assets.items.documents' | 'assets.items.service_events' | 'assets.products' | 'assets.products.documents' | 'assets.vendors' | 'compliance.checks' | 'form_submissions' | 'internal.companies' | 'internal.company_todos' | 'internal.job_todos' | 'internal.project_todos' | 'jobs' | 'jobs.documents' | 'jobs.pwa.apprenticeship.good_faith_effort_exceptions' | 'jobs.pwa.cure_payments' | 'pay_periods.imports.aggregate_times' | 'pay_periods.imports.dsptch_cprs' | 'pay_periods.imports.time_entries' | 'payrolls.payroll_runs.imports.paystubs' | 'payrolls.payroll_runs.imports.wide_paystubs' | 'projects' | 'projects.documents' | 'users';
|
|
429
441
|
/**
|
|
430
442
|
* Metadata describing the file being registered, before its bytes are uploaded.
|
|
431
443
|
*/
|
|
@@ -2145,7 +2157,7 @@ export type PeopleEmploymentResponseObject = {
|
|
|
2145
2157
|
*/
|
|
2146
2158
|
training_annual_minutes: number | null;
|
|
2147
2159
|
/**
|
|
2148
|
-
* Minutes per workweek the fixed salary is intended to compensate.
|
|
2160
|
+
* Minutes per workweek the fixed salary is intended to compensate. This is the salary's fixed-hours basis, not time worked, and is separate from worked_annual_minutes.
|
|
2149
2161
|
*/
|
|
2150
2162
|
salary_weekly_minutes: number;
|
|
2151
2163
|
/**
|
|
@@ -2157,7 +2169,7 @@ export type PeopleEmploymentResponseObject = {
|
|
|
2157
2169
|
*/
|
|
2158
2170
|
training_annual_amount_cents?: string | null;
|
|
2159
2171
|
/**
|
|
2160
|
-
* Annual fixed-hours salary in cents as a decimal string; present for company keys, company administrators, and the employed person, and null when authorized but unset.
|
|
2172
|
+
* Annual fixed-hours salary in cents as a decimal string; present for company keys, company administrators, and the employed person, and null when authorized but unset. Variable-hours and fluctuating-workweek salaries are not supported.
|
|
2161
2173
|
*/
|
|
2162
2174
|
salary_annual_amount_cents?: string | null;
|
|
2163
2175
|
/**
|
|
@@ -2266,11 +2278,11 @@ export type PeopleEmploymentCreateParameters = {
|
|
|
2266
2278
|
*/
|
|
2267
2279
|
employer_combined_savings_cents?: string | null;
|
|
2268
2280
|
/**
|
|
2269
|
-
* Annual fixed-hours salary in cents as a decimal string. Omit or send null to leave it unset.
|
|
2281
|
+
* Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit or send null to leave it unset.
|
|
2270
2282
|
*/
|
|
2271
2283
|
salary_annual_amount_cents?: string | null;
|
|
2272
2284
|
/**
|
|
2273
|
-
* Minutes per workweek the fixed salary is intended to compensate, as a whole number from 1 to 10080 (one week). Omit to use 2400 (40 hours); null is refused.
|
|
2285
|
+
* Minutes per workweek the fixed salary is intended to compensate, as a whole number from 1 to 10080 (one week). This is the salary's fixed-hours basis, not observed time. Omit to use 2400 (40 hours); null is refused.
|
|
2274
2286
|
*/
|
|
2275
2287
|
salary_weekly_minutes?: number;
|
|
2276
2288
|
};
|
|
@@ -2327,11 +2339,11 @@ export type PeopleEmploymentScheduledChangeCreateParameters = {
|
|
|
2327
2339
|
*/
|
|
2328
2340
|
employer_combined_savings_cents?: string | null;
|
|
2329
2341
|
/**
|
|
2330
|
-
* Annual fixed-hours salary in cents as a decimal string. Omit to carry forward the preceding version, or send null to clear it.
|
|
2342
|
+
* Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to carry forward the preceding version, or send null to clear it.
|
|
2331
2343
|
*/
|
|
2332
2344
|
salary_annual_amount_cents?: string | null;
|
|
2333
2345
|
/**
|
|
2334
|
-
* Minutes per workweek the fixed salary is intended to compensate, as a whole number from 1 to 10080 (one week). Omit to carry forward the preceding version; null is refused.
|
|
2346
|
+
* Minutes per workweek the fixed salary is intended to compensate, as a whole number from 1 to 10080 (one week). This is the salary's fixed-hours basis, not observed time. Omit to carry forward the preceding version; null is refused.
|
|
2335
2347
|
*/
|
|
2336
2348
|
salary_weekly_minutes?: number;
|
|
2337
2349
|
/**
|
|
@@ -2388,11 +2400,11 @@ export type PeopleEmploymentScheduledChangeUpdateParameters = {
|
|
|
2388
2400
|
*/
|
|
2389
2401
|
employer_combined_savings_cents?: string | null;
|
|
2390
2402
|
/**
|
|
2391
|
-
* Annual fixed-hours salary in cents as a decimal string. Omit to preserve the value at the targeted boundary, or send null to clear it.
|
|
2403
|
+
* Annual fixed-hours salary in cents as a decimal string. Variable-hours and fluctuating-workweek salaries are not supported. Omit to preserve the value at the targeted boundary, or send null to clear it.
|
|
2392
2404
|
*/
|
|
2393
2405
|
salary_annual_amount_cents?: string | null;
|
|
2394
2406
|
/**
|
|
2395
|
-
* Minutes per workweek the fixed salary is intended to compensate, as a whole number from 1 to 10080 (one week). Omit to preserve the value at the targeted boundary; null is refused.
|
|
2407
|
+
* Minutes per workweek the fixed salary is intended to compensate, as a whole number from 1 to 10080 (one week). This is the salary's fixed-hours basis, not observed time. Omit to preserve the value at the targeted boundary; null is refused.
|
|
2396
2408
|
*/
|
|
2397
2409
|
salary_weekly_minutes?: number;
|
|
2398
2410
|
/**
|
|
@@ -4921,6 +4933,10 @@ export type JobResponseObject = {
|
|
|
4921
4933
|
* Whether time entries on this job are capped at one feature allocation.
|
|
4922
4934
|
*/
|
|
4923
4935
|
max_one_feature_allocation: boolean;
|
|
4936
|
+
/**
|
|
4937
|
+
* Contract work classification; unspecified until confirmed. Does not change rate syncing.
|
|
4938
|
+
*/
|
|
4939
|
+
work_classification: 'unspecified' | 'construction' | 'long_term_service' | 'one_time_service';
|
|
4924
4940
|
/**
|
|
4925
4941
|
* How this job records production completions: one of none (opts out), feature (per site feature, e.g. a turbine), or quantity (a unit count, e.g. modules). Locked once any completion exists.
|
|
4926
4942
|
*/
|
|
@@ -4934,6 +4950,10 @@ export type JobResponseObject = {
|
|
|
4934
4950
|
* Prevailing-wage / apprenticeship (PWA) compliance details for a job, used in certified-payroll reporting. Common fields are always present when this object exists; regional fields appear only when applicable to the job's region and regional PWA mode. The property is null when no PWA details have been configured; PWA tracking modes alone do not materialize it.
|
|
4935
4951
|
*/
|
|
4936
4952
|
export type PwaJobDetailsResponseObject = {
|
|
4953
|
+
/**
|
|
4954
|
+
* Job contract execution date override. Null means use the project's contract date.
|
|
4955
|
+
*/
|
|
4956
|
+
lock_in_date: string | null;
|
|
4937
4957
|
/**
|
|
4938
4958
|
* Role of the company on this job for PWA reporting: one of prime_contractor or sub_contractor; null when unset.
|
|
4939
4959
|
*/
|
|
@@ -4998,260 +5018,56 @@ export type PwaJobDetailsResponseObject = {
|
|
|
4998
5018
|
* New York DOL prevailing-rate-case (PRC) number, a 10-digit identifier; present only for a compatible New York prevailing-wage configuration and null when applicable but unset.
|
|
4999
5019
|
*/
|
|
5000
5020
|
ny_dol_prc_number?: string | null;
|
|
5001
|
-
} | null;
|
|
5002
|
-
/**
|
|
5003
|
-
* Parameters for creating a job. Sets the job's schedule, work types, address, custom-field values, and optional Prevailing Wage / Apprenticeship (PWA) compliance. `requested_by_company_id` and `created_by_user_id` are required unless `template_id` names a template, whose copy keeps both. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any job or relationship is saved.
|
|
5004
|
-
*/
|
|
5005
|
-
export type JobCreateParameters = {
|
|
5006
|
-
/**
|
|
5007
|
-
* ID of the user creating the job; the creator cannot be changed afterward. A copy of a template keeps the template's creator when this is omitted. Null, a blank ID, or a wrong type answers 422.
|
|
5008
|
-
*/
|
|
5009
|
-
created_by_user_id?: string;
|
|
5010
|
-
/**
|
|
5011
|
-
* ID of a job template to copy this job from; when set, the new job is created from that template. Null or omit to start from a blank job; a blank ID or a wrong type answers 422.
|
|
5012
|
-
*/
|
|
5013
|
-
template_id?: string | null;
|
|
5014
|
-
/**
|
|
5015
|
-
* Human-readable job name, unique within the creating company; null when unset.
|
|
5016
|
-
*/
|
|
5017
|
-
name?: string | null;
|
|
5018
|
-
/**
|
|
5019
|
-
* Free-text description of the job. Null or a wrong type answers 422.
|
|
5020
|
-
*/
|
|
5021
|
-
description?: string;
|
|
5022
|
-
/**
|
|
5023
|
-
* ID of the company that requested the job (for example a general contractor). Omit on update to preserve the existing requester. Null, a blank ID, or a wrong type answers 422.
|
|
5024
|
-
*/
|
|
5025
|
-
requested_by_company_id?: string;
|
|
5026
|
-
/**
|
|
5027
|
-
* The job's External ID, unique within the creating company. Leading and trailing spaces are removed, and a value another job in that company already holds, compared case-sensitively, answers 422. A job copied from a template does not inherit the template's value. Null or a blank value stores none.
|
|
5028
|
-
*/
|
|
5029
|
-
purchase_order_number?: string | null;
|
|
5030
|
-
/**
|
|
5031
|
-
* ID of the project this job belongs to; null when the job is not part of a project. A blank ID or a wrong type answers 422.
|
|
5032
|
-
*/
|
|
5033
|
-
project_id?: string | null;
|
|
5034
|
-
/**
|
|
5035
|
-
* ID of a department belonging to the job's provider company. Retrieve department IDs from GET /api/v1/companies/departments. Send null to clear the assignment; omit on update to preserve it, or on create to preserve a copied template's assignment. A new job without a template starts unassigned. A blank ID or a wrong type answers 422.
|
|
5036
|
-
*/
|
|
5037
|
-
companies_department_id?: string | null;
|
|
5038
|
-
/**
|
|
5039
|
-
* Federal prevailing-wage / apprenticeship (PWA) tracking mode: one of all (both prevailing wage and apprenticeship), pw_only, ap_only, or none. Null or any other value returns 422.
|
|
5040
|
-
*/
|
|
5041
|
-
federal_pwa_mode?: 'all' | 'pw_only' | 'ap_only' | 'none';
|
|
5042
|
-
/**
|
|
5043
|
-
* Regional (state) prevailing-wage / apprenticeship tracking mode, with the same values as federal_pwa_mode; null or any other value returns 422.
|
|
5044
|
-
*/
|
|
5045
|
-
regional_pwa_mode?: 'all' | 'pw_only' | 'ap_only' | 'none';
|
|
5046
|
-
/**
|
|
5047
|
-
* Two-letter state code (e.g. CA, IL, NY) that selects which regional prevailing-wage fields under pwa_details apply.
|
|
5048
|
-
*/
|
|
5049
|
-
region?: string | null;
|
|
5050
|
-
/**
|
|
5051
|
-
* The job's first day, as a calendar date (`YYYY-MM-DD`) in tz_name, stored as the start of that day there, the same as the web. Null to leave the job unscheduled. A date-time answers 422 naming the day to send; a blank, any other non-date, or a non-string answers 422.
|
|
5052
|
-
*/
|
|
5053
|
-
start_time?: string | null;
|
|
5054
|
-
/**
|
|
5055
|
-
* The job's last day, as a calendar date (`YYYY-MM-DD`) in tz_name, stored as the end of that day there, the same as the web. Null to leave the job unscheduled. A date-time answers 422 naming the day to send; a blank, any other non-date, or a non-string answers 422.
|
|
5056
|
-
*/
|
|
5057
|
-
end_time?: string | null;
|
|
5058
5021
|
/**
|
|
5059
|
-
*
|
|
5060
|
-
*/
|
|
5061
|
-
tz_name?: string;
|
|
5062
|
-
/**
|
|
5063
|
-
* Day of the week the job's workweek and time cards start on, as an integer: 0 (Sunday) through 6 (Saturday). Any other value, a numeric string included, answers 422.
|
|
5064
|
-
*/
|
|
5065
|
-
time_card_start_day?: number;
|
|
5066
|
-
/**
|
|
5067
|
-
* Clock-in enforcement level: one of none (no guidance), warning (manual time entries fail the clock-in compliance check), or required (a technician's own time on the job must come from clocking in on DSPTCH Mobile; the technician's own web and user-API-key time-entry writes are refused). A time entry whose time code, as of the entry's start time, is PTO, holiday, or restricted to non-job time entries is exempt at every level. Time-entry writes made with a company API key are not gated. While the creating company requires clock-in company-wide, a create stores `required` whatever value is sent, and lowering an open job returns 422 with the error at `#/clock_in_requirement`. Omit the field to leave the current value unchanged.
|
|
5068
|
-
*/
|
|
5069
|
-
clock_in_requirement?: 'none' | 'warning' | 'required';
|
|
5070
|
-
/**
|
|
5071
|
-
* Whether to send geofence-based clock-in/out reminders for this job; null when unset.
|
|
5072
|
-
*/
|
|
5073
|
-
send_geofence_reminders?: boolean | null;
|
|
5074
|
-
/**
|
|
5075
|
-
* Whether customers granted access can view this job. A boolean; null or any other type returns 422.
|
|
5022
|
+
* Job override, otherwise its project's contract date. Null when neither has a date.
|
|
5076
5023
|
*/
|
|
5077
|
-
|
|
5024
|
+
readonly effective_lock_in_date: string | null;
|
|
5078
5025
|
/**
|
|
5079
|
-
*
|
|
5026
|
+
* Contract date evidence attached to these PWA details. Null when no evidence is attached.
|
|
5080
5027
|
*/
|
|
5081
|
-
|
|
5082
|
-
/**
|
|
5083
|
-
* Whether applicable time entries on this job must carry a feature allocation. A boolean; null or any other type returns 422.
|
|
5084
|
-
*/
|
|
5085
|
-
requires_feature_allocation?: boolean;
|
|
5086
|
-
/**
|
|
5087
|
-
* Whether time entries on this job are capped at one feature allocation. A boolean; null or any other type returns 422.
|
|
5088
|
-
*/
|
|
5089
|
-
max_one_feature_allocation?: boolean;
|
|
5090
|
-
/**
|
|
5091
|
-
* How this job records production completions: one of none (opts out), feature (per site feature, e.g. a turbine), or quantity (a unit count, e.g. modules). Locked once any completion exists. Omit the field to leave the current value unchanged.
|
|
5092
|
-
*/
|
|
5093
|
-
production_tracking_kind?: 'none' | 'feature' | 'quantity';
|
|
5094
|
-
/**
|
|
5095
|
-
* Complete desired set of unique nonblank manager user IDs. Omit to preserve the set; send an empty array to clear it. Null, null members, wrong types, blank IDs, and duplicate IDs answer 422 before any job or relationship is saved.
|
|
5096
|
-
*/
|
|
5097
|
-
manager_user_ids?: Array<string>;
|
|
5098
|
-
/**
|
|
5099
|
-
* Complete desired set of unique nonblank timecode IDs. Omit to preserve the set; send an empty array to clear it. Null, null members, wrong types, blank IDs, and duplicate IDs answer 422 before any job or relationship is saved.
|
|
5100
|
-
*/
|
|
5101
|
-
timekeeping_timecode_ids?: Array<string>;
|
|
5102
|
-
/**
|
|
5103
|
-
* Work types (trade or scope categories) to associate with the job, one row each. Null, a non-array, or a row that is not an object answers 422.
|
|
5104
|
-
*/
|
|
5105
|
-
job_work_types_attributes?: Array<{
|
|
5106
|
-
/**
|
|
5107
|
-
* Whether this is the job's primary work type.
|
|
5108
|
-
*/
|
|
5109
|
-
primary?: boolean;
|
|
5110
|
-
/**
|
|
5111
|
-
* ID of the work type to associate with the job.
|
|
5112
|
-
*/
|
|
5113
|
-
work_type_id?: string;
|
|
5114
|
-
}>;
|
|
5115
|
-
/**
|
|
5116
|
-
* The job's structured street address. Null or a non-object answers 422; an unknown key inside it answers 422 at its pointer.
|
|
5117
|
-
*/
|
|
5118
|
-
job_address_attributes?: {
|
|
5119
|
-
/**
|
|
5120
|
-
* ID of an existing address to update; null to create a new address.
|
|
5121
|
-
*/
|
|
5122
|
-
id?: string | null;
|
|
5123
|
-
/**
|
|
5124
|
-
* Secondary address designator such as an apartment or suite number; null when unset.
|
|
5125
|
-
*/
|
|
5126
|
-
sub_address_number?: string | null;
|
|
5127
|
-
/**
|
|
5128
|
-
* Street number of the address; null when unset.
|
|
5129
|
-
*/
|
|
5130
|
-
address_number?: string | null;
|
|
5131
|
-
/**
|
|
5132
|
-
* Neighborhood of the address; null when unset.
|
|
5133
|
-
*/
|
|
5134
|
-
neighborhood?: string | null;
|
|
5135
|
-
/**
|
|
5136
|
-
* City or municipality of the address; null when unset.
|
|
5137
|
-
*/
|
|
5138
|
-
municipality?: string | null;
|
|
5139
|
-
/**
|
|
5140
|
-
* County or other sub-region of the address; null when unset.
|
|
5141
|
-
*/
|
|
5142
|
-
sub_region?: string | null;
|
|
5143
|
-
/**
|
|
5144
|
-
* State or region of the address; null when unset.
|
|
5145
|
-
*/
|
|
5146
|
-
region?: string | null;
|
|
5028
|
+
readonly lock_in_date_doc: {
|
|
5147
5029
|
/**
|
|
5148
|
-
*
|
|
5030
|
+
* ID of the versioned evidence document.
|
|
5149
5031
|
*/
|
|
5150
|
-
|
|
5032
|
+
id: string;
|
|
5151
5033
|
/**
|
|
5152
|
-
*
|
|
5034
|
+
* Original filename of the evidence.
|
|
5153
5035
|
*/
|
|
5154
|
-
|
|
5036
|
+
filename: string;
|
|
5155
5037
|
/**
|
|
5156
|
-
*
|
|
5038
|
+
* MIME type of the evidence file.
|
|
5157
5039
|
*/
|
|
5158
|
-
|
|
5040
|
+
content_type: string;
|
|
5159
5041
|
/**
|
|
5160
|
-
*
|
|
5042
|
+
* Evidence file size in bytes.
|
|
5161
5043
|
*/
|
|
5162
|
-
|
|
5044
|
+
byte_size: number;
|
|
5163
5045
|
/**
|
|
5164
|
-
*
|
|
5046
|
+
* A URL to download the file.
|
|
5165
5047
|
*/
|
|
5166
|
-
|
|
5167
|
-
};
|
|
5048
|
+
url: string;
|
|
5049
|
+
} | null;
|
|
5050
|
+
} | null;
|
|
5051
|
+
/**
|
|
5052
|
+
* Parameters for creating a job. Sets the job's schedule, work types, address, custom-field values, and optional Prevailing Wage / Apprenticeship (PWA) compliance. `requested_by_company_id` and `created_by_user_id` are required unless `template_id` names a template, whose copy keeps both. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any job or relationship is saved.
|
|
5053
|
+
*/
|
|
5054
|
+
export type JobCreateParameters = {
|
|
5168
5055
|
/**
|
|
5169
|
-
*
|
|
5056
|
+
* ID of the user creating the job; the creator cannot be changed afterward. A copy of a template keeps the template's creator when this is omitted. Null, a blank ID, or a wrong type answers 422.
|
|
5170
5057
|
*/
|
|
5171
|
-
|
|
5172
|
-
/**
|
|
5173
|
-
* ID of a visible custom-field configuration owned by the credential company and applicable to jobs.
|
|
5174
|
-
*/
|
|
5175
|
-
custom_field_config_id: string;
|
|
5176
|
-
/**
|
|
5177
|
-
* Value as text or null.
|
|
5178
|
-
*/
|
|
5179
|
-
value: string | null;
|
|
5180
|
-
}>;
|
|
5058
|
+
created_by_user_id?: string;
|
|
5181
5059
|
/**
|
|
5182
|
-
*
|
|
5060
|
+
* ID of a job template to copy this job from; when set, the new job is created from that template. Null or omit to start from a blank job; a blank ID or a wrong type answers 422.
|
|
5183
5061
|
*/
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5191
|
-
|
|
5192
|
-
|
|
5193
|
-
/**
|
|
5194
|
-
* California DIR (Department of Industrial Relations) awarding-body ID; null when not applicable.
|
|
5195
|
-
*/
|
|
5196
|
-
dir_awarding_body_id?: string | null;
|
|
5197
|
-
/**
|
|
5198
|
-
* California DIR project registration ID (an 11-digit number); null when not applicable.
|
|
5199
|
-
*/
|
|
5200
|
-
dir_project_id?: string | null;
|
|
5201
|
-
/**
|
|
5202
|
-
* California DIR project name; null when not applicable.
|
|
5203
|
-
*/
|
|
5204
|
-
dir_project_name?: string | null;
|
|
5205
|
-
/**
|
|
5206
|
-
* California DIR contract ID; null when not applicable.
|
|
5207
|
-
*/
|
|
5208
|
-
dir_contract_id?: string | null;
|
|
5209
|
-
/**
|
|
5210
|
-
* California DIR awarding-body name; null when not applicable.
|
|
5211
|
-
*/
|
|
5212
|
-
dir_project_awarding_body_name?: string | null;
|
|
5213
|
-
/**
|
|
5214
|
-
* California DIR project number; null when not applicable.
|
|
5215
|
-
*/
|
|
5216
|
-
dir_project_number?: string | null;
|
|
5217
|
-
/**
|
|
5218
|
-
* Illinois DOL (Department of Labor) project ID; null when not applicable.
|
|
5219
|
-
*/
|
|
5220
|
-
il_dol_project_id?: string | null;
|
|
5221
|
-
/**
|
|
5222
|
-
* Whether the Illinois project is funded with state capital funds, as JSON true or false; null when not applicable.
|
|
5223
|
-
*/
|
|
5224
|
-
il_dol_state_capital_funds?: boolean | null;
|
|
5225
|
-
/**
|
|
5226
|
-
* Illinois DOL public-body name; null when not applicable.
|
|
5227
|
-
*/
|
|
5228
|
-
il_dol_public_body_name?: string | null;
|
|
5229
|
-
/**
|
|
5230
|
-
* ID of the Illinois DOL public-body contact; null when not applicable.
|
|
5231
|
-
*/
|
|
5232
|
-
il_dol_public_body_contact_id?: string | null;
|
|
5233
|
-
/**
|
|
5234
|
-
* ID of the Illinois DOL public-body address; null when not applicable.
|
|
5235
|
-
*/
|
|
5236
|
-
il_dol_public_body_address_id?: string | null;
|
|
5237
|
-
/**
|
|
5238
|
-
* Illinois DOL contract number; null when not applicable.
|
|
5239
|
-
*/
|
|
5240
|
-
il_dol_contract_number?: string | null;
|
|
5241
|
-
/**
|
|
5242
|
-
* Illinois SHINES project ID; null when not applicable.
|
|
5243
|
-
*/
|
|
5244
|
-
il_shines_project_id?: string | null;
|
|
5245
|
-
/**
|
|
5246
|
-
* New York DOL prevailing-rate-case (PRC) number, a 10-digit identifier; null when not applicable.
|
|
5247
|
-
*/
|
|
5248
|
-
ny_dol_prc_number?: string | null;
|
|
5249
|
-
};
|
|
5250
|
-
};
|
|
5251
|
-
/**
|
|
5252
|
-
* Parameters for updating an existing job. Every field is optional; omit a field to preserve its current value. The resulting job must still satisfy schedule and PWA validation rules. Accepts every shared job field plus a directly settable status and custom-field changes. Sending `created_by_user_id` returns 400 unknown_key, including when it matches the existing creator or is null. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any job or relationship changes.
|
|
5253
|
-
*/
|
|
5254
|
-
export type JobUpdateParameters = {
|
|
5062
|
+
template_id?: string | null;
|
|
5063
|
+
/**
|
|
5064
|
+
* Evidence signed ID uploaded for resource jobs. Omit to retain the file. Requires performed_by_user_id; null is refused.
|
|
5065
|
+
*/
|
|
5066
|
+
lock_in_date_doc_signed_id?: string;
|
|
5067
|
+
/**
|
|
5068
|
+
* Visible user filing contract evidence. Required when lock_in_date_doc_signed_id is supplied.
|
|
5069
|
+
*/
|
|
5070
|
+
performed_by_user_id?: string;
|
|
5255
5071
|
/**
|
|
5256
5072
|
* Human-readable job name, unique within the creating company; null when unset.
|
|
5257
5073
|
*/
|
|
@@ -5332,6 +5148,267 @@ export type JobUpdateParameters = {
|
|
|
5332
5148
|
* How this job records production completions: one of none (opts out), feature (per site feature, e.g. a turbine), or quantity (a unit count, e.g. modules). Locked once any completion exists. Omit the field to leave the current value unchanged.
|
|
5333
5149
|
*/
|
|
5334
5150
|
production_tracking_kind?: 'none' | 'feature' | 'quantity';
|
|
5151
|
+
/**
|
|
5152
|
+
* Contract work classification. Defaults to unspecified; construction, long_term_service, and one_time_service identify the confirmed kind.
|
|
5153
|
+
*/
|
|
5154
|
+
work_classification?: 'unspecified' | 'construction' | 'long_term_service' | 'one_time_service';
|
|
5155
|
+
/**
|
|
5156
|
+
* Complete desired set of unique nonblank manager user IDs. Omit to preserve the set; send an empty array to clear it. Null, null members, wrong types, blank IDs, and duplicate IDs answer 422 before any job or relationship is saved.
|
|
5157
|
+
*/
|
|
5158
|
+
manager_user_ids?: Array<string>;
|
|
5159
|
+
/**
|
|
5160
|
+
* Complete desired set of unique nonblank timecode IDs. Omit to preserve the set; send an empty array to clear it. Null, null members, wrong types, blank IDs, and duplicate IDs answer 422 before any job or relationship is saved.
|
|
5161
|
+
*/
|
|
5162
|
+
timekeeping_timecode_ids?: Array<string>;
|
|
5163
|
+
/**
|
|
5164
|
+
* Work types (trade or scope categories) to associate with the job, one row each. Null, a non-array, or a row that is not an object answers 422.
|
|
5165
|
+
*/
|
|
5166
|
+
job_work_types_attributes?: Array<{
|
|
5167
|
+
/**
|
|
5168
|
+
* Whether this is the job's primary work type.
|
|
5169
|
+
*/
|
|
5170
|
+
primary?: boolean;
|
|
5171
|
+
/**
|
|
5172
|
+
* ID of the work type to associate with the job.
|
|
5173
|
+
*/
|
|
5174
|
+
work_type_id?: string;
|
|
5175
|
+
}>;
|
|
5176
|
+
/**
|
|
5177
|
+
* The job's structured street address. Null or a non-object answers 422; an unknown key inside it answers 422 at its pointer.
|
|
5178
|
+
*/
|
|
5179
|
+
job_address_attributes?: {
|
|
5180
|
+
/**
|
|
5181
|
+
* ID of an existing address to update; null to create a new address.
|
|
5182
|
+
*/
|
|
5183
|
+
id?: string | null;
|
|
5184
|
+
/**
|
|
5185
|
+
* Secondary address designator such as an apartment or suite number; null when unset.
|
|
5186
|
+
*/
|
|
5187
|
+
sub_address_number?: string | null;
|
|
5188
|
+
/**
|
|
5189
|
+
* Street number of the address; null when unset.
|
|
5190
|
+
*/
|
|
5191
|
+
address_number?: string | null;
|
|
5192
|
+
/**
|
|
5193
|
+
* Neighborhood of the address; null when unset.
|
|
5194
|
+
*/
|
|
5195
|
+
neighborhood?: string | null;
|
|
5196
|
+
/**
|
|
5197
|
+
* City or municipality of the address; null when unset.
|
|
5198
|
+
*/
|
|
5199
|
+
municipality?: string | null;
|
|
5200
|
+
/**
|
|
5201
|
+
* County or other sub-region of the address; null when unset.
|
|
5202
|
+
*/
|
|
5203
|
+
sub_region?: string | null;
|
|
5204
|
+
/**
|
|
5205
|
+
* State or region of the address; null when unset.
|
|
5206
|
+
*/
|
|
5207
|
+
region?: string | null;
|
|
5208
|
+
/**
|
|
5209
|
+
* Postal or ZIP code of the address; null when unset.
|
|
5210
|
+
*/
|
|
5211
|
+
postal_code?: string | null;
|
|
5212
|
+
/**
|
|
5213
|
+
* Country of the address; null when unset.
|
|
5214
|
+
*/
|
|
5215
|
+
country?: string | null;
|
|
5216
|
+
/**
|
|
5217
|
+
* Time zone of the address (e.g. US/Central); null when unset. A blank or unlisted name answers 422.
|
|
5218
|
+
*/
|
|
5219
|
+
timezone?: string | null;
|
|
5220
|
+
/**
|
|
5221
|
+
* Whether the address has been verified. A boolean; null or any other type returns 422.
|
|
5222
|
+
*/
|
|
5223
|
+
verified?: boolean;
|
|
5224
|
+
/**
|
|
5225
|
+
* Human-readable one-line address label; null derives it from the other fields.
|
|
5226
|
+
*/
|
|
5227
|
+
label?: string | null;
|
|
5228
|
+
};
|
|
5229
|
+
/**
|
|
5230
|
+
* Values for the job's custom fields, as a list of configurations and their values. Each configuration may appear only once. Every visible configuration gets a stored value; one left out of the list, or an omitted or empty list, stores null.
|
|
5231
|
+
*/
|
|
5232
|
+
custom_fields?: Array<{
|
|
5233
|
+
/**
|
|
5234
|
+
* ID of a visible custom-field configuration owned by the credential company and applicable to jobs.
|
|
5235
|
+
*/
|
|
5236
|
+
custom_field_config_id: string;
|
|
5237
|
+
/**
|
|
5238
|
+
* Value as text or null.
|
|
5239
|
+
*/
|
|
5240
|
+
value: string | null;
|
|
5241
|
+
}>;
|
|
5242
|
+
/**
|
|
5243
|
+
* Prevailing-wage / apprenticeship (PWA) compliance details to set on the job. Omit or send an empty object to make no PWA-details changes. Null or a non-object answers 422, and so does an unknown key or a wrongly typed field inside it, at its pointer. The accepted regional keys depend on the effective region and regional PWA mode.
|
|
5244
|
+
*/
|
|
5245
|
+
pwa_details?: {
|
|
5246
|
+
/**
|
|
5247
|
+
* Job contract execution date override. Null clears the override and uses the project's contract date.
|
|
5248
|
+
*/
|
|
5249
|
+
lock_in_date?: string | null;
|
|
5250
|
+
/**
|
|
5251
|
+
* Role of the company on this job for PWA reporting: one of prime_contractor or sub_contractor; null when unset.
|
|
5252
|
+
*/
|
|
5253
|
+
contractor_type?: 'prime_contractor' | 'sub_contractor' | null;
|
|
5254
|
+
/**
|
|
5255
|
+
* Whether new positions on the job default to paying the full fringe as cash. Omit to retain the current value (or use the database default on create); when sent, the value must be JSON true or false.
|
|
5256
|
+
*/
|
|
5257
|
+
pay_full_cash_fringe_by_default?: boolean;
|
|
5258
|
+
/**
|
|
5259
|
+
* California DIR (Department of Industrial Relations) awarding-body ID; null when not applicable.
|
|
5260
|
+
*/
|
|
5261
|
+
dir_awarding_body_id?: string | null;
|
|
5262
|
+
/**
|
|
5263
|
+
* California DIR project registration ID (an 11-digit number); null when not applicable.
|
|
5264
|
+
*/
|
|
5265
|
+
dir_project_id?: string | null;
|
|
5266
|
+
/**
|
|
5267
|
+
* California DIR project name; null when not applicable.
|
|
5268
|
+
*/
|
|
5269
|
+
dir_project_name?: string | null;
|
|
5270
|
+
/**
|
|
5271
|
+
* California DIR contract ID; null when not applicable.
|
|
5272
|
+
*/
|
|
5273
|
+
dir_contract_id?: string | null;
|
|
5274
|
+
/**
|
|
5275
|
+
* California DIR awarding-body name; null when not applicable.
|
|
5276
|
+
*/
|
|
5277
|
+
dir_project_awarding_body_name?: string | null;
|
|
5278
|
+
/**
|
|
5279
|
+
* California DIR project number; null when not applicable.
|
|
5280
|
+
*/
|
|
5281
|
+
dir_project_number?: string | null;
|
|
5282
|
+
/**
|
|
5283
|
+
* Illinois DOL (Department of Labor) project ID; null when not applicable.
|
|
5284
|
+
*/
|
|
5285
|
+
il_dol_project_id?: string | null;
|
|
5286
|
+
/**
|
|
5287
|
+
* Whether the Illinois project is funded with state capital funds, as JSON true or false; null when not applicable.
|
|
5288
|
+
*/
|
|
5289
|
+
il_dol_state_capital_funds?: boolean | null;
|
|
5290
|
+
/**
|
|
5291
|
+
* Illinois DOL public-body name; null when not applicable.
|
|
5292
|
+
*/
|
|
5293
|
+
il_dol_public_body_name?: string | null;
|
|
5294
|
+
/**
|
|
5295
|
+
* ID of the Illinois DOL public-body contact; null when not applicable.
|
|
5296
|
+
*/
|
|
5297
|
+
il_dol_public_body_contact_id?: string | null;
|
|
5298
|
+
/**
|
|
5299
|
+
* ID of the Illinois DOL public-body address; null when not applicable.
|
|
5300
|
+
*/
|
|
5301
|
+
il_dol_public_body_address_id?: string | null;
|
|
5302
|
+
/**
|
|
5303
|
+
* Illinois DOL contract number; null when not applicable.
|
|
5304
|
+
*/
|
|
5305
|
+
il_dol_contract_number?: string | null;
|
|
5306
|
+
/**
|
|
5307
|
+
* Illinois SHINES project ID; null when not applicable.
|
|
5308
|
+
*/
|
|
5309
|
+
il_shines_project_id?: string | null;
|
|
5310
|
+
/**
|
|
5311
|
+
* New York DOL prevailing-rate-case (PRC) number, a 10-digit identifier; null when not applicable.
|
|
5312
|
+
*/
|
|
5313
|
+
ny_dol_prc_number?: string | null;
|
|
5314
|
+
};
|
|
5315
|
+
};
|
|
5316
|
+
/**
|
|
5317
|
+
* Parameters for updating an existing job. Every field is optional; omit a field to preserve its current value. The resulting job must still satisfy schedule and PWA validation rules. Accepts every shared job field plus a directly settable status and custom-field changes. Sending `created_by_user_id` returns 400 unknown_key, including when it matches the existing creator or is null. Undeclared body keys return 400, and a null for a field that is not nullable or a wrongly typed value returns 422 at its pointer, before any job or relationship changes.
|
|
5318
|
+
*/
|
|
5319
|
+
export type JobUpdateParameters = {
|
|
5320
|
+
/**
|
|
5321
|
+
* Evidence signed ID uploaded for resource jobs. Omit to retain the file. Requires performed_by_user_id; null is refused.
|
|
5322
|
+
*/
|
|
5323
|
+
lock_in_date_doc_signed_id?: string;
|
|
5324
|
+
/**
|
|
5325
|
+
* Visible user filing contract evidence. Required when lock_in_date_doc_signed_id is supplied.
|
|
5326
|
+
*/
|
|
5327
|
+
performed_by_user_id?: string;
|
|
5328
|
+
/**
|
|
5329
|
+
* Human-readable job name, unique within the creating company; null when unset.
|
|
5330
|
+
*/
|
|
5331
|
+
name?: string | null;
|
|
5332
|
+
/**
|
|
5333
|
+
* Free-text description of the job. Null or a wrong type answers 422.
|
|
5334
|
+
*/
|
|
5335
|
+
description?: string;
|
|
5336
|
+
/**
|
|
5337
|
+
* ID of the company that requested the job (for example a general contractor). Omit on update to preserve the existing requester. Null, a blank ID, or a wrong type answers 422.
|
|
5338
|
+
*/
|
|
5339
|
+
requested_by_company_id?: string;
|
|
5340
|
+
/**
|
|
5341
|
+
* The job's External ID, unique within the creating company. Leading and trailing spaces are removed, and a value another job in that company already holds, compared case-sensitively, answers 422. A job copied from a template does not inherit the template's value. Null or a blank value stores none.
|
|
5342
|
+
*/
|
|
5343
|
+
purchase_order_number?: string | null;
|
|
5344
|
+
/**
|
|
5345
|
+
* ID of the project this job belongs to; null when the job is not part of a project. A blank ID or a wrong type answers 422.
|
|
5346
|
+
*/
|
|
5347
|
+
project_id?: string | null;
|
|
5348
|
+
/**
|
|
5349
|
+
* ID of a department belonging to the job's provider company. Retrieve department IDs from GET /api/v1/companies/departments. Send null to clear the assignment; omit on update to preserve it, or on create to preserve a copied template's assignment. A new job without a template starts unassigned. A blank ID or a wrong type answers 422.
|
|
5350
|
+
*/
|
|
5351
|
+
companies_department_id?: string | null;
|
|
5352
|
+
/**
|
|
5353
|
+
* Federal prevailing-wage / apprenticeship (PWA) tracking mode: one of all (both prevailing wage and apprenticeship), pw_only, ap_only, or none. Null or any other value returns 422.
|
|
5354
|
+
*/
|
|
5355
|
+
federal_pwa_mode?: 'all' | 'pw_only' | 'ap_only' | 'none';
|
|
5356
|
+
/**
|
|
5357
|
+
* Regional (state) prevailing-wage / apprenticeship tracking mode, with the same values as federal_pwa_mode; null or any other value returns 422.
|
|
5358
|
+
*/
|
|
5359
|
+
regional_pwa_mode?: 'all' | 'pw_only' | 'ap_only' | 'none';
|
|
5360
|
+
/**
|
|
5361
|
+
* Two-letter state code (e.g. CA, IL, NY) that selects which regional prevailing-wage fields under pwa_details apply.
|
|
5362
|
+
*/
|
|
5363
|
+
region?: string | null;
|
|
5364
|
+
/**
|
|
5365
|
+
* The job's first day, as a calendar date (`YYYY-MM-DD`) in tz_name, stored as the start of that day there, the same as the web. Null to leave the job unscheduled. A date-time answers 422 naming the day to send; a blank, any other non-date, or a non-string answers 422.
|
|
5366
|
+
*/
|
|
5367
|
+
start_time?: string | null;
|
|
5368
|
+
/**
|
|
5369
|
+
* The job's last day, as a calendar date (`YYYY-MM-DD`) in tz_name, stored as the end of that day there, the same as the web. Null to leave the job unscheduled. A date-time answers 422 naming the day to send; a blank, any other non-date, or a non-string answers 422.
|
|
5370
|
+
*/
|
|
5371
|
+
end_time?: string | null;
|
|
5372
|
+
/**
|
|
5373
|
+
* Time zone the job's schedule and time tracking are anchored to (e.g. US/Central); defaults to US/Central when unset. Null, a blank or unlisted name, or a wrong type answers 422.
|
|
5374
|
+
*/
|
|
5375
|
+
tz_name?: string;
|
|
5376
|
+
/**
|
|
5377
|
+
* Day of the week the job's workweek and time cards start on, as an integer: 0 (Sunday) through 6 (Saturday). Any other value, a numeric string included, answers 422.
|
|
5378
|
+
*/
|
|
5379
|
+
time_card_start_day?: number;
|
|
5380
|
+
/**
|
|
5381
|
+
* Clock-in enforcement level: one of none (no guidance), warning (manual time entries fail the clock-in compliance check), or required (a technician's own time on the job must come from clocking in on DSPTCH Mobile; the technician's own web and user-API-key time-entry writes are refused). A time entry whose time code, as of the entry's start time, is PTO, holiday, or restricted to non-job time entries is exempt at every level. Time-entry writes made with a company API key are not gated. While the creating company requires clock-in company-wide, a create stores `required` whatever value is sent, and lowering an open job returns 422 with the error at `#/clock_in_requirement`. Omit the field to leave the current value unchanged.
|
|
5382
|
+
*/
|
|
5383
|
+
clock_in_requirement?: 'none' | 'warning' | 'required';
|
|
5384
|
+
/**
|
|
5385
|
+
* Whether to send geofence-based clock-in/out reminders for this job; null when unset.
|
|
5386
|
+
*/
|
|
5387
|
+
send_geofence_reminders?: boolean | null;
|
|
5388
|
+
/**
|
|
5389
|
+
* Whether customers granted access can view this job. A boolean; null or any other type returns 422.
|
|
5390
|
+
*/
|
|
5391
|
+
allow_customer_access?: boolean;
|
|
5392
|
+
/**
|
|
5393
|
+
* Whether the feature-allocation selector is shown for this job. A boolean; null or any other type returns 422.
|
|
5394
|
+
*/
|
|
5395
|
+
tracks_feature_allocations?: boolean;
|
|
5396
|
+
/**
|
|
5397
|
+
* Whether applicable time entries on this job must carry a feature allocation. A boolean; null or any other type returns 422.
|
|
5398
|
+
*/
|
|
5399
|
+
requires_feature_allocation?: boolean;
|
|
5400
|
+
/**
|
|
5401
|
+
* Whether time entries on this job are capped at one feature allocation. A boolean; null or any other type returns 422.
|
|
5402
|
+
*/
|
|
5403
|
+
max_one_feature_allocation?: boolean;
|
|
5404
|
+
/**
|
|
5405
|
+
* How this job records production completions: one of none (opts out), feature (per site feature, e.g. a turbine), or quantity (a unit count, e.g. modules). Locked once any completion exists. Omit the field to leave the current value unchanged.
|
|
5406
|
+
*/
|
|
5407
|
+
production_tracking_kind?: 'none' | 'feature' | 'quantity';
|
|
5408
|
+
/**
|
|
5409
|
+
* Contract work classification. Defaults to unspecified; construction, long_term_service, and one_time_service identify the confirmed kind.
|
|
5410
|
+
*/
|
|
5411
|
+
work_classification?: 'unspecified' | 'construction' | 'long_term_service' | 'one_time_service';
|
|
5335
5412
|
/**
|
|
5336
5413
|
* Complete desired set of unique nonblank manager user IDs. Omit to preserve the set; send an empty array to clear it. Null, null members, wrong types, blank IDs, and duplicate IDs answer 422 before any job or relationship is saved.
|
|
5337
5414
|
*/
|
|
@@ -5423,6 +5500,10 @@ export type JobUpdateParameters = {
|
|
|
5423
5500
|
* Prevailing-wage / apprenticeship (PWA) compliance details to set on the job. Omit or send an empty object to make no PWA-details changes. Null or a non-object answers 422, and so does an unknown key or a wrongly typed field inside it, at its pointer. The accepted regional keys depend on the effective region and regional PWA mode.
|
|
5424
5501
|
*/
|
|
5425
5502
|
pwa_details?: {
|
|
5503
|
+
/**
|
|
5504
|
+
* Job contract execution date override. Null clears the override and uses the project's contract date.
|
|
5505
|
+
*/
|
|
5506
|
+
lock_in_date?: string | null;
|
|
5426
5507
|
/**
|
|
5427
5508
|
* Role of the company on this job for PWA reporting: one of prime_contractor or sub_contractor; null when unset.
|
|
5428
5509
|
*/
|
|
@@ -6206,7 +6287,7 @@ export type TimeEntryResponseObject = {
|
|
|
6206
6287
|
*/
|
|
6207
6288
|
currency?: string;
|
|
6208
6289
|
/**
|
|
6209
|
-
* Where the base rate came from: one of user_default, position, prevailing_wage, or custom; null when no rate is set. (The schema types this as a free-form nullable string; the value set is defined by the model enum.) Present for company keys and for administrators of the company whose pay schedule holds the entry; omitted for other user keys.
|
|
6290
|
+
* Where the base rate came from: one of user_default, position, prevailing_wage, or custom; null when no rate is set. A fixed-hours salary is a user_default rate. (The schema types this as a free-form nullable string; the value set is defined by the model enum.) Present for company keys and for administrators of the company whose pay schedule holds the entry; omitted for other user keys.
|
|
6210
6291
|
*/
|
|
6211
6292
|
hourly_rate_src_type?: string | null;
|
|
6212
6293
|
/**
|
|
@@ -15281,7 +15362,7 @@ export type AssetsItemParameters = {
|
|
|
15281
15362
|
*/
|
|
15282
15363
|
container_item_id?: string | null;
|
|
15283
15364
|
/**
|
|
15284
|
-
* Optional, create only. The storage location within the placement site or container the item lands in; must belong to that holder. Omit for an unbinned placement.
|
|
15365
|
+
* Optional, create only. The storage location within the placement site or container the item lands in; must belong to that holder. Omit for an unbinned placement. One named with user_id, or without a placement, answers 422 at its pointer.
|
|
15285
15366
|
*/
|
|
15286
15367
|
assets_sub_location_id?: string | null;
|
|
15287
15368
|
};
|
|
@@ -15766,11 +15847,73 @@ export type AssetsDocumentResponseObject = {
|
|
|
15766
15847
|
updated_at: string;
|
|
15767
15848
|
};
|
|
15768
15849
|
/**
|
|
15769
|
-
*
|
|
15850
|
+
* A file attached to an asset product — a document such as a manual, warranty, or certificate. Uploaded through the direct-upload flow and optionally marked as a certified copy.
|
|
15851
|
+
*/
|
|
15852
|
+
export type AssetsProductDocumentResponseObject = {
|
|
15853
|
+
/**
|
|
15854
|
+
* Unique identifier.
|
|
15855
|
+
*/
|
|
15856
|
+
id: string;
|
|
15857
|
+
/**
|
|
15858
|
+
* ID of the asset product this document belongs to.
|
|
15859
|
+
*/
|
|
15860
|
+
assets_product_id: string;
|
|
15861
|
+
/**
|
|
15862
|
+
* Read-only document label; this API does not set it, so it is always "document".
|
|
15863
|
+
*/
|
|
15864
|
+
name: string;
|
|
15865
|
+
/**
|
|
15866
|
+
* The file's human-readable download name; null when not set.
|
|
15867
|
+
*/
|
|
15868
|
+
filename: string | null;
|
|
15869
|
+
/**
|
|
15870
|
+
* Free-text description of the document; null when none.
|
|
15871
|
+
*/
|
|
15872
|
+
description: string | null;
|
|
15873
|
+
/**
|
|
15874
|
+
* Whether the document has been marked as a certified copy.
|
|
15875
|
+
*/
|
|
15876
|
+
certified: boolean;
|
|
15877
|
+
/**
|
|
15878
|
+
* ID of the user who uploaded the document.
|
|
15879
|
+
*/
|
|
15880
|
+
created_by_user_id: string;
|
|
15881
|
+
/**
|
|
15882
|
+
* The attached file; null while no blob is attached.
|
|
15883
|
+
*/
|
|
15884
|
+
file: {
|
|
15885
|
+
/**
|
|
15886
|
+
* Stored name of the uploaded file.
|
|
15887
|
+
*/
|
|
15888
|
+
filename: string;
|
|
15889
|
+
/**
|
|
15890
|
+
* MIME type of the file; null when not recorded.
|
|
15891
|
+
*/
|
|
15892
|
+
content_type: string | null;
|
|
15893
|
+
/**
|
|
15894
|
+
* Size of the file in bytes.
|
|
15895
|
+
*/
|
|
15896
|
+
byte_size: number;
|
|
15897
|
+
/**
|
|
15898
|
+
* A URL to download the file.
|
|
15899
|
+
*/
|
|
15900
|
+
url: string;
|
|
15901
|
+
} | null;
|
|
15902
|
+
/**
|
|
15903
|
+
* When the record was created (ISO 8601).
|
|
15904
|
+
*/
|
|
15905
|
+
created_at: string;
|
|
15906
|
+
/**
|
|
15907
|
+
* When the record was last updated (ISO 8601).
|
|
15908
|
+
*/
|
|
15909
|
+
updated_at: string;
|
|
15910
|
+
};
|
|
15911
|
+
/**
|
|
15912
|
+
* Attach a file to an asset item or product as a document. file is required and takes a signed_id from the direct-upload endpoint.
|
|
15770
15913
|
*/
|
|
15771
15914
|
export type AssetsDocumentParameters = {
|
|
15772
15915
|
/**
|
|
15773
|
-
* A signed_id from POST /api/v1/direct_uploads identifying the uploaded blob to attach. Register the upload naming `assets.items.documents` — a signed_id issued for any other resource will not resolve here. Null and a blank string answer 422.
|
|
15916
|
+
* A signed_id from POST /api/v1/direct_uploads identifying the uploaded blob to attach. Register the upload naming this endpoint's resource (`assets.items.documents` or `assets.products.documents`) — a signed_id issued for any other resource will not resolve here. Null and a blank string answer 422.
|
|
15774
15917
|
*/
|
|
15775
15918
|
file: string;
|
|
15776
15919
|
/**
|
|
@@ -15787,11 +15930,11 @@ export type AssetsDocumentParameters = {
|
|
|
15787
15930
|
performed_by_user_id: string;
|
|
15788
15931
|
};
|
|
15789
15932
|
/**
|
|
15790
|
-
* Update an asset
|
|
15933
|
+
* Update an asset item or product document. All fields are optional — send only what changes. Omit file to retain the existing attachment, or supply a new signed_id to replace it. A document always holds a file, so null answers 422, as does a blank string.
|
|
15791
15934
|
*/
|
|
15792
15935
|
export type AssetsDocumentUpdateParameters = {
|
|
15793
15936
|
/**
|
|
15794
|
-
* A signed_id from POST /api/v1/direct_uploads identifying a replacement blob. Register the upload naming `assets.items.documents` — a signed_id issued for any other resource will not resolve here.
|
|
15937
|
+
* A signed_id from POST /api/v1/direct_uploads identifying a replacement blob. Register the upload naming this endpoint's resource (`assets.items.documents` or `assets.products.documents`) — a signed_id issued for any other resource will not resolve here.
|
|
15795
15938
|
*/
|
|
15796
15939
|
file?: string;
|
|
15797
15940
|
/**
|
|
@@ -15804,7 +15947,7 @@ export type AssetsDocumentUpdateParameters = {
|
|
|
15804
15947
|
description?: string | null;
|
|
15805
15948
|
};
|
|
15806
15949
|
/**
|
|
15807
|
-
* One entry in an
|
|
15950
|
+
* One entry in an asset document's change history, recorded whenever the document is created, updated, or deleted — including when only its attached file is replaced.
|
|
15808
15951
|
*/
|
|
15809
15952
|
export type AssetsDocumentVersionResponseObject = {
|
|
15810
15953
|
/**
|
|
@@ -16785,15 +16928,23 @@ export type AssetsTransferParameters = {
|
|
|
16785
16928
|
}>;
|
|
16786
16929
|
};
|
|
16787
16930
|
/**
|
|
16788
|
-
* Add stock of a bulk product
|
|
16931
|
+
* Add stock of a bulk product to a holder — a site, a user's custody, or a container — recording a receive transaction. Name the holder with exactly one of assets_site_id, user_id, or container_item_id; several answer 422 at each named key, and none answers 422. Bulk products only.
|
|
16789
16932
|
*/
|
|
16790
16933
|
export type AssetsRestockParameters = {
|
|
16791
16934
|
/**
|
|
16792
16935
|
* ID of the site to add the stock to. A site the API key cannot see answers 404.
|
|
16793
16936
|
*/
|
|
16794
|
-
assets_site_id
|
|
16937
|
+
assets_site_id?: string;
|
|
16795
16938
|
/**
|
|
16796
|
-
*
|
|
16939
|
+
* ID of the user to give the stock to. A user outside the company, or one whose employment has ended, answers 404.
|
|
16940
|
+
*/
|
|
16941
|
+
user_id?: string;
|
|
16942
|
+
/**
|
|
16943
|
+
* ID of the container item to place the stock in. A container the API key cannot see answers 404; an item that is not a container answers 422.
|
|
16944
|
+
*/
|
|
16945
|
+
container_item_id?: string;
|
|
16946
|
+
/**
|
|
16947
|
+
* Optional. The site's or container's storage location the stock lands in; one that is not the holder's answers 404, and one named with user_id answers 422 at its pointer. Omit or send null for the holder's unbinned stock.
|
|
16797
16948
|
*/
|
|
16798
16949
|
assets_sub_location_id?: string | null;
|
|
16799
16950
|
/**
|
|
@@ -16806,19 +16957,27 @@ export type AssetsRestockParameters = {
|
|
|
16806
16957
|
performed_by_user_id: string;
|
|
16807
16958
|
};
|
|
16808
16959
|
/**
|
|
16809
|
-
* Set the
|
|
16960
|
+
* Set the count of a bulk product held by a holder — a site, a user's custody, or a container — to a specific number, recording the difference as an adjustment transaction. Name the holder with exactly one of assets_site_id, user_id, or container_item_id; several answer 422 at each named key, and none answers 422. The holder must already hold the product. Bulk products only.
|
|
16810
16961
|
*/
|
|
16811
16962
|
export type AssetsAdjustmentParameters = {
|
|
16812
16963
|
/**
|
|
16813
16964
|
* ID of the site whose on-hand count is being set. A site the API key cannot see answers 404.
|
|
16814
16965
|
*/
|
|
16815
|
-
assets_site_id
|
|
16966
|
+
assets_site_id?: string;
|
|
16816
16967
|
/**
|
|
16817
|
-
*
|
|
16968
|
+
* ID of the user whose held count is being set. A user outside the company, or one whose employment has ended, answers 404.
|
|
16969
|
+
*/
|
|
16970
|
+
user_id?: string;
|
|
16971
|
+
/**
|
|
16972
|
+
* ID of the container item whose held count is being set. A container the API key cannot see answers 404.
|
|
16973
|
+
*/
|
|
16974
|
+
container_item_id?: string;
|
|
16975
|
+
/**
|
|
16976
|
+
* Optional. The site's or container's storage location whose count is being set; one that is not the holder's answers 404, and one named with user_id answers 422 at its pointer. Omit or send null to set the holder's unbinned count.
|
|
16818
16977
|
*/
|
|
16819
16978
|
assets_sub_location_id?: string | null;
|
|
16820
16979
|
/**
|
|
16821
|
-
* The corrected
|
|
16980
|
+
* The corrected count for the holder, as an integer of 0 or more; any other value answers 422. The difference from the current count is recorded as the adjustment.
|
|
16822
16981
|
*/
|
|
16823
16982
|
new_quantity: number;
|
|
16824
16983
|
/**
|
|
@@ -16873,6 +17032,287 @@ export type CompetencyStandardArchiveParametersWritable = {
|
|
|
16873
17032
|
export type CompetencyAssessorAuthorizationRevocationParametersWritable = {
|
|
16874
17033
|
[key: string]: never;
|
|
16875
17034
|
};
|
|
17035
|
+
/**
|
|
17036
|
+
* 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.
|
|
17037
|
+
*/
|
|
17038
|
+
export type JobResponseObjectWritable = {
|
|
17039
|
+
/**
|
|
17040
|
+
* Unique identifier.
|
|
17041
|
+
*/
|
|
17042
|
+
id: string;
|
|
17043
|
+
/**
|
|
17044
|
+
* User-facing sequential job number shown in the app, preserved from the job's original integer identifier.
|
|
17045
|
+
*/
|
|
17046
|
+
display_id: number;
|
|
17047
|
+
/**
|
|
17048
|
+
* Free-text description of the job.
|
|
17049
|
+
*/
|
|
17050
|
+
description: string;
|
|
17051
|
+
/**
|
|
17052
|
+
* The job's scheduled time window as a timestamp range; null when unscheduled. start_time and end_time name the days it spans in tz_name.
|
|
17053
|
+
*/
|
|
17054
|
+
scheduled_time: string | null;
|
|
17055
|
+
/**
|
|
17056
|
+
* When the record was created (ISO 8601).
|
|
17057
|
+
*/
|
|
17058
|
+
created_at: string;
|
|
17059
|
+
/**
|
|
17060
|
+
* When the record was last updated (ISO 8601).
|
|
17061
|
+
*/
|
|
17062
|
+
updated_at: string;
|
|
17063
|
+
/**
|
|
17064
|
+
* Current lifecycle status: one of pending_provider, pending_schedule, pending_workers, ready, disputed, completed, or cancelled. Mostly derived from job and position state; only completed, cancelled, and disputed can be set directly.
|
|
17065
|
+
*/
|
|
17066
|
+
status: string;
|
|
17067
|
+
/**
|
|
17068
|
+
* The job's first day, as a calendar date (`YYYY-MM-DD`) in tz_name; the schedule starts at the start of that day there, the same as the web. Null when unscheduled.
|
|
17069
|
+
*/
|
|
17070
|
+
start_time: string | null;
|
|
17071
|
+
/**
|
|
17072
|
+
* The job's last day, as a calendar date (`YYYY-MM-DD`) in tz_name; the schedule ends at the end of that day there, the same as the web. Null when unscheduled.
|
|
17073
|
+
*/
|
|
17074
|
+
end_time: string | null;
|
|
17075
|
+
/**
|
|
17076
|
+
* The job's External ID; null when unset. A new or changed value must be unique within the creating company, but jobs saved before that rule may still share one.
|
|
17077
|
+
*/
|
|
17078
|
+
purchase_order_number: string | null;
|
|
17079
|
+
time_card_start_day: TimeCardStartDay;
|
|
17080
|
+
/**
|
|
17081
|
+
* Time zone the job's schedule and time tracking are anchored to (e.g. US/Central).
|
|
17082
|
+
*/
|
|
17083
|
+
tz_name: string;
|
|
17084
|
+
/**
|
|
17085
|
+
* Compatibility alias — true when clock_in_requirement is warning or required; always boolean.
|
|
17086
|
+
*/
|
|
17087
|
+
require_clock_in: boolean;
|
|
17088
|
+
/**
|
|
17089
|
+
* Clock-in enforcement level stored on the job: one of none (no guidance), warning (manual time entries fail the clock-in compliance check), or required (a technician's own time on the job must come from clocking in on DSPTCH Mobile; the technician's own web and user-API-key time-entry writes are refused). A time entry whose time code, as of the entry's start time, is PTO, holiday, or restricted to non-job time entries is exempt at every level. Time-entry writes made with a company API key are not gated. A company-wide clock-in requirement on the time entry's company can make that entry's requirement stricter than this value.
|
|
17090
|
+
*/
|
|
17091
|
+
clock_in_requirement: 'none' | 'warning' | 'required';
|
|
17092
|
+
/**
|
|
17093
|
+
* Human-readable job name, unique within the creating company; null when unset.
|
|
17094
|
+
*/
|
|
17095
|
+
name: string | null;
|
|
17096
|
+
/**
|
|
17097
|
+
* Federal prevailing-wage / apprenticeship (PWA) tracking mode: one of all (both prevailing wage and apprenticeship), pw_only, ap_only, or none.
|
|
17098
|
+
*/
|
|
17099
|
+
federal_pwa_mode: 'all' | 'pw_only' | 'ap_only' | 'none';
|
|
17100
|
+
/**
|
|
17101
|
+
* Regional (state) prevailing-wage / apprenticeship tracking mode: one of all (both prevailing wage and apprenticeship), pw_only, ap_only, or none.
|
|
17102
|
+
*/
|
|
17103
|
+
regional_pwa_mode: 'all' | 'pw_only' | 'ap_only' | 'none';
|
|
17104
|
+
/**
|
|
17105
|
+
* Two-letter US state abbreviation for the job's operating region (e.g. CA); required when the job tracks regional prevailing wage, otherwise null.
|
|
17106
|
+
*/
|
|
17107
|
+
region: string | null;
|
|
17108
|
+
/**
|
|
17109
|
+
* Whether to send geofence-based clock-in/out reminders for this job; null when unset.
|
|
17110
|
+
*/
|
|
17111
|
+
send_geofence_reminders: boolean | null;
|
|
17112
|
+
/**
|
|
17113
|
+
* Whether customers granted access can view this job.
|
|
17114
|
+
*/
|
|
17115
|
+
allow_customer_access: boolean;
|
|
17116
|
+
/**
|
|
17117
|
+
* ID of the company that created the job.
|
|
17118
|
+
*/
|
|
17119
|
+
created_by_company_id: string;
|
|
17120
|
+
/**
|
|
17121
|
+
* ID of the company that requested the job (for example a general contractor); null when unset.
|
|
17122
|
+
*/
|
|
17123
|
+
requested_by_company_id: string | null;
|
|
17124
|
+
/**
|
|
17125
|
+
* ID of the project this job belongs to; null when the job is not part of a project.
|
|
17126
|
+
*/
|
|
17127
|
+
project_id: string | null;
|
|
17128
|
+
/**
|
|
17129
|
+
* ID of the provider company's department assigned to this job; null when unassigned. Retrieve department IDs from GET /api/v1/companies/departments.
|
|
17130
|
+
*/
|
|
17131
|
+
companies_department_id: string | null;
|
|
17132
|
+
/**
|
|
17133
|
+
* The job's managers, each as a minimal object; empty when the job has no managers.
|
|
17134
|
+
*/
|
|
17135
|
+
manager_users: Array<{
|
|
17136
|
+
/**
|
|
17137
|
+
* ID of the manager user.
|
|
17138
|
+
*/
|
|
17139
|
+
id: string;
|
|
17140
|
+
/**
|
|
17141
|
+
* Name of the manager user.
|
|
17142
|
+
*/
|
|
17143
|
+
name: string;
|
|
17144
|
+
}>;
|
|
17145
|
+
/**
|
|
17146
|
+
* The user who created the job.
|
|
17147
|
+
*/
|
|
17148
|
+
created_by_user: {
|
|
17149
|
+
/**
|
|
17150
|
+
* ID of the creating user.
|
|
17151
|
+
*/
|
|
17152
|
+
id: string;
|
|
17153
|
+
/**
|
|
17154
|
+
* Name of the creating user.
|
|
17155
|
+
*/
|
|
17156
|
+
name: string;
|
|
17157
|
+
};
|
|
17158
|
+
/**
|
|
17159
|
+
* Sites (geofenced locations) associated with the job; empty when none.
|
|
17160
|
+
*/
|
|
17161
|
+
sites: Array<{
|
|
17162
|
+
/**
|
|
17163
|
+
* Name of the site.
|
|
17164
|
+
*/
|
|
17165
|
+
name: string;
|
|
17166
|
+
/**
|
|
17167
|
+
* Geofenced features within the site; empty when none.
|
|
17168
|
+
*/
|
|
17169
|
+
features: Array<{
|
|
17170
|
+
/**
|
|
17171
|
+
* Name of the feature.
|
|
17172
|
+
*/
|
|
17173
|
+
name: string;
|
|
17174
|
+
}>;
|
|
17175
|
+
}>;
|
|
17176
|
+
/**
|
|
17177
|
+
* The job's structured address; null when unset.
|
|
17178
|
+
*/
|
|
17179
|
+
job_address: {
|
|
17180
|
+
/**
|
|
17181
|
+
* Human-readable one-line address label.
|
|
17182
|
+
*/
|
|
17183
|
+
label: string;
|
|
17184
|
+
} | null;
|
|
17185
|
+
/**
|
|
17186
|
+
* Positions on the job — the worker assignments that track time against it; empty when none.
|
|
17187
|
+
*/
|
|
17188
|
+
positions: Array<{
|
|
17189
|
+
position_function: PositionFunction;
|
|
17190
|
+
/**
|
|
17191
|
+
* ID of the worker assigned to the position; null when unfilled.
|
|
17192
|
+
*/
|
|
17193
|
+
fulfilled_by_user_id: string | null;
|
|
17194
|
+
}>;
|
|
17195
|
+
/**
|
|
17196
|
+
* The project this job belongs to; null when none.
|
|
17197
|
+
*/
|
|
17198
|
+
project: {
|
|
17199
|
+
/**
|
|
17200
|
+
* Name of the project.
|
|
17201
|
+
*/
|
|
17202
|
+
name: string;
|
|
17203
|
+
} | null;
|
|
17204
|
+
pwa_details: PwaJobDetailsResponseObjectWritable;
|
|
17205
|
+
/**
|
|
17206
|
+
* Work types (trade or scope categories) associated with the job; empty when none.
|
|
17207
|
+
*/
|
|
17208
|
+
work_types: Array<{
|
|
17209
|
+
/**
|
|
17210
|
+
* The work-type name.
|
|
17211
|
+
*/
|
|
17212
|
+
value: string;
|
|
17213
|
+
}>;
|
|
17214
|
+
/**
|
|
17215
|
+
* IDs of the timecodes currently associated with the job; empty when none.
|
|
17216
|
+
*/
|
|
17217
|
+
timekeeping_timecode_ids: Array<string>;
|
|
17218
|
+
/**
|
|
17219
|
+
* Whether the feature-allocation selector is shown for this job.
|
|
17220
|
+
*/
|
|
17221
|
+
tracks_feature_allocations: boolean;
|
|
17222
|
+
/**
|
|
17223
|
+
* Whether applicable time entries on this job must carry a feature allocation.
|
|
17224
|
+
*/
|
|
17225
|
+
requires_feature_allocation: boolean;
|
|
17226
|
+
/**
|
|
17227
|
+
* Whether time entries on this job are capped at one feature allocation.
|
|
17228
|
+
*/
|
|
17229
|
+
max_one_feature_allocation: boolean;
|
|
17230
|
+
/**
|
|
17231
|
+
* Contract work classification; unspecified until confirmed. Does not change rate syncing.
|
|
17232
|
+
*/
|
|
17233
|
+
work_classification: 'unspecified' | 'construction' | 'long_term_service' | 'one_time_service';
|
|
17234
|
+
/**
|
|
17235
|
+
* How this job records production completions: one of none (opts out), feature (per site feature, e.g. a turbine), or quantity (a unit count, e.g. modules). Locked once any completion exists.
|
|
17236
|
+
*/
|
|
17237
|
+
production_tracking_kind: 'none' | 'feature' | 'quantity';
|
|
17238
|
+
/**
|
|
17239
|
+
* Custom-field values stored on the job, one row per configuration, including hidden configurations; empty when none.
|
|
17240
|
+
*/
|
|
17241
|
+
custom_fields: Array<CustomFieldResponseObject>;
|
|
17242
|
+
};
|
|
17243
|
+
/**
|
|
17244
|
+
* Prevailing-wage / apprenticeship (PWA) compliance details for a job, used in certified-payroll reporting. Common fields are always present when this object exists; regional fields appear only when applicable to the job's region and regional PWA mode. The property is null when no PWA details have been configured; PWA tracking modes alone do not materialize it.
|
|
17245
|
+
*/
|
|
17246
|
+
export type PwaJobDetailsResponseObjectWritable = {
|
|
17247
|
+
/**
|
|
17248
|
+
* Job contract execution date override. Null means use the project's contract date.
|
|
17249
|
+
*/
|
|
17250
|
+
lock_in_date: string | null;
|
|
17251
|
+
/**
|
|
17252
|
+
* Role of the company on this job for PWA reporting: one of prime_contractor or sub_contractor; null when unset.
|
|
17253
|
+
*/
|
|
17254
|
+
contractor_type: 'prime_contractor' | 'sub_contractor' | null;
|
|
17255
|
+
/**
|
|
17256
|
+
* Whether new positions on the job default to paying the full fringe as cash.
|
|
17257
|
+
*/
|
|
17258
|
+
pay_full_cash_fringe_by_default: boolean;
|
|
17259
|
+
/**
|
|
17260
|
+
* California DIR (Department of Industrial Relations) awarding-body ID; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
17261
|
+
*/
|
|
17262
|
+
dir_awarding_body_id?: string | null;
|
|
17263
|
+
/**
|
|
17264
|
+
* California DIR project registration ID (an 11-digit number); present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
17265
|
+
*/
|
|
17266
|
+
dir_project_id?: string | null;
|
|
17267
|
+
/**
|
|
17268
|
+
* California DIR project name; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
17269
|
+
*/
|
|
17270
|
+
dir_project_name?: string | null;
|
|
17271
|
+
/**
|
|
17272
|
+
* California DIR contract ID; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
17273
|
+
*/
|
|
17274
|
+
dir_contract_id?: string | null;
|
|
17275
|
+
/**
|
|
17276
|
+
* California DIR awarding-body name; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
17277
|
+
*/
|
|
17278
|
+
dir_project_awarding_body_name?: string | null;
|
|
17279
|
+
/**
|
|
17280
|
+
* California DIR project number; present only for a compatible California prevailing-wage configuration and null when applicable but unset.
|
|
17281
|
+
*/
|
|
17282
|
+
dir_project_number?: string | null;
|
|
17283
|
+
/**
|
|
17284
|
+
* Illinois DOL (Department of Labor) project ID; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
17285
|
+
*/
|
|
17286
|
+
il_dol_project_id?: string | null;
|
|
17287
|
+
/**
|
|
17288
|
+
* Whether the Illinois project is funded with state capital funds; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
17289
|
+
*/
|
|
17290
|
+
il_dol_state_capital_funds?: boolean | null;
|
|
17291
|
+
/**
|
|
17292
|
+
* Illinois DOL public-body name; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
17293
|
+
*/
|
|
17294
|
+
il_dol_public_body_name?: string | null;
|
|
17295
|
+
/**
|
|
17296
|
+
* ID of the Illinois DOL public-body contact; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
17297
|
+
*/
|
|
17298
|
+
il_dol_public_body_contact_id?: string | null;
|
|
17299
|
+
/**
|
|
17300
|
+
* ID of the Illinois DOL public-body address; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
17301
|
+
*/
|
|
17302
|
+
il_dol_public_body_address_id?: string | null;
|
|
17303
|
+
/**
|
|
17304
|
+
* Illinois DOL contract number; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
17305
|
+
*/
|
|
17306
|
+
il_dol_contract_number?: string | null;
|
|
17307
|
+
/**
|
|
17308
|
+
* Illinois SHINES project ID; present only for a compatible Illinois prevailing-wage configuration and null when applicable but unset.
|
|
17309
|
+
*/
|
|
17310
|
+
il_shines_project_id?: string | null;
|
|
17311
|
+
/**
|
|
17312
|
+
* New York DOL prevailing-rate-case (PRC) number, a 10-digit identifier; present only for a compatible New York prevailing-wage configuration and null when applicable but unset.
|
|
17313
|
+
*/
|
|
17314
|
+
ny_dol_prc_number?: string | null;
|
|
17315
|
+
} | null;
|
|
16876
17316
|
/**
|
|
16877
17317
|
* A page of certifications held by your company's workers.
|
|
16878
17318
|
*/
|
|
@@ -20412,6 +20852,220 @@ export type SyncServiceScheduleTemplateResponses = {
|
|
|
20412
20852
|
};
|
|
20413
20853
|
};
|
|
20414
20854
|
export type SyncServiceScheduleTemplateResponse = SyncServiceScheduleTemplateResponses[keyof SyncServiceScheduleTemplateResponses];
|
|
20855
|
+
export type ListProductDocumentsData = {
|
|
20856
|
+
body?: never;
|
|
20857
|
+
path: {
|
|
20858
|
+
product_id: string;
|
|
20859
|
+
};
|
|
20860
|
+
query?: {
|
|
20861
|
+
filter?: string;
|
|
20862
|
+
'filter[unexpected]'?: string;
|
|
20863
|
+
/**
|
|
20864
|
+
* This pagination cursor corresponds to the cursor value found in the response in
|
|
20865
|
+
* `meta.page.next_cursor`.
|
|
20866
|
+
*/
|
|
20867
|
+
'page[cursor]'?: string;
|
|
20868
|
+
/**
|
|
20869
|
+
* Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
|
|
20870
|
+
*/
|
|
20871
|
+
'page[limit]'?: number;
|
|
20872
|
+
page?: string;
|
|
20873
|
+
};
|
|
20874
|
+
url: '/api/v1/assets/products/{product_id}/documents';
|
|
20875
|
+
};
|
|
20876
|
+
export type ListProductDocumentsErrors = {
|
|
20877
|
+
/**
|
|
20878
|
+
* Bad Request
|
|
20879
|
+
*/
|
|
20880
|
+
400: Problem;
|
|
20881
|
+
/**
|
|
20882
|
+
* Forbidden
|
|
20883
|
+
*/
|
|
20884
|
+
403: Problem;
|
|
20885
|
+
/**
|
|
20886
|
+
* Not Found
|
|
20887
|
+
*/
|
|
20888
|
+
404: Problem;
|
|
20889
|
+
};
|
|
20890
|
+
export type ListProductDocumentsError = ListProductDocumentsErrors[keyof ListProductDocumentsErrors];
|
|
20891
|
+
export type ListProductDocumentsResponses = {
|
|
20892
|
+
/**
|
|
20893
|
+
* Success
|
|
20894
|
+
*/
|
|
20895
|
+
200: {
|
|
20896
|
+
meta: Meta;
|
|
20897
|
+
links: Links;
|
|
20898
|
+
data: Array<AssetsProductDocumentResponseObject>;
|
|
20899
|
+
};
|
|
20900
|
+
};
|
|
20901
|
+
export type ListProductDocumentsResponse = ListProductDocumentsResponses[keyof ListProductDocumentsResponses];
|
|
20902
|
+
export type CreateProductDocumentData = {
|
|
20903
|
+
body: AssetsDocumentParameters;
|
|
20904
|
+
path: {
|
|
20905
|
+
product_id: string;
|
|
20906
|
+
};
|
|
20907
|
+
query?: never;
|
|
20908
|
+
url: '/api/v1/assets/products/{product_id}/documents';
|
|
20909
|
+
};
|
|
20910
|
+
export type CreateProductDocumentErrors = {
|
|
20911
|
+
/**
|
|
20912
|
+
* Bad Request (missing performed_by_user_id)
|
|
20913
|
+
*/
|
|
20914
|
+
400: Problem;
|
|
20915
|
+
/**
|
|
20916
|
+
* Forbidden
|
|
20917
|
+
*/
|
|
20918
|
+
403: Problem;
|
|
20919
|
+
/**
|
|
20920
|
+
* Not Found
|
|
20921
|
+
*/
|
|
20922
|
+
404: Problem;
|
|
20923
|
+
/**
|
|
20924
|
+
* Unprocessable Content
|
|
20925
|
+
*/
|
|
20926
|
+
422: Problem;
|
|
20927
|
+
};
|
|
20928
|
+
export type CreateProductDocumentError = CreateProductDocumentErrors[keyof CreateProductDocumentErrors];
|
|
20929
|
+
export type CreateProductDocumentResponses = {
|
|
20930
|
+
/**
|
|
20931
|
+
* Created
|
|
20932
|
+
*/
|
|
20933
|
+
201: AssetsProductDocumentResponseObject;
|
|
20934
|
+
};
|
|
20935
|
+
export type CreateProductDocumentResponse = CreateProductDocumentResponses[keyof CreateProductDocumentResponses];
|
|
20936
|
+
export type DeleteProductDocumentData = {
|
|
20937
|
+
body?: never;
|
|
20938
|
+
path: {
|
|
20939
|
+
product_id: string;
|
|
20940
|
+
id: string;
|
|
20941
|
+
};
|
|
20942
|
+
query?: never;
|
|
20943
|
+
url: '/api/v1/assets/products/{product_id}/documents/{id}';
|
|
20944
|
+
};
|
|
20945
|
+
export type DeleteProductDocumentErrors = {
|
|
20946
|
+
/**
|
|
20947
|
+
* Forbidden
|
|
20948
|
+
*/
|
|
20949
|
+
403: Problem;
|
|
20950
|
+
/**
|
|
20951
|
+
* Not Found
|
|
20952
|
+
*/
|
|
20953
|
+
404: Problem;
|
|
20954
|
+
};
|
|
20955
|
+
export type DeleteProductDocumentError = DeleteProductDocumentErrors[keyof DeleteProductDocumentErrors];
|
|
20956
|
+
export type DeleteProductDocumentResponses = {
|
|
20957
|
+
/**
|
|
20958
|
+
* No Content
|
|
20959
|
+
*/
|
|
20960
|
+
204: void;
|
|
20961
|
+
};
|
|
20962
|
+
export type DeleteProductDocumentResponse = DeleteProductDocumentResponses[keyof DeleteProductDocumentResponses];
|
|
20963
|
+
export type GetProductDocumentData = {
|
|
20964
|
+
body?: never;
|
|
20965
|
+
path: {
|
|
20966
|
+
product_id: string;
|
|
20967
|
+
id: string;
|
|
20968
|
+
};
|
|
20969
|
+
query?: never;
|
|
20970
|
+
url: '/api/v1/assets/products/{product_id}/documents/{id}';
|
|
20971
|
+
};
|
|
20972
|
+
export type GetProductDocumentErrors = {
|
|
20973
|
+
/**
|
|
20974
|
+
* Forbidden
|
|
20975
|
+
*/
|
|
20976
|
+
403: Problem;
|
|
20977
|
+
/**
|
|
20978
|
+
* Not Found
|
|
20979
|
+
*/
|
|
20980
|
+
404: Problem;
|
|
20981
|
+
};
|
|
20982
|
+
export type GetProductDocumentError = GetProductDocumentErrors[keyof GetProductDocumentErrors];
|
|
20983
|
+
export type GetProductDocumentResponses = {
|
|
20984
|
+
/**
|
|
20985
|
+
* Success
|
|
20986
|
+
*/
|
|
20987
|
+
200: AssetsProductDocumentResponseObject;
|
|
20988
|
+
};
|
|
20989
|
+
export type GetProductDocumentResponse = GetProductDocumentResponses[keyof GetProductDocumentResponses];
|
|
20990
|
+
export type UpdateProductDocumentData = {
|
|
20991
|
+
body: AssetsDocumentUpdateParameters;
|
|
20992
|
+
path: {
|
|
20993
|
+
product_id: string;
|
|
20994
|
+
id: string;
|
|
20995
|
+
};
|
|
20996
|
+
query?: never;
|
|
20997
|
+
url: '/api/v1/assets/products/{product_id}/documents/{id}';
|
|
20998
|
+
};
|
|
20999
|
+
export type UpdateProductDocumentErrors = {
|
|
21000
|
+
/**
|
|
21001
|
+
* Bad Request
|
|
21002
|
+
*/
|
|
21003
|
+
400: Problem;
|
|
21004
|
+
/**
|
|
21005
|
+
* Forbidden
|
|
21006
|
+
*/
|
|
21007
|
+
403: Problem;
|
|
21008
|
+
/**
|
|
21009
|
+
* Not Found
|
|
21010
|
+
*/
|
|
21011
|
+
404: Problem;
|
|
21012
|
+
};
|
|
21013
|
+
export type UpdateProductDocumentError = UpdateProductDocumentErrors[keyof UpdateProductDocumentErrors];
|
|
21014
|
+
export type UpdateProductDocumentResponses = {
|
|
21015
|
+
/**
|
|
21016
|
+
* Success
|
|
21017
|
+
*/
|
|
21018
|
+
200: AssetsProductDocumentResponseObject;
|
|
21019
|
+
};
|
|
21020
|
+
export type UpdateProductDocumentResponse = UpdateProductDocumentResponses[keyof UpdateProductDocumentResponses];
|
|
21021
|
+
export type ListProductDocumentVersionsData = {
|
|
21022
|
+
body?: never;
|
|
21023
|
+
path: {
|
|
21024
|
+
product_id: string;
|
|
21025
|
+
document_id: string;
|
|
21026
|
+
};
|
|
21027
|
+
query?: {
|
|
21028
|
+
/**
|
|
21029
|
+
* This pagination cursor corresponds to the cursor value found in the response in
|
|
21030
|
+
* `meta.page.next_cursor`.
|
|
21031
|
+
*/
|
|
21032
|
+
'page[cursor]'?: string;
|
|
21033
|
+
/**
|
|
21034
|
+
* Maximum number of records to return per page. Defaults to 20. A value above 100 is capped to 100 rather than rejected; a value that is zero, negative, or not an integer is rejected with a `400`.
|
|
21035
|
+
*/
|
|
21036
|
+
'page[limit]'?: number;
|
|
21037
|
+
page?: string;
|
|
21038
|
+
filter?: string;
|
|
21039
|
+
'filter[unexpected]'?: string;
|
|
21040
|
+
};
|
|
21041
|
+
url: '/api/v1/assets/products/{product_id}/documents/{document_id}/versions';
|
|
21042
|
+
};
|
|
21043
|
+
export type ListProductDocumentVersionsErrors = {
|
|
21044
|
+
/**
|
|
21045
|
+
* Bad Request
|
|
21046
|
+
*/
|
|
21047
|
+
400: Problem;
|
|
21048
|
+
/**
|
|
21049
|
+
* Forbidden
|
|
21050
|
+
*/
|
|
21051
|
+
403: Problem;
|
|
21052
|
+
/**
|
|
21053
|
+
* Not Found
|
|
21054
|
+
*/
|
|
21055
|
+
404: Problem;
|
|
21056
|
+
};
|
|
21057
|
+
export type ListProductDocumentVersionsError = ListProductDocumentVersionsErrors[keyof ListProductDocumentVersionsErrors];
|
|
21058
|
+
export type ListProductDocumentVersionsResponses = {
|
|
21059
|
+
/**
|
|
21060
|
+
* Success
|
|
21061
|
+
*/
|
|
21062
|
+
200: {
|
|
21063
|
+
meta: Meta;
|
|
21064
|
+
links: Links;
|
|
21065
|
+
data: Array<AssetsDocumentVersionResponseObject>;
|
|
21066
|
+
};
|
|
21067
|
+
};
|
|
21068
|
+
export type ListProductDocumentVersionsResponse = ListProductDocumentVersionsResponses[keyof ListProductDocumentVersionsResponses];
|
|
20415
21069
|
export type ListAssetsSitesData = {
|
|
20416
21070
|
body?: never;
|
|
20417
21071
|
path?: never;
|
|
@@ -27263,6 +27917,36 @@ export type CreateJobResponses = {
|
|
|
27263
27917
|
201: JobResponseObject;
|
|
27264
27918
|
};
|
|
27265
27919
|
export type CreateJobResponse = CreateJobResponses[keyof CreateJobResponses];
|
|
27920
|
+
export type DeleteJobData = {
|
|
27921
|
+
body?: never;
|
|
27922
|
+
path: {
|
|
27923
|
+
id: string;
|
|
27924
|
+
};
|
|
27925
|
+
query?: never;
|
|
27926
|
+
url: '/api/v1/jobs/{id}';
|
|
27927
|
+
};
|
|
27928
|
+
export type DeleteJobErrors = {
|
|
27929
|
+
/**
|
|
27930
|
+
* Forbidden
|
|
27931
|
+
*/
|
|
27932
|
+
403: Problem;
|
|
27933
|
+
/**
|
|
27934
|
+
* Not Found
|
|
27935
|
+
*/
|
|
27936
|
+
404: Problem;
|
|
27937
|
+
/**
|
|
27938
|
+
* Unprocessable Content
|
|
27939
|
+
*/
|
|
27940
|
+
422: Problem;
|
|
27941
|
+
};
|
|
27942
|
+
export type DeleteJobError = DeleteJobErrors[keyof DeleteJobErrors];
|
|
27943
|
+
export type DeleteJobResponses = {
|
|
27944
|
+
/**
|
|
27945
|
+
* No Content
|
|
27946
|
+
*/
|
|
27947
|
+
204: void;
|
|
27948
|
+
};
|
|
27949
|
+
export type DeleteJobResponse = DeleteJobResponses[keyof DeleteJobResponses];
|
|
27266
27950
|
export type GetJobData = {
|
|
27267
27951
|
body?: never;
|
|
27268
27952
|
path: {
|
|
@@ -36617,6 +37301,49 @@ export type CreatePayPeriodConfigResponses = {
|
|
|
36617
37301
|
201: PayPeriodConfigResponseObject;
|
|
36618
37302
|
};
|
|
36619
37303
|
export type CreatePayPeriodConfigResponse = CreatePayPeriodConfigResponses[keyof CreatePayPeriodConfigResponses];
|
|
37304
|
+
export type DeletePayPeriodConfigData = {
|
|
37305
|
+
body?: never;
|
|
37306
|
+
headers: {
|
|
37307
|
+
/**
|
|
37308
|
+
* Version validator this write is composed against — the `ETag` from a read of this schedule, or `*` to write against whatever exists. See "Version validators" in the API overview.
|
|
37309
|
+
*/
|
|
37310
|
+
'If-Match': string;
|
|
37311
|
+
};
|
|
37312
|
+
path: {
|
|
37313
|
+
id: string;
|
|
37314
|
+
};
|
|
37315
|
+
query?: never;
|
|
37316
|
+
url: '/api/v1/timekeeping/pay_period_configs/{id}';
|
|
37317
|
+
};
|
|
37318
|
+
export type DeletePayPeriodConfigErrors = {
|
|
37319
|
+
/**
|
|
37320
|
+
* Forbidden
|
|
37321
|
+
*/
|
|
37322
|
+
403: Problem;
|
|
37323
|
+
/**
|
|
37324
|
+
* Not Found
|
|
37325
|
+
*/
|
|
37326
|
+
404: Problem;
|
|
37327
|
+
/**
|
|
37328
|
+
* Conflict
|
|
37329
|
+
*/
|
|
37330
|
+
409: Problem;
|
|
37331
|
+
/**
|
|
37332
|
+
* Precondition Failed
|
|
37333
|
+
*/
|
|
37334
|
+
412: Problem;
|
|
37335
|
+
/**
|
|
37336
|
+
* Precondition Required
|
|
37337
|
+
*/
|
|
37338
|
+
428: Problem;
|
|
37339
|
+
};
|
|
37340
|
+
export type DeletePayPeriodConfigError = DeletePayPeriodConfigErrors[keyof DeletePayPeriodConfigErrors];
|
|
37341
|
+
export type DeletePayPeriodConfigResponses = {
|
|
37342
|
+
/**
|
|
37343
|
+
* Accepted
|
|
37344
|
+
*/
|
|
37345
|
+
202: unknown;
|
|
37346
|
+
};
|
|
36620
37347
|
export type GetPayPeriodConfigData = {
|
|
36621
37348
|
body?: never;
|
|
36622
37349
|
path: {
|