@tideworthy/tidysites-platform 0.10.15 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +13 -0
  3. package/bin/tidysites-seed.mjs +51 -0
  4. package/package.json +14 -2
  5. package/src/sections/Photo.astro +18 -0
  6. package/src/sections/Sections.astro +42 -0
  7. package/src/sections/defaults/_Head.astro +13 -0
  8. package/src/sections/defaults/areas.astro +20 -0
  9. package/src/sections/defaults/badges.astro +17 -0
  10. package/src/sections/defaults/brands.astro +14 -0
  11. package/src/sections/defaults/case_studies.astro +16 -0
  12. package/src/sections/defaults/cases.astro +22 -0
  13. package/src/sections/defaults/clients.astro +14 -0
  14. package/src/sections/defaults/conditions.astro +13 -0
  15. package/src/sections/defaults/contact.astro +46 -0
  16. package/src/sections/defaults/cta.astro +16 -0
  17. package/src/sections/defaults/custom.astro +16 -0
  18. package/src/sections/defaults/downloads.astro +14 -0
  19. package/src/sections/defaults/faq.astro +20 -0
  20. package/src/sections/defaults/feature.astro +36 -0
  21. package/src/sections/defaults/financing.astro +17 -0
  22. package/src/sections/defaults/gallery.astro +14 -0
  23. package/src/sections/defaults/hero.astro +66 -0
  24. package/src/sections/defaults/insurance.astro +22 -0
  25. package/src/sections/defaults/intro.astro +11 -0
  26. package/src/sections/defaults/location.astro +32 -0
  27. package/src/sections/defaults/locations.astro +14 -0
  28. package/src/sections/defaults/offer.astro +18 -0
  29. package/src/sections/defaults/options.astro +12 -0
  30. package/src/sections/defaults/plans.astro +16 -0
  31. package/src/sections/defaults/policies.astro +13 -0
  32. package/src/sections/defaults/posts.astro +14 -0
  33. package/src/sections/defaults/products.astro +17 -0
  34. package/src/sections/defaults/related.astro +17 -0
  35. package/src/sections/defaults/reviews.astro +44 -0
  36. package/src/sections/defaults/services.astro +49 -0
  37. package/src/sections/defaults/signs.astro +12 -0
  38. package/src/sections/defaults/stats.astro +13 -0
  39. package/src/sections/defaults/steps.astro +32 -0
  40. package/src/sections/defaults/team.astro +42 -0
  41. package/src/sections/defaults/technologies.astro +13 -0
  42. package/src/sections/defaults/video.astro +15 -0
  43. package/src/sections/defaults.css +112 -0
  44. package/src/sections/lib.ts +157 -0
  45. package/src/template/index.ts +75 -0
  46. package/src/version.ts +1 -1
  47. package/template/README.md +33 -0
  48. package/template/structure.json +4224 -0
@@ -0,0 +1,4224 @@
1
+ {
2
+ "$schema": "https://emdashcms.com/seed.schema.json",
3
+ "version": "1",
4
+ "meta": {
5
+ "name": "Tidysites template",
6
+ "description": "The one data shape every Tidysites theme renders: collections, fields, section types and menus for local businesses, service-area businesses, shops and agencies. Every collection and every section is optional; nothing here is content or design.",
7
+ "author": "Tidysites"
8
+ },
9
+ "blockTypes": [
10
+ {
11
+ "slug": "hero",
12
+ "label": "Hero",
13
+ "description": "Opening block",
14
+ "category": "Sections",
15
+ "currentVersion": 1,
16
+ "versions": [
17
+ {
18
+ "version": 1,
19
+ "fields": [
20
+ {
21
+ "slug": "variant",
22
+ "label": "Layout",
23
+ "type": "select",
24
+ "validation": {
25
+ "options": [
26
+ "headline and photo",
27
+ "headline and booking card",
28
+ "headline and form",
29
+ "photo with headline over",
30
+ "headline and picker"
31
+ ]
32
+ },
33
+ "defaultValue": "headline and photo"
34
+ },
35
+ {
36
+ "slug": "body",
37
+ "label": "Text",
38
+ "type": "text"
39
+ },
40
+ {
41
+ "slug": "eyebrow",
42
+ "label": "Small label above the headline",
43
+ "type": "string"
44
+ },
45
+ {
46
+ "slug": "headline",
47
+ "label": "Headline",
48
+ "type": "string"
49
+ },
50
+ {
51
+ "slug": "subhead",
52
+ "label": "Subhead",
53
+ "type": "text"
54
+ },
55
+ {
56
+ "slug": "pill",
57
+ "label": "Pill (for example: Accepting new patients)",
58
+ "type": "string"
59
+ },
60
+ {
61
+ "slug": "button_label",
62
+ "label": "Button",
63
+ "type": "string"
64
+ },
65
+ {
66
+ "slug": "button_url",
67
+ "label": "Button link",
68
+ "type": "string"
69
+ },
70
+ {
71
+ "slug": "button2_label",
72
+ "label": "Second button",
73
+ "type": "string"
74
+ },
75
+ {
76
+ "slug": "button2_url",
77
+ "label": "Second button link",
78
+ "type": "string"
79
+ },
80
+ {
81
+ "slug": "image",
82
+ "label": "Image",
83
+ "type": "image"
84
+ },
85
+ {
86
+ "slug": "video_url",
87
+ "label": "Video",
88
+ "type": "string"
89
+ },
90
+ {
91
+ "slug": "show_phone",
92
+ "label": "Show phone",
93
+ "type": "boolean"
94
+ },
95
+ {
96
+ "slug": "show_hours",
97
+ "label": "Show today's hours",
98
+ "type": "boolean"
99
+ },
100
+ {
101
+ "slug": "show_rating",
102
+ "label": "Show rating",
103
+ "type": "boolean"
104
+ },
105
+ {
106
+ "slug": "show_form",
107
+ "label": "Show the request form",
108
+ "type": "boolean"
109
+ },
110
+ {
111
+ "slug": "picker_title",
112
+ "label": "Picker title",
113
+ "type": "string"
114
+ },
115
+ {
116
+ "slug": "picker_note",
117
+ "label": "Picker note",
118
+ "type": "string"
119
+ },
120
+ {
121
+ "slug": "show_trust",
122
+ "label": "Show the trust strip",
123
+ "type": "boolean"
124
+ }
125
+ ]
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "slug": "intro",
131
+ "label": "Intro",
132
+ "description": "Heading and paragraphs",
133
+ "category": "Sections",
134
+ "currentVersion": 1,
135
+ "versions": [
136
+ {
137
+ "version": 1,
138
+ "fields": [
139
+ {
140
+ "slug": "eyebrow",
141
+ "label": "Small label above the headline",
142
+ "type": "string"
143
+ },
144
+ {
145
+ "slug": "headline",
146
+ "label": "Headline",
147
+ "type": "string"
148
+ },
149
+ {
150
+ "slug": "body",
151
+ "label": "Text",
152
+ "type": "text"
153
+ },
154
+ {
155
+ "slug": "button_label",
156
+ "label": "Button",
157
+ "type": "string"
158
+ },
159
+ {
160
+ "slug": "button_url",
161
+ "label": "Button link",
162
+ "type": "string"
163
+ },
164
+ {
165
+ "slug": "image",
166
+ "label": "Image",
167
+ "type": "image"
168
+ }
169
+ ]
170
+ }
171
+ ]
172
+ },
173
+ {
174
+ "slug": "services",
175
+ "label": "Services",
176
+ "description": "The services or categories",
177
+ "category": "Sections",
178
+ "currentVersion": 1,
179
+ "versions": [
180
+ {
181
+ "version": 1,
182
+ "fields": [
183
+ {
184
+ "slug": "variant",
185
+ "label": "Layout",
186
+ "type": "select",
187
+ "validation": {
188
+ "options": [
189
+ "cards with summary",
190
+ "image tiles",
191
+ "icon cards",
192
+ "grouped by category",
193
+ "checklist"
194
+ ]
195
+ },
196
+ "defaultValue": "cards with summary"
197
+ },
198
+ {
199
+ "slug": "eyebrow",
200
+ "label": "Small label above the headline",
201
+ "type": "string"
202
+ },
203
+ {
204
+ "slug": "headline",
205
+ "label": "Headline",
206
+ "type": "string"
207
+ },
208
+ {
209
+ "slug": "body",
210
+ "label": "Text",
211
+ "type": "text"
212
+ },
213
+ {
214
+ "slug": "source",
215
+ "label": "Show",
216
+ "type": "select",
217
+ "validation": {
218
+ "options": [
219
+ "categories",
220
+ "services",
221
+ "featured services",
222
+ "services in one category"
223
+ ]
224
+ },
225
+ "defaultValue": "categories"
226
+ },
227
+ {
228
+ "slug": "category",
229
+ "label": "Category slug when showing one category",
230
+ "type": "string"
231
+ },
232
+ {
233
+ "slug": "limit",
234
+ "label": "How many",
235
+ "type": "integer"
236
+ },
237
+ {
238
+ "slug": "show_all",
239
+ "label": "Show the All services button",
240
+ "type": "boolean"
241
+ }
242
+ ]
243
+ }
244
+ ]
245
+ },
246
+ {
247
+ "slug": "feature",
248
+ "label": "Why choose us",
249
+ "description": "Points with an optional image",
250
+ "category": "Sections",
251
+ "currentVersion": 1,
252
+ "versions": [
253
+ {
254
+ "version": 1,
255
+ "fields": [
256
+ {
257
+ "slug": "variant",
258
+ "label": "Layout",
259
+ "type": "select",
260
+ "validation": {
261
+ "options": [
262
+ "cards",
263
+ "checklist",
264
+ "image beside points",
265
+ "mission statement"
266
+ ]
267
+ },
268
+ "defaultValue": "cards"
269
+ },
270
+ {
271
+ "slug": "eyebrow",
272
+ "label": "Small label above the headline",
273
+ "type": "string"
274
+ },
275
+ {
276
+ "slug": "headline",
277
+ "label": "Headline",
278
+ "type": "string"
279
+ },
280
+ {
281
+ "slug": "body",
282
+ "label": "Text",
283
+ "type": "text"
284
+ },
285
+ {
286
+ "slug": "image",
287
+ "label": "Image",
288
+ "type": "image"
289
+ },
290
+ {
291
+ "slug": "points",
292
+ "label": "Points",
293
+ "type": "repeater",
294
+ "validation": {
295
+ "subFields": [
296
+ {
297
+ "slug": "title",
298
+ "label": "Heading",
299
+ "type": "string"
300
+ },
301
+ {
302
+ "slug": "body",
303
+ "label": "Text",
304
+ "type": "text"
305
+ },
306
+ {
307
+ "slug": "icon",
308
+ "label": "Icon",
309
+ "type": "string"
310
+ }
311
+ ]
312
+ }
313
+ },
314
+ {
315
+ "slug": "button_label",
316
+ "label": "Button",
317
+ "type": "string"
318
+ },
319
+ {
320
+ "slug": "button_url",
321
+ "label": "Button link",
322
+ "type": "string"
323
+ },
324
+ {
325
+ "slug": "bullets",
326
+ "label": "Bullets, one per line",
327
+ "type": "text"
328
+ },
329
+ {
330
+ "slug": "steps",
331
+ "label": "Numbered steps, one per line",
332
+ "type": "text"
333
+ },
334
+ {
335
+ "slug": "image_side",
336
+ "label": "Photo side",
337
+ "type": "select",
338
+ "validation": {
339
+ "options": [
340
+ "left",
341
+ "right"
342
+ ]
343
+ },
344
+ "defaultValue": "left"
345
+ }
346
+ ]
347
+ }
348
+ ]
349
+ },
350
+ {
351
+ "slug": "steps",
352
+ "label": "Steps",
353
+ "description": "A real sequence: a first visit, a treatment journey",
354
+ "category": "Sections",
355
+ "currentVersion": 1,
356
+ "versions": [
357
+ {
358
+ "version": 1,
359
+ "fields": [
360
+ {
361
+ "slug": "eyebrow",
362
+ "label": "Small label above the headline",
363
+ "type": "string"
364
+ },
365
+ {
366
+ "slug": "headline",
367
+ "label": "Headline",
368
+ "type": "string"
369
+ },
370
+ {
371
+ "slug": "body",
372
+ "label": "Text",
373
+ "type": "text"
374
+ },
375
+ {
376
+ "slug": "steps",
377
+ "label": "Steps",
378
+ "type": "repeater",
379
+ "validation": {
380
+ "subFields": [
381
+ {
382
+ "slug": "title",
383
+ "label": "Step",
384
+ "type": "string"
385
+ },
386
+ {
387
+ "slug": "body",
388
+ "label": "What happens",
389
+ "type": "text"
390
+ },
391
+ {
392
+ "slug": "duration",
393
+ "label": "How long",
394
+ "type": "string"
395
+ },
396
+ {
397
+ "slug": "image",
398
+ "label": "Image",
399
+ "type": "image"
400
+ }
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "slug": "show_prep",
406
+ "label": "Show the what-to-bring list",
407
+ "type": "boolean"
408
+ },
409
+ {
410
+ "slug": "prep",
411
+ "label": "What to bring, one per line",
412
+ "type": "text"
413
+ },
414
+ {
415
+ "slug": "show_forms",
416
+ "label": "Show forms links",
417
+ "type": "boolean"
418
+ }
419
+ ]
420
+ }
421
+ ]
422
+ },
423
+ {
424
+ "slug": "team",
425
+ "label": "Team",
426
+ "description": "People from the people collection",
427
+ "category": "Sections",
428
+ "currentVersion": 1,
429
+ "versions": [
430
+ {
431
+ "version": 1,
432
+ "fields": [
433
+ {
434
+ "slug": "variant",
435
+ "label": "Layout",
436
+ "type": "select",
437
+ "validation": {
438
+ "options": [
439
+ "cards",
440
+ "grouped by department",
441
+ "photo grid",
442
+ "one person featured"
443
+ ]
444
+ },
445
+ "defaultValue": "cards"
446
+ },
447
+ {
448
+ "slug": "eyebrow",
449
+ "label": "Small label above the headline",
450
+ "type": "string"
451
+ },
452
+ {
453
+ "slug": "headline",
454
+ "label": "Headline",
455
+ "type": "string"
456
+ },
457
+ {
458
+ "slug": "body",
459
+ "label": "Text",
460
+ "type": "text"
461
+ },
462
+ {
463
+ "slug": "group",
464
+ "label": "Only this group",
465
+ "type": "string"
466
+ },
467
+ {
468
+ "slug": "featured_only",
469
+ "label": "Owners and providers only",
470
+ "type": "boolean"
471
+ },
472
+ {
473
+ "slug": "limit",
474
+ "label": "How many",
475
+ "type": "integer"
476
+ },
477
+ {
478
+ "slug": "show_credentials",
479
+ "label": "Show credentials",
480
+ "type": "boolean"
481
+ },
482
+ {
483
+ "slug": "show_bio",
484
+ "label": "Show short bios",
485
+ "type": "boolean"
486
+ },
487
+ {
488
+ "slug": "show_all",
489
+ "label": "Show the Meet the team button",
490
+ "type": "boolean"
491
+ }
492
+ ]
493
+ }
494
+ ]
495
+ },
496
+ {
497
+ "slug": "reviews",
498
+ "label": "Reviews",
499
+ "description": "Reviews from the reviews collection",
500
+ "category": "Sections",
501
+ "currentVersion": 1,
502
+ "versions": [
503
+ {
504
+ "version": 1,
505
+ "fields": [
506
+ {
507
+ "slug": "variant",
508
+ "label": "Layout",
509
+ "type": "select",
510
+ "validation": {
511
+ "options": [
512
+ "quotes",
513
+ "aggregate with quotes",
514
+ "video testimonials",
515
+ "single quote band"
516
+ ]
517
+ },
518
+ "defaultValue": "quotes"
519
+ },
520
+ {
521
+ "slug": "body",
522
+ "label": "Text",
523
+ "type": "text"
524
+ },
525
+ {
526
+ "slug": "eyebrow",
527
+ "label": "Small label above the headline",
528
+ "type": "string"
529
+ },
530
+ {
531
+ "slug": "headline",
532
+ "label": "Headline",
533
+ "type": "string"
534
+ },
535
+ {
536
+ "slug": "limit",
537
+ "label": "How many",
538
+ "type": "integer"
539
+ },
540
+ {
541
+ "slug": "featured_only",
542
+ "label": "Featured reviews only",
543
+ "type": "boolean"
544
+ },
545
+ {
546
+ "slug": "service",
547
+ "label": "Only reviews for this service (slug)",
548
+ "type": "string"
549
+ },
550
+ {
551
+ "slug": "show_aggregate",
552
+ "label": "Show rating and count",
553
+ "type": "boolean"
554
+ },
555
+ {
556
+ "slug": "show_source",
557
+ "label": "Show where each review came from",
558
+ "type": "boolean"
559
+ },
560
+ {
561
+ "slug": "show_review_links",
562
+ "label": "Show the leave-a-review links",
563
+ "type": "boolean"
564
+ },
565
+ {
566
+ "slug": "service_area",
567
+ "label": "Only reviews from this service area (slug)",
568
+ "type": "string"
569
+ }
570
+ ]
571
+ }
572
+ ]
573
+ },
574
+ {
575
+ "slug": "cases",
576
+ "label": "Results",
577
+ "description": "Before and after cases",
578
+ "category": "Sections",
579
+ "currentVersion": 1,
580
+ "versions": [
581
+ {
582
+ "version": 1,
583
+ "fields": [
584
+ {
585
+ "slug": "variant",
586
+ "label": "Layout",
587
+ "type": "select",
588
+ "validation": {
589
+ "options": [
590
+ "pairs with story",
591
+ "slider",
592
+ "grid"
593
+ ]
594
+ },
595
+ "defaultValue": "pairs with story"
596
+ },
597
+ {
598
+ "slug": "eyebrow",
599
+ "label": "Small label above the headline",
600
+ "type": "string"
601
+ },
602
+ {
603
+ "slug": "headline",
604
+ "label": "Headline",
605
+ "type": "string"
606
+ },
607
+ {
608
+ "slug": "body",
609
+ "label": "Text",
610
+ "type": "text"
611
+ },
612
+ {
613
+ "slug": "service",
614
+ "label": "Only this service (slug)",
615
+ "type": "string"
616
+ },
617
+ {
618
+ "slug": "limit",
619
+ "label": "How many",
620
+ "type": "integer"
621
+ },
622
+ {
623
+ "slug": "show_names",
624
+ "label": "Show patient first names",
625
+ "type": "boolean"
626
+ },
627
+ {
628
+ "slug": "service_area",
629
+ "label": "Only this service area (slug)",
630
+ "type": "string"
631
+ }
632
+ ]
633
+ }
634
+ ]
635
+ },
636
+ {
637
+ "slug": "faq",
638
+ "label": "FAQ",
639
+ "description": "Questions from the faqs collection or written here",
640
+ "category": "Sections",
641
+ "currentVersion": 1,
642
+ "versions": [
643
+ {
644
+ "version": 1,
645
+ "fields": [
646
+ {
647
+ "slug": "body",
648
+ "label": "Text",
649
+ "type": "text"
650
+ },
651
+ {
652
+ "slug": "eyebrow",
653
+ "label": "Small label above the headline",
654
+ "type": "string"
655
+ },
656
+ {
657
+ "slug": "headline",
658
+ "label": "Headline",
659
+ "type": "string"
660
+ },
661
+ {
662
+ "slug": "group",
663
+ "label": "Only this group",
664
+ "type": "string"
665
+ },
666
+ {
667
+ "slug": "service",
668
+ "label": "Only this service (slug)",
669
+ "type": "string"
670
+ },
671
+ {
672
+ "slug": "limit",
673
+ "label": "How many",
674
+ "type": "integer"
675
+ },
676
+ {
677
+ "slug": "grouped",
678
+ "label": "Show group headings",
679
+ "type": "boolean"
680
+ },
681
+ {
682
+ "slug": "items",
683
+ "label": "Extra questions",
684
+ "type": "repeater",
685
+ "validation": {
686
+ "subFields": [
687
+ {
688
+ "slug": "question",
689
+ "label": "Question",
690
+ "type": "string"
691
+ },
692
+ {
693
+ "slug": "answer",
694
+ "label": "Answer",
695
+ "type": "text"
696
+ }
697
+ ]
698
+ }
699
+ }
700
+ ]
701
+ }
702
+ ]
703
+ },
704
+ {
705
+ "slug": "stats",
706
+ "label": "Numbers",
707
+ "description": "Value and label tiles",
708
+ "category": "Sections",
709
+ "currentVersion": 1,
710
+ "versions": [
711
+ {
712
+ "version": 1,
713
+ "fields": [
714
+ {
715
+ "slug": "body",
716
+ "label": "Text",
717
+ "type": "text"
718
+ },
719
+ {
720
+ "slug": "eyebrow",
721
+ "label": "Small label above the headline",
722
+ "type": "string"
723
+ },
724
+ {
725
+ "slug": "headline",
726
+ "label": "Headline",
727
+ "type": "string"
728
+ },
729
+ {
730
+ "slug": "tiles",
731
+ "label": "Tiles",
732
+ "type": "repeater",
733
+ "validation": {
734
+ "subFields": [
735
+ {
736
+ "slug": "value",
737
+ "label": "Value",
738
+ "type": "string"
739
+ },
740
+ {
741
+ "slug": "label",
742
+ "label": "Label",
743
+ "type": "string"
744
+ },
745
+ {
746
+ "slug": "source",
747
+ "label": "Source",
748
+ "type": "string"
749
+ }
750
+ ]
751
+ }
752
+ }
753
+ ]
754
+ }
755
+ ]
756
+ },
757
+ {
758
+ "slug": "badges",
759
+ "label": "Badges",
760
+ "description": "Associations, seals and awards",
761
+ "category": "Sections",
762
+ "currentVersion": 1,
763
+ "versions": [
764
+ {
765
+ "version": 1,
766
+ "fields": [
767
+ {
768
+ "slug": "body",
769
+ "label": "Text",
770
+ "type": "text"
771
+ },
772
+ {
773
+ "slug": "source",
774
+ "label": "Show",
775
+ "type": "select",
776
+ "validation": {
777
+ "options": [
778
+ "badges from the badges records",
779
+ "badges written here"
780
+ ]
781
+ },
782
+ "defaultValue": "badges from the badges records"
783
+ },
784
+ {
785
+ "slug": "eyebrow",
786
+ "label": "Small label above the headline",
787
+ "type": "string"
788
+ },
789
+ {
790
+ "slug": "headline",
791
+ "label": "Headline",
792
+ "type": "string"
793
+ },
794
+ {
795
+ "slug": "badges",
796
+ "label": "Badges",
797
+ "type": "repeater",
798
+ "validation": {
799
+ "subFields": [
800
+ {
801
+ "slug": "title",
802
+ "label": "Name",
803
+ "type": "string"
804
+ },
805
+ {
806
+ "slug": "issuer",
807
+ "label": "Issuer",
808
+ "type": "string"
809
+ },
810
+ {
811
+ "slug": "image",
812
+ "label": "Image",
813
+ "type": "image"
814
+ },
815
+ {
816
+ "slug": "url",
817
+ "label": "Link",
818
+ "type": "string"
819
+ }
820
+ ]
821
+ }
822
+ },
823
+ {
824
+ "slug": "group",
825
+ "label": "Only this group",
826
+ "type": "string"
827
+ }
828
+ ]
829
+ }
830
+ ]
831
+ },
832
+ {
833
+ "slug": "insurance",
834
+ "label": "Insurance",
835
+ "description": "Insurers accepted",
836
+ "category": "Sections",
837
+ "currentVersion": 1,
838
+ "versions": [
839
+ {
840
+ "version": 1,
841
+ "fields": [
842
+ {
843
+ "slug": "variant",
844
+ "label": "Layout",
845
+ "type": "select",
846
+ "validation": {
847
+ "options": [
848
+ "logos",
849
+ "names",
850
+ "one line"
851
+ ]
852
+ },
853
+ "defaultValue": "logos"
854
+ },
855
+ {
856
+ "slug": "eyebrow",
857
+ "label": "Small label above the headline",
858
+ "type": "string"
859
+ },
860
+ {
861
+ "slug": "headline",
862
+ "label": "Headline",
863
+ "type": "string"
864
+ },
865
+ {
866
+ "slug": "body",
867
+ "label": "Text",
868
+ "type": "text"
869
+ },
870
+ {
871
+ "slug": "show_network",
872
+ "label": "Show in and out of network",
873
+ "type": "boolean"
874
+ },
875
+ {
876
+ "slug": "show_programs",
877
+ "label": "Show government programs",
878
+ "type": "boolean"
879
+ },
880
+ {
881
+ "slug": "button_label",
882
+ "label": "Button",
883
+ "type": "string"
884
+ },
885
+ {
886
+ "slug": "button_url",
887
+ "label": "Button link",
888
+ "type": "string"
889
+ }
890
+ ]
891
+ }
892
+ ]
893
+ },
894
+ {
895
+ "slug": "financing",
896
+ "label": "Payment and financing",
897
+ "description": "Financing providers and payment methods",
898
+ "category": "Sections",
899
+ "currentVersion": 1,
900
+ "versions": [
901
+ {
902
+ "version": 1,
903
+ "fields": [
904
+ {
905
+ "slug": "eyebrow",
906
+ "label": "Small label above the headline",
907
+ "type": "string"
908
+ },
909
+ {
910
+ "slug": "headline",
911
+ "label": "Headline",
912
+ "type": "string"
913
+ },
914
+ {
915
+ "slug": "body",
916
+ "label": "Text",
917
+ "type": "text"
918
+ },
919
+ {
920
+ "slug": "show_providers",
921
+ "label": "Show financing providers",
922
+ "type": "boolean"
923
+ },
924
+ {
925
+ "slug": "payment_methods",
926
+ "label": "Payment methods, comma separated",
927
+ "type": "string"
928
+ },
929
+ {
930
+ "slug": "show_hsa",
931
+ "label": "Show the HSA / FSA line",
932
+ "type": "boolean"
933
+ },
934
+ {
935
+ "slug": "show_plans",
936
+ "label": "Show the plans button",
937
+ "type": "boolean"
938
+ }
939
+ ]
940
+ }
941
+ ]
942
+ },
943
+ {
944
+ "slug": "plans",
945
+ "label": "Plans",
946
+ "description": "Membership plans and packages",
947
+ "category": "Sections",
948
+ "currentVersion": 1,
949
+ "versions": [
950
+ {
951
+ "version": 1,
952
+ "fields": [
953
+ {
954
+ "slug": "eyebrow",
955
+ "label": "Small label above the headline",
956
+ "type": "string"
957
+ },
958
+ {
959
+ "slug": "headline",
960
+ "label": "Headline",
961
+ "type": "string"
962
+ },
963
+ {
964
+ "slug": "body",
965
+ "label": "Text",
966
+ "type": "text"
967
+ },
968
+ {
969
+ "slug": "kind",
970
+ "label": "Only this kind",
971
+ "type": "string"
972
+ },
973
+ {
974
+ "slug": "limit",
975
+ "label": "How many",
976
+ "type": "integer"
977
+ },
978
+ {
979
+ "slug": "featured_first",
980
+ "label": "Featured first",
981
+ "type": "boolean"
982
+ }
983
+ ]
984
+ }
985
+ ]
986
+ },
987
+ {
988
+ "slug": "contact",
989
+ "label": "Request form",
990
+ "description": "A request or contact form",
991
+ "category": "Sections",
992
+ "currentVersion": 1,
993
+ "versions": [
994
+ {
995
+ "version": 1,
996
+ "fields": [
997
+ {
998
+ "slug": "variant",
999
+ "label": "Layout",
1000
+ "type": "select",
1001
+ "validation": {
1002
+ "options": [
1003
+ "short",
1004
+ "appointment request",
1005
+ "question only"
1006
+ ]
1007
+ },
1008
+ "defaultValue": "short"
1009
+ },
1010
+ {
1011
+ "slug": "eyebrow",
1012
+ "label": "Small label above the headline",
1013
+ "type": "string"
1014
+ },
1015
+ {
1016
+ "slug": "headline",
1017
+ "label": "Headline",
1018
+ "type": "string"
1019
+ },
1020
+ {
1021
+ "slug": "body",
1022
+ "label": "Text",
1023
+ "type": "text"
1024
+ },
1025
+ {
1026
+ "slug": "ask_patient_type",
1027
+ "label": "Ask new or existing",
1028
+ "type": "boolean"
1029
+ },
1030
+ {
1031
+ "slug": "ask_service",
1032
+ "label": "Ask which service",
1033
+ "type": "boolean"
1034
+ },
1035
+ {
1036
+ "slug": "ask_provider",
1037
+ "label": "Ask preferred provider",
1038
+ "type": "boolean"
1039
+ },
1040
+ {
1041
+ "slug": "ask_day",
1042
+ "label": "Ask preferred days",
1043
+ "type": "boolean"
1044
+ },
1045
+ {
1046
+ "slug": "ask_time",
1047
+ "label": "Ask preferred time",
1048
+ "type": "boolean"
1049
+ },
1050
+ {
1051
+ "slug": "ask_contact_method",
1052
+ "label": "Ask how to reply",
1053
+ "type": "boolean"
1054
+ },
1055
+ {
1056
+ "slug": "ask_referrer",
1057
+ "label": "Ask how they heard",
1058
+ "type": "boolean"
1059
+ },
1060
+ {
1061
+ "slug": "submit_label",
1062
+ "label": "Submit label",
1063
+ "type": "string"
1064
+ },
1065
+ {
1066
+ "slug": "promise",
1067
+ "label": "What happens next, one line",
1068
+ "type": "string"
1069
+ },
1070
+ {
1071
+ "slug": "show_business_details",
1072
+ "label": "Show address, phone and hours beside the form",
1073
+ "type": "boolean"
1074
+ }
1075
+ ]
1076
+ }
1077
+ ]
1078
+ },
1079
+ {
1080
+ "slug": "location",
1081
+ "label": "Location and hours",
1082
+ "description": "Address, hours, parking, map",
1083
+ "category": "Sections",
1084
+ "currentVersion": 1,
1085
+ "versions": [
1086
+ {
1087
+ "version": 1,
1088
+ "fields": [
1089
+ {
1090
+ "slug": "body",
1091
+ "label": "Text",
1092
+ "type": "text"
1093
+ },
1094
+ {
1095
+ "slug": "eyebrow",
1096
+ "label": "Small label above the headline",
1097
+ "type": "string"
1098
+ },
1099
+ {
1100
+ "slug": "headline",
1101
+ "label": "Headline",
1102
+ "type": "string"
1103
+ },
1104
+ {
1105
+ "slug": "location",
1106
+ "label": "Location slug (blank for the main one)",
1107
+ "type": "string"
1108
+ },
1109
+ {
1110
+ "slug": "hours_style",
1111
+ "label": "Hours",
1112
+ "type": "select",
1113
+ "validation": {
1114
+ "options": [
1115
+ "per day",
1116
+ "grouped"
1117
+ ]
1118
+ },
1119
+ "defaultValue": "per day"
1120
+ },
1121
+ {
1122
+ "slug": "show_map",
1123
+ "label": "Show the map",
1124
+ "type": "boolean"
1125
+ },
1126
+ {
1127
+ "slug": "show_parking",
1128
+ "label": "Show parking and directions",
1129
+ "type": "boolean"
1130
+ },
1131
+ {
1132
+ "slug": "show_form",
1133
+ "label": "Show the request form beside it",
1134
+ "type": "boolean"
1135
+ }
1136
+ ]
1137
+ }
1138
+ ]
1139
+ },
1140
+ {
1141
+ "slug": "cta",
1142
+ "label": "Call to action band",
1143
+ "description": "A headline and a button",
1144
+ "category": "Sections",
1145
+ "currentVersion": 1,
1146
+ "versions": [
1147
+ {
1148
+ "version": 1,
1149
+ "fields": [
1150
+ {
1151
+ "slug": "variant",
1152
+ "label": "Layout",
1153
+ "type": "select",
1154
+ "validation": {
1155
+ "options": [
1156
+ "band",
1157
+ "band with facts",
1158
+ "band with form"
1159
+ ]
1160
+ },
1161
+ "defaultValue": "band"
1162
+ },
1163
+ {
1164
+ "slug": "eyebrow",
1165
+ "label": "Small label above the headline",
1166
+ "type": "string"
1167
+ },
1168
+ {
1169
+ "slug": "headline",
1170
+ "label": "Headline",
1171
+ "type": "string"
1172
+ },
1173
+ {
1174
+ "slug": "body",
1175
+ "label": "Text",
1176
+ "type": "text"
1177
+ },
1178
+ {
1179
+ "slug": "button_label",
1180
+ "label": "Button",
1181
+ "type": "string"
1182
+ },
1183
+ {
1184
+ "slug": "button_url",
1185
+ "label": "Button link",
1186
+ "type": "string"
1187
+ },
1188
+ {
1189
+ "slug": "button2_label",
1190
+ "label": "Second button",
1191
+ "type": "string"
1192
+ },
1193
+ {
1194
+ "slug": "button2_url",
1195
+ "label": "Second button link",
1196
+ "type": "string"
1197
+ },
1198
+ {
1199
+ "slug": "show_phone",
1200
+ "label": "Show phone",
1201
+ "type": "boolean"
1202
+ },
1203
+ {
1204
+ "slug": "show_hours",
1205
+ "label": "Show today's hours",
1206
+ "type": "boolean"
1207
+ },
1208
+ {
1209
+ "slug": "image",
1210
+ "label": "Image",
1211
+ "type": "image"
1212
+ }
1213
+ ]
1214
+ }
1215
+ ]
1216
+ },
1217
+ {
1218
+ "slug": "gallery",
1219
+ "label": "Gallery",
1220
+ "description": "Photos of the office, the team or the community",
1221
+ "category": "Sections",
1222
+ "currentVersion": 1,
1223
+ "versions": [
1224
+ {
1225
+ "version": 1,
1226
+ "fields": [
1227
+ {
1228
+ "slug": "variant",
1229
+ "label": "Layout",
1230
+ "type": "select",
1231
+ "validation": {
1232
+ "options": [
1233
+ "strip",
1234
+ "grid",
1235
+ "with captions"
1236
+ ]
1237
+ },
1238
+ "defaultValue": "strip"
1239
+ },
1240
+ {
1241
+ "slug": "eyebrow",
1242
+ "label": "Small label above the headline",
1243
+ "type": "string"
1244
+ },
1245
+ {
1246
+ "slug": "headline",
1247
+ "label": "Headline",
1248
+ "type": "string"
1249
+ },
1250
+ {
1251
+ "slug": "body",
1252
+ "label": "Text",
1253
+ "type": "text"
1254
+ },
1255
+ {
1256
+ "slug": "images",
1257
+ "label": "Images",
1258
+ "type": "repeater",
1259
+ "validation": {
1260
+ "subFields": [
1261
+ {
1262
+ "slug": "image",
1263
+ "label": "Image",
1264
+ "type": "image"
1265
+ },
1266
+ {
1267
+ "slug": "caption",
1268
+ "label": "Caption",
1269
+ "type": "string"
1270
+ }
1271
+ ]
1272
+ }
1273
+ }
1274
+ ]
1275
+ }
1276
+ ]
1277
+ },
1278
+ {
1279
+ "slug": "video",
1280
+ "label": "Video",
1281
+ "description": "One embedded video",
1282
+ "category": "Sections",
1283
+ "currentVersion": 1,
1284
+ "versions": [
1285
+ {
1286
+ "version": 1,
1287
+ "fields": [
1288
+ {
1289
+ "slug": "eyebrow",
1290
+ "label": "Small label above the headline",
1291
+ "type": "string"
1292
+ },
1293
+ {
1294
+ "slug": "headline",
1295
+ "label": "Headline",
1296
+ "type": "string"
1297
+ },
1298
+ {
1299
+ "slug": "body",
1300
+ "label": "Text",
1301
+ "type": "text"
1302
+ },
1303
+ {
1304
+ "slug": "video_url",
1305
+ "label": "Video",
1306
+ "type": "string"
1307
+ },
1308
+ {
1309
+ "slug": "caption",
1310
+ "label": "Caption",
1311
+ "type": "string"
1312
+ },
1313
+ {
1314
+ "slug": "poster",
1315
+ "label": "Poster image",
1316
+ "type": "image"
1317
+ }
1318
+ ]
1319
+ }
1320
+ ]
1321
+ },
1322
+ {
1323
+ "slug": "technologies",
1324
+ "label": "Technology",
1325
+ "description": "Equipment from the technologies collection",
1326
+ "category": "Sections",
1327
+ "currentVersion": 1,
1328
+ "versions": [
1329
+ {
1330
+ "version": 1,
1331
+ "fields": [
1332
+ {
1333
+ "slug": "eyebrow",
1334
+ "label": "Small label above the headline",
1335
+ "type": "string"
1336
+ },
1337
+ {
1338
+ "slug": "headline",
1339
+ "label": "Headline",
1340
+ "type": "string"
1341
+ },
1342
+ {
1343
+ "slug": "body",
1344
+ "label": "Text",
1345
+ "type": "text"
1346
+ },
1347
+ {
1348
+ "slug": "limit",
1349
+ "label": "How many",
1350
+ "type": "integer"
1351
+ }
1352
+ ]
1353
+ }
1354
+ ]
1355
+ },
1356
+ {
1357
+ "slug": "brands",
1358
+ "label": "Brands",
1359
+ "description": "Brands carried or used",
1360
+ "category": "Sections",
1361
+ "currentVersion": 1,
1362
+ "versions": [
1363
+ {
1364
+ "version": 1,
1365
+ "fields": [
1366
+ {
1367
+ "slug": "variant",
1368
+ "label": "Layout",
1369
+ "type": "select",
1370
+ "validation": {
1371
+ "options": [
1372
+ "logos",
1373
+ "names"
1374
+ ]
1375
+ },
1376
+ "defaultValue": "logos"
1377
+ },
1378
+ {
1379
+ "slug": "eyebrow",
1380
+ "label": "Small label above the headline",
1381
+ "type": "string"
1382
+ },
1383
+ {
1384
+ "slug": "headline",
1385
+ "label": "Headline",
1386
+ "type": "string"
1387
+ },
1388
+ {
1389
+ "slug": "body",
1390
+ "label": "Text",
1391
+ "type": "text"
1392
+ },
1393
+ {
1394
+ "slug": "group",
1395
+ "label": "Only this group",
1396
+ "type": "string"
1397
+ }
1398
+ ]
1399
+ }
1400
+ ]
1401
+ },
1402
+ {
1403
+ "slug": "offer",
1404
+ "label": "Offer",
1405
+ "description": "One offer with how to claim it",
1406
+ "category": "Sections",
1407
+ "currentVersion": 1,
1408
+ "versions": [
1409
+ {
1410
+ "version": 1,
1411
+ "fields": [
1412
+ {
1413
+ "slug": "eyebrow",
1414
+ "label": "Small label above the headline",
1415
+ "type": "string"
1416
+ },
1417
+ {
1418
+ "slug": "offer",
1419
+ "label": "Offer slug",
1420
+ "type": "string"
1421
+ },
1422
+ {
1423
+ "slug": "headline",
1424
+ "label": "Headline",
1425
+ "type": "string"
1426
+ },
1427
+ {
1428
+ "slug": "body",
1429
+ "label": "Text",
1430
+ "type": "text"
1431
+ },
1432
+ {
1433
+ "slug": "button_label",
1434
+ "label": "Button",
1435
+ "type": "string"
1436
+ },
1437
+ {
1438
+ "slug": "button_url",
1439
+ "label": "Button link",
1440
+ "type": "string"
1441
+ }
1442
+ ]
1443
+ }
1444
+ ]
1445
+ },
1446
+ {
1447
+ "slug": "conditions",
1448
+ "label": "Conditions",
1449
+ "description": "Conditions and symptoms we treat",
1450
+ "category": "Sections",
1451
+ "currentVersion": 1,
1452
+ "versions": [
1453
+ {
1454
+ "version": 1,
1455
+ "fields": [
1456
+ {
1457
+ "slug": "eyebrow",
1458
+ "label": "Small label above the headline",
1459
+ "type": "string"
1460
+ },
1461
+ {
1462
+ "slug": "headline",
1463
+ "label": "Headline",
1464
+ "type": "string"
1465
+ },
1466
+ {
1467
+ "slug": "body",
1468
+ "label": "Text",
1469
+ "type": "text"
1470
+ },
1471
+ {
1472
+ "slug": "variant",
1473
+ "label": "Layout",
1474
+ "type": "select",
1475
+ "validation": {
1476
+ "options": [
1477
+ "chips",
1478
+ "cards"
1479
+ ]
1480
+ },
1481
+ "defaultValue": "chips"
1482
+ },
1483
+ {
1484
+ "slug": "limit",
1485
+ "label": "How many",
1486
+ "type": "integer"
1487
+ }
1488
+ ]
1489
+ }
1490
+ ]
1491
+ },
1492
+ {
1493
+ "slug": "downloads",
1494
+ "label": "Forms",
1495
+ "description": "Forms and instructions",
1496
+ "category": "Sections",
1497
+ "currentVersion": 1,
1498
+ "versions": [
1499
+ {
1500
+ "version": 1,
1501
+ "fields": [
1502
+ {
1503
+ "slug": "eyebrow",
1504
+ "label": "Small label above the headline",
1505
+ "type": "string"
1506
+ },
1507
+ {
1508
+ "slug": "headline",
1509
+ "label": "Headline",
1510
+ "type": "string"
1511
+ },
1512
+ {
1513
+ "slug": "body",
1514
+ "label": "Text",
1515
+ "type": "text"
1516
+ },
1517
+ {
1518
+ "slug": "group",
1519
+ "label": "Only this group",
1520
+ "type": "string"
1521
+ },
1522
+ {
1523
+ "slug": "service",
1524
+ "label": "Only this service (slug)",
1525
+ "type": "string"
1526
+ }
1527
+ ]
1528
+ }
1529
+ ]
1530
+ },
1531
+ {
1532
+ "slug": "policies",
1533
+ "label": "Policies",
1534
+ "description": "Policy text blocks",
1535
+ "category": "Sections",
1536
+ "currentVersion": 1,
1537
+ "versions": [
1538
+ {
1539
+ "version": 1,
1540
+ "fields": [
1541
+ {
1542
+ "slug": "body",
1543
+ "label": "Text",
1544
+ "type": "text"
1545
+ },
1546
+ {
1547
+ "slug": "eyebrow",
1548
+ "label": "Small label above the headline",
1549
+ "type": "string"
1550
+ },
1551
+ {
1552
+ "slug": "headline",
1553
+ "label": "Headline",
1554
+ "type": "string"
1555
+ },
1556
+ {
1557
+ "slug": "group",
1558
+ "label": "Only this group",
1559
+ "type": "string"
1560
+ }
1561
+ ]
1562
+ }
1563
+ ]
1564
+ },
1565
+ {
1566
+ "slug": "posts",
1567
+ "label": "Latest posts",
1568
+ "description": "Blog teasers",
1569
+ "category": "Sections",
1570
+ "currentVersion": 1,
1571
+ "versions": [
1572
+ {
1573
+ "version": 1,
1574
+ "fields": [
1575
+ {
1576
+ "slug": "body",
1577
+ "label": "Text",
1578
+ "type": "text"
1579
+ },
1580
+ {
1581
+ "slug": "eyebrow",
1582
+ "label": "Small label above the headline",
1583
+ "type": "string"
1584
+ },
1585
+ {
1586
+ "slug": "headline",
1587
+ "label": "Headline",
1588
+ "type": "string"
1589
+ },
1590
+ {
1591
+ "slug": "limit",
1592
+ "label": "How many",
1593
+ "type": "integer"
1594
+ },
1595
+ {
1596
+ "slug": "category",
1597
+ "label": "Only this category",
1598
+ "type": "string"
1599
+ },
1600
+ {
1601
+ "slug": "show_all",
1602
+ "label": "Show the All posts button",
1603
+ "type": "boolean"
1604
+ }
1605
+ ]
1606
+ }
1607
+ ]
1608
+ },
1609
+ {
1610
+ "slug": "locations",
1611
+ "label": "Locations",
1612
+ "description": "Cards for every location",
1613
+ "category": "Sections",
1614
+ "currentVersion": 1,
1615
+ "versions": [
1616
+ {
1617
+ "version": 1,
1618
+ "fields": [
1619
+ {
1620
+ "slug": "body",
1621
+ "label": "Text",
1622
+ "type": "text"
1623
+ },
1624
+ {
1625
+ "slug": "eyebrow",
1626
+ "label": "Small label above the headline",
1627
+ "type": "string"
1628
+ },
1629
+ {
1630
+ "slug": "headline",
1631
+ "label": "Headline",
1632
+ "type": "string"
1633
+ },
1634
+ {
1635
+ "slug": "show_hours",
1636
+ "label": "Show hours",
1637
+ "type": "boolean"
1638
+ },
1639
+ {
1640
+ "slug": "show_booking",
1641
+ "label": "Show booking buttons",
1642
+ "type": "boolean"
1643
+ }
1644
+ ]
1645
+ }
1646
+ ]
1647
+ },
1648
+ {
1649
+ "slug": "related",
1650
+ "label": "Related services",
1651
+ "description": "Other services in the same category",
1652
+ "category": "Sections",
1653
+ "currentVersion": 1,
1654
+ "versions": [
1655
+ {
1656
+ "version": 1,
1657
+ "fields": [
1658
+ {
1659
+ "slug": "headline",
1660
+ "label": "Headline",
1661
+ "type": "string"
1662
+ },
1663
+ {
1664
+ "slug": "limit",
1665
+ "label": "How many",
1666
+ "type": "integer"
1667
+ }
1668
+ ]
1669
+ }
1670
+ ]
1671
+ },
1672
+ {
1673
+ "slug": "custom",
1674
+ "label": "Custom section",
1675
+ "description": "Your own HTML, CSS and script in an isolated frame",
1676
+ "category": "Sections",
1677
+ "currentVersion": 1,
1678
+ "versions": [
1679
+ {
1680
+ "version": 1,
1681
+ "fields": [
1682
+ {
1683
+ "slug": "title",
1684
+ "label": "Title",
1685
+ "type": "string"
1686
+ },
1687
+ {
1688
+ "slug": "html",
1689
+ "label": "HTML",
1690
+ "type": "text"
1691
+ },
1692
+ {
1693
+ "slug": "css",
1694
+ "label": "CSS",
1695
+ "type": "text"
1696
+ },
1697
+ {
1698
+ "slug": "js",
1699
+ "label": "Script",
1700
+ "type": "text"
1701
+ },
1702
+ {
1703
+ "slug": "height",
1704
+ "label": "Height in pixels",
1705
+ "type": "integer"
1706
+ }
1707
+ ]
1708
+ }
1709
+ ]
1710
+ },
1711
+ {
1712
+ "slug": "areas",
1713
+ "label": "Service areas",
1714
+ "description": "Places served, from the service area records",
1715
+ "category": "Sections",
1716
+ "currentVersion": 1,
1717
+ "versions": [
1718
+ {
1719
+ "version": 1,
1720
+ "fields": [
1721
+ {
1722
+ "slug": "variant",
1723
+ "label": "Layout",
1724
+ "type": "select",
1725
+ "validation": {
1726
+ "options": [
1727
+ "link list",
1728
+ "cards",
1729
+ "grouped by region",
1730
+ "map"
1731
+ ]
1732
+ },
1733
+ "defaultValue": "link list"
1734
+ },
1735
+ {
1736
+ "slug": "eyebrow",
1737
+ "label": "Small label above the headline",
1738
+ "type": "string"
1739
+ },
1740
+ {
1741
+ "slug": "headline",
1742
+ "label": "Headline",
1743
+ "type": "string"
1744
+ },
1745
+ {
1746
+ "slug": "body",
1747
+ "label": "Text",
1748
+ "type": "text"
1749
+ },
1750
+ {
1751
+ "slug": "limit",
1752
+ "label": "How many",
1753
+ "type": "integer"
1754
+ },
1755
+ {
1756
+ "slug": "featured_only",
1757
+ "label": "Featured only",
1758
+ "type": "boolean"
1759
+ },
1760
+ {
1761
+ "slug": "show_all",
1762
+ "label": "Show the All areas button",
1763
+ "type": "boolean"
1764
+ }
1765
+ ]
1766
+ }
1767
+ ]
1768
+ },
1769
+ {
1770
+ "slug": "products",
1771
+ "label": "Products",
1772
+ "description": "Products from the product records",
1773
+ "category": "Sections",
1774
+ "currentVersion": 1,
1775
+ "versions": [
1776
+ {
1777
+ "version": 1,
1778
+ "fields": [
1779
+ {
1780
+ "slug": "variant",
1781
+ "label": "Layout",
1782
+ "type": "select",
1783
+ "validation": {
1784
+ "options": [
1785
+ "grid",
1786
+ "list",
1787
+ "featured"
1788
+ ]
1789
+ },
1790
+ "defaultValue": "grid"
1791
+ },
1792
+ {
1793
+ "slug": "eyebrow",
1794
+ "label": "Small label above the headline",
1795
+ "type": "string"
1796
+ },
1797
+ {
1798
+ "slug": "headline",
1799
+ "label": "Headline",
1800
+ "type": "string"
1801
+ },
1802
+ {
1803
+ "slug": "body",
1804
+ "label": "Text",
1805
+ "type": "text"
1806
+ },
1807
+ {
1808
+ "slug": "category",
1809
+ "label": "Only this category",
1810
+ "type": "string"
1811
+ },
1812
+ {
1813
+ "slug": "limit",
1814
+ "label": "How many",
1815
+ "type": "integer"
1816
+ },
1817
+ {
1818
+ "slug": "show_prices",
1819
+ "label": "Show prices",
1820
+ "type": "boolean"
1821
+ },
1822
+ {
1823
+ "slug": "show_store_button",
1824
+ "label": "Show the store button",
1825
+ "type": "boolean"
1826
+ }
1827
+ ]
1828
+ }
1829
+ ]
1830
+ },
1831
+ {
1832
+ "slug": "case_studies",
1833
+ "label": "Case studies",
1834
+ "description": "Case studies from the records",
1835
+ "category": "Sections",
1836
+ "currentVersion": 1,
1837
+ "versions": [
1838
+ {
1839
+ "version": 1,
1840
+ "fields": [
1841
+ {
1842
+ "slug": "variant",
1843
+ "label": "Layout",
1844
+ "type": "select",
1845
+ "validation": {
1846
+ "options": [
1847
+ "cards",
1848
+ "one featured",
1849
+ "results strip"
1850
+ ]
1851
+ },
1852
+ "defaultValue": "cards"
1853
+ },
1854
+ {
1855
+ "slug": "eyebrow",
1856
+ "label": "Small label above the headline",
1857
+ "type": "string"
1858
+ },
1859
+ {
1860
+ "slug": "headline",
1861
+ "label": "Headline",
1862
+ "type": "string"
1863
+ },
1864
+ {
1865
+ "slug": "body",
1866
+ "label": "Text",
1867
+ "type": "text"
1868
+ },
1869
+ {
1870
+ "slug": "service",
1871
+ "label": "Only this service (slug)",
1872
+ "type": "string"
1873
+ },
1874
+ {
1875
+ "slug": "limit",
1876
+ "label": "How many",
1877
+ "type": "integer"
1878
+ },
1879
+ {
1880
+ "slug": "show_results",
1881
+ "label": "Show the result numbers",
1882
+ "type": "boolean"
1883
+ }
1884
+ ]
1885
+ }
1886
+ ]
1887
+ },
1888
+ {
1889
+ "slug": "clients",
1890
+ "label": "Clients",
1891
+ "description": "Logo wall from the client records",
1892
+ "category": "Sections",
1893
+ "currentVersion": 1,
1894
+ "versions": [
1895
+ {
1896
+ "version": 1,
1897
+ "fields": [
1898
+ {
1899
+ "slug": "variant",
1900
+ "label": "Layout",
1901
+ "type": "select",
1902
+ "validation": {
1903
+ "options": [
1904
+ "logo wall",
1905
+ "logo strip",
1906
+ "with industries"
1907
+ ]
1908
+ },
1909
+ "defaultValue": "logo wall"
1910
+ },
1911
+ {
1912
+ "slug": "body",
1913
+ "label": "Text",
1914
+ "type": "text"
1915
+ },
1916
+ {
1917
+ "slug": "eyebrow",
1918
+ "label": "Small label above the headline",
1919
+ "type": "string"
1920
+ },
1921
+ {
1922
+ "slug": "headline",
1923
+ "label": "Headline",
1924
+ "type": "string"
1925
+ },
1926
+ {
1927
+ "slug": "limit",
1928
+ "label": "How many",
1929
+ "type": "integer"
1930
+ },
1931
+ {
1932
+ "slug": "featured_only",
1933
+ "label": "Featured only",
1934
+ "type": "boolean"
1935
+ }
1936
+ ]
1937
+ }
1938
+ ]
1939
+ },
1940
+ {
1941
+ "slug": "signs",
1942
+ "label": "Signs",
1943
+ "description": "Short titled notes in a grid: signs you need it, what to watch for",
1944
+ "category": "Sections",
1945
+ "currentVersion": 1,
1946
+ "versions": [
1947
+ {
1948
+ "version": 1,
1949
+ "fields": [
1950
+ {
1951
+ "slug": "body",
1952
+ "label": "Text",
1953
+ "type": "text"
1954
+ },
1955
+ {
1956
+ "slug": "eyebrow",
1957
+ "label": "Small label above the headline",
1958
+ "type": "string"
1959
+ },
1960
+ {
1961
+ "slug": "headline",
1962
+ "label": "Headline",
1963
+ "type": "string"
1964
+ },
1965
+ {
1966
+ "slug": "items",
1967
+ "label": "Items",
1968
+ "type": "repeater",
1969
+ "validation": {
1970
+ "subFields": [
1971
+ {
1972
+ "slug": "title",
1973
+ "label": "Title",
1974
+ "type": "string"
1975
+ },
1976
+ {
1977
+ "slug": "text",
1978
+ "label": "Text",
1979
+ "type": "text"
1980
+ },
1981
+ {
1982
+ "slug": "icon",
1983
+ "label": "Icon",
1984
+ "type": "string"
1985
+ }
1986
+ ]
1987
+ }
1988
+ }
1989
+ ]
1990
+ }
1991
+ ]
1992
+ },
1993
+ {
1994
+ "slug": "options",
1995
+ "label": "Options",
1996
+ "description": "Two or three choices side by side",
1997
+ "category": "Sections",
1998
+ "currentVersion": 1,
1999
+ "versions": [
2000
+ {
2001
+ "version": 1,
2002
+ "fields": [
2003
+ {
2004
+ "slug": "body",
2005
+ "label": "Text",
2006
+ "type": "text"
2007
+ },
2008
+ {
2009
+ "slug": "eyebrow",
2010
+ "label": "Small label above the headline",
2011
+ "type": "string"
2012
+ },
2013
+ {
2014
+ "slug": "headline",
2015
+ "label": "Headline",
2016
+ "type": "string"
2017
+ },
2018
+ {
2019
+ "slug": "items",
2020
+ "label": "Options",
2021
+ "type": "repeater",
2022
+ "validation": {
2023
+ "subFields": [
2024
+ {
2025
+ "slug": "tag",
2026
+ "label": "Tag",
2027
+ "type": "string"
2028
+ },
2029
+ {
2030
+ "slug": "title",
2031
+ "label": "Name",
2032
+ "type": "string"
2033
+ },
2034
+ {
2035
+ "slug": "summary",
2036
+ "label": "Summary",
2037
+ "type": "text"
2038
+ },
2039
+ {
2040
+ "slug": "facts",
2041
+ "label": "Facts, one per line as Label: value",
2042
+ "type": "text"
2043
+ },
2044
+ {
2045
+ "slug": "price",
2046
+ "label": "Price",
2047
+ "type": "string"
2048
+ },
2049
+ {
2050
+ "slug": "price_note",
2051
+ "label": "Price note",
2052
+ "type": "string"
2053
+ },
2054
+ {
2055
+ "slug": "button_label",
2056
+ "label": "Button",
2057
+ "type": "string"
2058
+ },
2059
+ {
2060
+ "slug": "button_url",
2061
+ "label": "Button link",
2062
+ "type": "string"
2063
+ },
2064
+ {
2065
+ "slug": "featured",
2066
+ "label": "Featured",
2067
+ "type": "boolean"
2068
+ }
2069
+ ]
2070
+ }
2071
+ }
2072
+ ]
2073
+ }
2074
+ ]
2075
+ }
2076
+ ],
2077
+ "collections": [
2078
+ {
2079
+ "slug": "business",
2080
+ "label": "Business",
2081
+ "labelSingular": "Business",
2082
+ "supports": [
2083
+ "revisions"
2084
+ ],
2085
+ "fields": [
2086
+ {
2087
+ "slug": "title",
2088
+ "label": "Business name",
2089
+ "type": "string",
2090
+ "required": true
2091
+ },
2092
+ {
2093
+ "slug": "tagline",
2094
+ "label": "Tagline",
2095
+ "type": "string"
2096
+ },
2097
+ {
2098
+ "slug": "phone",
2099
+ "label": "Phone",
2100
+ "type": "string"
2101
+ },
2102
+ {
2103
+ "slug": "phone_text",
2104
+ "label": "Text number",
2105
+ "type": "string"
2106
+ },
2107
+ {
2108
+ "slug": "phone_label",
2109
+ "label": "What the second number is for",
2110
+ "type": "string"
2111
+ },
2112
+ {
2113
+ "slug": "fax",
2114
+ "label": "Fax",
2115
+ "type": "string"
2116
+ },
2117
+ {
2118
+ "slug": "email",
2119
+ "label": "Email",
2120
+ "type": "string"
2121
+ },
2122
+ {
2123
+ "slug": "address",
2124
+ "label": "Street address",
2125
+ "type": "string"
2126
+ },
2127
+ {
2128
+ "slug": "city",
2129
+ "label": "City",
2130
+ "type": "string"
2131
+ },
2132
+ {
2133
+ "slug": "region",
2134
+ "label": "Province or state",
2135
+ "type": "string"
2136
+ },
2137
+ {
2138
+ "slug": "postal",
2139
+ "label": "Postal code",
2140
+ "type": "string"
2141
+ },
2142
+ {
2143
+ "slug": "country",
2144
+ "label": "Country",
2145
+ "type": "string"
2146
+ },
2147
+ {
2148
+ "slug": "hours",
2149
+ "label": "Hours, one line",
2150
+ "type": "string"
2151
+ },
2152
+ {
2153
+ "slug": "hours_note",
2154
+ "label": "Hours note (holidays, staffing)",
2155
+ "type": "string"
2156
+ },
2157
+ {
2158
+ "slug": "founded_year",
2159
+ "label": "Founded year",
2160
+ "type": "string"
2161
+ },
2162
+ {
2163
+ "slug": "years_line",
2164
+ "label": "Years in business, as the business says it",
2165
+ "type": "string"
2166
+ },
2167
+ {
2168
+ "slug": "rating",
2169
+ "label": "Rating",
2170
+ "type": "string"
2171
+ },
2172
+ {
2173
+ "slug": "review_count",
2174
+ "label": "Review count",
2175
+ "type": "string"
2176
+ },
2177
+ {
2178
+ "slug": "rating_source",
2179
+ "label": "Rating source",
2180
+ "type": "string"
2181
+ },
2182
+ {
2183
+ "slug": "reviews_url",
2184
+ "label": "Where to read or leave a review",
2185
+ "type": "string"
2186
+ },
2187
+ {
2188
+ "slug": "booking_url",
2189
+ "label": "Online booking link",
2190
+ "type": "string"
2191
+ },
2192
+ {
2193
+ "slug": "booking_label",
2194
+ "label": "Booking button label",
2195
+ "type": "string"
2196
+ },
2197
+ {
2198
+ "slug": "portal_url",
2199
+ "label": "Patient or client portal link",
2200
+ "type": "string"
2201
+ },
2202
+ {
2203
+ "slug": "forms_url",
2204
+ "label": "Forms link",
2205
+ "type": "string"
2206
+ },
2207
+ {
2208
+ "slug": "store_url",
2209
+ "label": "Online store link",
2210
+ "type": "string"
2211
+ },
2212
+ {
2213
+ "slug": "store_label",
2214
+ "label": "Store button label",
2215
+ "type": "string"
2216
+ },
2217
+ {
2218
+ "slug": "languages",
2219
+ "label": "Languages spoken",
2220
+ "type": "string"
2221
+ },
2222
+ {
2223
+ "slug": "new_patients_line",
2224
+ "label": "New patients line",
2225
+ "type": "string"
2226
+ },
2227
+ {
2228
+ "slug": "neighbourhoods",
2229
+ "label": "Neighbourhoods or communities served",
2230
+ "type": "string"
2231
+ },
2232
+ {
2233
+ "slug": "is_service_area_business",
2234
+ "label": "Serves customers at their location (no walk-in address)",
2235
+ "type": "boolean"
2236
+ },
2237
+ {
2238
+ "slug": "hide_address",
2239
+ "label": "Keep the street address off the site",
2240
+ "type": "boolean"
2241
+ },
2242
+ {
2243
+ "slug": "service_area_line",
2244
+ "label": "Service area, one line",
2245
+ "type": "string"
2246
+ },
2247
+ {
2248
+ "slug": "same_day_line",
2249
+ "label": "Same-day or emergency line",
2250
+ "type": "string"
2251
+ },
2252
+ {
2253
+ "slug": "insurance_line",
2254
+ "label": "Insurance, one line",
2255
+ "type": "string"
2256
+ },
2257
+ {
2258
+ "slug": "government_programs",
2259
+ "label": "Government programs accepted",
2260
+ "type": "string"
2261
+ },
2262
+ {
2263
+ "slug": "hsa_fsa_line",
2264
+ "label": "HSA / FSA line",
2265
+ "type": "string"
2266
+ },
2267
+ {
2268
+ "slug": "license_line",
2269
+ "label": "Licence or registration line",
2270
+ "type": "string"
2271
+ },
2272
+ {
2273
+ "slug": "insured_line",
2274
+ "label": "Insured and bonded line",
2275
+ "type": "string"
2276
+ },
2277
+ {
2278
+ "slug": "warranty_line",
2279
+ "label": "Guarantee or warranty line",
2280
+ "type": "string"
2281
+ },
2282
+ {
2283
+ "slug": "accessibility_line",
2284
+ "label": "Accessibility note",
2285
+ "type": "string"
2286
+ },
2287
+ {
2288
+ "slug": "parking_line",
2289
+ "label": "Parking",
2290
+ "type": "string"
2291
+ },
2292
+ {
2293
+ "slug": "directions_line",
2294
+ "label": "How to find us",
2295
+ "type": "string"
2296
+ },
2297
+ {
2298
+ "slug": "emergency_line",
2299
+ "label": "Emergency or same-day line",
2300
+ "type": "string"
2301
+ },
2302
+ {
2303
+ "slug": "cta_label",
2304
+ "label": "Main call to action label",
2305
+ "type": "string"
2306
+ },
2307
+ {
2308
+ "slug": "facebook",
2309
+ "label": "Facebook",
2310
+ "type": "string"
2311
+ },
2312
+ {
2313
+ "slug": "instagram",
2314
+ "label": "Instagram",
2315
+ "type": "string"
2316
+ },
2317
+ {
2318
+ "slug": "google",
2319
+ "label": "Google profile",
2320
+ "type": "string"
2321
+ },
2322
+ {
2323
+ "slug": "youtube",
2324
+ "label": "YouTube",
2325
+ "type": "string"
2326
+ },
2327
+ {
2328
+ "slug": "linkedin",
2329
+ "label": "LinkedIn",
2330
+ "type": "string"
2331
+ },
2332
+ {
2333
+ "slug": "tiktok",
2334
+ "label": "TikTok",
2335
+ "type": "string"
2336
+ },
2337
+ {
2338
+ "slug": "yelp",
2339
+ "label": "Yelp",
2340
+ "type": "string"
2341
+ },
2342
+ {
2343
+ "slug": "brand_primary",
2344
+ "label": "Brand colour",
2345
+ "type": "string"
2346
+ },
2347
+ {
2348
+ "slug": "brand_accent",
2349
+ "label": "Accent colour",
2350
+ "type": "string"
2351
+ },
2352
+ {
2353
+ "slug": "font_display",
2354
+ "label": "Display font",
2355
+ "type": "string"
2356
+ },
2357
+ {
2358
+ "slug": "font_body",
2359
+ "label": "Body font",
2360
+ "type": "string"
2361
+ },
2362
+ {
2363
+ "slug": "logo",
2364
+ "label": "Logo",
2365
+ "type": "image"
2366
+ },
2367
+ {
2368
+ "slug": "logo_dark",
2369
+ "label": "Logo on dark",
2370
+ "type": "image"
2371
+ },
2372
+ {
2373
+ "slug": "favicon",
2374
+ "label": "Favicon",
2375
+ "type": "image"
2376
+ },
2377
+ {
2378
+ "slug": "ga4_id",
2379
+ "label": "GA4 measurement id",
2380
+ "type": "string"
2381
+ },
2382
+ {
2383
+ "slug": "gtm_id",
2384
+ "label": "Tag Manager id",
2385
+ "type": "string"
2386
+ },
2387
+ {
2388
+ "slug": "custom_css",
2389
+ "label": "Custom CSS",
2390
+ "type": "text"
2391
+ }
2392
+ ]
2393
+ },
2394
+ {
2395
+ "slug": "locations",
2396
+ "label": "Locations",
2397
+ "labelSingular": "Location",
2398
+ "supports": [
2399
+ "drafts",
2400
+ "revisions"
2401
+ ],
2402
+ "fields": [
2403
+ {
2404
+ "slug": "title",
2405
+ "label": "Location name",
2406
+ "type": "string",
2407
+ "required": true
2408
+ },
2409
+ {
2410
+ "slug": "address",
2411
+ "label": "Street address",
2412
+ "type": "string"
2413
+ },
2414
+ {
2415
+ "slug": "city",
2416
+ "label": "City",
2417
+ "type": "string"
2418
+ },
2419
+ {
2420
+ "slug": "region",
2421
+ "label": "Province or state",
2422
+ "type": "string"
2423
+ },
2424
+ {
2425
+ "slug": "postal",
2426
+ "label": "Postal code",
2427
+ "type": "string"
2428
+ },
2429
+ {
2430
+ "slug": "phone",
2431
+ "label": "Phone",
2432
+ "type": "string"
2433
+ },
2434
+ {
2435
+ "slug": "phone_text",
2436
+ "label": "Text number",
2437
+ "type": "string"
2438
+ },
2439
+ {
2440
+ "slug": "email",
2441
+ "label": "Email",
2442
+ "type": "string"
2443
+ },
2444
+ {
2445
+ "slug": "hours_mon",
2446
+ "label": "Monday",
2447
+ "type": "string"
2448
+ },
2449
+ {
2450
+ "slug": "hours_tue",
2451
+ "label": "Tuesday",
2452
+ "type": "string"
2453
+ },
2454
+ {
2455
+ "slug": "hours_wed",
2456
+ "label": "Wednesday",
2457
+ "type": "string"
2458
+ },
2459
+ {
2460
+ "slug": "hours_thu",
2461
+ "label": "Thursday",
2462
+ "type": "string"
2463
+ },
2464
+ {
2465
+ "slug": "hours_fri",
2466
+ "label": "Friday",
2467
+ "type": "string"
2468
+ },
2469
+ {
2470
+ "slug": "hours_sat",
2471
+ "label": "Saturday",
2472
+ "type": "string"
2473
+ },
2474
+ {
2475
+ "slug": "hours_sun",
2476
+ "label": "Sunday",
2477
+ "type": "string"
2478
+ },
2479
+ {
2480
+ "slug": "hours_note",
2481
+ "label": "Hours note",
2482
+ "type": "string"
2483
+ },
2484
+ {
2485
+ "slug": "parking_line",
2486
+ "label": "Parking",
2487
+ "type": "string"
2488
+ },
2489
+ {
2490
+ "slug": "directions_line",
2491
+ "label": "How to find us",
2492
+ "type": "string"
2493
+ },
2494
+ {
2495
+ "slug": "transit_line",
2496
+ "label": "Transit",
2497
+ "type": "string"
2498
+ },
2499
+ {
2500
+ "slug": "map_url",
2501
+ "label": "Map link",
2502
+ "type": "string"
2503
+ },
2504
+ {
2505
+ "slug": "booking_url",
2506
+ "label": "Booking link for this location",
2507
+ "type": "string"
2508
+ },
2509
+ {
2510
+ "slug": "photo",
2511
+ "label": "Photo",
2512
+ "type": "image"
2513
+ },
2514
+ {
2515
+ "slug": "is_primary",
2516
+ "label": "Main location",
2517
+ "type": "boolean"
2518
+ },
2519
+ {
2520
+ "slug": "sort",
2521
+ "label": "Order",
2522
+ "type": "integer"
2523
+ }
2524
+ ]
2525
+ },
2526
+ {
2527
+ "slug": "pages",
2528
+ "label": "Pages",
2529
+ "labelSingular": "Page",
2530
+ "supports": [
2531
+ "drafts",
2532
+ "revisions"
2533
+ ],
2534
+ "fields": [
2535
+ {
2536
+ "slug": "title",
2537
+ "label": "Title",
2538
+ "type": "string",
2539
+ "required": true
2540
+ },
2541
+ {
2542
+ "slug": "layout",
2543
+ "label": "Layout",
2544
+ "type": "string"
2545
+ },
2546
+ {
2547
+ "slug": "hero_image",
2548
+ "label": "Hero image",
2549
+ "type": "image"
2550
+ },
2551
+ {
2552
+ "slug": "sections",
2553
+ "label": "Sections",
2554
+ "type": "blocks",
2555
+ "validation": {
2556
+ "allowedTypes": [
2557
+ "hero",
2558
+ "intro",
2559
+ "services",
2560
+ "feature",
2561
+ "steps",
2562
+ "team",
2563
+ "reviews",
2564
+ "cases",
2565
+ "faq",
2566
+ "stats",
2567
+ "badges",
2568
+ "insurance",
2569
+ "financing",
2570
+ "plans",
2571
+ "contact",
2572
+ "location",
2573
+ "cta",
2574
+ "gallery",
2575
+ "video",
2576
+ "technologies",
2577
+ "brands",
2578
+ "offer",
2579
+ "conditions",
2580
+ "downloads",
2581
+ "policies",
2582
+ "posts",
2583
+ "locations",
2584
+ "related",
2585
+ "custom",
2586
+ "areas",
2587
+ "products",
2588
+ "case_studies",
2589
+ "clients",
2590
+ "signs",
2591
+ "options"
2592
+ ],
2593
+ "maxItems": 40
2594
+ }
2595
+ },
2596
+ {
2597
+ "slug": "content",
2598
+ "label": "Content",
2599
+ "type": "portableText"
2600
+ },
2601
+ {
2602
+ "slug": "meta_title",
2603
+ "label": "Meta title",
2604
+ "type": "string"
2605
+ },
2606
+ {
2607
+ "slug": "meta_description",
2608
+ "label": "Meta description",
2609
+ "type": "text"
2610
+ },
2611
+ {
2612
+ "slug": "custom_css",
2613
+ "label": "Custom CSS",
2614
+ "type": "text"
2615
+ }
2616
+ ]
2617
+ },
2618
+ {
2619
+ "slug": "service_categories",
2620
+ "label": "Service categories",
2621
+ "labelSingular": "Service category",
2622
+ "supports": [
2623
+ "drafts",
2624
+ "revisions"
2625
+ ],
2626
+ "fields": [
2627
+ {
2628
+ "slug": "title",
2629
+ "label": "Name",
2630
+ "type": "string",
2631
+ "required": true
2632
+ },
2633
+ {
2634
+ "slug": "summary",
2635
+ "label": "Summary",
2636
+ "type": "text"
2637
+ },
2638
+ {
2639
+ "slug": "icon",
2640
+ "label": "Icon",
2641
+ "type": "string"
2642
+ },
2643
+ {
2644
+ "slug": "featured_image",
2645
+ "label": "Image",
2646
+ "type": "image"
2647
+ },
2648
+ {
2649
+ "slug": "sections",
2650
+ "label": "Sections",
2651
+ "type": "blocks",
2652
+ "validation": {
2653
+ "allowedTypes": [
2654
+ "hero",
2655
+ "intro",
2656
+ "services",
2657
+ "feature",
2658
+ "steps",
2659
+ "team",
2660
+ "reviews",
2661
+ "cases",
2662
+ "faq",
2663
+ "stats",
2664
+ "badges",
2665
+ "insurance",
2666
+ "financing",
2667
+ "plans",
2668
+ "contact",
2669
+ "location",
2670
+ "cta",
2671
+ "gallery",
2672
+ "video",
2673
+ "technologies",
2674
+ "brands",
2675
+ "offer",
2676
+ "conditions",
2677
+ "downloads",
2678
+ "policies",
2679
+ "posts",
2680
+ "locations",
2681
+ "related",
2682
+ "custom",
2683
+ "areas",
2684
+ "products",
2685
+ "case_studies",
2686
+ "clients",
2687
+ "signs",
2688
+ "options"
2689
+ ],
2690
+ "maxItems": 40
2691
+ }
2692
+ },
2693
+ {
2694
+ "slug": "sort",
2695
+ "label": "Order",
2696
+ "type": "integer"
2697
+ }
2698
+ ]
2699
+ },
2700
+ {
2701
+ "slug": "services",
2702
+ "label": "Services",
2703
+ "labelSingular": "Service",
2704
+ "supports": [
2705
+ "drafts",
2706
+ "revisions"
2707
+ ],
2708
+ "fields": [
2709
+ {
2710
+ "slug": "title",
2711
+ "label": "Name",
2712
+ "type": "string",
2713
+ "required": true
2714
+ },
2715
+ {
2716
+ "slug": "category",
2717
+ "label": "Category",
2718
+ "type": "reference"
2719
+ },
2720
+ {
2721
+ "slug": "summary",
2722
+ "label": "Summary",
2723
+ "type": "text"
2724
+ },
2725
+ {
2726
+ "slug": "icon",
2727
+ "label": "Icon",
2728
+ "type": "string"
2729
+ },
2730
+ {
2731
+ "slug": "featured_image",
2732
+ "label": "Featured image",
2733
+ "type": "image"
2734
+ },
2735
+ {
2736
+ "slug": "headline",
2737
+ "label": "Page headline",
2738
+ "type": "string"
2739
+ },
2740
+ {
2741
+ "slug": "tagline",
2742
+ "label": "Tagline",
2743
+ "type": "string"
2744
+ },
2745
+ {
2746
+ "slug": "cta_label",
2747
+ "label": "Call to action label",
2748
+ "type": "string"
2749
+ },
2750
+ {
2751
+ "slug": "cta_kind",
2752
+ "label": "Call to action kind (book, call, consult, form)",
2753
+ "type": "string"
2754
+ },
2755
+ {
2756
+ "slug": "price_from",
2757
+ "label": "Price from",
2758
+ "type": "string"
2759
+ },
2760
+ {
2761
+ "slug": "duration",
2762
+ "label": "Typical visit length",
2763
+ "type": "string"
2764
+ },
2765
+ {
2766
+ "slug": "free_consult",
2767
+ "label": "Free consultation offered",
2768
+ "type": "boolean"
2769
+ },
2770
+ {
2771
+ "slug": "featured",
2772
+ "label": "Featured",
2773
+ "type": "boolean"
2774
+ },
2775
+ {
2776
+ "slug": "active_now",
2777
+ "label": "In season or active right now",
2778
+ "type": "boolean"
2779
+ },
2780
+ {
2781
+ "slug": "sort",
2782
+ "label": "Order",
2783
+ "type": "integer"
2784
+ },
2785
+ {
2786
+ "slug": "sections",
2787
+ "label": "Sections",
2788
+ "type": "blocks",
2789
+ "validation": {
2790
+ "allowedTypes": [
2791
+ "hero",
2792
+ "intro",
2793
+ "services",
2794
+ "feature",
2795
+ "steps",
2796
+ "team",
2797
+ "reviews",
2798
+ "cases",
2799
+ "faq",
2800
+ "stats",
2801
+ "badges",
2802
+ "insurance",
2803
+ "financing",
2804
+ "plans",
2805
+ "contact",
2806
+ "location",
2807
+ "cta",
2808
+ "gallery",
2809
+ "video",
2810
+ "technologies",
2811
+ "brands",
2812
+ "offer",
2813
+ "conditions",
2814
+ "downloads",
2815
+ "policies",
2816
+ "posts",
2817
+ "locations",
2818
+ "related",
2819
+ "custom",
2820
+ "areas",
2821
+ "products",
2822
+ "case_studies",
2823
+ "clients",
2824
+ "signs",
2825
+ "options"
2826
+ ],
2827
+ "maxItems": 40
2828
+ }
2829
+ },
2830
+ {
2831
+ "slug": "content",
2832
+ "label": "Content",
2833
+ "type": "portableText"
2834
+ },
2835
+ {
2836
+ "slug": "meta_title",
2837
+ "label": "Meta title",
2838
+ "type": "string"
2839
+ },
2840
+ {
2841
+ "slug": "meta_description",
2842
+ "label": "Meta description",
2843
+ "type": "text"
2844
+ },
2845
+ {
2846
+ "slug": "custom_css",
2847
+ "label": "Custom CSS",
2848
+ "type": "text"
2849
+ }
2850
+ ]
2851
+ },
2852
+ {
2853
+ "slug": "service_areas",
2854
+ "label": "Service areas",
2855
+ "labelSingular": "Service area",
2856
+ "supports": [
2857
+ "drafts",
2858
+ "revisions"
2859
+ ],
2860
+ "fields": [
2861
+ {
2862
+ "slug": "title",
2863
+ "label": "Place",
2864
+ "type": "string",
2865
+ "required": true
2866
+ },
2867
+ {
2868
+ "slug": "summary",
2869
+ "label": "Summary",
2870
+ "type": "text"
2871
+ },
2872
+ {
2873
+ "slug": "featured_image",
2874
+ "label": "Image",
2875
+ "type": "image"
2876
+ },
2877
+ {
2878
+ "slug": "headline",
2879
+ "label": "Page headline",
2880
+ "type": "string"
2881
+ },
2882
+ {
2883
+ "slug": "intro",
2884
+ "label": "Intro",
2885
+ "type": "text"
2886
+ },
2887
+ {
2888
+ "slug": "neighbourhoods",
2889
+ "label": "Neighbourhoods, one per line",
2890
+ "type": "text"
2891
+ },
2892
+ {
2893
+ "slug": "region",
2894
+ "label": "Province or state",
2895
+ "type": "string"
2896
+ },
2897
+ {
2898
+ "slug": "lat",
2899
+ "label": "Latitude",
2900
+ "type": "number"
2901
+ },
2902
+ {
2903
+ "slug": "lng",
2904
+ "label": "Longitude",
2905
+ "type": "number"
2906
+ },
2907
+ {
2908
+ "slug": "distance_line",
2909
+ "label": "Distance or drive time from the business",
2910
+ "type": "string"
2911
+ },
2912
+ {
2913
+ "slug": "is_home_base",
2914
+ "label": "Home base",
2915
+ "type": "boolean"
2916
+ },
2917
+ {
2918
+ "slug": "featured",
2919
+ "label": "Featured",
2920
+ "type": "boolean"
2921
+ },
2922
+ {
2923
+ "slug": "sort",
2924
+ "label": "Order",
2925
+ "type": "integer"
2926
+ },
2927
+ {
2928
+ "slug": "sections",
2929
+ "label": "Sections",
2930
+ "type": "blocks",
2931
+ "validation": {
2932
+ "allowedTypes": [
2933
+ "hero",
2934
+ "intro",
2935
+ "services",
2936
+ "feature",
2937
+ "steps",
2938
+ "team",
2939
+ "reviews",
2940
+ "cases",
2941
+ "faq",
2942
+ "stats",
2943
+ "badges",
2944
+ "insurance",
2945
+ "financing",
2946
+ "plans",
2947
+ "contact",
2948
+ "location",
2949
+ "cta",
2950
+ "gallery",
2951
+ "video",
2952
+ "technologies",
2953
+ "brands",
2954
+ "offer",
2955
+ "conditions",
2956
+ "downloads",
2957
+ "policies",
2958
+ "posts",
2959
+ "locations",
2960
+ "related",
2961
+ "custom",
2962
+ "areas",
2963
+ "products",
2964
+ "case_studies",
2965
+ "clients",
2966
+ "signs",
2967
+ "options"
2968
+ ],
2969
+ "maxItems": 40
2970
+ }
2971
+ },
2972
+ {
2973
+ "slug": "content",
2974
+ "label": "Content",
2975
+ "type": "portableText"
2976
+ },
2977
+ {
2978
+ "slug": "meta_title",
2979
+ "label": "Meta title",
2980
+ "type": "string"
2981
+ },
2982
+ {
2983
+ "slug": "meta_description",
2984
+ "label": "Meta description",
2985
+ "type": "text"
2986
+ }
2987
+ ]
2988
+ },
2989
+ {
2990
+ "slug": "conditions",
2991
+ "label": "Conditions and symptoms",
2992
+ "labelSingular": "Condition",
2993
+ "supports": [
2994
+ "drafts",
2995
+ "revisions"
2996
+ ],
2997
+ "fields": [
2998
+ {
2999
+ "slug": "title",
3000
+ "label": "Name",
3001
+ "type": "string",
3002
+ "required": true
3003
+ },
3004
+ {
3005
+ "slug": "summary",
3006
+ "label": "Summary",
3007
+ "type": "text"
3008
+ },
3009
+ {
3010
+ "slug": "service",
3011
+ "label": "Service that treats it",
3012
+ "type": "reference"
3013
+ },
3014
+ {
3015
+ "slug": "content",
3016
+ "label": "Content",
3017
+ "type": "portableText"
3018
+ },
3019
+ {
3020
+ "slug": "sort",
3021
+ "label": "Order",
3022
+ "type": "integer"
3023
+ }
3024
+ ]
3025
+ },
3026
+ {
3027
+ "slug": "people",
3028
+ "label": "People",
3029
+ "labelSingular": "Person",
3030
+ "supports": [
3031
+ "drafts",
3032
+ "revisions"
3033
+ ],
3034
+ "fields": [
3035
+ {
3036
+ "slug": "title",
3037
+ "label": "Name",
3038
+ "type": "string",
3039
+ "required": true
3040
+ },
3041
+ {
3042
+ "slug": "display_name",
3043
+ "label": "How the name shows (first name only, with credentials)",
3044
+ "type": "string"
3045
+ },
3046
+ {
3047
+ "slug": "role",
3048
+ "label": "Role",
3049
+ "type": "string"
3050
+ },
3051
+ {
3052
+ "slug": "group",
3053
+ "label": "Group or department",
3054
+ "type": "string"
3055
+ },
3056
+ {
3057
+ "slug": "credentials",
3058
+ "label": "Credentials",
3059
+ "type": "string"
3060
+ },
3061
+ {
3062
+ "slug": "license",
3063
+ "label": "Licence or registration number",
3064
+ "type": "string"
3065
+ },
3066
+ {
3067
+ "slug": "photo",
3068
+ "label": "Photo",
3069
+ "type": "image"
3070
+ },
3071
+ {
3072
+ "slug": "bio",
3073
+ "label": "Short bio",
3074
+ "type": "text"
3075
+ },
3076
+ {
3077
+ "slug": "content",
3078
+ "label": "Full bio",
3079
+ "type": "portableText"
3080
+ },
3081
+ {
3082
+ "slug": "education",
3083
+ "label": "Education",
3084
+ "type": "text"
3085
+ },
3086
+ {
3087
+ "slug": "memberships",
3088
+ "label": "Memberships and certifications",
3089
+ "type": "text"
3090
+ },
3091
+ {
3092
+ "slug": "awards",
3093
+ "label": "Awards",
3094
+ "type": "text"
3095
+ },
3096
+ {
3097
+ "slug": "languages",
3098
+ "label": "Languages",
3099
+ "type": "string"
3100
+ },
3101
+ {
3102
+ "slug": "pronouns",
3103
+ "label": "Pronouns",
3104
+ "type": "string"
3105
+ },
3106
+ {
3107
+ "slug": "video_url",
3108
+ "label": "Video",
3109
+ "type": "string"
3110
+ },
3111
+ {
3112
+ "slug": "start_year",
3113
+ "label": "With the practice since",
3114
+ "type": "string"
3115
+ },
3116
+ {
3117
+ "slug": "status_note",
3118
+ "label": "Status note",
3119
+ "type": "string"
3120
+ },
3121
+ {
3122
+ "slug": "personal",
3123
+ "label": "Outside the office",
3124
+ "type": "text"
3125
+ },
3126
+ {
3127
+ "slug": "social_url",
3128
+ "label": "Social link",
3129
+ "type": "string"
3130
+ },
3131
+ {
3132
+ "slug": "is_owner",
3133
+ "label": "Owner or founder",
3134
+ "type": "boolean"
3135
+ },
3136
+ {
3137
+ "slug": "has_profile",
3138
+ "label": "Has their own page",
3139
+ "type": "boolean"
3140
+ },
3141
+ {
3142
+ "slug": "sort",
3143
+ "label": "Order",
3144
+ "type": "integer"
3145
+ }
3146
+ ]
3147
+ },
3148
+ {
3149
+ "slug": "reviews",
3150
+ "label": "Reviews",
3151
+ "labelSingular": "Review",
3152
+ "supports": [
3153
+ "drafts",
3154
+ "revisions"
3155
+ ],
3156
+ "fields": [
3157
+ {
3158
+ "slug": "title",
3159
+ "label": "Reviewer",
3160
+ "type": "string",
3161
+ "required": true
3162
+ },
3163
+ {
3164
+ "slug": "display_name",
3165
+ "label": "How the name shows",
3166
+ "type": "string"
3167
+ },
3168
+ {
3169
+ "slug": "quote",
3170
+ "label": "Quote",
3171
+ "type": "text",
3172
+ "required": true,
3173
+ "searchable": true
3174
+ },
3175
+ {
3176
+ "slug": "rating",
3177
+ "label": "Rating",
3178
+ "type": "integer"
3179
+ },
3180
+ {
3181
+ "slug": "date",
3182
+ "label": "Date",
3183
+ "type": "datetime"
3184
+ },
3185
+ {
3186
+ "slug": "source",
3187
+ "label": "Source",
3188
+ "type": "string"
3189
+ },
3190
+ {
3191
+ "slug": "source_url",
3192
+ "label": "Link to the review",
3193
+ "type": "string"
3194
+ },
3195
+ {
3196
+ "slug": "photo",
3197
+ "label": "Reviewer photo",
3198
+ "type": "image"
3199
+ },
3200
+ {
3201
+ "slug": "service",
3202
+ "label": "Service",
3203
+ "type": "reference"
3204
+ },
3205
+ {
3206
+ "slug": "service_area",
3207
+ "label": "Service area",
3208
+ "type": "reference"
3209
+ },
3210
+ {
3211
+ "slug": "person",
3212
+ "label": "Provider named",
3213
+ "type": "reference"
3214
+ },
3215
+ {
3216
+ "slug": "video_url",
3217
+ "label": "Video testimonial",
3218
+ "type": "string"
3219
+ },
3220
+ {
3221
+ "slug": "featured",
3222
+ "label": "Featured",
3223
+ "type": "boolean"
3224
+ },
3225
+ {
3226
+ "slug": "sort",
3227
+ "label": "Order",
3228
+ "type": "integer"
3229
+ }
3230
+ ]
3231
+ },
3232
+ {
3233
+ "slug": "cases",
3234
+ "label": "Results",
3235
+ "labelSingular": "Case",
3236
+ "supports": [
3237
+ "drafts",
3238
+ "revisions"
3239
+ ],
3240
+ "fields": [
3241
+ {
3242
+ "slug": "title",
3243
+ "label": "Case title",
3244
+ "type": "string",
3245
+ "required": true
3246
+ },
3247
+ {
3248
+ "slug": "service",
3249
+ "label": "Service",
3250
+ "type": "reference"
3251
+ },
3252
+ {
3253
+ "slug": "service_area",
3254
+ "label": "Service area",
3255
+ "type": "reference"
3256
+ },
3257
+ {
3258
+ "slug": "category",
3259
+ "label": "Category",
3260
+ "type": "string"
3261
+ },
3262
+ {
3263
+ "slug": "patient_name",
3264
+ "label": "Patient first name",
3265
+ "type": "string"
3266
+ },
3267
+ {
3268
+ "slug": "problem",
3269
+ "label": "What they came in with",
3270
+ "type": "text"
3271
+ },
3272
+ {
3273
+ "slug": "treatment",
3274
+ "label": "What we did",
3275
+ "type": "text"
3276
+ },
3277
+ {
3278
+ "slug": "story",
3279
+ "label": "Story",
3280
+ "type": "text"
3281
+ },
3282
+ {
3283
+ "slug": "before",
3284
+ "label": "Before",
3285
+ "type": "image"
3286
+ },
3287
+ {
3288
+ "slug": "after",
3289
+ "label": "After",
3290
+ "type": "image"
3291
+ },
3292
+ {
3293
+ "slug": "featured",
3294
+ "label": "Featured",
3295
+ "type": "boolean"
3296
+ },
3297
+ {
3298
+ "slug": "sort",
3299
+ "label": "Order",
3300
+ "type": "integer"
3301
+ }
3302
+ ]
3303
+ },
3304
+ {
3305
+ "slug": "faqs",
3306
+ "label": "FAQs",
3307
+ "labelSingular": "FAQ",
3308
+ "supports": [
3309
+ "drafts",
3310
+ "revisions"
3311
+ ],
3312
+ "fields": [
3313
+ {
3314
+ "slug": "title",
3315
+ "label": "Question",
3316
+ "type": "string",
3317
+ "required": true
3318
+ },
3319
+ {
3320
+ "slug": "answer",
3321
+ "label": "Answer",
3322
+ "type": "text",
3323
+ "required": true
3324
+ },
3325
+ {
3326
+ "slug": "group",
3327
+ "label": "Group",
3328
+ "type": "string"
3329
+ },
3330
+ {
3331
+ "slug": "service",
3332
+ "label": "Service",
3333
+ "type": "reference"
3334
+ },
3335
+ {
3336
+ "slug": "person",
3337
+ "label": "Answered by",
3338
+ "type": "reference"
3339
+ },
3340
+ {
3341
+ "slug": "sort",
3342
+ "label": "Order",
3343
+ "type": "integer"
3344
+ }
3345
+ ]
3346
+ },
3347
+ {
3348
+ "slug": "plans",
3349
+ "label": "Plans and packages",
3350
+ "labelSingular": "Plan",
3351
+ "supports": [
3352
+ "drafts",
3353
+ "revisions"
3354
+ ],
3355
+ "fields": [
3356
+ {
3357
+ "slug": "title",
3358
+ "label": "Name",
3359
+ "type": "string",
3360
+ "required": true
3361
+ },
3362
+ {
3363
+ "slug": "kind",
3364
+ "label": "Kind (membership, package, banked credit)",
3365
+ "type": "string"
3366
+ },
3367
+ {
3368
+ "slug": "tag",
3369
+ "label": "Tag",
3370
+ "type": "string"
3371
+ },
3372
+ {
3373
+ "slug": "price",
3374
+ "label": "Price",
3375
+ "type": "string"
3376
+ },
3377
+ {
3378
+ "slug": "cadence",
3379
+ "label": "Per",
3380
+ "type": "string"
3381
+ },
3382
+ {
3383
+ "slug": "summary",
3384
+ "label": "Summary",
3385
+ "type": "text"
3386
+ },
3387
+ {
3388
+ "slug": "includes",
3389
+ "label": "What is included, one per line",
3390
+ "type": "text"
3391
+ },
3392
+ {
3393
+ "slug": "eligibility",
3394
+ "label": "Who it is for",
3395
+ "type": "string"
3396
+ },
3397
+ {
3398
+ "slug": "cta_label",
3399
+ "label": "Button label",
3400
+ "type": "string"
3401
+ },
3402
+ {
3403
+ "slug": "cta_url",
3404
+ "label": "Button link",
3405
+ "type": "string"
3406
+ },
3407
+ {
3408
+ "slug": "note",
3409
+ "label": "Note (for example: this is not insurance)",
3410
+ "type": "string"
3411
+ },
3412
+ {
3413
+ "slug": "vendor",
3414
+ "label": "Plan vendor",
3415
+ "type": "string"
3416
+ },
3417
+ {
3418
+ "slug": "featured",
3419
+ "label": "Featured",
3420
+ "type": "boolean"
3421
+ },
3422
+ {
3423
+ "slug": "sort",
3424
+ "label": "Order",
3425
+ "type": "integer"
3426
+ }
3427
+ ]
3428
+ },
3429
+ {
3430
+ "slug": "insurers",
3431
+ "label": "Insurers",
3432
+ "labelSingular": "Insurer",
3433
+ "supports": [
3434
+ "drafts",
3435
+ "revisions"
3436
+ ],
3437
+ "fields": [
3438
+ {
3439
+ "slug": "title",
3440
+ "label": "Name",
3441
+ "type": "string",
3442
+ "required": true
3443
+ },
3444
+ {
3445
+ "slug": "logo",
3446
+ "label": "Logo",
3447
+ "type": "image"
3448
+ },
3449
+ {
3450
+ "slug": "network",
3451
+ "label": "In network or out of network",
3452
+ "type": "string"
3453
+ },
3454
+ {
3455
+ "slug": "note",
3456
+ "label": "Note",
3457
+ "type": "string"
3458
+ },
3459
+ {
3460
+ "slug": "services",
3461
+ "label": "Which services it applies to",
3462
+ "type": "string"
3463
+ },
3464
+ {
3465
+ "slug": "sort",
3466
+ "label": "Order",
3467
+ "type": "integer"
3468
+ }
3469
+ ]
3470
+ },
3471
+ {
3472
+ "slug": "financing_providers",
3473
+ "label": "Financing providers",
3474
+ "labelSingular": "Financing provider",
3475
+ "supports": [
3476
+ "drafts",
3477
+ "revisions"
3478
+ ],
3479
+ "fields": [
3480
+ {
3481
+ "slug": "title",
3482
+ "label": "Name",
3483
+ "type": "string",
3484
+ "required": true
3485
+ },
3486
+ {
3487
+ "slug": "logo",
3488
+ "label": "Logo",
3489
+ "type": "image"
3490
+ },
3491
+ {
3492
+ "slug": "apply_url",
3493
+ "label": "Apply link",
3494
+ "type": "string"
3495
+ },
3496
+ {
3497
+ "slug": "rate_line",
3498
+ "label": "Rate or terms line",
3499
+ "type": "string"
3500
+ },
3501
+ {
3502
+ "slug": "note",
3503
+ "label": "Note",
3504
+ "type": "text"
3505
+ },
3506
+ {
3507
+ "slug": "sort",
3508
+ "label": "Order",
3509
+ "type": "integer"
3510
+ }
3511
+ ]
3512
+ },
3513
+ {
3514
+ "slug": "downloads",
3515
+ "label": "Forms and instructions",
3516
+ "labelSingular": "Download",
3517
+ "supports": [
3518
+ "drafts",
3519
+ "revisions"
3520
+ ],
3521
+ "fields": [
3522
+ {
3523
+ "slug": "title",
3524
+ "label": "Name",
3525
+ "type": "string",
3526
+ "required": true
3527
+ },
3528
+ {
3529
+ "slug": "group",
3530
+ "label": "Group (intake, consent, pre-op, post-op, policy)",
3531
+ "type": "string"
3532
+ },
3533
+ {
3534
+ "slug": "file_url",
3535
+ "label": "File or page link",
3536
+ "type": "string"
3537
+ },
3538
+ {
3539
+ "slug": "service",
3540
+ "label": "Service",
3541
+ "type": "reference"
3542
+ },
3543
+ {
3544
+ "slug": "note",
3545
+ "label": "Note",
3546
+ "type": "text"
3547
+ },
3548
+ {
3549
+ "slug": "sort",
3550
+ "label": "Order",
3551
+ "type": "integer"
3552
+ }
3553
+ ]
3554
+ },
3555
+ {
3556
+ "slug": "technologies",
3557
+ "label": "Technology",
3558
+ "labelSingular": "Technology",
3559
+ "supports": [
3560
+ "drafts",
3561
+ "revisions"
3562
+ ],
3563
+ "fields": [
3564
+ {
3565
+ "slug": "title",
3566
+ "label": "Name",
3567
+ "type": "string",
3568
+ "required": true
3569
+ },
3570
+ {
3571
+ "slug": "brand",
3572
+ "label": "Brand",
3573
+ "type": "string"
3574
+ },
3575
+ {
3576
+ "slug": "summary",
3577
+ "label": "What it does for the patient",
3578
+ "type": "text"
3579
+ },
3580
+ {
3581
+ "slug": "image",
3582
+ "label": "Image",
3583
+ "type": "image"
3584
+ },
3585
+ {
3586
+ "slug": "content",
3587
+ "label": "Content",
3588
+ "type": "portableText"
3589
+ },
3590
+ {
3591
+ "slug": "has_page",
3592
+ "label": "Has its own page",
3593
+ "type": "boolean"
3594
+ },
3595
+ {
3596
+ "slug": "sort",
3597
+ "label": "Order",
3598
+ "type": "integer"
3599
+ }
3600
+ ]
3601
+ },
3602
+ {
3603
+ "slug": "offers",
3604
+ "label": "Offers",
3605
+ "labelSingular": "Offer",
3606
+ "supports": [
3607
+ "drafts",
3608
+ "revisions"
3609
+ ],
3610
+ "fields": [
3611
+ {
3612
+ "slug": "title",
3613
+ "label": "Name",
3614
+ "type": "string",
3615
+ "required": true
3616
+ },
3617
+ {
3618
+ "slug": "summary",
3619
+ "label": "Details",
3620
+ "type": "text"
3621
+ },
3622
+ {
3623
+ "slug": "value",
3624
+ "label": "Discount or price",
3625
+ "type": "string"
3626
+ },
3627
+ {
3628
+ "slug": "how_to_claim",
3629
+ "label": "How to claim (book online, call, form)",
3630
+ "type": "string"
3631
+ },
3632
+ {
3633
+ "slug": "cta_label",
3634
+ "label": "Button label",
3635
+ "type": "string"
3636
+ },
3637
+ {
3638
+ "slug": "cta_url",
3639
+ "label": "Button link",
3640
+ "type": "string"
3641
+ },
3642
+ {
3643
+ "slug": "service",
3644
+ "label": "Service",
3645
+ "type": "reference"
3646
+ },
3647
+ {
3648
+ "slug": "ends",
3649
+ "label": "Ends",
3650
+ "type": "datetime"
3651
+ },
3652
+ {
3653
+ "slug": "active",
3654
+ "label": "Active",
3655
+ "type": "boolean"
3656
+ },
3657
+ {
3658
+ "slug": "sort",
3659
+ "label": "Order",
3660
+ "type": "integer"
3661
+ }
3662
+ ]
3663
+ },
3664
+ {
3665
+ "slug": "brands",
3666
+ "label": "Brands carried",
3667
+ "labelSingular": "Brand",
3668
+ "supports": [
3669
+ "drafts",
3670
+ "revisions"
3671
+ ],
3672
+ "fields": [
3673
+ {
3674
+ "slug": "title",
3675
+ "label": "Name",
3676
+ "type": "string",
3677
+ "required": true
3678
+ },
3679
+ {
3680
+ "slug": "logo",
3681
+ "label": "Logo",
3682
+ "type": "image"
3683
+ },
3684
+ {
3685
+ "slug": "url",
3686
+ "label": "Link",
3687
+ "type": "string"
3688
+ },
3689
+ {
3690
+ "slug": "group",
3691
+ "label": "Group",
3692
+ "type": "string"
3693
+ },
3694
+ {
3695
+ "slug": "sort",
3696
+ "label": "Order",
3697
+ "type": "integer"
3698
+ }
3699
+ ]
3700
+ },
3701
+ {
3702
+ "slug": "policies",
3703
+ "label": "Policies",
3704
+ "labelSingular": "Policy",
3705
+ "supports": [
3706
+ "drafts",
3707
+ "revisions"
3708
+ ],
3709
+ "fields": [
3710
+ {
3711
+ "slug": "title",
3712
+ "label": "Policy",
3713
+ "type": "string",
3714
+ "required": true
3715
+ },
3716
+ {
3717
+ "slug": "body",
3718
+ "label": "Text",
3719
+ "type": "text",
3720
+ "required": true
3721
+ },
3722
+ {
3723
+ "slug": "group",
3724
+ "label": "Group (cancellation, late, referral, accessibility, what to wear)",
3725
+ "type": "string"
3726
+ },
3727
+ {
3728
+ "slug": "sort",
3729
+ "label": "Order",
3730
+ "type": "integer"
3731
+ }
3732
+ ]
3733
+ },
3734
+ {
3735
+ "slug": "products",
3736
+ "label": "Products",
3737
+ "labelSingular": "Product",
3738
+ "supports": [
3739
+ "drafts",
3740
+ "revisions"
3741
+ ],
3742
+ "fields": [
3743
+ {
3744
+ "slug": "title",
3745
+ "label": "Name",
3746
+ "type": "string",
3747
+ "required": true
3748
+ },
3749
+ {
3750
+ "slug": "summary",
3751
+ "label": "Summary",
3752
+ "type": "text"
3753
+ },
3754
+ {
3755
+ "slug": "category",
3756
+ "label": "Category",
3757
+ "type": "string"
3758
+ },
3759
+ {
3760
+ "slug": "brand",
3761
+ "label": "Brand",
3762
+ "type": "reference"
3763
+ },
3764
+ {
3765
+ "slug": "sku",
3766
+ "label": "SKU",
3767
+ "type": "string"
3768
+ },
3769
+ {
3770
+ "slug": "price",
3771
+ "label": "Price",
3772
+ "type": "string"
3773
+ },
3774
+ {
3775
+ "slug": "compare_price",
3776
+ "label": "Was price",
3777
+ "type": "string"
3778
+ },
3779
+ {
3780
+ "slug": "unit",
3781
+ "label": "Per (each, hour, kit)",
3782
+ "type": "string"
3783
+ },
3784
+ {
3785
+ "slug": "image",
3786
+ "label": "Image",
3787
+ "type": "image"
3788
+ },
3789
+ {
3790
+ "slug": "image_2",
3791
+ "label": "Second image",
3792
+ "type": "image"
3793
+ },
3794
+ {
3795
+ "slug": "image_3",
3796
+ "label": "Third image",
3797
+ "type": "image"
3798
+ },
3799
+ {
3800
+ "slug": "variants",
3801
+ "label": "Variants, one per line",
3802
+ "type": "text"
3803
+ },
3804
+ {
3805
+ "slug": "in_stock",
3806
+ "label": "In stock",
3807
+ "type": "boolean"
3808
+ },
3809
+ {
3810
+ "slug": "availability_line",
3811
+ "label": "Availability (in store only, ships, pickup)",
3812
+ "type": "string"
3813
+ },
3814
+ {
3815
+ "slug": "buy_url",
3816
+ "label": "Buy or enquire link",
3817
+ "type": "string"
3818
+ },
3819
+ {
3820
+ "slug": "buy_label",
3821
+ "label": "Button label",
3822
+ "type": "string"
3823
+ },
3824
+ {
3825
+ "slug": "service",
3826
+ "label": "Related service",
3827
+ "type": "reference"
3828
+ },
3829
+ {
3830
+ "slug": "featured",
3831
+ "label": "Featured",
3832
+ "type": "boolean"
3833
+ },
3834
+ {
3835
+ "slug": "sort",
3836
+ "label": "Order",
3837
+ "type": "integer"
3838
+ },
3839
+ {
3840
+ "slug": "content",
3841
+ "label": "Details",
3842
+ "type": "portableText"
3843
+ },
3844
+ {
3845
+ "slug": "meta_title",
3846
+ "label": "Meta title",
3847
+ "type": "string"
3848
+ },
3849
+ {
3850
+ "slug": "meta_description",
3851
+ "label": "Meta description",
3852
+ "type": "text"
3853
+ }
3854
+ ]
3855
+ },
3856
+ {
3857
+ "slug": "case_studies",
3858
+ "label": "Case studies",
3859
+ "labelSingular": "Case study",
3860
+ "supports": [
3861
+ "drafts",
3862
+ "revisions"
3863
+ ],
3864
+ "fields": [
3865
+ {
3866
+ "slug": "title",
3867
+ "label": "Title",
3868
+ "type": "string",
3869
+ "required": true
3870
+ },
3871
+ {
3872
+ "slug": "client",
3873
+ "label": "Client",
3874
+ "type": "string"
3875
+ },
3876
+ {
3877
+ "slug": "industry",
3878
+ "label": "Industry",
3879
+ "type": "string"
3880
+ },
3881
+ {
3882
+ "slug": "logo",
3883
+ "label": "Client logo",
3884
+ "type": "image"
3885
+ },
3886
+ {
3887
+ "slug": "featured_image",
3888
+ "label": "Image",
3889
+ "type": "image"
3890
+ },
3891
+ {
3892
+ "slug": "summary",
3893
+ "label": "Summary",
3894
+ "type": "text"
3895
+ },
3896
+ {
3897
+ "slug": "challenge",
3898
+ "label": "The situation",
3899
+ "type": "text"
3900
+ },
3901
+ {
3902
+ "slug": "approach",
3903
+ "label": "What was done",
3904
+ "type": "text"
3905
+ },
3906
+ {
3907
+ "slug": "outcome",
3908
+ "label": "The result",
3909
+ "type": "text"
3910
+ },
3911
+ {
3912
+ "slug": "result_1_value",
3913
+ "label": "Result 1 value",
3914
+ "type": "string"
3915
+ },
3916
+ {
3917
+ "slug": "result_1_label",
3918
+ "label": "Result 1 label",
3919
+ "type": "string"
3920
+ },
3921
+ {
3922
+ "slug": "result_2_value",
3923
+ "label": "Result 2 value",
3924
+ "type": "string"
3925
+ },
3926
+ {
3927
+ "slug": "result_2_label",
3928
+ "label": "Result 2 label",
3929
+ "type": "string"
3930
+ },
3931
+ {
3932
+ "slug": "result_3_value",
3933
+ "label": "Result 3 value",
3934
+ "type": "string"
3935
+ },
3936
+ {
3937
+ "slug": "result_3_label",
3938
+ "label": "Result 3 label",
3939
+ "type": "string"
3940
+ },
3941
+ {
3942
+ "slug": "quote",
3943
+ "label": "Client quote",
3944
+ "type": "text"
3945
+ },
3946
+ {
3947
+ "slug": "quote_by",
3948
+ "label": "Quote by",
3949
+ "type": "string"
3950
+ },
3951
+ {
3952
+ "slug": "service",
3953
+ "label": "Service",
3954
+ "type": "reference"
3955
+ },
3956
+ {
3957
+ "slug": "url",
3958
+ "label": "Live link",
3959
+ "type": "string"
3960
+ },
3961
+ {
3962
+ "slug": "featured",
3963
+ "label": "Featured",
3964
+ "type": "boolean"
3965
+ },
3966
+ {
3967
+ "slug": "sort",
3968
+ "label": "Order",
3969
+ "type": "integer"
3970
+ },
3971
+ {
3972
+ "slug": "sections",
3973
+ "label": "Sections",
3974
+ "type": "blocks",
3975
+ "validation": {
3976
+ "allowedTypes": [
3977
+ "hero",
3978
+ "intro",
3979
+ "services",
3980
+ "feature",
3981
+ "steps",
3982
+ "team",
3983
+ "reviews",
3984
+ "cases",
3985
+ "faq",
3986
+ "stats",
3987
+ "badges",
3988
+ "insurance",
3989
+ "financing",
3990
+ "plans",
3991
+ "contact",
3992
+ "location",
3993
+ "cta",
3994
+ "gallery",
3995
+ "video",
3996
+ "technologies",
3997
+ "brands",
3998
+ "offer",
3999
+ "conditions",
4000
+ "downloads",
4001
+ "policies",
4002
+ "posts",
4003
+ "locations",
4004
+ "related",
4005
+ "custom",
4006
+ "areas",
4007
+ "products",
4008
+ "case_studies",
4009
+ "clients",
4010
+ "signs",
4011
+ "options"
4012
+ ],
4013
+ "maxItems": 40
4014
+ }
4015
+ },
4016
+ {
4017
+ "slug": "content",
4018
+ "label": "Content",
4019
+ "type": "portableText"
4020
+ },
4021
+ {
4022
+ "slug": "meta_title",
4023
+ "label": "Meta title",
4024
+ "type": "string"
4025
+ },
4026
+ {
4027
+ "slug": "meta_description",
4028
+ "label": "Meta description",
4029
+ "type": "text"
4030
+ }
4031
+ ]
4032
+ },
4033
+ {
4034
+ "slug": "clients",
4035
+ "label": "Clients",
4036
+ "labelSingular": "Client",
4037
+ "supports": [
4038
+ "drafts",
4039
+ "revisions"
4040
+ ],
4041
+ "fields": [
4042
+ {
4043
+ "slug": "title",
4044
+ "label": "Name",
4045
+ "type": "string",
4046
+ "required": true
4047
+ },
4048
+ {
4049
+ "slug": "logo",
4050
+ "label": "Logo",
4051
+ "type": "image"
4052
+ },
4053
+ {
4054
+ "slug": "url",
4055
+ "label": "Link",
4056
+ "type": "string"
4057
+ },
4058
+ {
4059
+ "slug": "industry",
4060
+ "label": "Industry",
4061
+ "type": "string"
4062
+ },
4063
+ {
4064
+ "slug": "case_study",
4065
+ "label": "Case study",
4066
+ "type": "reference"
4067
+ },
4068
+ {
4069
+ "slug": "featured",
4070
+ "label": "Featured",
4071
+ "type": "boolean"
4072
+ },
4073
+ {
4074
+ "slug": "sort",
4075
+ "label": "Order",
4076
+ "type": "integer"
4077
+ }
4078
+ ]
4079
+ },
4080
+ {
4081
+ "slug": "badges",
4082
+ "label": "Badges and credentials",
4083
+ "labelSingular": "Badge",
4084
+ "supports": [
4085
+ "drafts",
4086
+ "revisions"
4087
+ ],
4088
+ "fields": [
4089
+ {
4090
+ "slug": "title",
4091
+ "label": "Name",
4092
+ "type": "string",
4093
+ "required": true
4094
+ },
4095
+ {
4096
+ "slug": "issuer",
4097
+ "label": "Issuer",
4098
+ "type": "string"
4099
+ },
4100
+ {
4101
+ "slug": "image",
4102
+ "label": "Image",
4103
+ "type": "image"
4104
+ },
4105
+ {
4106
+ "slug": "url",
4107
+ "label": "Link",
4108
+ "type": "string"
4109
+ },
4110
+ {
4111
+ "slug": "group",
4112
+ "label": "Group (association, certification, award, seal)",
4113
+ "type": "string"
4114
+ },
4115
+ {
4116
+ "slug": "year",
4117
+ "label": "Year",
4118
+ "type": "string"
4119
+ },
4120
+ {
4121
+ "slug": "person",
4122
+ "label": "Person it belongs to",
4123
+ "type": "reference"
4124
+ },
4125
+ {
4126
+ "slug": "sort",
4127
+ "label": "Order",
4128
+ "type": "integer"
4129
+ }
4130
+ ]
4131
+ },
4132
+ {
4133
+ "slug": "posts",
4134
+ "label": "Posts",
4135
+ "labelSingular": "Post",
4136
+ "supports": [
4137
+ "drafts",
4138
+ "revisions"
4139
+ ],
4140
+ "fields": [
4141
+ {
4142
+ "slug": "title",
4143
+ "label": "Title",
4144
+ "type": "string",
4145
+ "required": true
4146
+ },
4147
+ {
4148
+ "slug": "summary",
4149
+ "label": "Summary",
4150
+ "type": "text"
4151
+ },
4152
+ {
4153
+ "slug": "featured_image",
4154
+ "label": "Featured image",
4155
+ "type": "image"
4156
+ },
4157
+ {
4158
+ "slug": "category",
4159
+ "label": "Category",
4160
+ "type": "string"
4161
+ },
4162
+ {
4163
+ "slug": "author",
4164
+ "label": "Author",
4165
+ "type": "reference"
4166
+ },
4167
+ {
4168
+ "slug": "read_minutes",
4169
+ "label": "Read time",
4170
+ "type": "integer"
4171
+ },
4172
+ {
4173
+ "slug": "content",
4174
+ "label": "Content",
4175
+ "type": "portableText"
4176
+ }
4177
+ ]
4178
+ }
4179
+ ],
4180
+ "menus": [
4181
+ {
4182
+ "name": "primary",
4183
+ "label": "Main navigation",
4184
+ "items": [
4185
+ {
4186
+ "type": "custom",
4187
+ "label": "Services",
4188
+ "url": "/services"
4189
+ },
4190
+ {
4191
+ "type": "custom",
4192
+ "label": "About",
4193
+ "url": "/about"
4194
+ },
4195
+ {
4196
+ "type": "custom",
4197
+ "label": "Reviews",
4198
+ "url": "/reviews"
4199
+ },
4200
+ {
4201
+ "type": "custom",
4202
+ "label": "Contact",
4203
+ "url": "/contact"
4204
+ }
4205
+ ]
4206
+ },
4207
+ {
4208
+ "name": "footer",
4209
+ "label": "Footer",
4210
+ "items": [
4211
+ {
4212
+ "type": "custom",
4213
+ "label": "Blog",
4214
+ "url": "/blog"
4215
+ },
4216
+ {
4217
+ "type": "custom",
4218
+ "label": "Privacy",
4219
+ "url": "/privacy"
4220
+ }
4221
+ ]
4222
+ }
4223
+ ]
4224
+ }