@vendasta/meetings 1.15.1 → 1.15.4

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 (52) hide show
  1. package/esm2020/lib/_internal/interfaces/groups-and-services.interface.mjs +1 -1
  2. package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
  3. package/esm2020/lib/_internal/interfaces/meeting-external.interface.mjs +1 -1
  4. package/esm2020/lib/_internal/interfaces/meeting-guest.interface.mjs +1 -1
  5. package/esm2020/lib/_internal/interfaces/meeting-host.interface.mjs +1 -1
  6. package/esm2020/lib/_internal/interfaces/meeting-type.interface.mjs +1 -1
  7. package/esm2020/lib/_internal/interfaces/shared.interface.mjs +1 -1
  8. package/esm2020/lib/_internal/objects/annotations.mjs +1 -1
  9. package/esm2020/lib/_internal/objects/date-range.mjs +1 -1
  10. package/esm2020/lib/_internal/objects/field-mask.mjs +1 -1
  11. package/esm2020/lib/_internal/objects/google-meet.mjs +1 -1
  12. package/esm2020/lib/_internal/objects/groups-and-services.mjs +25 -1
  13. package/esm2020/lib/_internal/objects/index.mjs +3 -3
  14. package/esm2020/lib/_internal/objects/meeting-external.mjs +2 -2
  15. package/esm2020/lib/_internal/objects/meeting-guest.mjs +32 -2
  16. package/esm2020/lib/_internal/objects/meeting-host.mjs +59 -27
  17. package/esm2020/lib/_internal/objects/meeting-source.mjs +1 -1
  18. package/esm2020/lib/_internal/objects/meeting-type.mjs +13 -1
  19. package/esm2020/lib/_internal/objects/openapiv2.mjs +1 -1
  20. package/esm2020/lib/_internal/objects/shared.mjs +1 -1
  21. package/esm2020/lib/_internal/objects/zoom.mjs +1 -1
  22. package/esm2020/lib/host/host.service.mjs +4 -2
  23. package/esm2020/lib/shared/groups-and-services.mjs +13 -1
  24. package/esm2020/lib/shared/meeting-type.mjs +7 -1
  25. package/fesm2015/vendasta-meetings.mjs +144 -26
  26. package/fesm2015/vendasta-meetings.mjs.map +1 -1
  27. package/fesm2020/vendasta-meetings.mjs +144 -26
  28. package/fesm2020/vendasta-meetings.mjs.map +1 -1
  29. package/lib/_internal/interfaces/groups-and-services.interface.d.ts +6 -0
  30. package/lib/_internal/interfaces/index.d.ts +2 -2
  31. package/lib/_internal/interfaces/meeting-external.interface.d.ts +1 -1
  32. package/lib/_internal/interfaces/meeting-guest.interface.d.ts +9 -1
  33. package/lib/_internal/interfaces/meeting-host.interface.d.ts +14 -9
  34. package/lib/_internal/interfaces/meeting-type.interface.d.ts +3 -1
  35. package/lib/_internal/objects/annotations.d.ts +1 -1
  36. package/lib/_internal/objects/date-range.d.ts +1 -1
  37. package/lib/_internal/objects/field-mask.d.ts +1 -1
  38. package/lib/_internal/objects/google-meet.d.ts +1 -1
  39. package/lib/_internal/objects/groups-and-services.d.ts +7 -1
  40. package/lib/_internal/objects/index.d.ts +2 -2
  41. package/lib/_internal/objects/meeting-external.d.ts +2 -2
  42. package/lib/_internal/objects/meeting-guest.d.ts +10 -2
  43. package/lib/_internal/objects/meeting-host.d.ts +29 -21
  44. package/lib/_internal/objects/meeting-source.d.ts +1 -1
  45. package/lib/_internal/objects/meeting-type.d.ts +4 -2
  46. package/lib/_internal/objects/openapiv2.d.ts +1 -1
  47. package/lib/_internal/objects/shared.d.ts +1 -1
  48. package/lib/_internal/objects/zoom.d.ts +1 -1
  49. package/lib/host/host.service.d.ts +4 -2
  50. package/lib/shared/groups-and-services.d.ts +6 -0
  51. package/lib/shared/meeting-type.d.ts +3 -0
  52. package/package.json +1 -1
@@ -2343,6 +2343,9 @@ class MeetingType {
2343
2343
  if (proto.notificationType) {
2344
2344
  m.notificationType = enumStringToValue$9(NotificationType, proto.notificationType);
2345
2345
  }
2346
+ if (proto.redirectDelaySeconds) {
2347
+ m.redirectDelaySeconds = parseInt(proto.redirectDelaySeconds, 10);
2348
+ }
2346
2349
  return m;
2347
2350
  }
2348
2351
  constructor(kwargs) {
@@ -2458,6 +2461,15 @@ class MeetingType {
2458
2461
  if (typeof this.notificationType !== 'undefined') {
2459
2462
  toReturn['notificationType'] = this.notificationType;
2460
2463
  }
2464
+ if (typeof this.redirectEnabled !== 'undefined') {
2465
+ toReturn['redirectEnabled'] = this.redirectEnabled;
2466
+ }
2467
+ if (typeof this.redirectUrl !== 'undefined') {
2468
+ toReturn['redirectUrl'] = this.redirectUrl;
2469
+ }
2470
+ if (typeof this.redirectDelaySeconds !== 'undefined') {
2471
+ toReturn['redirectDelaySeconds'] = this.redirectDelaySeconds;
2472
+ }
2461
2473
  return toReturn;
2462
2474
  }
2463
2475
  }
@@ -2595,6 +2607,9 @@ class Group {
2595
2607
  if (proto.associations) {
2596
2608
  m.associations = proto.associations.map(EventGroupAndServiceAssociations.fromProto);
2597
2609
  }
2610
+ if (proto.redirectDelaySeconds) {
2611
+ m.redirectDelaySeconds = parseInt(proto.redirectDelaySeconds, 10);
2612
+ }
2598
2613
  return m;
2599
2614
  }
2600
2615
  constructor(kwargs) {
@@ -2632,6 +2647,15 @@ class Group {
2632
2647
  if (typeof this.isBatchBookingEnabled !== 'undefined') {
2633
2648
  toReturn['isBatchBookingEnabled'] = this.isBatchBookingEnabled;
2634
2649
  }
2650
+ if (typeof this.redirectEnabled !== 'undefined') {
2651
+ toReturn['redirectEnabled'] = this.redirectEnabled;
2652
+ }
2653
+ if (typeof this.redirectUrl !== 'undefined') {
2654
+ toReturn['redirectUrl'] = this.redirectUrl;
2655
+ }
2656
+ if (typeof this.redirectDelaySeconds !== 'undefined') {
2657
+ toReturn['redirectDelaySeconds'] = this.redirectDelaySeconds;
2658
+ }
2635
2659
  return toReturn;
2636
2660
  }
2637
2661
  }
@@ -2642,6 +2666,9 @@ class Service {
2642
2666
  if (proto.associations) {
2643
2667
  m.associations = proto.associations.map(EventGroupAndServiceAssociations.fromProto);
2644
2668
  }
2669
+ if (proto.redirectDelaySeconds) {
2670
+ m.redirectDelaySeconds = parseInt(proto.redirectDelaySeconds, 10);
2671
+ }
2645
2672
  return m;
2646
2673
  }
2647
2674
  constructor(kwargs) {
@@ -2679,6 +2706,15 @@ class Service {
2679
2706
  if (typeof this.isBatchBookingEnabled !== 'undefined') {
2680
2707
  toReturn['isBatchBookingEnabled'] = this.isBatchBookingEnabled;
2681
2708
  }
2709
+ if (typeof this.redirectEnabled !== 'undefined') {
2710
+ toReturn['redirectEnabled'] = this.redirectEnabled;
2711
+ }
2712
+ if (typeof this.redirectUrl !== 'undefined') {
2713
+ toReturn['redirectUrl'] = this.redirectUrl;
2714
+ }
2715
+ if (typeof this.redirectDelaySeconds !== 'undefined') {
2716
+ toReturn['redirectDelaySeconds'] = this.redirectDelaySeconds;
2717
+ }
2682
2718
  return toReturn;
2683
2719
  }
2684
2720
  }
@@ -4285,6 +4321,9 @@ class GetGroupV2Response {
4285
4321
  if (proto.eventTypes) {
4286
4322
  m.eventTypes = proto.eventTypes.map(ServiceEventType.fromProto);
4287
4323
  }
4324
+ if (proto.redirectDelaySeconds) {
4325
+ m.redirectDelaySeconds = parseInt(proto.redirectDelaySeconds, 10);
4326
+ }
4288
4327
  return m;
4289
4328
  }
4290
4329
  constructor(kwargs) {
@@ -4316,6 +4355,15 @@ class GetGroupV2Response {
4316
4355
  if (typeof this.isBatchBookingEnabled !== 'undefined') {
4317
4356
  toReturn['isBatchBookingEnabled'] = this.isBatchBookingEnabled;
4318
4357
  }
4358
+ if (typeof this.redirectEnabled !== 'undefined') {
4359
+ toReturn['redirectEnabled'] = this.redirectEnabled;
4360
+ }
4361
+ if (typeof this.redirectUrl !== 'undefined') {
4362
+ toReturn['redirectUrl'] = this.redirectUrl;
4363
+ }
4364
+ if (typeof this.redirectDelaySeconds !== 'undefined') {
4365
+ toReturn['redirectDelaySeconds'] = this.redirectDelaySeconds;
4366
+ }
4319
4367
  return toReturn;
4320
4368
  }
4321
4369
  }
@@ -4563,6 +4611,9 @@ class GetServiceV2Response {
4563
4611
  if (proto.eventTypes) {
4564
4612
  m.eventTypes = proto.eventTypes.map(ServiceEventType.fromProto);
4565
4613
  }
4614
+ if (proto.redirectDelaySeconds) {
4615
+ m.redirectDelaySeconds = parseInt(proto.redirectDelaySeconds, 10);
4616
+ }
4566
4617
  return m;
4567
4618
  }
4568
4619
  constructor(kwargs) {
@@ -4597,6 +4648,15 @@ class GetServiceV2Response {
4597
4648
  if (typeof this.isBatchBookingEnabled !== 'undefined') {
4598
4649
  toReturn['isBatchBookingEnabled'] = this.isBatchBookingEnabled;
4599
4650
  }
4651
+ if (typeof this.redirectEnabled !== 'undefined') {
4652
+ toReturn['redirectEnabled'] = this.redirectEnabled;
4653
+ }
4654
+ if (typeof this.redirectUrl !== 'undefined') {
4655
+ toReturn['redirectUrl'] = this.redirectUrl;
4656
+ }
4657
+ if (typeof this.redirectDelaySeconds !== 'undefined') {
4658
+ toReturn['redirectDelaySeconds'] = this.redirectDelaySeconds;
4659
+ }
4600
4660
  return toReturn;
4601
4661
  }
4602
4662
  }
@@ -4996,6 +5056,12 @@ class GuestGetBookedMeetingResponseV2 {
4996
5056
  if (typeof this.isLocationEditable !== 'undefined') {
4997
5057
  toReturn['isLocationEditable'] = this.isLocationEditable;
4998
5058
  }
5059
+ if (typeof this.redirectUrl !== 'undefined') {
5060
+ toReturn['redirectUrl'] = this.redirectUrl;
5061
+ }
5062
+ if (typeof this.redirectDelaySeconds !== 'undefined') {
5063
+ toReturn['redirectDelaySeconds'] = this.redirectDelaySeconds;
5064
+ }
4999
5065
  return toReturn;
5000
5066
  }
5001
5067
  }
@@ -6550,9 +6616,9 @@ function enumStringToValue$3(enumRef, value) {
6550
6616
  }
6551
6617
  return enumRef[value];
6552
6618
  }
6553
- class IsCalendarConfiguredRequestApplicationContextPropertiesEntry {
6619
+ class EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry {
6554
6620
  static fromProto(proto) {
6555
- let m = new IsCalendarConfiguredRequestApplicationContextPropertiesEntry();
6621
+ let m = new EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry();
6556
6622
  m = Object.assign(m, proto);
6557
6623
  return m;
6558
6624
  }
@@ -6573,9 +6639,9 @@ class IsCalendarConfiguredRequestApplicationContextPropertiesEntry {
6573
6639
  return toReturn;
6574
6640
  }
6575
6641
  }
6576
- class EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry {
6642
+ class IsCalendarConfiguredRequestApplicationContextPropertiesEntry {
6577
6643
  static fromProto(proto) {
6578
- let m = new EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry();
6644
+ let m = new IsCalendarConfiguredRequestApplicationContextPropertiesEntry();
6579
6645
  m = Object.assign(m, proto);
6580
6646
  return m;
6581
6647
  }
@@ -7525,10 +7591,13 @@ class EventTypeSummary {
7525
7591
  return toReturn;
7526
7592
  }
7527
7593
  }
7528
- class ListAvailabilityRequestFilters {
7594
+ class ListBookedMeetingsRequestFilters {
7529
7595
  static fromProto(proto) {
7530
- let m = new ListAvailabilityRequestFilters();
7596
+ let m = new ListBookedMeetingsRequestFilters();
7531
7597
  m = Object.assign(m, proto);
7598
+ if (proto.timeSpan) {
7599
+ m.timeSpan = DateRange.fromProto(proto.timeSpan);
7600
+ }
7532
7601
  return m;
7533
7602
  }
7534
7603
  constructor(kwargs) {
@@ -7539,22 +7608,25 @@ class ListAvailabilityRequestFilters {
7539
7608
  }
7540
7609
  toApiJson() {
7541
7610
  const toReturn = {};
7611
+ if (typeof this.meetingTypeIds !== 'undefined') {
7612
+ toReturn['meetingTypeIds'] = this.meetingTypeIds;
7613
+ }
7542
7614
  if (typeof this.hostId !== 'undefined') {
7543
7615
  toReturn['hostId'] = this.hostId;
7544
7616
  }
7545
- if (typeof this.meetingTypeId !== 'undefined') {
7546
- toReturn['meetingTypeId'] = this.meetingTypeId;
7617
+ if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {
7618
+ toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? this.timeSpan.toApiJson() : this.timeSpan;
7619
+ }
7620
+ if (typeof this.userIds !== 'undefined') {
7621
+ toReturn['userIds'] = this.userIds;
7547
7622
  }
7548
7623
  return toReturn;
7549
7624
  }
7550
7625
  }
7551
- class ListBookedMeetingsRequestFilters {
7626
+ class ListAvailabilityRequestFilters {
7552
7627
  static fromProto(proto) {
7553
- let m = new ListBookedMeetingsRequestFilters();
7628
+ let m = new ListAvailabilityRequestFilters();
7554
7629
  m = Object.assign(m, proto);
7555
- if (proto.timeSpan) {
7556
- m.timeSpan = DateRange.fromProto(proto.timeSpan);
7557
- }
7558
7630
  return m;
7559
7631
  }
7560
7632
  constructor(kwargs) {
@@ -7565,17 +7637,11 @@ class ListBookedMeetingsRequestFilters {
7565
7637
  }
7566
7638
  toApiJson() {
7567
7639
  const toReturn = {};
7568
- if (typeof this.meetingTypeIds !== 'undefined') {
7569
- toReturn['meetingTypeIds'] = this.meetingTypeIds;
7570
- }
7571
7640
  if (typeof this.hostId !== 'undefined') {
7572
7641
  toReturn['hostId'] = this.hostId;
7573
7642
  }
7574
- if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {
7575
- toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? this.timeSpan.toApiJson() : this.timeSpan;
7576
- }
7577
- if (typeof this.userIds !== 'undefined') {
7578
- toReturn['userIds'] = this.userIds;
7643
+ if (typeof this.meetingTypeId !== 'undefined') {
7644
+ toReturn['meetingTypeId'] = this.meetingTypeId;
7579
7645
  }
7580
7646
  return toReturn;
7581
7647
  }
@@ -9041,6 +9107,9 @@ class ListBookedMeetingsV2Response {
9041
9107
  if (proto.pagingMetadata) {
9042
9108
  m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);
9043
9109
  }
9110
+ if (proto.userBusyTimes) {
9111
+ m.userBusyTimes = proto.userBusyTimes.map(UserBusyTimes.fromProto);
9112
+ }
9044
9113
  return m;
9045
9114
  }
9046
9115
  constructor(kwargs) {
@@ -9057,6 +9126,9 @@ class ListBookedMeetingsV2Response {
9057
9126
  if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {
9058
9127
  toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;
9059
9128
  }
9129
+ if (typeof this.userBusyTimes !== 'undefined' && this.userBusyTimes !== null) {
9130
+ toReturn['userBusyTimes'] = 'toApiJson' in this.userBusyTimes ? this.userBusyTimes.toApiJson() : this.userBusyTimes;
9131
+ }
9060
9132
  return toReturn;
9061
9133
  }
9062
9134
  }
@@ -9453,9 +9525,9 @@ class UpdateMeetingMetadataRequestMetadataEntry {
9453
9525
  return toReturn;
9454
9526
  }
9455
9527
  }
9456
- class HostBookBatchMeetingRequestMetadataEntry {
9528
+ class MeetingMetadataEntry {
9457
9529
  static fromProto(proto) {
9458
- let m = new HostBookBatchMeetingRequestMetadataEntry();
9530
+ let m = new MeetingMetadataEntry();
9459
9531
  m = Object.assign(m, proto);
9460
9532
  return m;
9461
9533
  }
@@ -9476,9 +9548,9 @@ class HostBookBatchMeetingRequestMetadataEntry {
9476
9548
  return toReturn;
9477
9549
  }
9478
9550
  }
9479
- class MeetingMetadataEntry {
9551
+ class HostBookBatchMeetingRequestMetadataEntry {
9480
9552
  static fromProto(proto) {
9481
- let m = new MeetingMetadataEntry();
9553
+ let m = new HostBookBatchMeetingRequestMetadataEntry();
9482
9554
  m = Object.assign(m, proto);
9483
9555
  return m;
9484
9556
  }
@@ -9980,6 +10052,32 @@ class UpdateServiceRequest {
9980
10052
  return toReturn;
9981
10053
  }
9982
10054
  }
10055
+ class UserBusyTimes {
10056
+ static fromProto(proto) {
10057
+ let m = new UserBusyTimes();
10058
+ m = Object.assign(m, proto);
10059
+ if (proto.busyIntervals) {
10060
+ m.busyIntervals = proto.busyIntervals.map(IsoDateTimeRange.fromProto);
10061
+ }
10062
+ return m;
10063
+ }
10064
+ constructor(kwargs) {
10065
+ if (!kwargs) {
10066
+ return;
10067
+ }
10068
+ Object.assign(this, kwargs);
10069
+ }
10070
+ toApiJson() {
10071
+ const toReturn = {};
10072
+ if (typeof this.userId !== 'undefined') {
10073
+ toReturn['userId'] = this.userId;
10074
+ }
10075
+ if (typeof this.busyIntervals !== 'undefined' && this.busyIntervals !== null) {
10076
+ toReturn['busyIntervals'] = 'toApiJson' in this.busyIntervals ? this.busyIntervals.toApiJson() : this.busyIntervals;
10077
+ }
10078
+ return toReturn;
10079
+ }
10080
+ }
9983
10081
  class WeekdayAvailability {
9984
10082
  static fromProto(proto) {
9985
10083
  let m = new WeekdayAvailability();
@@ -11136,6 +11234,9 @@ function MeetingTypeFromApi(req) {
11136
11234
  isEmailRequired: req.meetingTypeApi.isEmailRequired || false,
11137
11235
  isPhoneNumberRequired: req.meetingTypeApi.isPhoneNumberRequired || false,
11138
11236
  notificationType: req.meetingTypeApi.notificationType || NotificationType.EMAIL,
11237
+ redirectEnabled: req.meetingTypeApi.redirectEnabled || false,
11238
+ redirectUrl: req.meetingTypeApi.redirectUrl || "",
11239
+ redirectDelaySeconds: req.meetingTypeApi.redirectDelaySeconds || 0,
11139
11240
  };
11140
11241
  }
11141
11242
  function MeetingTypeToApi(req) {
@@ -11176,6 +11277,9 @@ function MeetingTypeToApi(req) {
11176
11277
  isEmailRequired: m.isEmailRequired || false,
11177
11278
  isPhoneNumberRequired: m.isPhoneNumberRequired || false,
11178
11279
  notificationType: m.notificationType || NotificationType.EMAIL,
11280
+ redirectEnabled: m.redirectEnabled || false,
11281
+ redirectUrl: m.redirectUrl || undefined,
11282
+ redirectDelaySeconds: m.redirectDelaySeconds || 0,
11179
11283
  };
11180
11284
  }
11181
11285
 
@@ -11432,6 +11536,9 @@ function GroupTypeToAPi(req) {
11432
11536
  associations: m.associations ? m.associations.map(AssociationTypeToApi) : undefined,
11433
11537
  hexColor: m.hexColor || undefined,
11434
11538
  isBatchBookingEnabled: m.isBatchBookingEnabled || undefined,
11539
+ redirectEnabled: m.redirectEnabled || false,
11540
+ redirectUrl: m.redirectUrl || undefined,
11541
+ redirectDelaySeconds: m.redirectDelaySeconds || 0,
11435
11542
  };
11436
11543
  }
11437
11544
  function ServiceTypeToApi(req) {
@@ -11448,6 +11555,9 @@ function ServiceTypeToApi(req) {
11448
11555
  associations: m.associations ? m.associations.map(AssociationTypeToApi) : undefined,
11449
11556
  hexColor: m.hexColor || undefined,
11450
11557
  isBatchBookingEnabled: m.isBatchBookingEnabled || undefined,
11558
+ redirectEnabled: m.redirectEnabled || false,
11559
+ redirectUrl: m.redirectUrl || undefined,
11560
+ redirectDelaySeconds: m.redirectDelaySeconds || 0,
11451
11561
  };
11452
11562
  }
11453
11563
  function AssociationTypeToApi(association) {
@@ -11494,6 +11604,9 @@ function GroupFromApi(req) {
11494
11604
  hexColor: req.groupApi.hexColor || '',
11495
11605
  bookingUrl: bookingUrl,
11496
11606
  isBatchBookingEnabled: req.groupApi.isBatchBookingEnabled || false,
11607
+ redirectEnabled: req.groupApi.redirectEnabled || false,
11608
+ redirectUrl: req.groupApi.redirectUrl || "",
11609
+ redirectDelaySeconds: req.groupApi.redirectDelaySeconds || 0,
11497
11610
  };
11498
11611
  }
11499
11612
  function getBookingURL(environment, slug, calendarId) {
@@ -11521,6 +11634,9 @@ function ServiceFromApi(req) {
11521
11634
  hexColor: req.serviceApi.hexColor || '',
11522
11635
  bookingUrl: bookingUrl,
11523
11636
  isBatchBookingEnabled: req.serviceApi.isBatchBookingEnabled || false,
11637
+ redirectEnabled: req.serviceApi.redirectEnabled || false,
11638
+ redirectUrl: req.serviceApi.redirectUrl || "",
11639
+ redirectDelaySeconds: req.serviceApi.redirectDelaySeconds || 0,
11524
11640
  };
11525
11641
  }
11526
11642
 
@@ -12065,7 +12181,9 @@ class HostService {
12065
12181
  bookingGroupId: booking.bookingGroupId || "",
12066
12182
  meetings: (booking.meetings || []).map((meeting) => meetingFromApi(meeting)),
12067
12183
  }));
12068
- return new PagedResponse(bookings, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);
12184
+ const page = new PagedResponse(bookings, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);
12185
+ page.userBusyTimes = resp.userBusyTimes || [];
12186
+ return page;
12069
12187
  }));
12070
12188
  }
12071
12189
  // hostBookBatchMeeting books a meeting on the host calendar — single-service