@seamapi/types 1.24.0 → 1.26.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.
@@ -2143,6 +2143,9 @@ declare const _default: {
2143
2143
  ends_at: {
2144
2144
  type: string;
2145
2145
  };
2146
+ is_external_modification_allowed: {
2147
+ type: string;
2148
+ };
2146
2149
  name: {
2147
2150
  type: string;
2148
2151
  };
@@ -2255,6 +2258,9 @@ declare const _default: {
2255
2258
  ends_at: {
2256
2259
  type: string;
2257
2260
  };
2261
+ is_external_modification_allowed: {
2262
+ type: string;
2263
+ };
2258
2264
  name: {
2259
2265
  type: string;
2260
2266
  };
@@ -2361,6 +2367,9 @@ declare const _default: {
2361
2367
  ends_at: {
2362
2368
  type: string;
2363
2369
  };
2370
+ is_external_modification_allowed: {
2371
+ type: string;
2372
+ };
2364
2373
  name: {
2365
2374
  type: string;
2366
2375
  };
@@ -2986,6 +2995,9 @@ declare const _default: {
2986
2995
  force: {
2987
2996
  type: string;
2988
2997
  };
2998
+ is_external_modification_allowed: {
2999
+ type: string;
3000
+ };
2989
3001
  sync: {
2990
3002
  default: boolean;
2991
3003
  type: string;
@@ -3058,6 +3070,9 @@ declare const _default: {
3058
3070
  force: {
3059
3071
  type: string;
3060
3072
  };
3073
+ is_external_modification_allowed: {
3074
+ type: string;
3075
+ };
3061
3076
  sync: {
3062
3077
  default: boolean;
3063
3078
  type: string;
@@ -3458,6 +3473,9 @@ declare const _default: {
3458
3473
  force: {
3459
3474
  type: string;
3460
3475
  };
3476
+ is_external_modification_allowed: {
3477
+ type: string;
3478
+ };
3461
3479
  is_managed: {
3462
3480
  type: string;
3463
3481
  };
@@ -3529,6 +3547,9 @@ declare const _default: {
3529
3547
  force: {
3530
3548
  type: string;
3531
3549
  };
3550
+ is_external_modification_allowed: {
3551
+ type: string;
3552
+ };
3532
3553
  is_managed: {
3533
3554
  type: string;
3534
3555
  };
@@ -3617,6 +3638,9 @@ declare const _default: {
3617
3638
  ends_at: {
3618
3639
  type: string;
3619
3640
  };
3641
+ is_external_modification_allowed: {
3642
+ type: string;
3643
+ };
3620
3644
  is_managed: {
3621
3645
  type: string;
3622
3646
  };
@@ -3725,6 +3749,9 @@ declare const _default: {
3725
3749
  ends_at: {
3726
3750
  type: string;
3727
3751
  };
3752
+ is_external_modification_allowed: {
3753
+ type: string;
3754
+ };
3728
3755
  is_managed: {
3729
3756
  type: string;
3730
3757
  };
@@ -3835,6 +3862,9 @@ declare const _default: {
3835
3862
  ends_at: {
3836
3863
  type: string;
3837
3864
  };
3865
+ is_external_modification_allowed: {
3866
+ type: string;
3867
+ };
3838
3868
  is_managed: {
3839
3869
  type: string;
3840
3870
  };
@@ -11513,6 +11543,7 @@ interface Routes {
11513
11543
  prefer_native_scheduling?: boolean | undefined;
11514
11544
  use_backup_access_code_pool?: boolean | undefined;
11515
11545
  allow_external_modification?: boolean | undefined;
11546
+ is_external_modification_allowed?: boolean | undefined;
11516
11547
  };
11517
11548
  commonParams: {};
11518
11549
  formData: {};
@@ -11577,6 +11608,7 @@ interface Routes {
11577
11608
  prefer_native_scheduling?: boolean | undefined;
11578
11609
  use_backup_access_code_pool?: boolean | undefined;
11579
11610
  allow_external_modification?: boolean | undefined;
11611
+ is_external_modification_allowed?: boolean | undefined;
11580
11612
  };
11581
11613
  commonParams: {};
11582
11614
  formData: {};
@@ -11799,6 +11831,7 @@ interface Routes {
11799
11831
  jsonBody: {};
11800
11832
  commonParams: {
11801
11833
  access_code_id: string;
11834
+ is_external_modification_allowed?: boolean | undefined;
11802
11835
  allow_external_modification?: boolean | undefined;
11803
11836
  force?: boolean | undefined;
11804
11837
  sync?: boolean;
@@ -11905,6 +11938,7 @@ interface Routes {
11905
11938
  access_code_id: string;
11906
11939
  is_managed: boolean;
11907
11940
  allow_external_modification?: boolean | undefined;
11941
+ is_external_modification_allowed?: boolean | undefined;
11908
11942
  force?: boolean | undefined;
11909
11943
  };
11910
11944
  formData: {};
@@ -11924,6 +11958,7 @@ interface Routes {
11924
11958
  prefer_native_scheduling?: boolean | undefined;
11925
11959
  use_backup_access_code_pool?: boolean | undefined;
11926
11960
  allow_external_modification?: boolean | undefined;
11961
+ is_external_modification_allowed?: boolean | undefined;
11927
11962
  access_code_id: string;
11928
11963
  device_id?: string | undefined;
11929
11964
  type?: ('ongoing' | 'time_bound') | undefined;
package/dist/devicedb.cjs CHANGED
@@ -124,7 +124,8 @@ var base_device_model_v1 = zod.z.object({
124
124
  primary_color_hex: zod.z.string().optional(),
125
125
  manufacturer_sku: zod.z.string().optional(),
126
126
  front_image: image_reference.optional(),
127
- back_image: image_reference.optional()
127
+ back_image: image_reference.optional(),
128
+ images: image_reference.array()
128
129
  }).array(),
129
130
  power_sources: zod.z.enum([
130
131
  "battery",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts"],"names":["z"],"mappings":"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","sourcesContent":["export * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nconst smartlock = z.object({\n main_category: z.literal('smartlock'),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n 'unknown',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n})\n\nconst sensor = z.object({\n main_category: z.literal('sensor'),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nconst thermostat = z.object({\n main_category: z.literal('thermostat'),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nexport type ThermostatPropertiesV1 = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal('relay'),\n})\n\nconst intercom = z.object({\n main_category: z.literal('intercom'),\n physical_properties: z.object({\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal('accessory'),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer,\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string().optional(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: z.enum(['stable', 'beta', 'planned', 'unsupported', 'inquire']),\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n"]}
1
+ {"version":3,"sources":["../src/lib/seam/devicedb/public-models/index.ts","../src/lib/seam/devicedb/public-models/device-model-v0.ts","../src/lib/seam/devicedb/public-models/device-model-v1.ts","../src/lib/seam/devicedb/public-models/image-reference.ts","../src/lib/seam/devicedb/public-models/manufacturer.ts"],"names":["z"],"mappings":"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","sourcesContent":["export * from './device-model-v0.js'\nexport * from './device-model-v1.js'\nexport * from './image-reference.js'\nexport * from './manufacturer.js'\n","import { z } from 'zod'\n\nexport const device_model_v0 = z.object({\n main_category: z.string(),\n model_name: z.string(),\n manufacturer_model_id: z.string(),\n connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n support_level: z.enum(['live', 'beta', 'unsupported']),\n brand: z.string(),\n icon_url: z.string(),\n seam_device_model_page_url: z.string(),\n})\n\nexport type DeviceModelV0 = z.infer<typeof device_model_v0>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\nimport { manufacturer } from './manufacturer.js'\n\nconst smartlock = z.object({\n main_category: z.literal('smartlock'),\n physical_properties: z.object({\n lock_type: z.enum([\n 'deadbolt',\n 'lever',\n 'mortise',\n 'lockbox',\n 'cylinder',\n 'padlock',\n 'locker',\n 'unknown',\n ]),\n has_physical_key: z.boolean(),\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n can_program_access_schedules: z.boolean(),\n can_program_access_codes_offline: z.boolean(),\n }),\n})\n\nconst sensor = z.object({\n main_category: z.literal('sensor'),\n physical_properties: z.object({\n has_noise_sensor: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n has_occupancy_detection: z.boolean(),\n }),\n})\n\nconst thermostat = z.object({\n main_category: z.literal('thermostat'),\n physical_properties: z.object({\n available_modes: z.enum(['heat', 'cool', 'fan', 'eco']).array(),\n is_heat_pump_compatible: z.boolean(),\n has_occupancy_detection: z.boolean(),\n supports_demand_response: z.boolean(),\n has_humidity_sensor: z.boolean(),\n has_temperature_sensor: z.boolean(),\n supports_emergency_heating_mode: z.boolean(),\n }),\n software_features: z.object({\n can_program_climate_schedules: z.boolean(),\n }),\n})\n\nexport type ThermostatPropertiesV1 = z.infer<typeof thermostat>\n\nconst relay = z.object({\n main_category: z.literal('relay'),\n})\n\nconst intercom = z.object({\n main_category: z.literal('intercom'),\n physical_properties: z.object({\n has_camera: z.boolean(),\n }),\n software_features: z.object({\n can_remotely_unlock: z.boolean(),\n can_program_access_codes: z.boolean(),\n }),\n})\n\nconst accessory = z.object({\n main_category: z.literal('accessory'),\n})\n\nexport const device_model_category_specific_properties = z.discriminatedUnion(\n 'main_category',\n [smartlock, sensor, thermostat, relay, intercom, accessory],\n)\n\nexport const base_device_model_v1 = z.object({\n device_model_id: z.string().uuid(),\n manufacturer,\n is_device_supported: z.boolean(),\n display_name: z.string(),\n description: z.string(),\n product_url: z.string().optional(),\n main_connection_type: z.enum(['wifi', 'zwave', 'zigbee', 'unknown']),\n aesthetic_variants: z\n .object({\n slug: z.string(),\n display_name: z.string(),\n primary_color_hex: z.string().optional(),\n manufacturer_sku: z.string().optional(),\n front_image: image_reference.optional(),\n back_image: image_reference.optional(),\n images: image_reference.array(),\n })\n .array(),\n power_sources: z\n .enum([\n 'battery',\n 'hardwired',\n 'mechanical_harvesting',\n 'wireless',\n 'ethernet',\n ])\n .array(),\n})\n\nexport type BaseDeviceModelV1 = z.infer<typeof base_device_model_v1>\n\nexport const device_model_v1 = base_device_model_v1.and(\n device_model_category_specific_properties,\n)\n\nexport type DeviceModelV1 = z.infer<typeof device_model_v1>\n","import { z } from 'zod'\n\nexport const image_reference = z.object({\n url: z.string().url(),\n width: z.number(),\n height: z.number(),\n})\n\nexport type ImageReference = z.infer<typeof image_reference>\n","import { z } from 'zod'\n\nimport { image_reference } from './image-reference.js'\n\nexport const manufacturer = z.object({\n manufacturer_id: z.string().uuid(),\n display_name: z.string(),\n logo: image_reference.optional(),\n integration: z.enum(['stable', 'beta', 'planned', 'unsupported', 'inquire']),\n is_connect_webview_supported: z.boolean(),\n requires_seam_support_to_add_account: z.boolean(),\n})\n\nexport type Manufacturer = z.infer<typeof manufacturer>\n"]}
@@ -377,9 +377,27 @@ declare const base_device_model_v1: z.ZodObject<{
377
377
  width: number;
378
378
  height: number;
379
379
  }>>;
380
+ images: z.ZodArray<z.ZodObject<{
381
+ url: z.ZodString;
382
+ width: z.ZodNumber;
383
+ height: z.ZodNumber;
384
+ }, "strip", z.ZodTypeAny, {
385
+ url: string;
386
+ width: number;
387
+ height: number;
388
+ }, {
389
+ url: string;
390
+ width: number;
391
+ height: number;
392
+ }>, "many">;
380
393
  }, "strip", z.ZodTypeAny, {
381
394
  display_name: string;
382
395
  slug: string;
396
+ images: {
397
+ url: string;
398
+ width: number;
399
+ height: number;
400
+ }[];
383
401
  primary_color_hex?: string | undefined;
384
402
  manufacturer_sku?: string | undefined;
385
403
  front_image?: {
@@ -395,6 +413,11 @@ declare const base_device_model_v1: z.ZodObject<{
395
413
  }, {
396
414
  display_name: string;
397
415
  slug: string;
416
+ images: {
417
+ url: string;
418
+ width: number;
419
+ height: number;
420
+ }[];
398
421
  primary_color_hex?: string | undefined;
399
422
  manufacturer_sku?: string | undefined;
400
423
  front_image?: {
@@ -430,6 +453,11 @@ declare const base_device_model_v1: z.ZodObject<{
430
453
  aesthetic_variants: {
431
454
  display_name: string;
432
455
  slug: string;
456
+ images: {
457
+ url: string;
458
+ width: number;
459
+ height: number;
460
+ }[];
433
461
  primary_color_hex?: string | undefined;
434
462
  manufacturer_sku?: string | undefined;
435
463
  front_image?: {
@@ -466,6 +494,11 @@ declare const base_device_model_v1: z.ZodObject<{
466
494
  aesthetic_variants: {
467
495
  display_name: string;
468
496
  slug: string;
497
+ images: {
498
+ url: string;
499
+ width: number;
500
+ height: number;
501
+ }[];
469
502
  primary_color_hex?: string | undefined;
470
503
  manufacturer_sku?: string | undefined;
471
504
  front_image?: {
@@ -563,9 +596,27 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
563
596
  width: number;
564
597
  height: number;
565
598
  }>>;
599
+ images: z.ZodArray<z.ZodObject<{
600
+ url: z.ZodString;
601
+ width: z.ZodNumber;
602
+ height: z.ZodNumber;
603
+ }, "strip", z.ZodTypeAny, {
604
+ url: string;
605
+ width: number;
606
+ height: number;
607
+ }, {
608
+ url: string;
609
+ width: number;
610
+ height: number;
611
+ }>, "many">;
566
612
  }, "strip", z.ZodTypeAny, {
567
613
  display_name: string;
568
614
  slug: string;
615
+ images: {
616
+ url: string;
617
+ width: number;
618
+ height: number;
619
+ }[];
569
620
  primary_color_hex?: string | undefined;
570
621
  manufacturer_sku?: string | undefined;
571
622
  front_image?: {
@@ -581,6 +632,11 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
581
632
  }, {
582
633
  display_name: string;
583
634
  slug: string;
635
+ images: {
636
+ url: string;
637
+ width: number;
638
+ height: number;
639
+ }[];
584
640
  primary_color_hex?: string | undefined;
585
641
  manufacturer_sku?: string | undefined;
586
642
  front_image?: {
@@ -616,6 +672,11 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
616
672
  aesthetic_variants: {
617
673
  display_name: string;
618
674
  slug: string;
675
+ images: {
676
+ url: string;
677
+ width: number;
678
+ height: number;
679
+ }[];
619
680
  primary_color_hex?: string | undefined;
620
681
  manufacturer_sku?: string | undefined;
621
682
  front_image?: {
@@ -652,6 +713,11 @@ declare const device_model_v1: z.ZodIntersection<z.ZodObject<{
652
713
  aesthetic_variants: {
653
714
  display_name: string;
654
715
  slug: string;
716
+ images: {
717
+ url: string;
718
+ width: number;
719
+ height: number;
720
+ }[];
655
721
  primary_color_hex?: string | undefined;
656
722
  manufacturer_sku?: string | undefined;
657
723
  front_image?: {
@@ -1005,6 +1071,11 @@ interface Routes {
1005
1071
  width: number;
1006
1072
  height: number;
1007
1073
  } | undefined;
1074
+ images: Array<{
1075
+ url: string;
1076
+ width: number;
1077
+ height: number;
1078
+ }>;
1008
1079
  }>;
1009
1080
  power_sources: Array<'battery' | 'hardwired' | 'mechanical_harvesting' | 'wireless' | 'ethernet'>;
1010
1081
  } & ({
@@ -1106,6 +1177,11 @@ interface Routes {
1106
1177
  width: number;
1107
1178
  height: number;
1108
1179
  } | undefined;
1180
+ images: Array<{
1181
+ url: string;
1182
+ width: number;
1183
+ height: number;
1184
+ }>;
1109
1185
  }>;
1110
1186
  power_sources: Array<'battery' | 'hardwired' | 'mechanical_harvesting' | 'wireless' | 'ethernet'>;
1111
1187
  } & ({
@@ -2092,6 +2092,9 @@ declare const _default: {
2092
2092
  ends_at: {
2093
2093
  type: string;
2094
2094
  };
2095
+ is_external_modification_allowed: {
2096
+ type: string;
2097
+ };
2095
2098
  name: {
2096
2099
  type: string;
2097
2100
  };
@@ -2204,6 +2207,9 @@ declare const _default: {
2204
2207
  ends_at: {
2205
2208
  type: string;
2206
2209
  };
2210
+ is_external_modification_allowed: {
2211
+ type: string;
2212
+ };
2207
2213
  name: {
2208
2214
  type: string;
2209
2215
  };
@@ -2310,6 +2316,9 @@ declare const _default: {
2310
2316
  ends_at: {
2311
2317
  type: string;
2312
2318
  };
2319
+ is_external_modification_allowed: {
2320
+ type: string;
2321
+ };
2313
2322
  name: {
2314
2323
  type: string;
2315
2324
  };
@@ -2935,6 +2944,9 @@ declare const _default: {
2935
2944
  force: {
2936
2945
  type: string;
2937
2946
  };
2947
+ is_external_modification_allowed: {
2948
+ type: string;
2949
+ };
2938
2950
  sync: {
2939
2951
  default: boolean;
2940
2952
  type: string;
@@ -3007,6 +3019,9 @@ declare const _default: {
3007
3019
  force: {
3008
3020
  type: string;
3009
3021
  };
3022
+ is_external_modification_allowed: {
3023
+ type: string;
3024
+ };
3010
3025
  sync: {
3011
3026
  default: boolean;
3012
3027
  type: string;
@@ -3407,6 +3422,9 @@ declare const _default: {
3407
3422
  force: {
3408
3423
  type: string;
3409
3424
  };
3425
+ is_external_modification_allowed: {
3426
+ type: string;
3427
+ };
3410
3428
  is_managed: {
3411
3429
  type: string;
3412
3430
  };
@@ -3478,6 +3496,9 @@ declare const _default: {
3478
3496
  force: {
3479
3497
  type: string;
3480
3498
  };
3499
+ is_external_modification_allowed: {
3500
+ type: string;
3501
+ };
3481
3502
  is_managed: {
3482
3503
  type: string;
3483
3504
  };
@@ -3566,6 +3587,9 @@ declare const _default: {
3566
3587
  ends_at: {
3567
3588
  type: string;
3568
3589
  };
3590
+ is_external_modification_allowed: {
3591
+ type: string;
3592
+ };
3569
3593
  is_managed: {
3570
3594
  type: string;
3571
3595
  };
@@ -3674,6 +3698,9 @@ declare const _default: {
3674
3698
  ends_at: {
3675
3699
  type: string;
3676
3700
  };
3701
+ is_external_modification_allowed: {
3702
+ type: string;
3703
+ };
3677
3704
  is_managed: {
3678
3705
  type: string;
3679
3706
  };
@@ -3784,6 +3811,9 @@ declare const _default: {
3784
3811
  ends_at: {
3785
3812
  type: string;
3786
3813
  };
3814
+ is_external_modification_allowed: {
3815
+ type: string;
3816
+ };
3787
3817
  is_managed: {
3788
3818
  type: string;
3789
3819
  };
@@ -1520,6 +1520,7 @@ export default {
1520
1520
  common_code_key: { type: 'string' },
1521
1521
  device_id: { format: 'uuid', type: 'string' },
1522
1522
  ends_at: { type: 'string' },
1523
+ is_external_modification_allowed: { type: 'boolean' },
1523
1524
  name: { type: 'string' },
1524
1525
  prefer_native_scheduling: { type: 'boolean' },
1525
1526
  starts_at: { type: 'string' },
@@ -1595,6 +1596,7 @@ export default {
1595
1596
  type: 'array',
1596
1597
  },
1597
1598
  ends_at: { type: 'string' },
1599
+ is_external_modification_allowed: { type: 'boolean' },
1598
1600
  name: { type: 'string' },
1599
1601
  prefer_native_scheduling: { type: 'boolean' },
1600
1602
  starts_at: { type: 'string' },
@@ -1667,6 +1669,7 @@ export default {
1667
1669
  type: 'array',
1668
1670
  },
1669
1671
  ends_at: { type: 'string' },
1672
+ is_external_modification_allowed: { type: 'boolean' },
1670
1673
  name: { type: 'string' },
1671
1674
  prefer_native_scheduling: { type: 'boolean' },
1672
1675
  starts_at: { type: 'string' },
@@ -2091,6 +2094,7 @@ export default {
2091
2094
  access_code_id: { format: 'uuid', type: 'string' },
2092
2095
  allow_external_modification: { type: 'boolean' },
2093
2096
  force: { type: 'boolean' },
2097
+ is_external_modification_allowed: { type: 'boolean' },
2094
2098
  sync: { default: false, type: 'boolean' },
2095
2099
  },
2096
2100
  required: ['access_code_id'],
@@ -2134,6 +2138,7 @@ export default {
2134
2138
  access_code_id: { format: 'uuid', type: 'string' },
2135
2139
  allow_external_modification: { type: 'boolean' },
2136
2140
  force: { type: 'boolean' },
2141
+ is_external_modification_allowed: { type: 'boolean' },
2137
2142
  sync: { default: false, type: 'boolean' },
2138
2143
  },
2139
2144
  required: ['access_code_id'],
@@ -2407,6 +2412,7 @@ export default {
2407
2412
  access_code_id: { format: 'uuid', type: 'string' },
2408
2413
  allow_external_modification: { type: 'boolean' },
2409
2414
  force: { type: 'boolean' },
2415
+ is_external_modification_allowed: { type: 'boolean' },
2410
2416
  is_managed: { type: 'boolean' },
2411
2417
  },
2412
2418
  required: ['access_code_id', 'is_managed'],
@@ -2450,6 +2456,7 @@ export default {
2450
2456
  access_code_id: { format: 'uuid', type: 'string' },
2451
2457
  allow_external_modification: { type: 'boolean' },
2452
2458
  force: { type: 'boolean' },
2459
+ is_external_modification_allowed: { type: 'boolean' },
2453
2460
  is_managed: { type: 'boolean' },
2454
2461
  },
2455
2462
  required: ['access_code_id', 'is_managed'],
@@ -2507,6 +2514,7 @@ export default {
2507
2514
  },
2508
2515
  device_id: { format: 'uuid', type: 'string' },
2509
2516
  ends_at: { type: 'string' },
2517
+ is_external_modification_allowed: { type: 'boolean' },
2510
2518
  is_managed: { type: 'boolean' },
2511
2519
  name: { type: 'string' },
2512
2520
  prefer_native_scheduling: { type: 'boolean' },
@@ -2572,6 +2580,7 @@ export default {
2572
2580
  },
2573
2581
  device_id: { format: 'uuid', type: 'string' },
2574
2582
  ends_at: { type: 'string' },
2583
+ is_external_modification_allowed: { type: 'boolean' },
2575
2584
  is_managed: { type: 'boolean' },
2576
2585
  name: { type: 'string' },
2577
2586
  prefer_native_scheduling: { type: 'boolean' },
@@ -2639,6 +2648,7 @@ export default {
2639
2648
  },
2640
2649
  device_id: { format: 'uuid', type: 'string' },
2641
2650
  ends_at: { type: 'string' },
2651
+ is_external_modification_allowed: { type: 'boolean' },
2642
2652
  is_managed: { type: 'boolean' },
2643
2653
  name: { type: 'string' },
2644
2654
  prefer_native_scheduling: { type: 'boolean' },