@rippling/rippling-sdk 0.2.0-alpha.53 → 0.2.0-alpha.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/client.d.mts +24 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +24 -0
  4. package/client.d.ts.map +1 -1
  5. package/client.js +24 -0
  6. package/client.js.map +1 -1
  7. package/client.mjs +24 -0
  8. package/client.mjs.map +1 -1
  9. package/examples/functions/durable.ts +6 -6
  10. package/examples/manifest/custom-object-creation-workflow/custom-object-creation-workflow.ts +85 -0
  11. package/lib/manifest/index.d.mts +1 -0
  12. package/lib/manifest/index.d.mts.map +1 -1
  13. package/lib/manifest/index.d.ts +1 -0
  14. package/lib/manifest/index.d.ts.map +1 -1
  15. package/lib/manifest/index.js +3 -1
  16. package/lib/manifest/index.js.map +1 -1
  17. package/lib/manifest/index.mjs +1 -0
  18. package/lib/manifest/index.mjs.map +1 -1
  19. package/lib/manifest/manifest-builder.d.mts +1 -1
  20. package/lib/manifest/manifest-builder.d.mts.map +1 -1
  21. package/lib/manifest/manifest-builder.d.ts +1 -1
  22. package/lib/manifest/manifest-builder.d.ts.map +1 -1
  23. package/lib/manifest/manifest-builder.js.map +1 -1
  24. package/lib/manifest/manifest-builder.mjs.map +1 -1
  25. package/lib/manifest/workflow.d.mts +155 -0
  26. package/lib/manifest/workflow.d.mts.map +1 -0
  27. package/lib/manifest/workflow.d.ts +155 -0
  28. package/lib/manifest/workflow.d.ts.map +1 -0
  29. package/lib/manifest/workflow.js +51 -0
  30. package/lib/manifest/workflow.js.map +1 -0
  31. package/lib/manifest/workflow.mjs +47 -0
  32. package/lib/manifest/workflow.mjs.map +1 -0
  33. package/package.json +1 -1
  34. package/resources/break-types.d.mts +85 -0
  35. package/resources/break-types.d.mts.map +1 -0
  36. package/resources/break-types.d.ts +85 -0
  37. package/resources/break-types.d.ts.map +1 -0
  38. package/resources/break-types.js +32 -0
  39. package/resources/break-types.js.map +1 -0
  40. package/resources/break-types.mjs +28 -0
  41. package/resources/break-types.mjs.map +1 -0
  42. package/resources/earnings-inputs.d.mts +33 -0
  43. package/resources/earnings-inputs.d.mts.map +1 -1
  44. package/resources/earnings-inputs.d.ts +33 -0
  45. package/resources/earnings-inputs.d.ts.map +1 -1
  46. package/resources/index.d.mts +4 -0
  47. package/resources/index.d.mts.map +1 -1
  48. package/resources/index.d.ts +4 -0
  49. package/resources/index.d.ts.map +1 -1
  50. package/resources/index.js +10 -2
  51. package/resources/index.js.map +1 -1
  52. package/resources/index.mjs +4 -0
  53. package/resources/index.mjs.map +1 -1
  54. package/resources/scheduled-job-assignments.d.mts +156 -0
  55. package/resources/scheduled-job-assignments.d.mts.map +1 -0
  56. package/resources/scheduled-job-assignments.d.ts +156 -0
  57. package/resources/scheduled-job-assignments.d.ts.map +1 -0
  58. package/resources/scheduled-job-assignments.js +39 -0
  59. package/resources/scheduled-job-assignments.js.map +1 -0
  60. package/resources/scheduled-job-assignments.mjs +35 -0
  61. package/resources/scheduled-job-assignments.mjs.map +1 -0
  62. package/resources/software-deployments.d.mts +468 -0
  63. package/resources/software-deployments.d.mts.map +1 -0
  64. package/resources/software-deployments.d.ts +468 -0
  65. package/resources/software-deployments.d.ts.map +1 -0
  66. package/resources/software-deployments.js +56 -0
  67. package/resources/software-deployments.js.map +1 -0
  68. package/resources/software-deployments.mjs +52 -0
  69. package/resources/software-deployments.mjs.map +1 -0
  70. package/resources/worker-time-splits.d.mts +371 -0
  71. package/resources/worker-time-splits.d.mts.map +1 -0
  72. package/resources/worker-time-splits.d.ts +371 -0
  73. package/resources/worker-time-splits.d.ts.map +1 -0
  74. package/resources/worker-time-splits.js +56 -0
  75. package/resources/worker-time-splits.js.map +1 -0
  76. package/resources/worker-time-splits.mjs +52 -0
  77. package/resources/worker-time-splits.mjs.map +1 -0
  78. package/resources/workers.d.mts +1 -1
  79. package/resources/workers.d.ts +1 -1
  80. package/resources/workers.js +1 -1
  81. package/resources/workers.mjs +1 -1
  82. package/resources/workflow-action-executions.d.mts +1483 -1263
  83. package/resources/workflow-action-executions.d.mts.map +1 -1
  84. package/resources/workflow-action-executions.d.ts +1483 -1263
  85. package/resources/workflow-action-executions.d.ts.map +1 -1
  86. package/src/client.ts +100 -0
  87. package/src/lib/manifest/index.ts +26 -0
  88. package/src/lib/manifest/manifest-builder.ts +2 -1
  89. package/src/lib/manifest/workflow.ts +244 -0
  90. package/src/resources/break-types.ts +120 -0
  91. package/src/resources/earnings-inputs.ts +39 -0
  92. package/src/resources/index.ts +38 -0
  93. package/src/resources/scheduled-job-assignments.ts +216 -0
  94. package/src/resources/software-deployments.ts +607 -0
  95. package/src/resources/worker-time-splits.ts +480 -0
  96. package/src/resources/workers.ts +1 -1
  97. package/src/resources/workflow-action-executions.ts +1730 -1445
  98. package/src/version.ts +1 -1
  99. package/version.d.mts +1 -1
  100. package/version.d.ts +1 -1
  101. package/version.js +1 -1
  102. package/version.mjs +1 -1
  103. package/examples/manifest/dental-practice-management/manifest.json +0 -1912
  104. package/examples/manifest/gym-membership-management/manifest.json +0 -1991
  105. package/examples/manifest/simple-todo-app/manifest.json +0 -429
@@ -1,1991 +0,0 @@
1
- {
2
- "metadata": {
3
- "key": "gym_membership_management",
4
- "name": "Gym Membership Management",
5
- "description": "Members, trainers, class schedules and assignments, roster rollups, and SDUI for today’s classes and check-in"
6
- },
7
- "components": [
8
- {
9
- "type": "CUSTOM_CATEGORY",
10
- "api_name": "gym__c",
11
- "name": "Gym",
12
- "description": "Memberships, staff, schedules, and attendance"
13
- },
14
- {
15
- "type": "CUSTOM_OBJECT",
16
- "api_name": "gym_member__c",
17
- "name": "Member",
18
- "description": "Gym member profile, contact, and membership status",
19
- "category_api_name": "gym__c",
20
- "icon": {
21
- "emoji": "🏋️"
22
- },
23
- "plural_label": "Members"
24
- },
25
- {
26
- "type": "CUSTOM_OBJECT_FIELD",
27
- "custom_object_api_name": "gym_member__c",
28
- "field_api_name": "id",
29
- "field_display_name": "ID",
30
- "data_type": {
31
- "options_list": [],
32
- "supported_types": [],
33
- "field_type": "TEXT"
34
- },
35
- "description": "The Rippling ID of a record",
36
- "is_required": true,
37
- "is_unique": true,
38
- "is_indexed": null,
39
- "rql_formula": null,
40
- "formula_attr_metas": null,
41
- "is_standard": true,
42
- "derived_aggregated_field": null,
43
- "derived_field_formula": null,
44
- "section": null
45
- },
46
- {
47
- "type": "CUSTOM_OBJECT_FIELD",
48
- "custom_object_api_name": "gym_member__c",
49
- "field_api_name": "created_at",
50
- "field_display_name": "Created Date",
51
- "data_type": {
52
- "options_list": [],
53
- "supported_types": [],
54
- "field_type": "DATETIME"
55
- },
56
- "description": "The date and time a record was created",
57
- "is_required": false,
58
- "is_unique": false,
59
- "is_indexed": null,
60
- "rql_formula": null,
61
- "formula_attr_metas": null,
62
- "is_standard": true,
63
- "derived_aggregated_field": null,
64
- "derived_field_formula": null,
65
- "section": null
66
- },
67
- {
68
- "type": "CUSTOM_OBJECT_FIELD",
69
- "custom_object_api_name": "gym_member__c",
70
- "field_api_name": "updated_at",
71
- "field_display_name": "Last Modified Date",
72
- "data_type": {
73
- "options_list": [],
74
- "supported_types": [],
75
- "field_type": "DATETIME"
76
- },
77
- "description": "The date and time a record was last updated",
78
- "is_required": false,
79
- "is_unique": false,
80
- "is_indexed": null,
81
- "rql_formula": null,
82
- "formula_attr_metas": null,
83
- "is_standard": true,
84
- "derived_aggregated_field": null,
85
- "derived_field_formula": null,
86
- "section": null
87
- },
88
- {
89
- "type": "CUSTOM_OBJECT_FIELD",
90
- "custom_object_api_name": "gym_member__c",
91
- "field_api_name": "system_updated_at",
92
- "field_display_name": "System Modified At",
93
- "data_type": {
94
- "options_list": [],
95
- "supported_types": [],
96
- "field_type": "DATETIME"
97
- },
98
- "description": "The date and time a record was last updated by the system",
99
- "is_required": false,
100
- "is_unique": false,
101
- "is_indexed": null,
102
- "rql_formula": null,
103
- "formula_attr_metas": null,
104
- "is_standard": true,
105
- "derived_aggregated_field": null,
106
- "derived_field_formula": null,
107
- "section": null
108
- },
109
- {
110
- "type": "CUSTOM_OBJECT_FIELD",
111
- "custom_object_api_name": "gym_member__c",
112
- "field_api_name": "external_id",
113
- "field_display_name": "External ID",
114
- "data_type": {
115
- "options_list": [],
116
- "supported_types": [],
117
- "field_type": "TEXT"
118
- },
119
- "description": "The external identifier for a record used in third party integrations",
120
- "is_required": false,
121
- "is_unique": true,
122
- "is_indexed": null,
123
- "rql_formula": null,
124
- "formula_attr_metas": null,
125
- "is_standard": true,
126
- "derived_aggregated_field": null,
127
- "derived_field_formula": null,
128
- "section": null
129
- },
130
- {
131
- "type": "CUSTOM_OBJECT_FIELD",
132
- "custom_object_api_name": "gym_member__c",
133
- "field_api_name": "name",
134
- "field_display_name": "Name",
135
- "data_type": {
136
- "options_list": [],
137
- "supported_types": [],
138
- "field_type": "TEXT"
139
- },
140
- "description": "A string used to describe a record. This is used for display purposes as well as search",
141
- "is_required": true,
142
- "is_unique": false,
143
- "is_indexed": null,
144
- "rql_formula": null,
145
- "formula_attr_metas": null,
146
- "is_standard": true,
147
- "derived_aggregated_field": null,
148
- "derived_field_formula": null,
149
- "section": null
150
- },
151
- {
152
- "type": "CUSTOM_OBJECT_FIELD",
153
- "custom_object_api_name": "gym_member__c",
154
- "field_api_name": "owner_role",
155
- "field_display_name": "Owner",
156
- "data_type": {
157
- "options_list": [],
158
- "supported_types": [],
159
- "field_type": "NATIVE_EDGE",
160
- "og_model_rql_name": "Employee",
161
- "db_model_name": "RoleWithCompany",
162
- "reference_column_storage_type": "STRING"
163
- },
164
- "description": "The Employee responsible for the record. This is used by Permissions to determine who has ability to view, edit, and delete data",
165
- "is_required": false,
166
- "is_unique": false,
167
- "is_indexed": null,
168
- "rql_formula": null,
169
- "formula_attr_metas": null,
170
- "is_standard": true,
171
- "derived_aggregated_field": null,
172
- "derived_field_formula": null,
173
- "section": null
174
- },
175
- {
176
- "type": "CUSTOM_OBJECT_FIELD",
177
- "custom_object_api_name": "gym_member__c",
178
- "field_api_name": "last_modified_by",
179
- "field_display_name": "Last Modified by",
180
- "data_type": {
181
- "options_list": [],
182
- "supported_types": [],
183
- "field_type": "NATIVE_EDGE",
184
- "og_model_rql_name": "Employee",
185
- "db_model_name": "RoleWithCompany",
186
- "reference_column_storage_type": "STRING"
187
- },
188
- "description": "The Employee who made the latest change.",
189
- "is_required": false,
190
- "is_unique": false,
191
- "is_indexed": null,
192
- "rql_formula": null,
193
- "formula_attr_metas": null,
194
- "is_standard": true,
195
- "derived_aggregated_field": null,
196
- "derived_field_formula": null,
197
- "section": null
198
- },
199
- {
200
- "type": "CUSTOM_OBJECT_FIELD",
201
- "custom_object_api_name": "gym_member__c",
202
- "field_api_name": "created_by",
203
- "field_display_name": "Created by",
204
- "data_type": {
205
- "options_list": [],
206
- "supported_types": [],
207
- "field_type": "NATIVE_EDGE",
208
- "og_model_rql_name": "Employee",
209
- "db_model_name": "RoleWithCompany",
210
- "reference_column_storage_type": "STRING"
211
- },
212
- "description": "The Employee who created the record",
213
- "is_required": false,
214
- "is_unique": false,
215
- "is_indexed": null,
216
- "rql_formula": null,
217
- "formula_attr_metas": null,
218
- "is_standard": true,
219
- "derived_aggregated_field": null,
220
- "derived_field_formula": null,
221
- "section": null
222
- },
223
- {
224
- "type": "CUSTOM_OBJECT_FIELD_SECTION",
225
- "section_id": "sec_gm_profile",
226
- "model_name": "gym_member__c",
227
- "name": "Profile"
228
- },
229
- {
230
- "type": "CUSTOM_OBJECT_FIELD_SECTION",
231
- "section_id": "sec_gm_membership",
232
- "model_name": "gym_member__c",
233
- "name": "Membership"
234
- },
235
- {
236
- "type": "CUSTOM_OBJECT_FIELD",
237
- "custom_object_api_name": "gym_member__c",
238
- "field_api_name": "first_name__c",
239
- "field_display_name": "First name",
240
- "data_type": {
241
- "options_list": [],
242
- "supported_types": [],
243
- "field_type": "TEXT",
244
- "max_length": 80
245
- },
246
- "description": null,
247
- "is_required": true,
248
- "is_unique": null,
249
- "is_indexed": null,
250
- "rql_formula": null,
251
- "formula_attr_metas": null,
252
- "is_standard": false,
253
- "derived_aggregated_field": null,
254
- "derived_field_formula": null,
255
- "section": "sec_gm_profile"
256
- },
257
- {
258
- "type": "CUSTOM_OBJECT_FIELD",
259
- "custom_object_api_name": "gym_member__c",
260
- "field_api_name": "last_name__c",
261
- "field_display_name": "Last name",
262
- "data_type": {
263
- "options_list": [],
264
- "supported_types": [],
265
- "field_type": "TEXT",
266
- "max_length": 80
267
- },
268
- "description": null,
269
- "is_required": true,
270
- "is_unique": null,
271
- "is_indexed": null,
272
- "rql_formula": null,
273
- "formula_attr_metas": null,
274
- "is_standard": false,
275
- "derived_aggregated_field": null,
276
- "derived_field_formula": null,
277
- "section": "sec_gm_profile"
278
- },
279
- {
280
- "type": "CUSTOM_OBJECT_FIELD",
281
- "custom_object_api_name": "gym_member__c",
282
- "field_api_name": "email__c",
283
- "field_display_name": "Email",
284
- "data_type": {
285
- "options_list": [],
286
- "supported_types": [],
287
- "field_type": "EMAIL"
288
- },
289
- "description": null,
290
- "is_required": null,
291
- "is_unique": true,
292
- "is_indexed": null,
293
- "rql_formula": null,
294
- "formula_attr_metas": null,
295
- "is_standard": false,
296
- "derived_aggregated_field": null,
297
- "derived_field_formula": null,
298
- "section": "sec_gm_profile"
299
- },
300
- {
301
- "type": "CUSTOM_OBJECT_FIELD",
302
- "custom_object_api_name": "gym_member__c",
303
- "field_api_name": "phone__c",
304
- "field_display_name": "Phone",
305
- "data_type": {
306
- "options_list": [],
307
- "supported_types": [],
308
- "field_type": "PHONE_NUMBER"
309
- },
310
- "description": null,
311
- "is_required": null,
312
- "is_unique": null,
313
- "is_indexed": null,
314
- "rql_formula": null,
315
- "formula_attr_metas": null,
316
- "is_standard": false,
317
- "derived_aggregated_field": null,
318
- "derived_field_formula": null,
319
- "section": "sec_gm_profile"
320
- },
321
- {
322
- "type": "CUSTOM_OBJECT_FIELD",
323
- "custom_object_api_name": "gym_member__c",
324
- "field_api_name": "membership_status__c",
325
- "field_display_name": "Membership status",
326
- "data_type": {
327
- "options_list": ["Active", "Frozen", "Cancelled", "Trial"],
328
- "supported_types": [],
329
- "field_type": "SELECT"
330
- },
331
- "description": null,
332
- "is_required": true,
333
- "is_unique": null,
334
- "is_indexed": null,
335
- "rql_formula": null,
336
- "formula_attr_metas": null,
337
- "is_standard": false,
338
- "derived_aggregated_field": null,
339
- "derived_field_formula": null,
340
- "section": "sec_gm_membership"
341
- },
342
- {
343
- "type": "CUSTOM_OBJECT_FIELD",
344
- "custom_object_api_name": "gym_member__c",
345
- "field_api_name": "join_date__c",
346
- "field_display_name": "Join date",
347
- "data_type": {
348
- "options_list": [],
349
- "supported_types": [],
350
- "field_type": "DATE"
351
- },
352
- "description": null,
353
- "is_required": null,
354
- "is_unique": null,
355
- "is_indexed": null,
356
- "rql_formula": null,
357
- "formula_attr_metas": null,
358
- "is_standard": false,
359
- "derived_aggregated_field": null,
360
- "derived_field_formula": null,
361
- "section": "sec_gm_membership"
362
- },
363
- {
364
- "type": "CUSTOM_OBJECT_FIELD",
365
- "custom_object_api_name": "gym_member__c",
366
- "field_api_name": "emergency_contact__c",
367
- "field_display_name": "Emergency contact",
368
- "data_type": {
369
- "options_list": [],
370
- "supported_types": [],
371
- "field_type": "LONG_TEXT",
372
- "max_length": 2000
373
- },
374
- "description": "Name and phone for emergencies",
375
- "is_required": null,
376
- "is_unique": null,
377
- "is_indexed": null,
378
- "rql_formula": null,
379
- "formula_attr_metas": null,
380
- "is_standard": false,
381
- "derived_aggregated_field": null,
382
- "derived_field_formula": null,
383
- "section": "sec_gm_membership"
384
- },
385
- {
386
- "type": "CUSTOM_OBJECT_FIELD",
387
- "custom_object_api_name": "gym_member__c",
388
- "field_api_name": "member_display_name__c",
389
- "field_display_name": "Display name",
390
- "data_type": {
391
- "options_list": [],
392
- "supported_types": [],
393
- "field_type": "TEXT",
394
- "max_length": 200
395
- },
396
- "description": null,
397
- "is_required": null,
398
- "is_unique": null,
399
- "is_indexed": null,
400
- "rql_formula": null,
401
- "formula_attr_metas": null,
402
- "is_standard": false,
403
- "derived_aggregated_field": null,
404
- "derived_field_formula": "CONCATENATE(TRIM(first_name__c), ' ', TRIM(last_name__c))",
405
- "section": "sec_gm_profile"
406
- },
407
- {
408
- "type": "CUSTOM_OBJECT",
409
- "api_name": "gym_trainer__c",
410
- "name": "Trainer",
411
- "description": "Instructors and coaches who lead scheduled classes",
412
- "category_api_name": "gym__c",
413
- "icon": {
414
- "emoji": "🎯"
415
- },
416
- "plural_label": "Trainers"
417
- },
418
- {
419
- "type": "CUSTOM_OBJECT_FIELD",
420
- "custom_object_api_name": "gym_trainer__c",
421
- "field_api_name": "id",
422
- "field_display_name": "ID",
423
- "data_type": {
424
- "options_list": [],
425
- "supported_types": [],
426
- "field_type": "TEXT"
427
- },
428
- "description": "The Rippling ID of a record",
429
- "is_required": true,
430
- "is_unique": true,
431
- "is_indexed": null,
432
- "rql_formula": null,
433
- "formula_attr_metas": null,
434
- "is_standard": true,
435
- "derived_aggregated_field": null,
436
- "derived_field_formula": null,
437
- "section": null
438
- },
439
- {
440
- "type": "CUSTOM_OBJECT_FIELD",
441
- "custom_object_api_name": "gym_trainer__c",
442
- "field_api_name": "created_at",
443
- "field_display_name": "Created Date",
444
- "data_type": {
445
- "options_list": [],
446
- "supported_types": [],
447
- "field_type": "DATETIME"
448
- },
449
- "description": "The date and time a record was created",
450
- "is_required": false,
451
- "is_unique": false,
452
- "is_indexed": null,
453
- "rql_formula": null,
454
- "formula_attr_metas": null,
455
- "is_standard": true,
456
- "derived_aggregated_field": null,
457
- "derived_field_formula": null,
458
- "section": null
459
- },
460
- {
461
- "type": "CUSTOM_OBJECT_FIELD",
462
- "custom_object_api_name": "gym_trainer__c",
463
- "field_api_name": "updated_at",
464
- "field_display_name": "Last Modified Date",
465
- "data_type": {
466
- "options_list": [],
467
- "supported_types": [],
468
- "field_type": "DATETIME"
469
- },
470
- "description": "The date and time a record was last updated",
471
- "is_required": false,
472
- "is_unique": false,
473
- "is_indexed": null,
474
- "rql_formula": null,
475
- "formula_attr_metas": null,
476
- "is_standard": true,
477
- "derived_aggregated_field": null,
478
- "derived_field_formula": null,
479
- "section": null
480
- },
481
- {
482
- "type": "CUSTOM_OBJECT_FIELD",
483
- "custom_object_api_name": "gym_trainer__c",
484
- "field_api_name": "system_updated_at",
485
- "field_display_name": "System Modified At",
486
- "data_type": {
487
- "options_list": [],
488
- "supported_types": [],
489
- "field_type": "DATETIME"
490
- },
491
- "description": "The date and time a record was last updated by the system",
492
- "is_required": false,
493
- "is_unique": false,
494
- "is_indexed": null,
495
- "rql_formula": null,
496
- "formula_attr_metas": null,
497
- "is_standard": true,
498
- "derived_aggregated_field": null,
499
- "derived_field_formula": null,
500
- "section": null
501
- },
502
- {
503
- "type": "CUSTOM_OBJECT_FIELD",
504
- "custom_object_api_name": "gym_trainer__c",
505
- "field_api_name": "external_id",
506
- "field_display_name": "External ID",
507
- "data_type": {
508
- "options_list": [],
509
- "supported_types": [],
510
- "field_type": "TEXT"
511
- },
512
- "description": "The external identifier for a record used in third party integrations",
513
- "is_required": false,
514
- "is_unique": true,
515
- "is_indexed": null,
516
- "rql_formula": null,
517
- "formula_attr_metas": null,
518
- "is_standard": true,
519
- "derived_aggregated_field": null,
520
- "derived_field_formula": null,
521
- "section": null
522
- },
523
- {
524
- "type": "CUSTOM_OBJECT_FIELD",
525
- "custom_object_api_name": "gym_trainer__c",
526
- "field_api_name": "name",
527
- "field_display_name": "Name",
528
- "data_type": {
529
- "options_list": [],
530
- "supported_types": [],
531
- "field_type": "TEXT"
532
- },
533
- "description": "A string used to describe a record. This is used for display purposes as well as search",
534
- "is_required": true,
535
- "is_unique": false,
536
- "is_indexed": null,
537
- "rql_formula": null,
538
- "formula_attr_metas": null,
539
- "is_standard": true,
540
- "derived_aggregated_field": null,
541
- "derived_field_formula": null,
542
- "section": null
543
- },
544
- {
545
- "type": "CUSTOM_OBJECT_FIELD",
546
- "custom_object_api_name": "gym_trainer__c",
547
- "field_api_name": "owner_role",
548
- "field_display_name": "Owner",
549
- "data_type": {
550
- "options_list": [],
551
- "supported_types": [],
552
- "field_type": "NATIVE_EDGE",
553
- "og_model_rql_name": "Employee",
554
- "db_model_name": "RoleWithCompany",
555
- "reference_column_storage_type": "STRING"
556
- },
557
- "description": "The Employee responsible for the record. This is used by Permissions to determine who has ability to view, edit, and delete data",
558
- "is_required": false,
559
- "is_unique": false,
560
- "is_indexed": null,
561
- "rql_formula": null,
562
- "formula_attr_metas": null,
563
- "is_standard": true,
564
- "derived_aggregated_field": null,
565
- "derived_field_formula": null,
566
- "section": null
567
- },
568
- {
569
- "type": "CUSTOM_OBJECT_FIELD",
570
- "custom_object_api_name": "gym_trainer__c",
571
- "field_api_name": "last_modified_by",
572
- "field_display_name": "Last Modified by",
573
- "data_type": {
574
- "options_list": [],
575
- "supported_types": [],
576
- "field_type": "NATIVE_EDGE",
577
- "og_model_rql_name": "Employee",
578
- "db_model_name": "RoleWithCompany",
579
- "reference_column_storage_type": "STRING"
580
- },
581
- "description": "The Employee who made the latest change.",
582
- "is_required": false,
583
- "is_unique": false,
584
- "is_indexed": null,
585
- "rql_formula": null,
586
- "formula_attr_metas": null,
587
- "is_standard": true,
588
- "derived_aggregated_field": null,
589
- "derived_field_formula": null,
590
- "section": null
591
- },
592
- {
593
- "type": "CUSTOM_OBJECT_FIELD",
594
- "custom_object_api_name": "gym_trainer__c",
595
- "field_api_name": "created_by",
596
- "field_display_name": "Created by",
597
- "data_type": {
598
- "options_list": [],
599
- "supported_types": [],
600
- "field_type": "NATIVE_EDGE",
601
- "og_model_rql_name": "Employee",
602
- "db_model_name": "RoleWithCompany",
603
- "reference_column_storage_type": "STRING"
604
- },
605
- "description": "The Employee who created the record",
606
- "is_required": false,
607
- "is_unique": false,
608
- "is_indexed": null,
609
- "rql_formula": null,
610
- "formula_attr_metas": null,
611
- "is_standard": true,
612
- "derived_aggregated_field": null,
613
- "derived_field_formula": null,
614
- "section": null
615
- },
616
- {
617
- "type": "CUSTOM_OBJECT_FIELD_SECTION",
618
- "section_id": "sec_tr_profile",
619
- "model_name": "gym_trainer__c",
620
- "name": "Trainer"
621
- },
622
- {
623
- "type": "CUSTOM_OBJECT_FIELD",
624
- "custom_object_api_name": "gym_trainer__c",
625
- "field_api_name": "full_name__c",
626
- "field_display_name": "Full name",
627
- "data_type": {
628
- "options_list": [],
629
- "supported_types": [],
630
- "field_type": "TEXT",
631
- "max_length": 160
632
- },
633
- "description": null,
634
- "is_required": true,
635
- "is_unique": null,
636
- "is_indexed": null,
637
- "rql_formula": null,
638
- "formula_attr_metas": null,
639
- "is_standard": false,
640
- "derived_aggregated_field": null,
641
- "derived_field_formula": null,
642
- "section": "sec_tr_profile"
643
- },
644
- {
645
- "type": "CUSTOM_OBJECT_FIELD",
646
- "custom_object_api_name": "gym_trainer__c",
647
- "field_api_name": "email__c",
648
- "field_display_name": "Email",
649
- "data_type": {
650
- "options_list": [],
651
- "supported_types": [],
652
- "field_type": "EMAIL"
653
- },
654
- "description": null,
655
- "is_required": null,
656
- "is_unique": null,
657
- "is_indexed": null,
658
- "rql_formula": null,
659
- "formula_attr_metas": null,
660
- "is_standard": false,
661
- "derived_aggregated_field": null,
662
- "derived_field_formula": null,
663
- "section": "sec_tr_profile"
664
- },
665
- {
666
- "type": "CUSTOM_OBJECT_FIELD",
667
- "custom_object_api_name": "gym_trainer__c",
668
- "field_api_name": "specialty__c",
669
- "field_display_name": "Primary specialty",
670
- "data_type": {
671
- "options_list": ["Yoga", "Spin", "HIIT", "Strength", "Pilates", "Dance", "Aquatics", "General"],
672
- "supported_types": [],
673
- "field_type": "SELECT"
674
- },
675
- "description": null,
676
- "is_required": null,
677
- "is_unique": null,
678
- "is_indexed": null,
679
- "rql_formula": null,
680
- "formula_attr_metas": null,
681
- "is_standard": false,
682
- "derived_aggregated_field": null,
683
- "derived_field_formula": null,
684
- "section": "sec_tr_profile"
685
- },
686
- {
687
- "type": "CUSTOM_OBJECT_FIELD",
688
- "custom_object_api_name": "gym_trainer__c",
689
- "field_api_name": "bio__c",
690
- "field_display_name": "Bio & certifications",
691
- "data_type": {
692
- "options_list": [],
693
- "supported_types": [],
694
- "field_type": "LONG_TEXT",
695
- "max_length": 4000
696
- },
697
- "description": null,
698
- "is_required": null,
699
- "is_unique": null,
700
- "is_indexed": null,
701
- "rql_formula": null,
702
- "formula_attr_metas": null,
703
- "is_standard": false,
704
- "derived_aggregated_field": null,
705
- "derived_field_formula": null,
706
- "section": "sec_tr_profile"
707
- },
708
- {
709
- "type": "CUSTOM_OBJECT_FIELD",
710
- "custom_object_api_name": "gym_trainer__c",
711
- "field_api_name": "trainer_label__c",
712
- "field_display_name": "List label",
713
- "data_type": {
714
- "options_list": [],
715
- "supported_types": [],
716
- "field_type": "TEXT",
717
- "max_length": 220
718
- },
719
- "description": null,
720
- "is_required": null,
721
- "is_unique": null,
722
- "is_indexed": null,
723
- "rql_formula": null,
724
- "formula_attr_metas": null,
725
- "is_standard": false,
726
- "derived_aggregated_field": null,
727
- "derived_field_formula": "CONCATENATE(full_name__c, ' · ', specialty__c)",
728
- "section": "sec_tr_profile"
729
- },
730
- {
731
- "type": "CUSTOM_OBJECT",
732
- "api_name": "gym_class_session__c",
733
- "name": "Class session",
734
- "description": "A scheduled class with assigned trainer, time, and capacity",
735
- "category_api_name": "gym__c",
736
- "icon": {
737
- "emoji": "📅"
738
- },
739
- "plural_label": "Class sessions"
740
- },
741
- {
742
- "type": "CUSTOM_OBJECT_FIELD",
743
- "custom_object_api_name": "gym_class_session__c",
744
- "field_api_name": "id",
745
- "field_display_name": "ID",
746
- "data_type": {
747
- "options_list": [],
748
- "supported_types": [],
749
- "field_type": "TEXT"
750
- },
751
- "description": "The Rippling ID of a record",
752
- "is_required": true,
753
- "is_unique": true,
754
- "is_indexed": null,
755
- "rql_formula": null,
756
- "formula_attr_metas": null,
757
- "is_standard": true,
758
- "derived_aggregated_field": null,
759
- "derived_field_formula": null,
760
- "section": null
761
- },
762
- {
763
- "type": "CUSTOM_OBJECT_FIELD",
764
- "custom_object_api_name": "gym_class_session__c",
765
- "field_api_name": "created_at",
766
- "field_display_name": "Created Date",
767
- "data_type": {
768
- "options_list": [],
769
- "supported_types": [],
770
- "field_type": "DATETIME"
771
- },
772
- "description": "The date and time a record was created",
773
- "is_required": false,
774
- "is_unique": false,
775
- "is_indexed": null,
776
- "rql_formula": null,
777
- "formula_attr_metas": null,
778
- "is_standard": true,
779
- "derived_aggregated_field": null,
780
- "derived_field_formula": null,
781
- "section": null
782
- },
783
- {
784
- "type": "CUSTOM_OBJECT_FIELD",
785
- "custom_object_api_name": "gym_class_session__c",
786
- "field_api_name": "updated_at",
787
- "field_display_name": "Last Modified Date",
788
- "data_type": {
789
- "options_list": [],
790
- "supported_types": [],
791
- "field_type": "DATETIME"
792
- },
793
- "description": "The date and time a record was last updated",
794
- "is_required": false,
795
- "is_unique": false,
796
- "is_indexed": null,
797
- "rql_formula": null,
798
- "formula_attr_metas": null,
799
- "is_standard": true,
800
- "derived_aggregated_field": null,
801
- "derived_field_formula": null,
802
- "section": null
803
- },
804
- {
805
- "type": "CUSTOM_OBJECT_FIELD",
806
- "custom_object_api_name": "gym_class_session__c",
807
- "field_api_name": "system_updated_at",
808
- "field_display_name": "System Modified At",
809
- "data_type": {
810
- "options_list": [],
811
- "supported_types": [],
812
- "field_type": "DATETIME"
813
- },
814
- "description": "The date and time a record was last updated by the system",
815
- "is_required": false,
816
- "is_unique": false,
817
- "is_indexed": null,
818
- "rql_formula": null,
819
- "formula_attr_metas": null,
820
- "is_standard": true,
821
- "derived_aggregated_field": null,
822
- "derived_field_formula": null,
823
- "section": null
824
- },
825
- {
826
- "type": "CUSTOM_OBJECT_FIELD",
827
- "custom_object_api_name": "gym_class_session__c",
828
- "field_api_name": "external_id",
829
- "field_display_name": "External ID",
830
- "data_type": {
831
- "options_list": [],
832
- "supported_types": [],
833
- "field_type": "TEXT"
834
- },
835
- "description": "The external identifier for a record used in third party integrations",
836
- "is_required": false,
837
- "is_unique": true,
838
- "is_indexed": null,
839
- "rql_formula": null,
840
- "formula_attr_metas": null,
841
- "is_standard": true,
842
- "derived_aggregated_field": null,
843
- "derived_field_formula": null,
844
- "section": null
845
- },
846
- {
847
- "type": "CUSTOM_OBJECT_FIELD",
848
- "custom_object_api_name": "gym_class_session__c",
849
- "field_api_name": "name",
850
- "field_display_name": "Name",
851
- "data_type": {
852
- "options_list": [],
853
- "supported_types": [],
854
- "field_type": "TEXT"
855
- },
856
- "description": "A string used to describe a record. This is used for display purposes as well as search",
857
- "is_required": true,
858
- "is_unique": false,
859
- "is_indexed": null,
860
- "rql_formula": null,
861
- "formula_attr_metas": null,
862
- "is_standard": true,
863
- "derived_aggregated_field": null,
864
- "derived_field_formula": null,
865
- "section": null
866
- },
867
- {
868
- "type": "CUSTOM_OBJECT_FIELD",
869
- "custom_object_api_name": "gym_class_session__c",
870
- "field_api_name": "owner_role",
871
- "field_display_name": "Owner",
872
- "data_type": {
873
- "options_list": [],
874
- "supported_types": [],
875
- "field_type": "NATIVE_EDGE",
876
- "og_model_rql_name": "Employee",
877
- "db_model_name": "RoleWithCompany",
878
- "reference_column_storage_type": "STRING"
879
- },
880
- "description": "The Employee responsible for the record. This is used by Permissions to determine who has ability to view, edit, and delete data",
881
- "is_required": false,
882
- "is_unique": false,
883
- "is_indexed": null,
884
- "rql_formula": null,
885
- "formula_attr_metas": null,
886
- "is_standard": true,
887
- "derived_aggregated_field": null,
888
- "derived_field_formula": null,
889
- "section": null
890
- },
891
- {
892
- "type": "CUSTOM_OBJECT_FIELD",
893
- "custom_object_api_name": "gym_class_session__c",
894
- "field_api_name": "last_modified_by",
895
- "field_display_name": "Last Modified by",
896
- "data_type": {
897
- "options_list": [],
898
- "supported_types": [],
899
- "field_type": "NATIVE_EDGE",
900
- "og_model_rql_name": "Employee",
901
- "db_model_name": "RoleWithCompany",
902
- "reference_column_storage_type": "STRING"
903
- },
904
- "description": "The Employee who made the latest change.",
905
- "is_required": false,
906
- "is_unique": false,
907
- "is_indexed": null,
908
- "rql_formula": null,
909
- "formula_attr_metas": null,
910
- "is_standard": true,
911
- "derived_aggregated_field": null,
912
- "derived_field_formula": null,
913
- "section": null
914
- },
915
- {
916
- "type": "CUSTOM_OBJECT_FIELD",
917
- "custom_object_api_name": "gym_class_session__c",
918
- "field_api_name": "created_by",
919
- "field_display_name": "Created by",
920
- "data_type": {
921
- "options_list": [],
922
- "supported_types": [],
923
- "field_type": "NATIVE_EDGE",
924
- "og_model_rql_name": "Employee",
925
- "db_model_name": "RoleWithCompany",
926
- "reference_column_storage_type": "STRING"
927
- },
928
- "description": "The Employee who created the record",
929
- "is_required": false,
930
- "is_unique": false,
931
- "is_indexed": null,
932
- "rql_formula": null,
933
- "formula_attr_metas": null,
934
- "is_standard": true,
935
- "derived_aggregated_field": null,
936
- "derived_field_formula": null,
937
- "section": null
938
- },
939
- {
940
- "type": "CUSTOM_OBJECT_FIELD_SECTION",
941
- "section_id": "sec_cs_schedule",
942
- "model_name": "gym_class_session__c",
943
- "name": "Schedule"
944
- },
945
- {
946
- "type": "CUSTOM_OBJECT_FIELD_SECTION",
947
- "section_id": "sec_cs_class",
948
- "model_name": "gym_class_session__c",
949
- "name": "Class & room"
950
- },
951
- {
952
- "type": "CUSTOM_OBJECT_FIELD",
953
- "custom_object_api_name": "gym_class_session__c",
954
- "field_api_name": "trainer_ref__c",
955
- "field_display_name": "Trainer",
956
- "data_type": {
957
- "options_list": [],
958
- "supported_types": [],
959
- "field_type": "OG_REFERENCE_FIELD",
960
- "og_model_rql_name": "gym_trainer__c",
961
- "edge_type": "LOOKUP",
962
- "related_data_label": "Class sessions"
963
- },
964
- "description": "Instructor leading this session",
965
- "is_required": true,
966
- "is_unique": null,
967
- "is_indexed": null,
968
- "rql_formula": null,
969
- "formula_attr_metas": null,
970
- "is_standard": false,
971
- "derived_aggregated_field": null,
972
- "derived_field_formula": null,
973
- "section": "sec_cs_schedule"
974
- },
975
- {
976
- "type": "CUSTOM_OBJECT_FIELD",
977
- "custom_object_api_name": "gym_class_session__c",
978
- "field_api_name": "start_time__c",
979
- "field_display_name": "Start",
980
- "data_type": {
981
- "options_list": [],
982
- "supported_types": [],
983
- "field_type": "DATETIME"
984
- },
985
- "description": "Session start (local)",
986
- "is_required": true,
987
- "is_unique": null,
988
- "is_indexed": null,
989
- "rql_formula": null,
990
- "formula_attr_metas": null,
991
- "is_standard": false,
992
- "derived_aggregated_field": null,
993
- "derived_field_formula": null,
994
- "section": "sec_cs_schedule"
995
- },
996
- {
997
- "type": "CUSTOM_OBJECT_FIELD",
998
- "custom_object_api_name": "gym_class_session__c",
999
- "field_api_name": "end_time__c",
1000
- "field_display_name": "End",
1001
- "data_type": {
1002
- "options_list": [],
1003
- "supported_types": [],
1004
- "field_type": "DATETIME"
1005
- },
1006
- "description": "Session end (local)",
1007
- "is_required": true,
1008
- "is_unique": null,
1009
- "is_indexed": null,
1010
- "rql_formula": null,
1011
- "formula_attr_metas": null,
1012
- "is_standard": false,
1013
- "derived_aggregated_field": null,
1014
- "derived_field_formula": null,
1015
- "section": "sec_cs_schedule"
1016
- },
1017
- {
1018
- "type": "CUSTOM_OBJECT_FIELD",
1019
- "custom_object_api_name": "gym_class_session__c",
1020
- "field_api_name": "class_type__c",
1021
- "field_display_name": "Class type",
1022
- "data_type": {
1023
- "options_list": [
1024
- "Yoga",
1025
- "Spin",
1026
- "HIIT",
1027
- "Strength",
1028
- "Pilates",
1029
- "Dance",
1030
- "Aquatics",
1031
- "Recovery / stretch",
1032
- "Other"
1033
- ],
1034
- "supported_types": [],
1035
- "field_type": "SELECT"
1036
- },
1037
- "description": null,
1038
- "is_required": true,
1039
- "is_unique": null,
1040
- "is_indexed": null,
1041
- "rql_formula": null,
1042
- "formula_attr_metas": null,
1043
- "is_standard": false,
1044
- "derived_aggregated_field": null,
1045
- "derived_field_formula": null,
1046
- "section": "sec_cs_class"
1047
- },
1048
- {
1049
- "type": "CUSTOM_OBJECT_FIELD",
1050
- "custom_object_api_name": "gym_class_session__c",
1051
- "field_api_name": "room_name__c",
1052
- "field_display_name": "Studio / room",
1053
- "data_type": {
1054
- "options_list": [],
1055
- "supported_types": [],
1056
- "field_type": "TEXT",
1057
- "max_length": 80
1058
- },
1059
- "description": "E.g. Studio A, Pool lane 2",
1060
- "is_required": null,
1061
- "is_unique": null,
1062
- "is_indexed": null,
1063
- "rql_formula": null,
1064
- "formula_attr_metas": null,
1065
- "is_standard": false,
1066
- "derived_aggregated_field": null,
1067
- "derived_field_formula": null,
1068
- "section": "sec_cs_class"
1069
- },
1070
- {
1071
- "type": "CUSTOM_OBJECT_FIELD",
1072
- "custom_object_api_name": "gym_class_session__c",
1073
- "field_api_name": "capacity__c",
1074
- "field_display_name": "Capacity",
1075
- "data_type": {
1076
- "options_list": [],
1077
- "supported_types": [],
1078
- "field_type": "NUMBER",
1079
- "num_of_decimal_places": 0
1080
- },
1081
- "description": "Maximum attendees for this session",
1082
- "is_required": null,
1083
- "is_unique": null,
1084
- "is_indexed": null,
1085
- "rql_formula": null,
1086
- "formula_attr_metas": null,
1087
- "is_standard": false,
1088
- "derived_aggregated_field": null,
1089
- "derived_field_formula": null,
1090
- "section": "sec_cs_class"
1091
- },
1092
- {
1093
- "type": "CUSTOM_OBJECT_FIELD",
1094
- "custom_object_api_name": "gym_class_session__c",
1095
- "field_api_name": "session_notes__c",
1096
- "field_display_name": "Notes",
1097
- "data_type": {
1098
- "options_list": [],
1099
- "supported_types": [],
1100
- "field_type": "LONG_TEXT",
1101
- "max_length": 4000
1102
- },
1103
- "description": null,
1104
- "is_required": null,
1105
- "is_unique": null,
1106
- "is_indexed": null,
1107
- "rql_formula": null,
1108
- "formula_attr_metas": null,
1109
- "is_standard": false,
1110
- "derived_aggregated_field": null,
1111
- "derived_field_formula": null,
1112
- "section": "sec_cs_class"
1113
- },
1114
- {
1115
- "type": "CUSTOM_OBJECT_FIELD",
1116
- "custom_object_api_name": "gym_class_session__c",
1117
- "field_api_name": "session_date__c",
1118
- "field_display_name": "Session date",
1119
- "data_type": {
1120
- "options_list": [],
1121
- "supported_types": [],
1122
- "field_type": "DATE"
1123
- },
1124
- "description": "Calendar day for filtering “today” views",
1125
- "is_required": null,
1126
- "is_unique": null,
1127
- "is_indexed": null,
1128
- "rql_formula": null,
1129
- "formula_attr_metas": null,
1130
- "is_standard": false,
1131
- "derived_aggregated_field": null,
1132
- "derived_field_formula": "DATETRUNC('DAY', start_time__c)",
1133
- "section": "sec_cs_schedule"
1134
- },
1135
- {
1136
- "type": "CUSTOM_OBJECT_FIELD",
1137
- "custom_object_api_name": "gym_class_session__c",
1138
- "field_api_name": "session_board_label__c",
1139
- "field_display_name": "Board label",
1140
- "data_type": {
1141
- "options_list": [],
1142
- "supported_types": [],
1143
- "field_type": "TEXT",
1144
- "max_length": 260
1145
- },
1146
- "description": null,
1147
- "is_required": null,
1148
- "is_unique": null,
1149
- "is_indexed": null,
1150
- "rql_formula": null,
1151
- "formula_attr_metas": null,
1152
- "is_standard": false,
1153
- "derived_aggregated_field": null,
1154
- "derived_field_formula": "CONCATENATE(class_type__c, ' · ', room_name__c)",
1155
- "section": "sec_cs_schedule"
1156
- },
1157
- {
1158
- "type": "CUSTOM_OBJECT",
1159
- "api_name": "gym_class_enrollment__c",
1160
- "name": "Class enrollment",
1161
- "description": "Member registration for a session with attendance and check-in",
1162
- "category_api_name": "gym__c",
1163
- "icon": {
1164
- "emoji": "✅"
1165
- },
1166
- "plural_label": "Class enrollments"
1167
- },
1168
- {
1169
- "type": "CUSTOM_OBJECT_FIELD",
1170
- "custom_object_api_name": "gym_class_enrollment__c",
1171
- "field_api_name": "id",
1172
- "field_display_name": "ID",
1173
- "data_type": {
1174
- "options_list": [],
1175
- "supported_types": [],
1176
- "field_type": "TEXT"
1177
- },
1178
- "description": "The Rippling ID of a record",
1179
- "is_required": true,
1180
- "is_unique": true,
1181
- "is_indexed": null,
1182
- "rql_formula": null,
1183
- "formula_attr_metas": null,
1184
- "is_standard": true,
1185
- "derived_aggregated_field": null,
1186
- "derived_field_formula": null,
1187
- "section": null
1188
- },
1189
- {
1190
- "type": "CUSTOM_OBJECT_FIELD",
1191
- "custom_object_api_name": "gym_class_enrollment__c",
1192
- "field_api_name": "created_at",
1193
- "field_display_name": "Created Date",
1194
- "data_type": {
1195
- "options_list": [],
1196
- "supported_types": [],
1197
- "field_type": "DATETIME"
1198
- },
1199
- "description": "The date and time a record was created",
1200
- "is_required": false,
1201
- "is_unique": false,
1202
- "is_indexed": null,
1203
- "rql_formula": null,
1204
- "formula_attr_metas": null,
1205
- "is_standard": true,
1206
- "derived_aggregated_field": null,
1207
- "derived_field_formula": null,
1208
- "section": null
1209
- },
1210
- {
1211
- "type": "CUSTOM_OBJECT_FIELD",
1212
- "custom_object_api_name": "gym_class_enrollment__c",
1213
- "field_api_name": "updated_at",
1214
- "field_display_name": "Last Modified Date",
1215
- "data_type": {
1216
- "options_list": [],
1217
- "supported_types": [],
1218
- "field_type": "DATETIME"
1219
- },
1220
- "description": "The date and time a record was last updated",
1221
- "is_required": false,
1222
- "is_unique": false,
1223
- "is_indexed": null,
1224
- "rql_formula": null,
1225
- "formula_attr_metas": null,
1226
- "is_standard": true,
1227
- "derived_aggregated_field": null,
1228
- "derived_field_formula": null,
1229
- "section": null
1230
- },
1231
- {
1232
- "type": "CUSTOM_OBJECT_FIELD",
1233
- "custom_object_api_name": "gym_class_enrollment__c",
1234
- "field_api_name": "system_updated_at",
1235
- "field_display_name": "System Modified At",
1236
- "data_type": {
1237
- "options_list": [],
1238
- "supported_types": [],
1239
- "field_type": "DATETIME"
1240
- },
1241
- "description": "The date and time a record was last updated by the system",
1242
- "is_required": false,
1243
- "is_unique": false,
1244
- "is_indexed": null,
1245
- "rql_formula": null,
1246
- "formula_attr_metas": null,
1247
- "is_standard": true,
1248
- "derived_aggregated_field": null,
1249
- "derived_field_formula": null,
1250
- "section": null
1251
- },
1252
- {
1253
- "type": "CUSTOM_OBJECT_FIELD",
1254
- "custom_object_api_name": "gym_class_enrollment__c",
1255
- "field_api_name": "external_id",
1256
- "field_display_name": "External ID",
1257
- "data_type": {
1258
- "options_list": [],
1259
- "supported_types": [],
1260
- "field_type": "TEXT"
1261
- },
1262
- "description": "The external identifier for a record used in third party integrations",
1263
- "is_required": false,
1264
- "is_unique": true,
1265
- "is_indexed": null,
1266
- "rql_formula": null,
1267
- "formula_attr_metas": null,
1268
- "is_standard": true,
1269
- "derived_aggregated_field": null,
1270
- "derived_field_formula": null,
1271
- "section": null
1272
- },
1273
- {
1274
- "type": "CUSTOM_OBJECT_FIELD",
1275
- "custom_object_api_name": "gym_class_enrollment__c",
1276
- "field_api_name": "name",
1277
- "field_display_name": "Name",
1278
- "data_type": {
1279
- "options_list": [],
1280
- "supported_types": [],
1281
- "field_type": "TEXT"
1282
- },
1283
- "description": "A string used to describe a record. This is used for display purposes as well as search",
1284
- "is_required": true,
1285
- "is_unique": false,
1286
- "is_indexed": null,
1287
- "rql_formula": null,
1288
- "formula_attr_metas": null,
1289
- "is_standard": true,
1290
- "derived_aggregated_field": null,
1291
- "derived_field_formula": null,
1292
- "section": null
1293
- },
1294
- {
1295
- "type": "CUSTOM_OBJECT_FIELD",
1296
- "custom_object_api_name": "gym_class_enrollment__c",
1297
- "field_api_name": "owner_role",
1298
- "field_display_name": "Owner",
1299
- "data_type": {
1300
- "options_list": [],
1301
- "supported_types": [],
1302
- "field_type": "NATIVE_EDGE",
1303
- "og_model_rql_name": "Employee",
1304
- "db_model_name": "RoleWithCompany",
1305
- "reference_column_storage_type": "STRING"
1306
- },
1307
- "description": "The Employee responsible for the record. This is used by Permissions to determine who has ability to view, edit, and delete data",
1308
- "is_required": false,
1309
- "is_unique": false,
1310
- "is_indexed": null,
1311
- "rql_formula": null,
1312
- "formula_attr_metas": null,
1313
- "is_standard": true,
1314
- "derived_aggregated_field": null,
1315
- "derived_field_formula": null,
1316
- "section": null
1317
- },
1318
- {
1319
- "type": "CUSTOM_OBJECT_FIELD",
1320
- "custom_object_api_name": "gym_class_enrollment__c",
1321
- "field_api_name": "last_modified_by",
1322
- "field_display_name": "Last Modified by",
1323
- "data_type": {
1324
- "options_list": [],
1325
- "supported_types": [],
1326
- "field_type": "NATIVE_EDGE",
1327
- "og_model_rql_name": "Employee",
1328
- "db_model_name": "RoleWithCompany",
1329
- "reference_column_storage_type": "STRING"
1330
- },
1331
- "description": "The Employee who made the latest change.",
1332
- "is_required": false,
1333
- "is_unique": false,
1334
- "is_indexed": null,
1335
- "rql_formula": null,
1336
- "formula_attr_metas": null,
1337
- "is_standard": true,
1338
- "derived_aggregated_field": null,
1339
- "derived_field_formula": null,
1340
- "section": null
1341
- },
1342
- {
1343
- "type": "CUSTOM_OBJECT_FIELD",
1344
- "custom_object_api_name": "gym_class_enrollment__c",
1345
- "field_api_name": "created_by",
1346
- "field_display_name": "Created by",
1347
- "data_type": {
1348
- "options_list": [],
1349
- "supported_types": [],
1350
- "field_type": "NATIVE_EDGE",
1351
- "og_model_rql_name": "Employee",
1352
- "db_model_name": "RoleWithCompany",
1353
- "reference_column_storage_type": "STRING"
1354
- },
1355
- "description": "The Employee who created the record",
1356
- "is_required": false,
1357
- "is_unique": false,
1358
- "is_indexed": null,
1359
- "rql_formula": null,
1360
- "formula_attr_metas": null,
1361
- "is_standard": true,
1362
- "derived_aggregated_field": null,
1363
- "derived_field_formula": null,
1364
- "section": null
1365
- },
1366
- {
1367
- "type": "CUSTOM_OBJECT_FIELD_SECTION",
1368
- "section_id": "sec_ce_link",
1369
- "model_name": "gym_class_enrollment__c",
1370
- "name": "Session & member"
1371
- },
1372
- {
1373
- "type": "CUSTOM_OBJECT_FIELD_SECTION",
1374
- "section_id": "sec_ce_att",
1375
- "model_name": "gym_class_enrollment__c",
1376
- "name": "Attendance"
1377
- },
1378
- {
1379
- "type": "CUSTOM_OBJECT_FIELD",
1380
- "custom_object_api_name": "gym_class_enrollment__c",
1381
- "field_api_name": "class_session_ref__c",
1382
- "field_display_name": "Class session",
1383
- "data_type": {
1384
- "options_list": [],
1385
- "supported_types": [],
1386
- "field_type": "OG_REFERENCE_FIELD",
1387
- "og_model_rql_name": "gym_class_session__c",
1388
- "edge_type": "PARENT_CHILD",
1389
- "related_data_label": "Enrollments",
1390
- "parent_child_type": "PRIMARY",
1391
- "enable_parent_owner_inheritance": false
1392
- },
1393
- "description": "Which scheduled class this row belongs to",
1394
- "is_required": true,
1395
- "is_unique": null,
1396
- "is_indexed": null,
1397
- "rql_formula": null,
1398
- "formula_attr_metas": null,
1399
- "is_standard": false,
1400
- "derived_aggregated_field": null,
1401
- "derived_field_formula": null,
1402
- "section": "sec_ce_link"
1403
- },
1404
- {
1405
- "type": "CUSTOM_OBJECT_FIELD",
1406
- "custom_object_api_name": "gym_class_enrollment__c",
1407
- "field_api_name": "member_ref__c",
1408
- "field_display_name": "Member",
1409
- "data_type": {
1410
- "options_list": [],
1411
- "supported_types": [],
1412
- "field_type": "OG_REFERENCE_FIELD",
1413
- "og_model_rql_name": "gym_member__c",
1414
- "edge_type": "LOOKUP",
1415
- "related_data_label": "Class enrollments"
1416
- },
1417
- "description": null,
1418
- "is_required": true,
1419
- "is_unique": null,
1420
- "is_indexed": null,
1421
- "rql_formula": null,
1422
- "formula_attr_metas": null,
1423
- "is_standard": false,
1424
- "derived_aggregated_field": null,
1425
- "derived_field_formula": null,
1426
- "section": "sec_ce_link"
1427
- },
1428
- {
1429
- "type": "CUSTOM_OBJECT_FIELD",
1430
- "custom_object_api_name": "gym_class_enrollment__c",
1431
- "field_api_name": "attendance_status__c",
1432
- "field_display_name": "Attendance",
1433
- "data_type": {
1434
- "options_list": ["Registered", "Checked in", "Late", "No-show", "Cancelled"],
1435
- "supported_types": [],
1436
- "field_type": "SELECT"
1437
- },
1438
- "description": "Front desk: set to Checked in when the member arrives",
1439
- "is_required": true,
1440
- "is_unique": null,
1441
- "is_indexed": null,
1442
- "rql_formula": null,
1443
- "formula_attr_metas": null,
1444
- "is_standard": false,
1445
- "derived_aggregated_field": null,
1446
- "derived_field_formula": null,
1447
- "section": "sec_ce_att"
1448
- },
1449
- {
1450
- "type": "CUSTOM_OBJECT_FIELD",
1451
- "custom_object_api_name": "gym_class_enrollment__c",
1452
- "field_api_name": "checked_in_at__c",
1453
- "field_display_name": "Checked in at",
1454
- "data_type": {
1455
- "options_list": [],
1456
- "supported_types": [],
1457
- "field_type": "DATETIME"
1458
- },
1459
- "description": "Timestamp when staff recorded arrival (optional)",
1460
- "is_required": null,
1461
- "is_unique": null,
1462
- "is_indexed": null,
1463
- "rql_formula": null,
1464
- "formula_attr_metas": null,
1465
- "is_standard": false,
1466
- "derived_aggregated_field": null,
1467
- "derived_field_formula": null,
1468
- "section": "sec_ce_att"
1469
- },
1470
- {
1471
- "type": "CUSTOM_OBJECT_FIELD",
1472
- "custom_object_api_name": "gym_class_enrollment__c",
1473
- "field_api_name": "enrollment_notes__c",
1474
- "field_display_name": "Notes",
1475
- "data_type": {
1476
- "options_list": [],
1477
- "supported_types": [],
1478
- "field_type": "LONG_TEXT",
1479
- "max_length": 2000
1480
- },
1481
- "description": null,
1482
- "is_required": null,
1483
- "is_unique": null,
1484
- "is_indexed": null,
1485
- "rql_formula": null,
1486
- "formula_attr_metas": null,
1487
- "is_standard": false,
1488
- "derived_aggregated_field": null,
1489
- "derived_field_formula": null,
1490
- "section": "sec_ce_att"
1491
- },
1492
- {
1493
- "type": "CUSTOM_OBJECT_FIELD",
1494
- "custom_object_api_name": "gym_class_enrollment__c",
1495
- "field_api_name": "roster_row_label__c",
1496
- "field_display_name": "Roster row label",
1497
- "data_type": {
1498
- "options_list": [],
1499
- "supported_types": [],
1500
- "field_type": "TEXT",
1501
- "max_length": 160
1502
- },
1503
- "description": null,
1504
- "is_required": null,
1505
- "is_unique": null,
1506
- "is_indexed": null,
1507
- "rql_formula": null,
1508
- "formula_attr_metas": null,
1509
- "is_standard": false,
1510
- "derived_aggregated_field": null,
1511
- "derived_field_formula": "CONCATENATE(attendance_status__c, ' · Enrollment')",
1512
- "section": "sec_ce_att"
1513
- },
1514
- {
1515
- "type": "CUSTOM_OBJECT_FIELD",
1516
- "custom_object_api_name": "gym_class_session__c",
1517
- "field_api_name": "enrollment_count__c",
1518
- "field_display_name": "Enrolled (count)",
1519
- "data_type": {
1520
- "options_list": [],
1521
- "supported_types": [],
1522
- "field_type": "NUMBER"
1523
- },
1524
- "description": "Rows on this session’s roster",
1525
- "is_required": null,
1526
- "is_unique": null,
1527
- "is_indexed": null,
1528
- "rql_formula": null,
1529
- "formula_attr_metas": null,
1530
- "is_standard": false,
1531
- "derived_aggregated_field": {
1532
- "aggregation_function": "COUNT",
1533
- "child_model_name": "gym_class_enrollment__c",
1534
- "currency_code": null,
1535
- "field_to_aggregate": "member_ref__c",
1536
- "filters": [],
1537
- "lookup_field_api_name": "class_session_ref__c"
1538
- },
1539
- "derived_field_formula": null,
1540
- "section": "sec_cs_schedule"
1541
- },
1542
- {
1543
- "type": "CUSTOM_OBJECT_VALIDATION_RULE",
1544
- "model_rql_name": "gym_class_session__c",
1545
- "rule_id": "gym_session_end_after_start",
1546
- "state": "ACTIVE",
1547
- "level": "FIELD",
1548
- "display_name": "End time must be after start",
1549
- "rule_description": "Prevents zero-length or inverted intervals",
1550
- "custom_error_message": "End time must be after the start time.",
1551
- "rql_formula": "(end_time__c <= start_time__c)",
1552
- "field_rql_name": "end_time__c"
1553
- },
1554
- {
1555
- "type": "CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW",
1556
- "model_rql_name": "gym_class_enrollment__c",
1557
- "flow_id": "gym_default_enrollment_status",
1558
- "flow_name": "Default attendance to Registered",
1559
- "trigger_type": "CREATE",
1560
- "description": "New roster rows start as Registered unless changed",
1561
- "actions": [
1562
- {
1563
- "target_field": "attendance_status__c",
1564
- "fixed_value": ["Registered"]
1565
- }
1566
- ]
1567
- },
1568
- {
1569
- "type": "CUSTOM_OBJECT_LIST_VIEW",
1570
- "object_rql_name": "gym_member__c",
1571
- "view_id": "view_gym_all_members",
1572
- "name": "All members",
1573
- "public": true,
1574
- "fields": ["member_display_name__c", "email__c", "phone__c", "membership_status__c", "join_date__c"],
1575
- "description": "Directory with membership status",
1576
- "object_scope": "all",
1577
- "sort_order": "ASC",
1578
- "order_by": "last_name__c"
1579
- },
1580
- {
1581
- "type": "CUSTOM_OBJECT_LIST_VIEW",
1582
- "object_rql_name": "gym_trainer__c",
1583
- "view_id": "view_gym_all_trainers",
1584
- "name": "All trainers",
1585
- "public": true,
1586
- "fields": ["full_name__c", "email__c", "specialty__c", "trainer_label__c"],
1587
- "description": "Staff roster with session counts",
1588
- "object_scope": "all",
1589
- "sort_order": "ASC",
1590
- "order_by": "full_name__c"
1591
- },
1592
- {
1593
- "type": "CUSTOM_OBJECT_LIST_VIEW",
1594
- "object_rql_name": "gym_class_session__c",
1595
- "view_id": "view_gym_all_sessions",
1596
- "name": "All class sessions",
1597
- "public": true,
1598
- "fields": [
1599
- "trainer_ref__c",
1600
- "start_time__c",
1601
- "end_time__c",
1602
- "class_type__c",
1603
- "room_name__c",
1604
- "capacity__c",
1605
- "enrollment_count__c",
1606
- "session_board_label__c"
1607
- ],
1608
- "description": "Chronological schedule with trainer and enrollments",
1609
- "object_scope": "all",
1610
- "sort_order": "ASC",
1611
- "order_by": "start_time__c"
1612
- },
1613
- {
1614
- "type": "CUSTOM_OBJECT_LIST_VIEW",
1615
- "object_rql_name": "gym_class_session__c",
1616
- "view_id": "view_gym_today_sessions",
1617
- "name": "Today’s class sessions",
1618
- "public": true,
1619
- "fields": [
1620
- "trainer_ref__c",
1621
- "start_time__c",
1622
- "end_time__c",
1623
- "class_type__c",
1624
- "room_name__c",
1625
- "enrollment_count__c",
1626
- "session_board_label__c",
1627
- "session_date__c"
1628
- ],
1629
- "description": "Sessions whose calendar day is today — use with Today’s schedule SDUI tab",
1630
- "object_scope": "all",
1631
- "sort_order": "ASC",
1632
- "order_by": "start_time__c",
1633
- "rql_filter": "(session_date__c == TODAY())"
1634
- },
1635
- {
1636
- "type": "CUSTOM_OBJECT_LIST_VIEW",
1637
- "object_rql_name": "gym_class_enrollment__c",
1638
- "view_id": "view_gym_all_enrollments",
1639
- "name": "All enrollments",
1640
- "public": true,
1641
- "fields": [
1642
- "class_session_ref__c",
1643
- "member_ref__c",
1644
- "attendance_status__c",
1645
- "checked_in_at__c",
1646
- "roster_row_label__c"
1647
- ],
1648
- "description": "Full roster grid",
1649
- "object_scope": "all",
1650
- "sort_order": "ASC",
1651
- "order_by": "member_ref__c"
1652
- },
1653
- {
1654
- "type": "CUSTOM_OBJECT_PAGE_LAYOUT",
1655
- "layout_id": "layout_gym_member",
1656
- "api_name": "default",
1657
- "object_rql_name": "gym_member__c",
1658
- "name": "Member",
1659
- "system_created": false,
1660
- "tab_edits": {
1661
- "tabsOrder": ["member"],
1662
- "newTabs": [
1663
- {
1664
- "key": "member",
1665
- "name": "Member",
1666
- "type": "tab_with_sections",
1667
- "sections": [
1668
- {
1669
- "name": "Profile",
1670
- "type": "fields_section",
1671
- "fields": [
1672
- {
1673
- "fieldRqlName": "first_name__c"
1674
- },
1675
- {
1676
- "fieldRqlName": "last_name__c"
1677
- },
1678
- {
1679
- "fieldRqlName": "member_display_name__c"
1680
- },
1681
- {
1682
- "fieldRqlName": "email__c"
1683
- },
1684
- {
1685
- "fieldRqlName": "phone__c"
1686
- }
1687
- ],
1688
- "key": "sec_gm_profile"
1689
- },
1690
- {
1691
- "name": "Membership",
1692
- "type": "fields_section",
1693
- "fields": [
1694
- {
1695
- "fieldRqlName": "membership_status__c"
1696
- },
1697
- {
1698
- "fieldRqlName": "join_date__c"
1699
- },
1700
- {
1701
- "fieldRqlName": "emergency_contact__c"
1702
- }
1703
- ],
1704
- "key": "sec_gm_membership"
1705
- }
1706
- ]
1707
- }
1708
- ],
1709
- "systemTabEdits": {}
1710
- },
1711
- "header_edits": {
1712
- "newTitleField": "member_display_name__c"
1713
- },
1714
- "visibility_conditions": {},
1715
- "blueprint_key": "gym_member__c"
1716
- },
1717
- {
1718
- "type": "CUSTOM_OBJECT_PAGE_LAYOUT",
1719
- "layout_id": "layout_gym_trainer",
1720
- "api_name": "default",
1721
- "object_rql_name": "gym_trainer__c",
1722
- "name": "Trainer",
1723
- "system_created": false,
1724
- "tab_edits": {
1725
- "tabsOrder": ["trainer"],
1726
- "newTabs": [
1727
- {
1728
- "key": "trainer",
1729
- "name": "Trainer",
1730
- "type": "tab_with_sections",
1731
- "sections": [
1732
- {
1733
- "name": "Details",
1734
- "type": "fields_section",
1735
- "fields": [
1736
- {
1737
- "fieldRqlName": "full_name__c"
1738
- },
1739
- {
1740
- "fieldRqlName": "email__c"
1741
- },
1742
- {
1743
- "fieldRqlName": "specialty__c"
1744
- },
1745
- {
1746
- "fieldRqlName": "trainer_label__c"
1747
- },
1748
- {
1749
- "fieldRqlName": "bio__c"
1750
- }
1751
- ],
1752
- "key": "sec_tr_profile"
1753
- }
1754
- ]
1755
- }
1756
- ],
1757
- "systemTabEdits": {}
1758
- },
1759
- "header_edits": {
1760
- "newTitleField": "full_name__c"
1761
- },
1762
- "visibility_conditions": {},
1763
- "blueprint_key": "gym_trainer__c"
1764
- },
1765
- {
1766
- "type": "CUSTOM_OBJECT_PAGE_LAYOUT",
1767
- "layout_id": "layout_gym_class_session",
1768
- "api_name": "default",
1769
- "object_rql_name": "gym_class_session__c",
1770
- "name": "Class session",
1771
- "system_created": false,
1772
- "tab_edits": {
1773
- "tabsOrder": ["session"],
1774
- "newTabs": [
1775
- {
1776
- "key": "session",
1777
- "name": "Session",
1778
- "type": "tab_with_sections",
1779
- "sections": [
1780
- {
1781
- "name": "Schedule",
1782
- "type": "fields_section",
1783
- "fields": [
1784
- {
1785
- "fieldRqlName": "trainer_ref__c"
1786
- },
1787
- {
1788
- "fieldRqlName": "start_time__c"
1789
- },
1790
- {
1791
- "fieldRqlName": "end_time__c"
1792
- },
1793
- {
1794
- "fieldRqlName": "session_date__c"
1795
- },
1796
- {
1797
- "fieldRqlName": "session_board_label__c"
1798
- },
1799
- {
1800
- "fieldRqlName": "enrollment_count__c"
1801
- }
1802
- ],
1803
- "key": "sec_cs_schedule"
1804
- },
1805
- {
1806
- "name": "Class & room",
1807
- "type": "fields_section",
1808
- "fields": [
1809
- {
1810
- "fieldRqlName": "class_type__c"
1811
- },
1812
- {
1813
- "fieldRqlName": "room_name__c"
1814
- },
1815
- {
1816
- "fieldRqlName": "capacity__c"
1817
- },
1818
- {
1819
- "fieldRqlName": "session_notes__c"
1820
- }
1821
- ],
1822
- "key": "sec_cs_class"
1823
- }
1824
- ]
1825
- }
1826
- ],
1827
- "systemTabEdits": {}
1828
- },
1829
- "header_edits": {
1830
- "newTitleField": "session_board_label__c"
1831
- },
1832
- "visibility_conditions": {},
1833
- "blueprint_key": "gym_class_session__c"
1834
- },
1835
- {
1836
- "type": "CUSTOM_OBJECT_PAGE_LAYOUT",
1837
- "layout_id": "layout_gym_enrollment",
1838
- "api_name": "default",
1839
- "object_rql_name": "gym_class_enrollment__c",
1840
- "name": "Enrollment",
1841
- "system_created": false,
1842
- "tab_edits": {
1843
- "tabsOrder": ["roster"],
1844
- "newTabs": [
1845
- {
1846
- "key": "roster",
1847
- "name": "Roster",
1848
- "type": "tab_with_sections",
1849
- "sections": [
1850
- {
1851
- "name": "Session & member",
1852
- "type": "fields_section",
1853
- "fields": [
1854
- {
1855
- "fieldRqlName": "class_session_ref__c"
1856
- },
1857
- {
1858
- "fieldRqlName": "member_ref__c"
1859
- }
1860
- ],
1861
- "key": "sec_ce_link"
1862
- },
1863
- {
1864
- "name": "Attendance & check-in",
1865
- "type": "fields_section",
1866
- "fields": [
1867
- {
1868
- "fieldRqlName": "attendance_status__c"
1869
- },
1870
- {
1871
- "fieldRqlName": "checked_in_at__c"
1872
- },
1873
- {
1874
- "fieldRqlName": "roster_row_label__c"
1875
- },
1876
- {
1877
- "fieldRqlName": "enrollment_notes__c"
1878
- }
1879
- ],
1880
- "key": "sec_ce_att"
1881
- }
1882
- ]
1883
- }
1884
- ],
1885
- "systemTabEdits": {}
1886
- },
1887
- "header_edits": {
1888
- "newTitleField": "roster_row_label__c"
1889
- },
1890
- "visibility_conditions": {},
1891
- "blueprint_key": "gym_class_enrollment__c"
1892
- },
1893
- {
1894
- "type": "FUNCTION",
1895
- "name": "Members (SDUI)",
1896
- "api_name": "gym_member_list_fn",
1897
- "description": "SDUI ObjectListView for member records",
1898
- "code_draft": "import { FunctionContext, FunctionEvent, FunctionResponse } from '@rippling/rippling-sdk';\nimport SDUI from '@rippling/rippling-sdk/lib/sdui';\n\nconst OBJECT = 'gym_member__c';\n\nexport async function onRipplingEvent(\n event: FunctionEvent,\n context: FunctionContext,\n): Promise<FunctionResponse> {\n const action = event['parameters']?.action;\n\n if (!action || action === 'init') {\n const s = SDUI.createState({});\n const root = SDUI.components.VStack({\n children: [\n SDUI.components.ObjectListView({\n objectApiName: OBJECT,\n canSearchInGrid: true,\n }),\n ],\n });\n return new FunctionResponse({\n body: { spec: JSON.stringify(SDUI.render(s, root)) },\n statusCode: 200,\n headers: {},\n message: '',\n });\n }\n\n return new FunctionResponse({ body: {}, statusCode: 200, headers: {}, message: '' });\n}\n",
1899
- "dependencies": {
1900
- "@rippling/rippling-sdk": "^0.2.0-alpha.33"
1901
- }
1902
- },
1903
- {
1904
- "type": "SDUI_PAGE",
1905
- "name": "Members",
1906
- "sdui_page_id": "gym_members",
1907
- "function_api_name": "gym_member_list_fn",
1908
- "description": "SDUI ObjectListView for member records"
1909
- },
1910
- {
1911
- "type": "FUNCTION",
1912
- "name": "Trainers (SDUI)",
1913
- "api_name": "gym_trainer_list_fn",
1914
- "description": "SDUI ObjectListView for trainer records",
1915
- "code_draft": "import { FunctionContext, FunctionEvent, FunctionResponse } from '@rippling/rippling-sdk';\nimport SDUI from '@rippling/rippling-sdk/lib/sdui';\n\nconst OBJECT = 'gym_trainer__c';\n\nexport async function onRipplingEvent(\n event: FunctionEvent,\n context: FunctionContext,\n): Promise<FunctionResponse> {\n const action = event['parameters']?.action;\n\n if (!action || action === 'init') {\n const s = SDUI.createState({});\n const root = SDUI.components.VStack({\n children: [\n SDUI.components.ObjectListView({\n objectApiName: OBJECT,\n canSearchInGrid: true,\n }),\n ],\n });\n return new FunctionResponse({\n body: { spec: JSON.stringify(SDUI.render(s, root)) },\n statusCode: 200,\n headers: {},\n message: '',\n });\n }\n\n return new FunctionResponse({ body: {}, statusCode: 200, headers: {}, message: '' });\n}\n",
1916
- "dependencies": {
1917
- "@rippling/rippling-sdk": "^0.2.0-alpha.33"
1918
- }
1919
- },
1920
- {
1921
- "type": "SDUI_PAGE",
1922
- "name": "Trainers",
1923
- "sdui_page_id": "gym_trainers",
1924
- "function_api_name": "gym_trainer_list_fn",
1925
- "description": "SDUI ObjectListView for trainer records"
1926
- },
1927
- {
1928
- "type": "FUNCTION",
1929
- "name": "Today’s schedule (SDUI)",
1930
- "api_name": "gym_today_schedule_fn",
1931
- "description": "Searchable grid of class sessions — pair with list view “Today’s class sessions” or filter by date",
1932
- "code_draft": "import { FunctionContext, FunctionEvent, FunctionResponse } from '@rippling/rippling-sdk';\nimport SDUI from '@rippling/rippling-sdk/lib/sdui';\n\nconst OBJECT = 'gym_class_session__c';\n\nexport async function onRipplingEvent(\n event: FunctionEvent,\n context: FunctionContext,\n): Promise<FunctionResponse> {\n const action = event['parameters']?.action;\n\n if (!action || action === 'init') {\n const s = SDUI.createState({});\n const root = SDUI.components.VStack({\n children: [\n SDUI.components.ObjectListView({\n objectApiName: OBJECT,\n canSearchInGrid: true,\n }),\n ],\n });\n return new FunctionResponse({\n body: { spec: JSON.stringify(SDUI.render(s, root)) },\n statusCode: 200,\n headers: {},\n message: '',\n });\n }\n\n return new FunctionResponse({ body: {}, statusCode: 200, headers: {}, message: '' });\n}\n",
1933
- "dependencies": {
1934
- "@rippling/rippling-sdk": "^0.2.0-alpha.33"
1935
- }
1936
- },
1937
- {
1938
- "type": "SDUI_PAGE",
1939
- "name": "Today’s schedule",
1940
- "sdui_page_id": "gym_today_schedule",
1941
- "function_api_name": "gym_today_schedule_fn",
1942
- "description": "SDUI list of class sessions for front desk (filter to today in the grid)"
1943
- },
1944
- {
1945
- "type": "FUNCTION",
1946
- "name": "Check-in desk (SDUI)",
1947
- "api_name": "gym_check_in_desk_fn",
1948
- "description": "Searchable roster grid — update attendance and checked-in time as members arrive",
1949
- "code_draft": "import { FunctionContext, FunctionEvent, FunctionResponse } from '@rippling/rippling-sdk';\nimport SDUI from '@rippling/rippling-sdk/lib/sdui';\n\nconst OBJECT = 'gym_class_enrollment__c';\n\nexport async function onRipplingEvent(\n event: FunctionEvent,\n context: FunctionContext,\n): Promise<FunctionResponse> {\n const action = event['parameters']?.action;\n\n if (!action || action === 'init') {\n const s = SDUI.createState({});\n const root = SDUI.components.VStack({\n children: [\n SDUI.components.ObjectListView({\n objectApiName: OBJECT,\n canSearchInGrid: true,\n }),\n ],\n });\n return new FunctionResponse({\n body: { spec: JSON.stringify(SDUI.render(s, root)) },\n statusCode: 200,\n headers: {},\n message: '',\n });\n }\n\n return new FunctionResponse({ body: {}, statusCode: 200, headers: {}, message: '' });\n}\n",
1950
- "dependencies": {
1951
- "@rippling/rippling-sdk": "^0.2.0-alpha.33"
1952
- }
1953
- },
1954
- {
1955
- "type": "SDUI_PAGE",
1956
- "name": "Check-in desk",
1957
- "sdui_page_id": "gym_check_in_desk",
1958
- "function_api_name": "gym_check_in_desk_fn",
1959
- "description": "SDUI roster — set attendance to Checked in and optional checked-in time"
1960
- },
1961
- {
1962
- "type": "CUSTOM_APP",
1963
- "api_name": "gym_membership_management_app",
1964
- "name": "Gym Membership Management",
1965
- "description": "Members, trainers, schedules, enrollments, and SDUI object-list tabs for schedule + check-in",
1966
- "app_type": "custom",
1967
- "pages": [
1968
- {
1969
- "api_name": "gym_members",
1970
- "page_type": "sdui_page",
1971
- "sdui_page_id": "gym_members"
1972
- },
1973
- {
1974
- "api_name": "gym_trainers",
1975
- "page_type": "sdui_page",
1976
- "sdui_page_id": "gym_trainers"
1977
- },
1978
- {
1979
- "api_name": "gym_today_schedule",
1980
- "page_type": "sdui_page",
1981
- "sdui_page_id": "gym_today_schedule"
1982
- },
1983
- {
1984
- "api_name": "gym_check_in_desk",
1985
- "page_type": "sdui_page",
1986
- "sdui_page_id": "gym_check_in_desk"
1987
- }
1988
- ]
1989
- }
1990
- ]
1991
- }