@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();
@@ -10586,6 +10684,9 @@ function MeetingTypeFromApi(req) {
10586
10684
  isEmailRequired: req.meetingTypeApi.isEmailRequired || false,
10587
10685
  isPhoneNumberRequired: req.meetingTypeApi.isPhoneNumberRequired || false,
10588
10686
  notificationType: req.meetingTypeApi.notificationType || NotificationType.EMAIL,
10687
+ redirectEnabled: req.meetingTypeApi.redirectEnabled || false,
10688
+ redirectUrl: req.meetingTypeApi.redirectUrl || "",
10689
+ redirectDelaySeconds: req.meetingTypeApi.redirectDelaySeconds || 0,
10589
10690
  };
10590
10691
  }
10591
10692
  function MeetingTypeToApi(req) {
@@ -10626,6 +10727,9 @@ function MeetingTypeToApi(req) {
10626
10727
  isEmailRequired: m.isEmailRequired || false,
10627
10728
  isPhoneNumberRequired: m.isPhoneNumberRequired || false,
10628
10729
  notificationType: m.notificationType || NotificationType.EMAIL,
10730
+ redirectEnabled: m.redirectEnabled || false,
10731
+ redirectUrl: m.redirectUrl || undefined,
10732
+ redirectDelaySeconds: m.redirectDelaySeconds || 0,
10629
10733
  };
10630
10734
  }
10631
10735
 
@@ -11424,6 +11528,9 @@ function GroupTypeToAPi(req) {
11424
11528
  associations: m.associations ? m.associations.map(AssociationTypeToApi) : undefined,
11425
11529
  hexColor: m.hexColor || undefined,
11426
11530
  isBatchBookingEnabled: m.isBatchBookingEnabled || undefined,
11531
+ redirectEnabled: m.redirectEnabled || false,
11532
+ redirectUrl: m.redirectUrl || undefined,
11533
+ redirectDelaySeconds: m.redirectDelaySeconds || 0,
11427
11534
  };
11428
11535
  }
11429
11536
  function ServiceTypeToApi(req) {
@@ -11440,6 +11547,9 @@ function ServiceTypeToApi(req) {
11440
11547
  associations: m.associations ? m.associations.map(AssociationTypeToApi) : undefined,
11441
11548
  hexColor: m.hexColor || undefined,
11442
11549
  isBatchBookingEnabled: m.isBatchBookingEnabled || undefined,
11550
+ redirectEnabled: m.redirectEnabled || false,
11551
+ redirectUrl: m.redirectUrl || undefined,
11552
+ redirectDelaySeconds: m.redirectDelaySeconds || 0,
11443
11553
  };
11444
11554
  }
11445
11555
  function AssociationTypeToApi(association) {
@@ -11487,6 +11597,9 @@ function GroupFromApi(req) {
11487
11597
  hexColor: req.groupApi.hexColor || '',
11488
11598
  bookingUrl: bookingUrl,
11489
11599
  isBatchBookingEnabled: req.groupApi.isBatchBookingEnabled || false,
11600
+ redirectEnabled: req.groupApi.redirectEnabled || false,
11601
+ redirectUrl: req.groupApi.redirectUrl || "",
11602
+ redirectDelaySeconds: req.groupApi.redirectDelaySeconds || 0,
11490
11603
  };
11491
11604
  }
11492
11605
  function getBookingURL(environment, slug, calendarId) {
@@ -11515,6 +11628,9 @@ function ServiceFromApi(req) {
11515
11628
  hexColor: req.serviceApi.hexColor || '',
11516
11629
  bookingUrl: bookingUrl,
11517
11630
  isBatchBookingEnabled: req.serviceApi.isBatchBookingEnabled || false,
11631
+ redirectEnabled: req.serviceApi.redirectEnabled || false,
11632
+ redirectUrl: req.serviceApi.redirectUrl || "",
11633
+ redirectDelaySeconds: req.serviceApi.redirectDelaySeconds || 0,
11518
11634
  };
11519
11635
  }
11520
11636
 
@@ -12024,7 +12140,9 @@ class HostService {
12024
12140
  bookingGroupId: booking.bookingGroupId || "",
12025
12141
  meetings: (booking.meetings || []).map((meeting) => meetingFromApi(meeting)),
12026
12142
  }));
12027
- return new PagedResponse(bookings, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);
12143
+ const page = new PagedResponse(bookings, resp.pagingMetadata.nextCursor, resp.pagingMetadata.hasMore);
12144
+ page.userBusyTimes = resp.userBusyTimes || [];
12145
+ return page;
12028
12146
  }));
12029
12147
  }
12030
12148
  // hostBookBatchMeeting books a meeting on the host calendar — single-service