@workbuddy/n8n-nodes-workbuddy-edge 1.0.34 → 1.0.36

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.
@@ -228,6 +228,22 @@ class WorkBuddy {
228
228
  name: 'Flags',
229
229
  value: 'flags',
230
230
  },
231
+ {
232
+ name: 'Service Plans',
233
+ value: 'service-plans',
234
+ },
235
+ {
236
+ name: 'Service Plans Lines',
237
+ value: 'service-plans-lines',
238
+ },
239
+ {
240
+ name: 'Service Plans Lines Tasks',
241
+ value: 'service-plans-lines-tasks',
242
+ },
243
+ {
244
+ name: 'Service Plans Lines Tasks Subtasks',
245
+ value: 'service-plans-lines-tasks-subtasks',
246
+ },
231
247
  {
232
248
  name: 'Mcp',
233
249
  value: 'mcp',
@@ -571,8 +587,8 @@ class WorkBuddy {
571
587
  {
572
588
  displayName: 'Status',
573
589
  name: 'status',
574
- type: 'string',
575
- default: '',
590
+ type: 'json',
591
+ default: {},
576
592
  description: 'Status filter',
577
593
  required: false,
578
594
  displayOptions: {
@@ -851,8 +867,8 @@ class WorkBuddy {
851
867
  {
852
868
  displayName: 'Stage Status',
853
869
  name: 'stageStatus',
854
- type: 'string',
855
- default: '',
870
+ type: 'json',
871
+ default: {},
856
872
  description: '',
857
873
  required: false,
858
874
  displayOptions: {
@@ -7677,8 +7693,8 @@ class WorkBuddy {
7677
7693
  {
7678
7694
  name: 'List stage statuses',
7679
7695
  value: 'PublicApiStageStatusController_list',
7680
- action: 'Retrieve all stage statuses configured for the tenant (Settings > Stage Status).\nEach item is a workflow state a stage (work order) can use (e.g. New, Dispatched, En Route, On Site, Completed, Finalised).\n\nResponse fields include:\n- identity: id, name, systemName, systemStatus, sortOrder\n- description (nullable)\n- activityOptions: shareWithCustomer, shareWithField (always present; unset = false)\n- displayOptions: showInContractorPortal, showInFieldApp (always present)\n\nDisplay Options rules (match Settings UI):\n- Only systemStatus On Hold or In Progress support display options; other systemStatus values return both flags as false\n- showInFieldApp is not configurable for In Progress and is always false\n- When supported and not configured, visibility defaults to true (Settings UI default)\n\nRequires scope: settings:read',
7681
- description: 'Retrieve all stage statuses configured for the tenant (Settings > Stage Status).\nEach item is a workflow state a stage (work order) can use (e.g. New, Dispatched, En Route, On Site, Completed, Finalised).\n\nResponse fields include:\n- identity: id, name, systemName, systemStatus, sortOrder\n- description (nullable)\n- activityOptions: shareWithCustomer, shareWithField (always present; unset = false)\n- displayOptions: showInContractorPortal, showInFieldApp (always present)\n\nDisplay Options rules (match Settings UI):\n- Only systemStatus On Hold or In Progress support display options; other systemStatus values return both flags as false\n- showInFieldApp is not configurable for In Progress and is always false\n- When supported and not configured, visibility defaults to true (Settings UI default)\n\nRequires scope: settings:read',
7696
+ action: 'Retrieve active stage statuses configured for the tenant (Settings > Stage Status). Soft-deleted statuses are omitted.\nEach item is a workflow state a stage (work order) can use (e.g. New, Dispatched, En Route, On Site, Completed, Finalised).\n\nResponse fields include:\n- identity: id, name, systemName, systemStatus, sortOrder\n- description (nullable)\n- activityOptions: shareWithCustomer, shareWithField (always present; unset = false)\n- displayOptions: showInContractorPortal, showInFieldApp (always present)\n\nDisplay Options rules (match Settings UI):\n- Only systemStatus On Hold or In Progress support display options; other systemStatus values return both flags as false\n- showInFieldApp is not configurable for In Progress and is always false\n- When supported and not configured, visibility defaults to true (Settings UI default)\n\nRequires scope: settings:read',
7697
+ description: 'Retrieve active stage statuses configured for the tenant (Settings > Stage Status). Soft-deleted statuses are omitted.\nEach item is a workflow state a stage (work order) can use (e.g. New, Dispatched, En Route, On Site, Completed, Finalised).\n\nResponse fields include:\n- identity: id, name, systemName, systemStatus, sortOrder\n- description (nullable)\n- activityOptions: shareWithCustomer, shareWithField (always present; unset = false)\n- displayOptions: showInContractorPortal, showInFieldApp (always present)\n\nDisplay Options rules (match Settings UI):\n- Only systemStatus On Hold or In Progress support display options; other systemStatus values return both flags as false\n- showInFieldApp is not configurable for In Progress and is always false\n- When supported and not configured, visibility defaults to true (Settings UI default)\n\nRequires scope: settings:read',
7682
7698
  routing: {
7683
7699
  request: {
7684
7700
  method: 'GET',
@@ -7689,8 +7705,8 @@ class WorkBuddy {
7689
7705
  {
7690
7706
  name: 'List tags',
7691
7707
  value: 'PublicApiTagController_list',
7692
- action: 'Retrieve all active tags (labels) configured. Use the optional `type` query parameter to filter by label type. Defaults to `job` if not specified. Supported types: job, scheduling, quote, customer, user, overheads, form, finance, system, work-order-system, account, contact, zone, work-categories, lead-source, lead, opportunity, opportunity-lost, project, project-type, payment-type, file, asset, item-location, task, phase, site, service-type, subscriptions, agreement, work, integration-types, flag-category.',
7693
- description: 'Retrieve all active tags (labels) configured. Use the optional `type` query parameter to filter by label type. Defaults to `job` if not specified. Supported types: job, scheduling, quote, customer, user, overheads, form, finance, system, work-order-system, account, contact, zone, work-categories, lead-source, lead, opportunity, opportunity-lost, project, project-type, payment-type, file, asset, item-location, task, phase, site, service-type, subscriptions, agreement, work, integration-types, flag-category.',
7708
+ action: 'Retrieve all active tags (labels) configured. Use the optional `type` query parameter to filter by label type. Defaults to `job` if not specified. `colors` is the Settings label-picker palette used by PUT /settings/tags. Supported types: job, scheduling, quote, customer, user, overheads, form, finance, system, work-order-system, account, contact, zone, work-categories, lead-source, lead, opportunity, opportunity-lost, project, project-type, payment-type, file, asset, item-location, task, phase, site, service-type, service-scope, subscriptions, agreement, work, integration-types, flag-category.',
7709
+ description: 'Retrieve all active tags (labels) configured. Use the optional `type` query parameter to filter by label type. Defaults to `job` if not specified. `colors` is the Settings label-picker palette used by PUT /settings/tags. Supported types: job, scheduling, quote, customer, user, overheads, form, finance, system, work-order-system, account, contact, zone, work-categories, lead-source, lead, opportunity, opportunity-lost, project, project-type, payment-type, file, asset, item-location, task, phase, site, service-type, service-scope, subscriptions, agreement, work, integration-types, flag-category.',
7694
7710
  routing: {
7695
7711
  request: {
7696
7712
  method: 'GET',
@@ -7698,6 +7714,18 @@ class WorkBuddy {
7698
7714
  },
7699
7715
  },
7700
7716
  },
7717
+ {
7718
+ name: 'Upsert a tag',
7719
+ value: 'PublicApiTagController_upsert',
7720
+ action: 'Create a tag, or return the existing active tag with the same type and name (case-insensitive). Limited to service-type, service-scope, and work-categories. Optional color must be a Settings label-picker hex; omitted color is chosen from that palette. Does not change color on an existing tag. Requires settings:tags:write — not settings:write.',
7721
+ description: 'Create a tag, or return the existing active tag with the same type and name (case-insensitive). Limited to service-type, service-scope, and work-categories. Optional color must be a Settings label-picker hex; omitted color is chosen from that palette. Does not change color on an existing tag. Requires settings:tags:write — not settings:write.',
7722
+ routing: {
7723
+ request: {
7724
+ method: 'PUT',
7725
+ url: '/api/v2/public/settings/tags',
7726
+ },
7727
+ },
7728
+ },
7701
7729
  {
7702
7730
  name: 'List zones',
7703
7731
  value: 'PublicApiZoneController_list',
@@ -8048,6 +8076,182 @@ class WorkBuddy {
8048
8076
  },
8049
8077
  ],
8050
8078
  },
8079
+ {
8080
+ displayName: 'Type',
8081
+ name: 'type',
8082
+ type: 'options',
8083
+ default: '',
8084
+ description: '',
8085
+ required: true,
8086
+ displayOptions: {
8087
+ show: {
8088
+ resource: ['settings-reference-data'],
8089
+ operation: ['PublicApiTagController_upsert'],
8090
+ },
8091
+ },
8092
+ options: [
8093
+ {
8094
+ name: 'service-type',
8095
+ value: 'service-type',
8096
+ },
8097
+ {
8098
+ name: 'service-scope',
8099
+ value: 'service-scope',
8100
+ },
8101
+ {
8102
+ name: 'work-categories',
8103
+ value: 'work-categories',
8104
+ },
8105
+ ],
8106
+ routing: {
8107
+ send: {
8108
+ type: 'body',
8109
+ property: 'type',
8110
+ },
8111
+ },
8112
+ },
8113
+ {
8114
+ displayName: 'Name',
8115
+ name: 'name',
8116
+ type: 'string',
8117
+ default: '',
8118
+ description: 'Display name',
8119
+ required: true,
8120
+ displayOptions: {
8121
+ show: {
8122
+ resource: ['settings-reference-data'],
8123
+ operation: ['PublicApiTagController_upsert'],
8124
+ },
8125
+ },
8126
+ routing: {
8127
+ send: {
8128
+ type: 'body',
8129
+ property: 'name',
8130
+ },
8131
+ },
8132
+ },
8133
+ {
8134
+ displayName: 'Color',
8135
+ name: 'color',
8136
+ type: 'options',
8137
+ default: '',
8138
+ description: '',
8139
+ required: false,
8140
+ displayOptions: {
8141
+ show: {
8142
+ resource: ['settings-reference-data'],
8143
+ operation: ['PublicApiTagController_upsert'],
8144
+ },
8145
+ },
8146
+ options: [
8147
+ {
8148
+ name: '#1abc9c',
8149
+ value: '#1abc9c',
8150
+ },
8151
+ {
8152
+ name: '#16a085',
8153
+ value: '#16a085',
8154
+ },
8155
+ {
8156
+ name: '#f1c40f',
8157
+ value: '#f1c40f',
8158
+ },
8159
+ {
8160
+ name: '#f39c12',
8161
+ value: '#f39c12',
8162
+ },
8163
+ {
8164
+ name: '#2ecc71',
8165
+ value: '#2ecc71',
8166
+ },
8167
+ {
8168
+ name: '#27ae60',
8169
+ value: '#27ae60',
8170
+ },
8171
+ {
8172
+ name: '#e67e22',
8173
+ value: '#e67e22',
8174
+ },
8175
+ {
8176
+ name: '#d35400',
8177
+ value: '#d35400',
8178
+ },
8179
+ {
8180
+ name: '#3498db',
8181
+ value: '#3498db',
8182
+ },
8183
+ {
8184
+ name: '#2980b9',
8185
+ value: '#2980b9',
8186
+ },
8187
+ {
8188
+ name: '#e74c3c',
8189
+ value: '#e74c3c',
8190
+ },
8191
+ {
8192
+ name: '#c0392b',
8193
+ value: '#c0392b',
8194
+ },
8195
+ {
8196
+ name: '#9b59b6',
8197
+ value: '#9b59b6',
8198
+ },
8199
+ {
8200
+ name: '#8e44ad',
8201
+ value: '#8e44ad',
8202
+ },
8203
+ {
8204
+ name: '#bdc3c7',
8205
+ value: '#bdc3c7',
8206
+ },
8207
+ {
8208
+ name: '#34495e',
8209
+ value: '#34495e',
8210
+ },
8211
+ {
8212
+ name: '#2c3e50',
8213
+ value: '#2c3e50',
8214
+ },
8215
+ {
8216
+ name: '#95a5a6',
8217
+ value: '#95a5a6',
8218
+ },
8219
+ {
8220
+ name: '#7f8c8d',
8221
+ value: '#7f8c8d',
8222
+ },
8223
+ {
8224
+ name: '#ec87bf',
8225
+ value: '#ec87bf',
8226
+ },
8227
+ {
8228
+ name: '#d870ad',
8229
+ value: '#d870ad',
8230
+ },
8231
+ {
8232
+ name: '#f69785',
8233
+ value: '#f69785',
8234
+ },
8235
+ {
8236
+ name: '#9ba37e',
8237
+ value: '#9ba37e',
8238
+ },
8239
+ {
8240
+ name: '#b49255',
8241
+ value: '#b49255',
8242
+ },
8243
+ {
8244
+ name: '#a94136',
8245
+ value: '#a94136',
8246
+ },
8247
+ ],
8248
+ routing: {
8249
+ send: {
8250
+ type: 'body',
8251
+ property: 'color',
8252
+ },
8253
+ },
8254
+ },
8051
8255
  // Settings Templates Operations
8052
8256
  {
8053
8257
  displayName: 'Operation',
@@ -15638,11 +15842,11 @@ class WorkBuddy {
15638
15842
  },
15639
15843
  },
15640
15844
  {
15641
- displayName: 'Address',
15642
- name: 'address',
15845
+ displayName: 'Primary Contact',
15846
+ name: 'primaryContact',
15643
15847
  type: 'collection',
15644
15848
  default: {},
15645
- placeholder: 'Add Address',
15849
+ placeholder: 'Add Primary Contact',
15646
15850
  description: '',
15647
15851
  required: false,
15648
15852
  displayOptions: {
@@ -15653,71 +15857,22 @@ class WorkBuddy {
15653
15857
  },
15654
15858
  options: [
15655
15859
  {
15656
- displayName: 'Name',
15657
- name: 'name',
15658
- type: 'string',
15659
- default: '',
15660
- description: 'Display name',
15661
- },
15662
- {
15663
- displayName: 'Street1',
15664
- name: 'street1',
15665
- type: 'string',
15666
- default: '',
15667
- description: '',
15668
- },
15669
- {
15670
- displayName: 'Street2',
15671
- name: 'street2',
15672
- type: 'string',
15673
- default: '',
15674
- description: '',
15675
- },
15676
- {
15677
- displayName: 'Suburb',
15678
- name: 'suburb',
15679
- type: 'string',
15680
- default: '',
15681
- description: '',
15682
- },
15683
- {
15684
- displayName: 'State',
15685
- name: 'state',
15686
- type: 'string',
15687
- default: '',
15688
- description: '',
15689
- },
15690
- {
15691
- displayName: 'Postal Code',
15692
- name: 'postalCode',
15860
+ displayName: 'Id',
15861
+ name: 'id',
15693
15862
  type: 'string',
15694
15863
  default: '',
15695
- description: '',
15864
+ description: 'Entity ID',
15696
15865
  },
15697
15866
  {
15698
- displayName: 'Country',
15699
- name: 'country',
15867
+ displayName: 'Name',
15868
+ name: 'name',
15700
15869
  type: 'string',
15701
15870
  default: '',
15702
- description: '',
15703
- },
15704
- {
15705
- displayName: 'Lat',
15706
- name: 'lat',
15707
- type: 'number',
15708
- default: 0,
15709
- description: '',
15710
- },
15711
- {
15712
- displayName: 'Lgn',
15713
- name: 'lgn',
15714
- type: 'number',
15715
- default: 0,
15716
- description: '',
15871
+ description: 'Display name',
15717
15872
  },
15718
15873
  {
15719
- displayName: 'Timezone',
15720
- name: 'timezone',
15874
+ displayName: 'Type',
15875
+ name: 'type',
15721
15876
  type: 'string',
15722
15877
  default: '',
15723
15878
  description: '',
@@ -15726,7 +15881,7 @@ class WorkBuddy {
15726
15881
  routing: {
15727
15882
  send: {
15728
15883
  type: 'body',
15729
- property: 'address',
15884
+ property: 'primaryContact',
15730
15885
  },
15731
15886
  },
15732
15887
  },
@@ -17262,11 +17417,11 @@ class WorkBuddy {
17262
17417
  },
17263
17418
  },
17264
17419
  {
17265
- displayName: 'Address',
17266
- name: 'address',
17420
+ displayName: 'Primary Contact',
17421
+ name: 'primaryContact',
17267
17422
  type: 'collection',
17268
17423
  default: {},
17269
- placeholder: 'Add Address',
17424
+ placeholder: 'Add Primary Contact',
17270
17425
  description: '',
17271
17426
  required: false,
17272
17427
  displayOptions: {
@@ -17277,100 +17432,51 @@ class WorkBuddy {
17277
17432
  },
17278
17433
  options: [
17279
17434
  {
17280
- displayName: 'Name',
17281
- name: 'name',
17435
+ displayName: 'Id',
17436
+ name: 'id',
17282
17437
  type: 'string',
17283
17438
  default: '',
17284
- description: 'Display name',
17439
+ description: 'Entity ID',
17285
17440
  },
17286
17441
  {
17287
- displayName: 'Street1',
17288
- name: 'street1',
17442
+ displayName: 'Name',
17443
+ name: 'name',
17289
17444
  type: 'string',
17290
17445
  default: '',
17291
- description: '',
17446
+ description: 'Display name',
17292
17447
  },
17293
17448
  {
17294
- displayName: 'Street2',
17295
- name: 'street2',
17449
+ displayName: 'Type',
17450
+ name: 'type',
17296
17451
  type: 'string',
17297
17452
  default: '',
17298
17453
  description: '',
17299
17454
  },
17300
- {
17301
- displayName: 'Suburb',
17302
- name: 'suburb',
17303
- type: 'string',
17304
- default: '',
17305
- description: '',
17455
+ ],
17456
+ routing: {
17457
+ send: {
17458
+ type: 'body',
17459
+ property: 'primaryContact',
17306
17460
  },
17307
- {
17308
- displayName: 'State',
17309
- name: 'state',
17310
- type: 'string',
17311
- default: '',
17312
- description: '',
17461
+ },
17462
+ },
17463
+ {
17464
+ displayName: 'Primary Site',
17465
+ name: 'primarySite',
17466
+ type: 'json',
17467
+ default: {},
17468
+ description: '',
17469
+ required: false,
17470
+ displayOptions: {
17471
+ show: {
17472
+ resource: ['crm-contractors'],
17473
+ operation: ['PublicCrmContractorController_update'],
17313
17474
  },
17314
- {
17315
- displayName: 'Postal Code',
17316
- name: 'postalCode',
17317
- type: 'string',
17318
- default: '',
17319
- description: '',
17320
- },
17321
- {
17322
- displayName: 'Country',
17323
- name: 'country',
17324
- type: 'string',
17325
- default: '',
17326
- description: '',
17327
- },
17328
- {
17329
- displayName: 'Lat',
17330
- name: 'lat',
17331
- type: 'number',
17332
- default: 0,
17333
- description: '',
17334
- },
17335
- {
17336
- displayName: 'Lgn',
17337
- name: 'lgn',
17338
- type: 'number',
17339
- default: 0,
17340
- description: '',
17341
- },
17342
- {
17343
- displayName: 'Timezone',
17344
- name: 'timezone',
17345
- type: 'string',
17346
- default: '',
17347
- description: '',
17348
- },
17349
- ],
17350
- routing: {
17351
- send: {
17352
- type: 'body',
17353
- property: 'address',
17354
- },
17355
- },
17356
- },
17357
- {
17358
- displayName: 'Primary Site',
17359
- name: 'primarySite',
17360
- type: 'json',
17361
- default: {},
17362
- description: '',
17363
- required: false,
17364
- displayOptions: {
17365
- show: {
17366
- resource: ['crm-contractors'],
17367
- operation: ['PublicCrmContractorController_update'],
17368
- },
17369
- },
17370
- routing: {
17371
- send: {
17372
- type: 'body',
17373
- property: 'primarySite',
17475
+ },
17476
+ routing: {
17477
+ send: {
17478
+ type: 'body',
17479
+ property: 'primarySite',
17374
17480
  },
17375
17481
  },
17376
17482
  },
@@ -18847,11 +18953,11 @@ class WorkBuddy {
18847
18953
  },
18848
18954
  },
18849
18955
  {
18850
- displayName: 'Address',
18851
- name: 'address',
18956
+ displayName: 'Primary Contact',
18957
+ name: 'primaryContact',
18852
18958
  type: 'collection',
18853
18959
  default: {},
18854
- placeholder: 'Add Address',
18960
+ placeholder: 'Add Primary Contact',
18855
18961
  description: '',
18856
18962
  required: false,
18857
18963
  displayOptions: {
@@ -18862,71 +18968,22 @@ class WorkBuddy {
18862
18968
  },
18863
18969
  options: [
18864
18970
  {
18865
- displayName: 'Name',
18866
- name: 'name',
18867
- type: 'string',
18868
- default: '',
18869
- description: 'Display name',
18870
- },
18871
- {
18872
- displayName: 'Street1',
18873
- name: 'street1',
18874
- type: 'string',
18875
- default: '',
18876
- description: '',
18877
- },
18878
- {
18879
- displayName: 'Street2',
18880
- name: 'street2',
18881
- type: 'string',
18882
- default: '',
18883
- description: '',
18884
- },
18885
- {
18886
- displayName: 'Suburb',
18887
- name: 'suburb',
18971
+ displayName: 'Id',
18972
+ name: 'id',
18888
18973
  type: 'string',
18889
18974
  default: '',
18890
- description: '',
18891
- },
18892
- {
18893
- displayName: 'State',
18894
- name: 'state',
18895
- type: 'string',
18896
- default: '',
18897
- description: '',
18975
+ description: 'Entity ID',
18898
18976
  },
18899
18977
  {
18900
- displayName: 'Postal Code',
18901
- name: 'postalCode',
18902
- type: 'string',
18903
- default: '',
18904
- description: '',
18905
- },
18906
- {
18907
- displayName: 'Country',
18908
- name: 'country',
18978
+ displayName: 'Name',
18979
+ name: 'name',
18909
18980
  type: 'string',
18910
18981
  default: '',
18911
- description: '',
18912
- },
18913
- {
18914
- displayName: 'Lat',
18915
- name: 'lat',
18916
- type: 'number',
18917
- default: 0,
18918
- description: '',
18919
- },
18920
- {
18921
- displayName: 'Lgn',
18922
- name: 'lgn',
18923
- type: 'number',
18924
- default: 0,
18925
- description: '',
18982
+ description: 'Display name',
18926
18983
  },
18927
18984
  {
18928
- displayName: 'Timezone',
18929
- name: 'timezone',
18985
+ displayName: 'Type',
18986
+ name: 'type',
18930
18987
  type: 'string',
18931
18988
  default: '',
18932
18989
  description: '',
@@ -18935,7 +18992,7 @@ class WorkBuddy {
18935
18992
  routing: {
18936
18993
  send: {
18937
18994
  type: 'body',
18938
- property: 'address',
18995
+ property: 'primaryContact',
18939
18996
  },
18940
18997
  },
18941
18998
  },
@@ -21139,6 +21196,2254 @@ class WorkBuddy {
21139
21196
  },
21140
21197
  ],
21141
21198
  },
21199
+ // Service Plans Operations
21200
+ {
21201
+ displayName: 'Operation',
21202
+ name: 'operation',
21203
+ type: 'options',
21204
+ noDataExpression: true,
21205
+ displayOptions: {
21206
+ show: {
21207
+ resource: ['service-plans'],
21208
+ },
21209
+ },
21210
+ options: [
21211
+ {
21212
+ name: 'Create a Service Plan',
21213
+ value: 'PublicServicePlanController_create',
21214
+ action: 'Creates only the Service Plan contract header. Lines and Tasks are added through their nested endpoints.',
21215
+ description: 'Creates only the Service Plan contract header. Lines and Tasks are added through their nested endpoints.',
21216
+ routing: {
21217
+ request: {
21218
+ method: 'POST',
21219
+ url: '/api/v2/public/service-plans',
21220
+ },
21221
+ },
21222
+ },
21223
+ {
21224
+ name: 'Get a Service Plan',
21225
+ value: 'PublicServicePlanController_get',
21226
+ action: "Resolves a WorkBuddy ID first, then the authenticated caller's integrationId.",
21227
+ description: "Resolves a WorkBuddy ID first, then the authenticated caller's integrationId.",
21228
+ routing: {
21229
+ request: {
21230
+ method: 'GET',
21231
+ url: '/api/v2/public/service-plans/={{ $parameter["identifier"] }}',
21232
+ },
21233
+ },
21234
+ },
21235
+ {
21236
+ name: 'Start a Service Plan',
21237
+ value: 'PublicServicePlanController_activate',
21238
+ action: 'Validates and starts a fully assembled Service Plan.',
21239
+ description: 'Validates and starts a fully assembled Service Plan.',
21240
+ routing: {
21241
+ request: {
21242
+ method: 'POST',
21243
+ url: '/api/v2/public/service-plans/={{ $parameter["identifier"] }}/activate',
21244
+ },
21245
+ },
21246
+ },
21247
+ {
21248
+ name: 'Pause a Service Plan',
21249
+ value: 'PublicServicePlanController_suspend',
21250
+ action: 'Stops future scheduled work while preserving history.',
21251
+ description: 'Stops future scheduled work while preserving history.',
21252
+ routing: {
21253
+ request: {
21254
+ method: 'POST',
21255
+ url: '/api/v2/public/service-plans/={{ $parameter["identifier"] }}/suspend',
21256
+ },
21257
+ },
21258
+ },
21259
+ {
21260
+ name: 'Archive a Service Plan',
21261
+ value: 'PublicServicePlanController_archive',
21262
+ action: 'Archives a paused Service Plan and reconciles future scheduled work.',
21263
+ description: 'Archives a paused Service Plan and reconciles future scheduled work.',
21264
+ routing: {
21265
+ request: {
21266
+ method: 'POST',
21267
+ url: '/api/v2/public/service-plans/={{ $parameter["identifier"] }}/archive',
21268
+ },
21269
+ },
21270
+ },
21271
+ ],
21272
+ default: 'PublicServicePlanController_create',
21273
+ },
21274
+ {
21275
+ displayName: 'Integration Id',
21276
+ name: 'integrationId',
21277
+ type: 'string',
21278
+ default: '',
21279
+ description: 'integration ID',
21280
+ required: true,
21281
+ displayOptions: {
21282
+ show: {
21283
+ resource: ['service-plans'],
21284
+ operation: ['PublicServicePlanController_create'],
21285
+ },
21286
+ },
21287
+ routing: {
21288
+ send: {
21289
+ type: 'body',
21290
+ property: 'integrationId',
21291
+ },
21292
+ },
21293
+ },
21294
+ {
21295
+ displayName: 'Name',
21296
+ name: 'name',
21297
+ type: 'string',
21298
+ default: '',
21299
+ description: 'Display name',
21300
+ required: true,
21301
+ displayOptions: {
21302
+ show: {
21303
+ resource: ['service-plans'],
21304
+ operation: ['PublicServicePlanController_create'],
21305
+ },
21306
+ },
21307
+ routing: {
21308
+ send: {
21309
+ type: 'body',
21310
+ property: 'name',
21311
+ },
21312
+ },
21313
+ },
21314
+ {
21315
+ displayName: 'Customer Id',
21316
+ name: 'customerId',
21317
+ type: 'options',
21318
+ default: '',
21319
+ description: 'Customer ID — use /crm/customers to look up',
21320
+ required: true,
21321
+ displayOptions: {
21322
+ show: {
21323
+ resource: ['service-plans'],
21324
+ operation: ['PublicServicePlanController_create'],
21325
+ },
21326
+ },
21327
+ typeOptions: {
21328
+ loadOptionsMethod: 'loadCustomerOptions',
21329
+ },
21330
+ routing: {
21331
+ send: {
21332
+ type: 'body',
21333
+ property: 'customerId',
21334
+ },
21335
+ },
21336
+ },
21337
+ {
21338
+ displayName: 'Site Id',
21339
+ name: 'siteId',
21340
+ type: 'options',
21341
+ default: '',
21342
+ description: 'Site ID — use /crm/sites to look up',
21343
+ required: true,
21344
+ displayOptions: {
21345
+ show: {
21346
+ resource: ['service-plans'],
21347
+ operation: ['PublicServicePlanController_create'],
21348
+ },
21349
+ },
21350
+ typeOptions: {
21351
+ loadOptionsMethod: 'loadSiteOptions',
21352
+ },
21353
+ routing: {
21354
+ send: {
21355
+ type: 'body',
21356
+ property: 'siteId',
21357
+ },
21358
+ },
21359
+ },
21360
+ {
21361
+ displayName: 'Date Start',
21362
+ name: 'dateStart',
21363
+ type: 'string',
21364
+ default: '',
21365
+ description: '',
21366
+ required: true,
21367
+ displayOptions: {
21368
+ show: {
21369
+ resource: ['service-plans'],
21370
+ operation: ['PublicServicePlanController_create'],
21371
+ },
21372
+ },
21373
+ routing: {
21374
+ send: {
21375
+ type: 'body',
21376
+ property: 'dateStart',
21377
+ },
21378
+ },
21379
+ },
21380
+ {
21381
+ displayName: 'Date End',
21382
+ name: 'dateEnd',
21383
+ type: 'string',
21384
+ default: '',
21385
+ description: '',
21386
+ required: false,
21387
+ displayOptions: {
21388
+ show: {
21389
+ resource: ['service-plans'],
21390
+ operation: ['PublicServicePlanController_create'],
21391
+ },
21392
+ },
21393
+ routing: {
21394
+ send: {
21395
+ type: 'body',
21396
+ property: 'dateEnd',
21397
+ },
21398
+ },
21399
+ },
21400
+ {
21401
+ displayName: 'Working Days',
21402
+ name: 'workingDays',
21403
+ type: 'multiOptions',
21404
+ default: '',
21405
+ description: '',
21406
+ required: false,
21407
+ displayOptions: {
21408
+ show: {
21409
+ resource: ['service-plans'],
21410
+ operation: ['PublicServicePlanController_create'],
21411
+ },
21412
+ },
21413
+ options: [
21414
+ {
21415
+ name: 'Mon',
21416
+ value: 'Mon',
21417
+ },
21418
+ {
21419
+ name: 'Tue',
21420
+ value: 'Tue',
21421
+ },
21422
+ {
21423
+ name: 'Wed',
21424
+ value: 'Wed',
21425
+ },
21426
+ {
21427
+ name: 'Thu',
21428
+ value: 'Thu',
21429
+ },
21430
+ {
21431
+ name: 'Fri',
21432
+ value: 'Fri',
21433
+ },
21434
+ {
21435
+ name: 'Sat',
21436
+ value: 'Sat',
21437
+ },
21438
+ {
21439
+ name: 'Sun',
21440
+ value: 'Sun',
21441
+ },
21442
+ ],
21443
+ routing: {
21444
+ send: {
21445
+ type: 'body',
21446
+ property: 'workingDays',
21447
+ },
21448
+ },
21449
+ },
21450
+ {
21451
+ displayName: 'Identifier',
21452
+ name: 'identifier',
21453
+ type: 'string',
21454
+ default: '',
21455
+ description: 'WorkBuddy Service Plan ID or caller integrationId',
21456
+ required: true,
21457
+ displayOptions: {
21458
+ show: {
21459
+ resource: ['service-plans'],
21460
+ operation: ['PublicServicePlanController_get'],
21461
+ },
21462
+ },
21463
+ },
21464
+ {
21465
+ displayName: 'Identifier',
21466
+ name: 'identifier',
21467
+ type: 'string',
21468
+ default: '',
21469
+ description: 'Entity ID or human-readable number',
21470
+ required: true,
21471
+ displayOptions: {
21472
+ show: {
21473
+ resource: ['service-plans'],
21474
+ operation: ['PublicServicePlanController_activate'],
21475
+ },
21476
+ },
21477
+ },
21478
+ {
21479
+ displayName: 'Reason',
21480
+ name: 'reason',
21481
+ type: 'string',
21482
+ default: '',
21483
+ description: 'Reason for the action (e.g. cancellation reason)',
21484
+ required: false,
21485
+ displayOptions: {
21486
+ show: {
21487
+ resource: ['service-plans'],
21488
+ operation: ['PublicServicePlanController_activate'],
21489
+ },
21490
+ },
21491
+ routing: {
21492
+ send: {
21493
+ type: 'body',
21494
+ property: 'reason',
21495
+ },
21496
+ },
21497
+ },
21498
+ {
21499
+ displayName: 'Identifier',
21500
+ name: 'identifier',
21501
+ type: 'string',
21502
+ default: '',
21503
+ description: 'Entity ID or human-readable number',
21504
+ required: true,
21505
+ displayOptions: {
21506
+ show: {
21507
+ resource: ['service-plans'],
21508
+ operation: ['PublicServicePlanController_suspend'],
21509
+ },
21510
+ },
21511
+ },
21512
+ {
21513
+ displayName: 'Reason',
21514
+ name: 'reason',
21515
+ type: 'string',
21516
+ default: '',
21517
+ description: 'Reason for the action (e.g. cancellation reason)',
21518
+ required: false,
21519
+ displayOptions: {
21520
+ show: {
21521
+ resource: ['service-plans'],
21522
+ operation: ['PublicServicePlanController_suspend'],
21523
+ },
21524
+ },
21525
+ routing: {
21526
+ send: {
21527
+ type: 'body',
21528
+ property: 'reason',
21529
+ },
21530
+ },
21531
+ },
21532
+ {
21533
+ displayName: 'Identifier',
21534
+ name: 'identifier',
21535
+ type: 'string',
21536
+ default: '',
21537
+ description: 'Entity ID or human-readable number',
21538
+ required: true,
21539
+ displayOptions: {
21540
+ show: {
21541
+ resource: ['service-plans'],
21542
+ operation: ['PublicServicePlanController_archive'],
21543
+ },
21544
+ },
21545
+ },
21546
+ {
21547
+ displayName: 'Reason',
21548
+ name: 'reason',
21549
+ type: 'string',
21550
+ default: '',
21551
+ description: 'Reason for the action (e.g. cancellation reason)',
21552
+ required: false,
21553
+ displayOptions: {
21554
+ show: {
21555
+ resource: ['service-plans'],
21556
+ operation: ['PublicServicePlanController_archive'],
21557
+ },
21558
+ },
21559
+ routing: {
21560
+ send: {
21561
+ type: 'body',
21562
+ property: 'reason',
21563
+ },
21564
+ },
21565
+ },
21566
+ // Service Plans Lines Operations
21567
+ {
21568
+ displayName: 'Operation',
21569
+ name: 'operation',
21570
+ type: 'options',
21571
+ noDataExpression: true,
21572
+ displayOptions: {
21573
+ show: {
21574
+ resource: ['service-plans-lines'],
21575
+ },
21576
+ },
21577
+ options: [
21578
+ {
21579
+ name: 'List Service Lines',
21580
+ value: 'PublicServiceLineController_list',
21581
+ action: '',
21582
+ description: '',
21583
+ routing: {
21584
+ request: {
21585
+ method: 'GET',
21586
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines',
21587
+ },
21588
+ },
21589
+ },
21590
+ {
21591
+ name: 'Create a Service Line',
21592
+ value: 'PublicServiceLineController_create',
21593
+ action: '',
21594
+ description: '',
21595
+ routing: {
21596
+ request: {
21597
+ method: 'POST',
21598
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines',
21599
+ },
21600
+ },
21601
+ },
21602
+ {
21603
+ name: 'Get a Service Line',
21604
+ value: 'PublicServiceLineController_get',
21605
+ action: '',
21606
+ description: '',
21607
+ routing: {
21608
+ request: {
21609
+ method: 'GET',
21610
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["identifier"] }}',
21611
+ },
21612
+ },
21613
+ },
21614
+ {
21615
+ name: 'Update a Service Line',
21616
+ value: 'PublicServiceLineController_patch',
21617
+ action: '',
21618
+ description: '',
21619
+ routing: {
21620
+ request: {
21621
+ method: 'PATCH',
21622
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["identifier"] }}',
21623
+ },
21624
+ },
21625
+ },
21626
+ ],
21627
+ default: 'PublicServiceLineController_list',
21628
+ },
21629
+ {
21630
+ displayName: 'Plan Id',
21631
+ name: 'planId',
21632
+ type: 'string',
21633
+ default: '',
21634
+ description: 'WorkBuddy Service Plan ID',
21635
+ required: true,
21636
+ displayOptions: {
21637
+ show: {
21638
+ resource: ['service-plans-lines'],
21639
+ operation: ['PublicServiceLineController_list'],
21640
+ },
21641
+ },
21642
+ },
21643
+ {
21644
+ displayName: 'Plan Id',
21645
+ name: 'planId',
21646
+ type: 'string',
21647
+ default: '',
21648
+ description: 'plan ID',
21649
+ required: true,
21650
+ displayOptions: {
21651
+ show: {
21652
+ resource: ['service-plans-lines'],
21653
+ operation: ['PublicServiceLineController_create'],
21654
+ },
21655
+ },
21656
+ },
21657
+ {
21658
+ displayName: 'Integration Id',
21659
+ name: 'integrationId',
21660
+ type: 'string',
21661
+ default: '',
21662
+ description: 'integration ID',
21663
+ required: true,
21664
+ displayOptions: {
21665
+ show: {
21666
+ resource: ['service-plans-lines'],
21667
+ operation: ['PublicServiceLineController_create'],
21668
+ },
21669
+ },
21670
+ routing: {
21671
+ send: {
21672
+ type: 'body',
21673
+ property: 'integrationId',
21674
+ },
21675
+ },
21676
+ },
21677
+ {
21678
+ displayName: 'Name',
21679
+ name: 'name',
21680
+ type: 'string',
21681
+ default: '',
21682
+ description: 'Display name',
21683
+ required: true,
21684
+ displayOptions: {
21685
+ show: {
21686
+ resource: ['service-plans-lines'],
21687
+ operation: ['PublicServiceLineController_create'],
21688
+ },
21689
+ },
21690
+ routing: {
21691
+ send: {
21692
+ type: 'body',
21693
+ property: 'name',
21694
+ },
21695
+ },
21696
+ },
21697
+ {
21698
+ displayName: 'Default Window',
21699
+ name: 'defaultWindow',
21700
+ type: 'collection',
21701
+ default: {},
21702
+ placeholder: 'Add Default Window',
21703
+ description: '',
21704
+ required: true,
21705
+ displayOptions: {
21706
+ show: {
21707
+ resource: ['service-plans-lines'],
21708
+ operation: ['PublicServiceLineController_create'],
21709
+ },
21710
+ },
21711
+ options: [
21712
+ {
21713
+ displayName: 'Start',
21714
+ name: 'start',
21715
+ type: 'string',
21716
+ default: '',
21717
+ description: '',
21718
+ },
21719
+ {
21720
+ displayName: 'End',
21721
+ name: 'end',
21722
+ type: 'string',
21723
+ default: '',
21724
+ description: '',
21725
+ },
21726
+ {
21727
+ displayName: 'Overnight',
21728
+ name: 'overnight',
21729
+ type: 'boolean',
21730
+ default: false,
21731
+ description: '',
21732
+ },
21733
+ ],
21734
+ routing: {
21735
+ send: {
21736
+ type: 'body',
21737
+ property: 'defaultWindow',
21738
+ },
21739
+ },
21740
+ },
21741
+ {
21742
+ displayName: 'Description',
21743
+ name: 'description',
21744
+ type: 'string',
21745
+ default: '',
21746
+ description: 'Detailed description',
21747
+ required: false,
21748
+ displayOptions: {
21749
+ show: {
21750
+ resource: ['service-plans-lines'],
21751
+ operation: ['PublicServiceLineController_create'],
21752
+ },
21753
+ },
21754
+ routing: {
21755
+ send: {
21756
+ type: 'body',
21757
+ property: 'description',
21758
+ },
21759
+ },
21760
+ },
21761
+ {
21762
+ displayName: 'Work Category Id',
21763
+ name: 'workCategoryId',
21764
+ type: 'options',
21765
+ default: '',
21766
+ description: 'Work category ID — use /settings/work-types to look up',
21767
+ required: false,
21768
+ displayOptions: {
21769
+ show: {
21770
+ resource: ['service-plans-lines'],
21771
+ operation: ['PublicServiceLineController_create'],
21772
+ },
21773
+ },
21774
+ typeOptions: {
21775
+ loadOptionsMethod: 'loadWorkTypeOptions',
21776
+ },
21777
+ routing: {
21778
+ send: {
21779
+ type: 'body',
21780
+ property: 'workCategoryId',
21781
+ },
21782
+ },
21783
+ },
21784
+ {
21785
+ displayName: 'Service Type Id',
21786
+ name: 'serviceTypeId',
21787
+ type: 'string',
21788
+ default: '',
21789
+ description: 'service type ID',
21790
+ required: false,
21791
+ displayOptions: {
21792
+ show: {
21793
+ resource: ['service-plans-lines'],
21794
+ operation: ['PublicServiceLineController_create'],
21795
+ },
21796
+ },
21797
+ routing: {
21798
+ send: {
21799
+ type: 'body',
21800
+ property: 'serviceTypeId',
21801
+ },
21802
+ },
21803
+ },
21804
+ {
21805
+ displayName: 'Service Scope Id',
21806
+ name: 'serviceScopeId',
21807
+ type: 'string',
21808
+ default: '',
21809
+ description: 'service scope ID',
21810
+ required: false,
21811
+ displayOptions: {
21812
+ show: {
21813
+ resource: ['service-plans-lines'],
21814
+ operation: ['PublicServiceLineController_create'],
21815
+ },
21816
+ },
21817
+ routing: {
21818
+ send: {
21819
+ type: 'body',
21820
+ property: 'serviceScopeId',
21821
+ },
21822
+ },
21823
+ },
21824
+ {
21825
+ displayName: 'Date Start',
21826
+ name: 'dateStart',
21827
+ type: 'string',
21828
+ default: '',
21829
+ description: '',
21830
+ required: false,
21831
+ displayOptions: {
21832
+ show: {
21833
+ resource: ['service-plans-lines'],
21834
+ operation: ['PublicServiceLineController_create'],
21835
+ },
21836
+ },
21837
+ routing: {
21838
+ send: {
21839
+ type: 'body',
21840
+ property: 'dateStart',
21841
+ },
21842
+ },
21843
+ },
21844
+ {
21845
+ displayName: 'Date End',
21846
+ name: 'dateEnd',
21847
+ type: 'string',
21848
+ default: '',
21849
+ description: '',
21850
+ required: false,
21851
+ displayOptions: {
21852
+ show: {
21853
+ resource: ['service-plans-lines'],
21854
+ operation: ['PublicServiceLineController_create'],
21855
+ },
21856
+ },
21857
+ routing: {
21858
+ send: {
21859
+ type: 'body',
21860
+ property: 'dateEnd',
21861
+ },
21862
+ },
21863
+ },
21864
+ {
21865
+ displayName: 'Working Days',
21866
+ name: 'workingDays',
21867
+ type: 'multiOptions',
21868
+ default: '',
21869
+ description: '',
21870
+ required: false,
21871
+ displayOptions: {
21872
+ show: {
21873
+ resource: ['service-plans-lines'],
21874
+ operation: ['PublicServiceLineController_create'],
21875
+ },
21876
+ },
21877
+ options: [
21878
+ {
21879
+ name: 'Mon',
21880
+ value: 'Mon',
21881
+ },
21882
+ {
21883
+ name: 'Tue',
21884
+ value: 'Tue',
21885
+ },
21886
+ {
21887
+ name: 'Wed',
21888
+ value: 'Wed',
21889
+ },
21890
+ {
21891
+ name: 'Thu',
21892
+ value: 'Thu',
21893
+ },
21894
+ {
21895
+ name: 'Fri',
21896
+ value: 'Fri',
21897
+ },
21898
+ {
21899
+ name: 'Sat',
21900
+ value: 'Sat',
21901
+ },
21902
+ {
21903
+ name: 'Sun',
21904
+ value: 'Sun',
21905
+ },
21906
+ ],
21907
+ routing: {
21908
+ send: {
21909
+ type: 'body',
21910
+ property: 'workingDays',
21911
+ },
21912
+ },
21913
+ },
21914
+ {
21915
+ displayName: 'Job Defaults',
21916
+ name: 'jobDefaults',
21917
+ type: 'collection',
21918
+ default: {},
21919
+ placeholder: 'Add Job Defaults',
21920
+ description: '',
21921
+ required: false,
21922
+ displayOptions: {
21923
+ show: {
21924
+ resource: ['service-plans-lines'],
21925
+ operation: ['PublicServiceLineController_create'],
21926
+ },
21927
+ },
21928
+ options: [
21929
+ {
21930
+ displayName: 'Name',
21931
+ name: 'name',
21932
+ type: 'string',
21933
+ default: '',
21934
+ description: 'Display name',
21935
+ },
21936
+ {
21937
+ displayName: 'Description',
21938
+ name: 'description',
21939
+ type: 'string',
21940
+ default: '',
21941
+ description: 'Detailed description',
21942
+ },
21943
+ {
21944
+ displayName: 'Duration',
21945
+ name: 'duration',
21946
+ type: 'number',
21947
+ default: 0,
21948
+ description: '',
21949
+ },
21950
+ {
21951
+ displayName: 'Priority Id',
21952
+ name: 'priorityId',
21953
+ type: 'string',
21954
+ default: '',
21955
+ description: 'Priority ID — use /settings/priorities to look up',
21956
+ },
21957
+ {
21958
+ displayName: 'Type Id',
21959
+ name: 'typeId',
21960
+ type: 'string',
21961
+ default: '',
21962
+ description: 'Job type ID — use /settings/job-types to look up',
21963
+ },
21964
+ {
21965
+ displayName: 'Tag Ids',
21966
+ name: 'tagIds',
21967
+ type: 'string',
21968
+ default: '',
21969
+ description: 'Array of tag IDs (comma-separated, e.g. "id1,id2") — use /settings/tags to look up',
21970
+ typeOptions: {
21971
+ multipleValues: true,
21972
+ },
21973
+ },
21974
+ {
21975
+ displayName: 'Owner Id',
21976
+ name: 'ownerId',
21977
+ type: 'string',
21978
+ default: '',
21979
+ description: 'Owner (employee) ID — use /crm/employees to look up',
21980
+ },
21981
+ {
21982
+ displayName: 'Field Supervisor Id',
21983
+ name: 'fieldSupervisorId',
21984
+ type: 'string',
21985
+ default: '',
21986
+ description: 'Field supervisor (employee) ID — use /crm/employees to look up',
21987
+ },
21988
+ {
21989
+ displayName: 'Price Book Id',
21990
+ name: 'priceBookId',
21991
+ type: 'string',
21992
+ default: '',
21993
+ description: 'Price book ID for job pricing',
21994
+ },
21995
+ ],
21996
+ routing: {
21997
+ send: {
21998
+ type: 'body',
21999
+ property: 'jobDefaults',
22000
+ },
22001
+ },
22002
+ },
22003
+ {
22004
+ displayName: 'Plan Id',
22005
+ name: 'planId',
22006
+ type: 'string',
22007
+ default: '',
22008
+ description: 'plan ID',
22009
+ required: true,
22010
+ displayOptions: {
22011
+ show: {
22012
+ resource: ['service-plans-lines'],
22013
+ operation: ['PublicServiceLineController_get'],
22014
+ },
22015
+ },
22016
+ },
22017
+ {
22018
+ displayName: 'Identifier',
22019
+ name: 'identifier',
22020
+ type: 'string',
22021
+ default: '',
22022
+ description: 'WorkBuddy Service Line ID or caller integrationId',
22023
+ required: true,
22024
+ displayOptions: {
22025
+ show: {
22026
+ resource: ['service-plans-lines'],
22027
+ operation: ['PublicServiceLineController_get'],
22028
+ },
22029
+ },
22030
+ },
22031
+ {
22032
+ displayName: 'Plan Id',
22033
+ name: 'planId',
22034
+ type: 'string',
22035
+ default: '',
22036
+ description: 'plan ID',
22037
+ required: true,
22038
+ displayOptions: {
22039
+ show: {
22040
+ resource: ['service-plans-lines'],
22041
+ operation: ['PublicServiceLineController_patch'],
22042
+ },
22043
+ },
22044
+ },
22045
+ {
22046
+ displayName: 'Identifier',
22047
+ name: 'identifier',
22048
+ type: 'string',
22049
+ default: '',
22050
+ description: 'Entity ID or human-readable number',
22051
+ required: true,
22052
+ displayOptions: {
22053
+ show: {
22054
+ resource: ['service-plans-lines'],
22055
+ operation: ['PublicServiceLineController_patch'],
22056
+ },
22057
+ },
22058
+ },
22059
+ {
22060
+ displayName: 'Name',
22061
+ name: 'name',
22062
+ type: 'string',
22063
+ default: '',
22064
+ description: 'Display name',
22065
+ required: false,
22066
+ displayOptions: {
22067
+ show: {
22068
+ resource: ['service-plans-lines'],
22069
+ operation: ['PublicServiceLineController_patch'],
22070
+ },
22071
+ },
22072
+ routing: {
22073
+ send: {
22074
+ type: 'body',
22075
+ property: 'name',
22076
+ },
22077
+ },
22078
+ },
22079
+ {
22080
+ displayName: 'Description',
22081
+ name: 'description',
22082
+ type: 'string',
22083
+ default: '',
22084
+ description: 'Detailed description',
22085
+ required: false,
22086
+ displayOptions: {
22087
+ show: {
22088
+ resource: ['service-plans-lines'],
22089
+ operation: ['PublicServiceLineController_patch'],
22090
+ },
22091
+ },
22092
+ routing: {
22093
+ send: {
22094
+ type: 'body',
22095
+ property: 'description',
22096
+ },
22097
+ },
22098
+ },
22099
+ {
22100
+ displayName: 'Work Category Id',
22101
+ name: 'workCategoryId',
22102
+ type: 'options',
22103
+ default: '',
22104
+ description: 'Work category ID — use /settings/work-types to look up',
22105
+ required: false,
22106
+ displayOptions: {
22107
+ show: {
22108
+ resource: ['service-plans-lines'],
22109
+ operation: ['PublicServiceLineController_patch'],
22110
+ },
22111
+ },
22112
+ typeOptions: {
22113
+ loadOptionsMethod: 'loadWorkTypeOptions',
22114
+ },
22115
+ routing: {
22116
+ send: {
22117
+ type: 'body',
22118
+ property: 'workCategoryId',
22119
+ },
22120
+ },
22121
+ },
22122
+ {
22123
+ displayName: 'Service Type Id',
22124
+ name: 'serviceTypeId',
22125
+ type: 'string',
22126
+ default: '',
22127
+ description: 'service type ID',
22128
+ required: false,
22129
+ displayOptions: {
22130
+ show: {
22131
+ resource: ['service-plans-lines'],
22132
+ operation: ['PublicServiceLineController_patch'],
22133
+ },
22134
+ },
22135
+ routing: {
22136
+ send: {
22137
+ type: 'body',
22138
+ property: 'serviceTypeId',
22139
+ },
22140
+ },
22141
+ },
22142
+ {
22143
+ displayName: 'Service Scope Id',
22144
+ name: 'serviceScopeId',
22145
+ type: 'string',
22146
+ default: '',
22147
+ description: 'service scope ID',
22148
+ required: false,
22149
+ displayOptions: {
22150
+ show: {
22151
+ resource: ['service-plans-lines'],
22152
+ operation: ['PublicServiceLineController_patch'],
22153
+ },
22154
+ },
22155
+ routing: {
22156
+ send: {
22157
+ type: 'body',
22158
+ property: 'serviceScopeId',
22159
+ },
22160
+ },
22161
+ },
22162
+ {
22163
+ displayName: 'Date Start',
22164
+ name: 'dateStart',
22165
+ type: 'string',
22166
+ default: '',
22167
+ description: '',
22168
+ required: false,
22169
+ displayOptions: {
22170
+ show: {
22171
+ resource: ['service-plans-lines'],
22172
+ operation: ['PublicServiceLineController_patch'],
22173
+ },
22174
+ },
22175
+ routing: {
22176
+ send: {
22177
+ type: 'body',
22178
+ property: 'dateStart',
22179
+ },
22180
+ },
22181
+ },
22182
+ {
22183
+ displayName: 'Date End',
22184
+ name: 'dateEnd',
22185
+ type: 'string',
22186
+ default: '',
22187
+ description: '',
22188
+ required: false,
22189
+ displayOptions: {
22190
+ show: {
22191
+ resource: ['service-plans-lines'],
22192
+ operation: ['PublicServiceLineController_patch'],
22193
+ },
22194
+ },
22195
+ routing: {
22196
+ send: {
22197
+ type: 'body',
22198
+ property: 'dateEnd',
22199
+ },
22200
+ },
22201
+ },
22202
+ {
22203
+ displayName: 'Default Window',
22204
+ name: 'defaultWindow',
22205
+ type: 'collection',
22206
+ default: {},
22207
+ placeholder: 'Add Default Window',
22208
+ description: '',
22209
+ required: false,
22210
+ displayOptions: {
22211
+ show: {
22212
+ resource: ['service-plans-lines'],
22213
+ operation: ['PublicServiceLineController_patch'],
22214
+ },
22215
+ },
22216
+ options: [
22217
+ {
22218
+ displayName: 'Start',
22219
+ name: 'start',
22220
+ type: 'string',
22221
+ default: '',
22222
+ description: '',
22223
+ },
22224
+ {
22225
+ displayName: 'End',
22226
+ name: 'end',
22227
+ type: 'string',
22228
+ default: '',
22229
+ description: '',
22230
+ },
22231
+ {
22232
+ displayName: 'Overnight',
22233
+ name: 'overnight',
22234
+ type: 'boolean',
22235
+ default: false,
22236
+ description: '',
22237
+ },
22238
+ ],
22239
+ routing: {
22240
+ send: {
22241
+ type: 'body',
22242
+ property: 'defaultWindow',
22243
+ },
22244
+ },
22245
+ },
22246
+ {
22247
+ displayName: 'Working Days',
22248
+ name: 'workingDays',
22249
+ type: 'multiOptions',
22250
+ default: '',
22251
+ description: '',
22252
+ required: false,
22253
+ displayOptions: {
22254
+ show: {
22255
+ resource: ['service-plans-lines'],
22256
+ operation: ['PublicServiceLineController_patch'],
22257
+ },
22258
+ },
22259
+ options: [
22260
+ {
22261
+ name: 'Mon',
22262
+ value: 'Mon',
22263
+ },
22264
+ {
22265
+ name: 'Tue',
22266
+ value: 'Tue',
22267
+ },
22268
+ {
22269
+ name: 'Wed',
22270
+ value: 'Wed',
22271
+ },
22272
+ {
22273
+ name: 'Thu',
22274
+ value: 'Thu',
22275
+ },
22276
+ {
22277
+ name: 'Fri',
22278
+ value: 'Fri',
22279
+ },
22280
+ {
22281
+ name: 'Sat',
22282
+ value: 'Sat',
22283
+ },
22284
+ {
22285
+ name: 'Sun',
22286
+ value: 'Sun',
22287
+ },
22288
+ ],
22289
+ routing: {
22290
+ send: {
22291
+ type: 'body',
22292
+ property: 'workingDays',
22293
+ },
22294
+ },
22295
+ },
22296
+ {
22297
+ displayName: 'Job Defaults',
22298
+ name: 'jobDefaults',
22299
+ type: 'collection',
22300
+ default: {},
22301
+ placeholder: 'Add Job Defaults',
22302
+ description: '',
22303
+ required: false,
22304
+ displayOptions: {
22305
+ show: {
22306
+ resource: ['service-plans-lines'],
22307
+ operation: ['PublicServiceLineController_patch'],
22308
+ },
22309
+ },
22310
+ options: [
22311
+ {
22312
+ displayName: 'Name',
22313
+ name: 'name',
22314
+ type: 'string',
22315
+ default: '',
22316
+ description: 'Display name',
22317
+ },
22318
+ {
22319
+ displayName: 'Description',
22320
+ name: 'description',
22321
+ type: 'string',
22322
+ default: '',
22323
+ description: 'Detailed description',
22324
+ },
22325
+ {
22326
+ displayName: 'Duration',
22327
+ name: 'duration',
22328
+ type: 'number',
22329
+ default: 0,
22330
+ description: '',
22331
+ },
22332
+ {
22333
+ displayName: 'Priority Id',
22334
+ name: 'priorityId',
22335
+ type: 'string',
22336
+ default: '',
22337
+ description: 'Priority ID — use /settings/priorities to look up',
22338
+ },
22339
+ {
22340
+ displayName: 'Type Id',
22341
+ name: 'typeId',
22342
+ type: 'string',
22343
+ default: '',
22344
+ description: 'Job type ID — use /settings/job-types to look up',
22345
+ },
22346
+ {
22347
+ displayName: 'Tag Ids',
22348
+ name: 'tagIds',
22349
+ type: 'string',
22350
+ default: '',
22351
+ description: 'Array of tag IDs (comma-separated, e.g. "id1,id2") — use /settings/tags to look up',
22352
+ typeOptions: {
22353
+ multipleValues: true,
22354
+ },
22355
+ },
22356
+ {
22357
+ displayName: 'Owner Id',
22358
+ name: 'ownerId',
22359
+ type: 'string',
22360
+ default: '',
22361
+ description: 'Owner (employee) ID — use /crm/employees to look up',
22362
+ },
22363
+ {
22364
+ displayName: 'Field Supervisor Id',
22365
+ name: 'fieldSupervisorId',
22366
+ type: 'string',
22367
+ default: '',
22368
+ description: 'Field supervisor (employee) ID — use /crm/employees to look up',
22369
+ },
22370
+ {
22371
+ displayName: 'Price Book Id',
22372
+ name: 'priceBookId',
22373
+ type: 'string',
22374
+ default: '',
22375
+ description: 'Price book ID for job pricing',
22376
+ },
22377
+ ],
22378
+ routing: {
22379
+ send: {
22380
+ type: 'body',
22381
+ property: 'jobDefaults',
22382
+ },
22383
+ },
22384
+ },
22385
+ // Service Plans Lines Tasks Operations
22386
+ {
22387
+ displayName: 'Operation',
22388
+ name: 'operation',
22389
+ type: 'options',
22390
+ noDataExpression: true,
22391
+ displayOptions: {
22392
+ show: {
22393
+ resource: ['service-plans-lines-tasks'],
22394
+ },
22395
+ },
22396
+ options: [
22397
+ {
22398
+ name: 'List root Service Line Tasks',
22399
+ value: 'PublicServiceLineTaskController_list',
22400
+ action: '',
22401
+ description: '',
22402
+ routing: {
22403
+ request: {
22404
+ method: 'GET',
22405
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["lineId"] }}/tasks',
22406
+ },
22407
+ },
22408
+ },
22409
+ {
22410
+ name: 'Create root Service Line Tasks',
22411
+ value: 'PublicServiceLineTaskController_create',
22412
+ action: 'Pass one Task, or `{ items }` with 1–100 Tasks. Bulk ingest is a bounded domain command — not N public creates — and returns per-item created, existing, conflict, and invalid outcomes.',
22413
+ description: 'Pass one Task, or `{ items }` with 1–100 Tasks. Bulk ingest is a bounded domain command — not N public creates — and returns per-item created, existing, conflict, and invalid outcomes.',
22414
+ routing: {
22415
+ request: {
22416
+ method: 'POST',
22417
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["lineId"] }}/tasks',
22418
+ },
22419
+ },
22420
+ },
22421
+ {
22422
+ name: 'Get a root Service Line Task',
22423
+ value: 'PublicServiceLineTaskController_get',
22424
+ action: '',
22425
+ description: '',
22426
+ routing: {
22427
+ request: {
22428
+ method: 'GET',
22429
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["lineId"] }}/tasks/={{ $parameter["identifier"] }}',
22430
+ },
22431
+ },
22432
+ },
22433
+ {
22434
+ name: 'Update a root Service Line Task',
22435
+ value: 'PublicServiceLineTaskController_patch',
22436
+ action: '',
22437
+ description: '',
22438
+ routing: {
22439
+ request: {
22440
+ method: 'PATCH',
22441
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["lineId"] }}/tasks/={{ $parameter["identifier"] }}',
22442
+ },
22443
+ },
22444
+ },
22445
+ ],
22446
+ default: 'PublicServiceLineTaskController_list',
22447
+ },
22448
+ {
22449
+ displayName: 'Plan Id',
22450
+ name: 'planId',
22451
+ type: 'string',
22452
+ default: '',
22453
+ description: 'WorkBuddy Service Plan ID',
22454
+ required: true,
22455
+ displayOptions: {
22456
+ show: {
22457
+ resource: ['service-plans-lines-tasks'],
22458
+ operation: ['PublicServiceLineTaskController_list'],
22459
+ },
22460
+ },
22461
+ },
22462
+ {
22463
+ displayName: 'Line Id',
22464
+ name: 'lineId',
22465
+ type: 'string',
22466
+ default: '',
22467
+ description: 'WorkBuddy Service Line ID or caller integrationId',
22468
+ required: true,
22469
+ displayOptions: {
22470
+ show: {
22471
+ resource: ['service-plans-lines-tasks'],
22472
+ operation: ['PublicServiceLineTaskController_list'],
22473
+ },
22474
+ },
22475
+ },
22476
+ {
22477
+ displayName: 'Plan Id',
22478
+ name: 'planId',
22479
+ type: 'string',
22480
+ default: '',
22481
+ description: 'plan ID',
22482
+ required: true,
22483
+ displayOptions: {
22484
+ show: {
22485
+ resource: ['service-plans-lines-tasks'],
22486
+ operation: ['PublicServiceLineTaskController_create'],
22487
+ },
22488
+ },
22489
+ },
22490
+ {
22491
+ displayName: 'Line Id',
22492
+ name: 'lineId',
22493
+ type: 'string',
22494
+ default: '',
22495
+ description: 'line ID',
22496
+ required: true,
22497
+ displayOptions: {
22498
+ show: {
22499
+ resource: ['service-plans-lines-tasks'],
22500
+ operation: ['PublicServiceLineTaskController_create'],
22501
+ },
22502
+ },
22503
+ },
22504
+ {
22505
+ displayName: 'Items',
22506
+ name: 'items',
22507
+ type: 'json',
22508
+ default: {},
22509
+ description: '',
22510
+ required: true,
22511
+ displayOptions: {
22512
+ show: {
22513
+ resource: ['service-plans-lines-tasks'],
22514
+ operation: ['PublicServiceLineTaskController_create'],
22515
+ },
22516
+ },
22517
+ routing: {
22518
+ send: {
22519
+ type: 'body',
22520
+ property: 'items',
22521
+ },
22522
+ },
22523
+ },
22524
+ {
22525
+ displayName: 'Plan Id',
22526
+ name: 'planId',
22527
+ type: 'string',
22528
+ default: '',
22529
+ description: 'plan ID',
22530
+ required: true,
22531
+ displayOptions: {
22532
+ show: {
22533
+ resource: ['service-plans-lines-tasks'],
22534
+ operation: ['PublicServiceLineTaskController_get'],
22535
+ },
22536
+ },
22537
+ },
22538
+ {
22539
+ displayName: 'Line Id',
22540
+ name: 'lineId',
22541
+ type: 'string',
22542
+ default: '',
22543
+ description: 'line ID',
22544
+ required: true,
22545
+ displayOptions: {
22546
+ show: {
22547
+ resource: ['service-plans-lines-tasks'],
22548
+ operation: ['PublicServiceLineTaskController_get'],
22549
+ },
22550
+ },
22551
+ },
22552
+ {
22553
+ displayName: 'Identifier',
22554
+ name: 'identifier',
22555
+ type: 'string',
22556
+ default: '',
22557
+ description: 'WorkBuddy Task ID or caller integrationId',
22558
+ required: true,
22559
+ displayOptions: {
22560
+ show: {
22561
+ resource: ['service-plans-lines-tasks'],
22562
+ operation: ['PublicServiceLineTaskController_get'],
22563
+ },
22564
+ },
22565
+ },
22566
+ {
22567
+ displayName: 'Plan Id',
22568
+ name: 'planId',
22569
+ type: 'string',
22570
+ default: '',
22571
+ description: 'plan ID',
22572
+ required: true,
22573
+ displayOptions: {
22574
+ show: {
22575
+ resource: ['service-plans-lines-tasks'],
22576
+ operation: ['PublicServiceLineTaskController_patch'],
22577
+ },
22578
+ },
22579
+ },
22580
+ {
22581
+ displayName: 'Line Id',
22582
+ name: 'lineId',
22583
+ type: 'string',
22584
+ default: '',
22585
+ description: 'line ID',
22586
+ required: true,
22587
+ displayOptions: {
22588
+ show: {
22589
+ resource: ['service-plans-lines-tasks'],
22590
+ operation: ['PublicServiceLineTaskController_patch'],
22591
+ },
22592
+ },
22593
+ },
22594
+ {
22595
+ displayName: 'Identifier',
22596
+ name: 'identifier',
22597
+ type: 'string',
22598
+ default: '',
22599
+ description: 'Entity ID or human-readable number',
22600
+ required: true,
22601
+ displayOptions: {
22602
+ show: {
22603
+ resource: ['service-plans-lines-tasks'],
22604
+ operation: ['PublicServiceLineTaskController_patch'],
22605
+ },
22606
+ },
22607
+ },
22608
+ {
22609
+ displayName: 'Name',
22610
+ name: 'name',
22611
+ type: 'string',
22612
+ default: '',
22613
+ description: 'Display name',
22614
+ required: false,
22615
+ displayOptions: {
22616
+ show: {
22617
+ resource: ['service-plans-lines-tasks'],
22618
+ operation: ['PublicServiceLineTaskController_patch'],
22619
+ },
22620
+ },
22621
+ routing: {
22622
+ send: {
22623
+ type: 'body',
22624
+ property: 'name',
22625
+ },
22626
+ },
22627
+ },
22628
+ {
22629
+ displayName: 'Description',
22630
+ name: 'description',
22631
+ type: 'string',
22632
+ default: '',
22633
+ description: 'Detailed description',
22634
+ required: false,
22635
+ displayOptions: {
22636
+ show: {
22637
+ resource: ['service-plans-lines-tasks'],
22638
+ operation: ['PublicServiceLineTaskController_patch'],
22639
+ },
22640
+ },
22641
+ routing: {
22642
+ send: {
22643
+ type: 'body',
22644
+ property: 'description',
22645
+ },
22646
+ },
22647
+ },
22648
+ {
22649
+ displayName: 'Starts On',
22650
+ name: 'startsOn',
22651
+ type: 'string',
22652
+ default: '',
22653
+ description: '',
22654
+ required: false,
22655
+ displayOptions: {
22656
+ show: {
22657
+ resource: ['service-plans-lines-tasks'],
22658
+ operation: ['PublicServiceLineTaskController_patch'],
22659
+ },
22660
+ },
22661
+ routing: {
22662
+ send: {
22663
+ type: 'body',
22664
+ property: 'startsOn',
22665
+ },
22666
+ },
22667
+ },
22668
+ {
22669
+ displayName: 'Last Serviced',
22670
+ name: 'lastServiced',
22671
+ type: 'string',
22672
+ default: '',
22673
+ description: '',
22674
+ required: false,
22675
+ displayOptions: {
22676
+ show: {
22677
+ resource: ['service-plans-lines-tasks'],
22678
+ operation: ['PublicServiceLineTaskController_patch'],
22679
+ },
22680
+ },
22681
+ routing: {
22682
+ send: {
22683
+ type: 'body',
22684
+ property: 'lastServiced',
22685
+ },
22686
+ },
22687
+ },
22688
+ {
22689
+ displayName: 'Schedule',
22690
+ name: 'schedule',
22691
+ type: 'string',
22692
+ default: '',
22693
+ description: '',
22694
+ required: false,
22695
+ displayOptions: {
22696
+ show: {
22697
+ resource: ['service-plans-lines-tasks'],
22698
+ operation: ['PublicServiceLineTaskController_patch'],
22699
+ },
22700
+ },
22701
+ routing: {
22702
+ send: {
22703
+ type: 'body',
22704
+ property: 'schedule',
22705
+ },
22706
+ },
22707
+ },
22708
+ {
22709
+ displayName: 'Exceptions',
22710
+ name: 'exceptions',
22711
+ type: 'json',
22712
+ default: {},
22713
+ description: '',
22714
+ required: false,
22715
+ displayOptions: {
22716
+ show: {
22717
+ resource: ['service-plans-lines-tasks'],
22718
+ operation: ['PublicServiceLineTaskController_patch'],
22719
+ },
22720
+ },
22721
+ routing: {
22722
+ send: {
22723
+ type: 'body',
22724
+ property: 'exceptions',
22725
+ },
22726
+ },
22727
+ },
22728
+ {
22729
+ displayName: 'Mandatory',
22730
+ name: 'mandatory',
22731
+ type: 'boolean',
22732
+ default: false,
22733
+ description: '',
22734
+ required: false,
22735
+ displayOptions: {
22736
+ show: {
22737
+ resource: ['service-plans-lines-tasks'],
22738
+ operation: ['PublicServiceLineTaskController_patch'],
22739
+ },
22740
+ },
22741
+ routing: {
22742
+ send: {
22743
+ type: 'body',
22744
+ property: 'mandatory',
22745
+ },
22746
+ },
22747
+ },
22748
+ {
22749
+ displayName: 'Signature Enabled',
22750
+ name: 'signatureEnabled',
22751
+ type: 'boolean',
22752
+ default: false,
22753
+ description: '',
22754
+ required: false,
22755
+ displayOptions: {
22756
+ show: {
22757
+ resource: ['service-plans-lines-tasks'],
22758
+ operation: ['PublicServiceLineTaskController_patch'],
22759
+ },
22760
+ },
22761
+ routing: {
22762
+ send: {
22763
+ type: 'body',
22764
+ property: 'signatureEnabled',
22765
+ },
22766
+ },
22767
+ },
22768
+ {
22769
+ displayName: 'Comment Enabled',
22770
+ name: 'commentEnabled',
22771
+ type: 'boolean',
22772
+ default: false,
22773
+ description: '',
22774
+ required: false,
22775
+ displayOptions: {
22776
+ show: {
22777
+ resource: ['service-plans-lines-tasks'],
22778
+ operation: ['PublicServiceLineTaskController_patch'],
22779
+ },
22780
+ },
22781
+ routing: {
22782
+ send: {
22783
+ type: 'body',
22784
+ property: 'commentEnabled',
22785
+ },
22786
+ },
22787
+ },
22788
+ {
22789
+ displayName: 'Before Photo Enabled',
22790
+ name: 'beforePhotoEnabled',
22791
+ type: 'boolean',
22792
+ default: false,
22793
+ description: '',
22794
+ required: false,
22795
+ displayOptions: {
22796
+ show: {
22797
+ resource: ['service-plans-lines-tasks'],
22798
+ operation: ['PublicServiceLineTaskController_patch'],
22799
+ },
22800
+ },
22801
+ routing: {
22802
+ send: {
22803
+ type: 'body',
22804
+ property: 'beforePhotoEnabled',
22805
+ },
22806
+ },
22807
+ },
22808
+ {
22809
+ displayName: 'During Photo Enabled',
22810
+ name: 'duringPhotoEnabled',
22811
+ type: 'boolean',
22812
+ default: false,
22813
+ description: '',
22814
+ required: false,
22815
+ displayOptions: {
22816
+ show: {
22817
+ resource: ['service-plans-lines-tasks'],
22818
+ operation: ['PublicServiceLineTaskController_patch'],
22819
+ },
22820
+ },
22821
+ routing: {
22822
+ send: {
22823
+ type: 'body',
22824
+ property: 'duringPhotoEnabled',
22825
+ },
22826
+ },
22827
+ },
22828
+ {
22829
+ displayName: 'After Photo Enabled',
22830
+ name: 'afterPhotoEnabled',
22831
+ type: 'boolean',
22832
+ default: false,
22833
+ description: '',
22834
+ required: false,
22835
+ displayOptions: {
22836
+ show: {
22837
+ resource: ['service-plans-lines-tasks'],
22838
+ operation: ['PublicServiceLineTaskController_patch'],
22839
+ },
22840
+ },
22841
+ routing: {
22842
+ send: {
22843
+ type: 'body',
22844
+ property: 'afterPhotoEnabled',
22845
+ },
22846
+ },
22847
+ },
22848
+ {
22849
+ displayName: 'File Enabled',
22850
+ name: 'fileEnabled',
22851
+ type: 'boolean',
22852
+ default: false,
22853
+ description: '',
22854
+ required: false,
22855
+ displayOptions: {
22856
+ show: {
22857
+ resource: ['service-plans-lines-tasks'],
22858
+ operation: ['PublicServiceLineTaskController_patch'],
22859
+ },
22860
+ },
22861
+ routing: {
22862
+ send: {
22863
+ type: 'body',
22864
+ property: 'fileEnabled',
22865
+ },
22866
+ },
22867
+ },
22868
+ {
22869
+ displayName: 'File Template Id',
22870
+ name: 'fileTemplateId',
22871
+ type: 'string',
22872
+ default: '',
22873
+ description: 'file template ID',
22874
+ required: false,
22875
+ displayOptions: {
22876
+ show: {
22877
+ resource: ['service-plans-lines-tasks'],
22878
+ operation: ['PublicServiceLineTaskController_patch'],
22879
+ },
22880
+ },
22881
+ routing: {
22882
+ send: {
22883
+ type: 'body',
22884
+ property: 'fileTemplateId',
22885
+ },
22886
+ },
22887
+ },
22888
+ {
22889
+ displayName: 'Form Enabled',
22890
+ name: 'formEnabled',
22891
+ type: 'boolean',
22892
+ default: false,
22893
+ description: '',
22894
+ required: false,
22895
+ displayOptions: {
22896
+ show: {
22897
+ resource: ['service-plans-lines-tasks'],
22898
+ operation: ['PublicServiceLineTaskController_patch'],
22899
+ },
22900
+ },
22901
+ routing: {
22902
+ send: {
22903
+ type: 'body',
22904
+ property: 'formEnabled',
22905
+ },
22906
+ },
22907
+ },
22908
+ {
22909
+ displayName: 'Form Template Id',
22910
+ name: 'formTemplateId',
22911
+ type: 'string',
22912
+ default: '',
22913
+ description: 'form template ID',
22914
+ required: false,
22915
+ displayOptions: {
22916
+ show: {
22917
+ resource: ['service-plans-lines-tasks'],
22918
+ operation: ['PublicServiceLineTaskController_patch'],
22919
+ },
22920
+ },
22921
+ routing: {
22922
+ send: {
22923
+ type: 'body',
22924
+ property: 'formTemplateId',
22925
+ },
22926
+ },
22927
+ },
22928
+ // Service Plans Lines Tasks Subtasks Operations
22929
+ {
22930
+ displayName: 'Operation',
22931
+ name: 'operation',
22932
+ type: 'options',
22933
+ noDataExpression: true,
22934
+ displayOptions: {
22935
+ show: {
22936
+ resource: ['service-plans-lines-tasks-subtasks'],
22937
+ },
22938
+ },
22939
+ options: [
22940
+ {
22941
+ name: 'List Subtasks',
22942
+ value: 'PublicServiceLineSubtaskController_list',
22943
+ action: '',
22944
+ description: '',
22945
+ routing: {
22946
+ request: {
22947
+ method: 'GET',
22948
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["lineId"] }}/tasks/={{ $parameter["taskId"] }}/subtasks',
22949
+ },
22950
+ },
22951
+ },
22952
+ {
22953
+ name: 'Create Subtasks',
22954
+ value: 'PublicServiceLineSubtaskController_create',
22955
+ action: 'Pass one Subtask, or `{ items }` with 1–100 Subtasks. Bounded domain ingest — not N public creates. Schedule and start-date fields are rejected.',
22956
+ description: 'Pass one Subtask, or `{ items }` with 1–100 Subtasks. Bounded domain ingest — not N public creates. Schedule and start-date fields are rejected.',
22957
+ routing: {
22958
+ request: {
22959
+ method: 'POST',
22960
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["lineId"] }}/tasks/={{ $parameter["taskId"] }}/subtasks',
22961
+ },
22962
+ },
22963
+ },
22964
+ {
22965
+ name: 'Get a Subtask',
22966
+ value: 'PublicServiceLineSubtaskController_get',
22967
+ action: '',
22968
+ description: '',
22969
+ routing: {
22970
+ request: {
22971
+ method: 'GET',
22972
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["lineId"] }}/tasks/={{ $parameter["taskId"] }}/subtasks/={{ $parameter["identifier"] }}',
22973
+ },
22974
+ },
22975
+ },
22976
+ {
22977
+ name: 'Update a Subtask',
22978
+ value: 'PublicServiceLineSubtaskController_patch',
22979
+ action: '',
22980
+ description: '',
22981
+ routing: {
22982
+ request: {
22983
+ method: 'PATCH',
22984
+ url: '/api/v2/public/service-plans/={{ $parameter["planId"] }}/lines/={{ $parameter["lineId"] }}/tasks/={{ $parameter["taskId"] }}/subtasks/={{ $parameter["identifier"] }}',
22985
+ },
22986
+ },
22987
+ },
22988
+ ],
22989
+ default: 'PublicServiceLineSubtaskController_list',
22990
+ },
22991
+ {
22992
+ displayName: 'Plan Id',
22993
+ name: 'planId',
22994
+ type: 'string',
22995
+ default: '',
22996
+ description: 'WorkBuddy Service Plan ID',
22997
+ required: true,
22998
+ displayOptions: {
22999
+ show: {
23000
+ resource: ['service-plans-lines-tasks-subtasks'],
23001
+ operation: ['PublicServiceLineSubtaskController_list'],
23002
+ },
23003
+ },
23004
+ },
23005
+ {
23006
+ displayName: 'Line Id',
23007
+ name: 'lineId',
23008
+ type: 'string',
23009
+ default: '',
23010
+ description: 'WorkBuddy Service Line ID or caller integrationId',
23011
+ required: true,
23012
+ displayOptions: {
23013
+ show: {
23014
+ resource: ['service-plans-lines-tasks-subtasks'],
23015
+ operation: ['PublicServiceLineSubtaskController_list'],
23016
+ },
23017
+ },
23018
+ },
23019
+ {
23020
+ displayName: 'Task Id',
23021
+ name: 'taskId',
23022
+ type: 'string',
23023
+ default: '',
23024
+ description: 'WorkBuddy root Task ID or caller integrationId',
23025
+ required: true,
23026
+ displayOptions: {
23027
+ show: {
23028
+ resource: ['service-plans-lines-tasks-subtasks'],
23029
+ operation: ['PublicServiceLineSubtaskController_list'],
23030
+ },
23031
+ },
23032
+ },
23033
+ {
23034
+ displayName: 'Plan Id',
23035
+ name: 'planId',
23036
+ type: 'string',
23037
+ default: '',
23038
+ description: 'plan ID',
23039
+ required: true,
23040
+ displayOptions: {
23041
+ show: {
23042
+ resource: ['service-plans-lines-tasks-subtasks'],
23043
+ operation: ['PublicServiceLineSubtaskController_create'],
23044
+ },
23045
+ },
23046
+ },
23047
+ {
23048
+ displayName: 'Line Id',
23049
+ name: 'lineId',
23050
+ type: 'string',
23051
+ default: '',
23052
+ description: 'line ID',
23053
+ required: true,
23054
+ displayOptions: {
23055
+ show: {
23056
+ resource: ['service-plans-lines-tasks-subtasks'],
23057
+ operation: ['PublicServiceLineSubtaskController_create'],
23058
+ },
23059
+ },
23060
+ },
23061
+ {
23062
+ displayName: 'Task Id',
23063
+ name: 'taskId',
23064
+ type: 'string',
23065
+ default: '',
23066
+ description: 'task ID',
23067
+ required: true,
23068
+ displayOptions: {
23069
+ show: {
23070
+ resource: ['service-plans-lines-tasks-subtasks'],
23071
+ operation: ['PublicServiceLineSubtaskController_create'],
23072
+ },
23073
+ },
23074
+ },
23075
+ {
23076
+ displayName: 'Items',
23077
+ name: 'items',
23078
+ type: 'json',
23079
+ default: {},
23080
+ description: '',
23081
+ required: true,
23082
+ displayOptions: {
23083
+ show: {
23084
+ resource: ['service-plans-lines-tasks-subtasks'],
23085
+ operation: ['PublicServiceLineSubtaskController_create'],
23086
+ },
23087
+ },
23088
+ routing: {
23089
+ send: {
23090
+ type: 'body',
23091
+ property: 'items',
23092
+ },
23093
+ },
23094
+ },
23095
+ {
23096
+ displayName: 'Plan Id',
23097
+ name: 'planId',
23098
+ type: 'string',
23099
+ default: '',
23100
+ description: 'plan ID',
23101
+ required: true,
23102
+ displayOptions: {
23103
+ show: {
23104
+ resource: ['service-plans-lines-tasks-subtasks'],
23105
+ operation: ['PublicServiceLineSubtaskController_get'],
23106
+ },
23107
+ },
23108
+ },
23109
+ {
23110
+ displayName: 'Line Id',
23111
+ name: 'lineId',
23112
+ type: 'string',
23113
+ default: '',
23114
+ description: 'line ID',
23115
+ required: true,
23116
+ displayOptions: {
23117
+ show: {
23118
+ resource: ['service-plans-lines-tasks-subtasks'],
23119
+ operation: ['PublicServiceLineSubtaskController_get'],
23120
+ },
23121
+ },
23122
+ },
23123
+ {
23124
+ displayName: 'Task Id',
23125
+ name: 'taskId',
23126
+ type: 'string',
23127
+ default: '',
23128
+ description: 'task ID',
23129
+ required: true,
23130
+ displayOptions: {
23131
+ show: {
23132
+ resource: ['service-plans-lines-tasks-subtasks'],
23133
+ operation: ['PublicServiceLineSubtaskController_get'],
23134
+ },
23135
+ },
23136
+ },
23137
+ {
23138
+ displayName: 'Identifier',
23139
+ name: 'identifier',
23140
+ type: 'string',
23141
+ default: '',
23142
+ description: 'WorkBuddy Subtask ID or caller integrationId',
23143
+ required: true,
23144
+ displayOptions: {
23145
+ show: {
23146
+ resource: ['service-plans-lines-tasks-subtasks'],
23147
+ operation: ['PublicServiceLineSubtaskController_get'],
23148
+ },
23149
+ },
23150
+ },
23151
+ {
23152
+ displayName: 'Plan Id',
23153
+ name: 'planId',
23154
+ type: 'string',
23155
+ default: '',
23156
+ description: 'plan ID',
23157
+ required: true,
23158
+ displayOptions: {
23159
+ show: {
23160
+ resource: ['service-plans-lines-tasks-subtasks'],
23161
+ operation: ['PublicServiceLineSubtaskController_patch'],
23162
+ },
23163
+ },
23164
+ },
23165
+ {
23166
+ displayName: 'Line Id',
23167
+ name: 'lineId',
23168
+ type: 'string',
23169
+ default: '',
23170
+ description: 'line ID',
23171
+ required: true,
23172
+ displayOptions: {
23173
+ show: {
23174
+ resource: ['service-plans-lines-tasks-subtasks'],
23175
+ operation: ['PublicServiceLineSubtaskController_patch'],
23176
+ },
23177
+ },
23178
+ },
23179
+ {
23180
+ displayName: 'Task Id',
23181
+ name: 'taskId',
23182
+ type: 'string',
23183
+ default: '',
23184
+ description: 'task ID',
23185
+ required: true,
23186
+ displayOptions: {
23187
+ show: {
23188
+ resource: ['service-plans-lines-tasks-subtasks'],
23189
+ operation: ['PublicServiceLineSubtaskController_patch'],
23190
+ },
23191
+ },
23192
+ },
23193
+ {
23194
+ displayName: 'Identifier',
23195
+ name: 'identifier',
23196
+ type: 'string',
23197
+ default: '',
23198
+ description: 'Entity ID or human-readable number',
23199
+ required: true,
23200
+ displayOptions: {
23201
+ show: {
23202
+ resource: ['service-plans-lines-tasks-subtasks'],
23203
+ operation: ['PublicServiceLineSubtaskController_patch'],
23204
+ },
23205
+ },
23206
+ },
23207
+ {
23208
+ displayName: 'Name',
23209
+ name: 'name',
23210
+ type: 'string',
23211
+ default: '',
23212
+ description: 'Display name',
23213
+ required: false,
23214
+ displayOptions: {
23215
+ show: {
23216
+ resource: ['service-plans-lines-tasks-subtasks'],
23217
+ operation: ['PublicServiceLineSubtaskController_patch'],
23218
+ },
23219
+ },
23220
+ routing: {
23221
+ send: {
23222
+ type: 'body',
23223
+ property: 'name',
23224
+ },
23225
+ },
23226
+ },
23227
+ {
23228
+ displayName: 'Description',
23229
+ name: 'description',
23230
+ type: 'string',
23231
+ default: '',
23232
+ description: 'Detailed description',
23233
+ required: false,
23234
+ displayOptions: {
23235
+ show: {
23236
+ resource: ['service-plans-lines-tasks-subtasks'],
23237
+ operation: ['PublicServiceLineSubtaskController_patch'],
23238
+ },
23239
+ },
23240
+ routing: {
23241
+ send: {
23242
+ type: 'body',
23243
+ property: 'description',
23244
+ },
23245
+ },
23246
+ },
23247
+ {
23248
+ displayName: 'Mandatory',
23249
+ name: 'mandatory',
23250
+ type: 'boolean',
23251
+ default: false,
23252
+ description: '',
23253
+ required: false,
23254
+ displayOptions: {
23255
+ show: {
23256
+ resource: ['service-plans-lines-tasks-subtasks'],
23257
+ operation: ['PublicServiceLineSubtaskController_patch'],
23258
+ },
23259
+ },
23260
+ routing: {
23261
+ send: {
23262
+ type: 'body',
23263
+ property: 'mandatory',
23264
+ },
23265
+ },
23266
+ },
23267
+ {
23268
+ displayName: 'Signature Enabled',
23269
+ name: 'signatureEnabled',
23270
+ type: 'boolean',
23271
+ default: false,
23272
+ description: '',
23273
+ required: false,
23274
+ displayOptions: {
23275
+ show: {
23276
+ resource: ['service-plans-lines-tasks-subtasks'],
23277
+ operation: ['PublicServiceLineSubtaskController_patch'],
23278
+ },
23279
+ },
23280
+ routing: {
23281
+ send: {
23282
+ type: 'body',
23283
+ property: 'signatureEnabled',
23284
+ },
23285
+ },
23286
+ },
23287
+ {
23288
+ displayName: 'Comment Enabled',
23289
+ name: 'commentEnabled',
23290
+ type: 'boolean',
23291
+ default: false,
23292
+ description: '',
23293
+ required: false,
23294
+ displayOptions: {
23295
+ show: {
23296
+ resource: ['service-plans-lines-tasks-subtasks'],
23297
+ operation: ['PublicServiceLineSubtaskController_patch'],
23298
+ },
23299
+ },
23300
+ routing: {
23301
+ send: {
23302
+ type: 'body',
23303
+ property: 'commentEnabled',
23304
+ },
23305
+ },
23306
+ },
23307
+ {
23308
+ displayName: 'Before Photo Enabled',
23309
+ name: 'beforePhotoEnabled',
23310
+ type: 'boolean',
23311
+ default: false,
23312
+ description: '',
23313
+ required: false,
23314
+ displayOptions: {
23315
+ show: {
23316
+ resource: ['service-plans-lines-tasks-subtasks'],
23317
+ operation: ['PublicServiceLineSubtaskController_patch'],
23318
+ },
23319
+ },
23320
+ routing: {
23321
+ send: {
23322
+ type: 'body',
23323
+ property: 'beforePhotoEnabled',
23324
+ },
23325
+ },
23326
+ },
23327
+ {
23328
+ displayName: 'During Photo Enabled',
23329
+ name: 'duringPhotoEnabled',
23330
+ type: 'boolean',
23331
+ default: false,
23332
+ description: '',
23333
+ required: false,
23334
+ displayOptions: {
23335
+ show: {
23336
+ resource: ['service-plans-lines-tasks-subtasks'],
23337
+ operation: ['PublicServiceLineSubtaskController_patch'],
23338
+ },
23339
+ },
23340
+ routing: {
23341
+ send: {
23342
+ type: 'body',
23343
+ property: 'duringPhotoEnabled',
23344
+ },
23345
+ },
23346
+ },
23347
+ {
23348
+ displayName: 'After Photo Enabled',
23349
+ name: 'afterPhotoEnabled',
23350
+ type: 'boolean',
23351
+ default: false,
23352
+ description: '',
23353
+ required: false,
23354
+ displayOptions: {
23355
+ show: {
23356
+ resource: ['service-plans-lines-tasks-subtasks'],
23357
+ operation: ['PublicServiceLineSubtaskController_patch'],
23358
+ },
23359
+ },
23360
+ routing: {
23361
+ send: {
23362
+ type: 'body',
23363
+ property: 'afterPhotoEnabled',
23364
+ },
23365
+ },
23366
+ },
23367
+ {
23368
+ displayName: 'File Enabled',
23369
+ name: 'fileEnabled',
23370
+ type: 'boolean',
23371
+ default: false,
23372
+ description: '',
23373
+ required: false,
23374
+ displayOptions: {
23375
+ show: {
23376
+ resource: ['service-plans-lines-tasks-subtasks'],
23377
+ operation: ['PublicServiceLineSubtaskController_patch'],
23378
+ },
23379
+ },
23380
+ routing: {
23381
+ send: {
23382
+ type: 'body',
23383
+ property: 'fileEnabled',
23384
+ },
23385
+ },
23386
+ },
23387
+ {
23388
+ displayName: 'File Template Id',
23389
+ name: 'fileTemplateId',
23390
+ type: 'string',
23391
+ default: '',
23392
+ description: 'file template ID',
23393
+ required: false,
23394
+ displayOptions: {
23395
+ show: {
23396
+ resource: ['service-plans-lines-tasks-subtasks'],
23397
+ operation: ['PublicServiceLineSubtaskController_patch'],
23398
+ },
23399
+ },
23400
+ routing: {
23401
+ send: {
23402
+ type: 'body',
23403
+ property: 'fileTemplateId',
23404
+ },
23405
+ },
23406
+ },
23407
+ {
23408
+ displayName: 'Form Enabled',
23409
+ name: 'formEnabled',
23410
+ type: 'boolean',
23411
+ default: false,
23412
+ description: '',
23413
+ required: false,
23414
+ displayOptions: {
23415
+ show: {
23416
+ resource: ['service-plans-lines-tasks-subtasks'],
23417
+ operation: ['PublicServiceLineSubtaskController_patch'],
23418
+ },
23419
+ },
23420
+ routing: {
23421
+ send: {
23422
+ type: 'body',
23423
+ property: 'formEnabled',
23424
+ },
23425
+ },
23426
+ },
23427
+ {
23428
+ displayName: 'Form Template Id',
23429
+ name: 'formTemplateId',
23430
+ type: 'string',
23431
+ default: '',
23432
+ description: 'form template ID',
23433
+ required: false,
23434
+ displayOptions: {
23435
+ show: {
23436
+ resource: ['service-plans-lines-tasks-subtasks'],
23437
+ operation: ['PublicServiceLineSubtaskController_patch'],
23438
+ },
23439
+ },
23440
+ routing: {
23441
+ send: {
23442
+ type: 'body',
23443
+ property: 'formTemplateId',
23444
+ },
23445
+ },
23446
+ },
21142
23447
  // Mcp Operations
21143
23448
  {
21144
23449
  displayName: 'Operation',