@sprucelabs/spruce-calendar-components 20.9.20 → 20.9.23

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.
@@ -678,54 +678,69 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
678
678
  type UpsertThemeResponsePayloadEntity = SchemaEntity<SpruceSchemas.Heartwood.v2021_02_11.UpsertThemeResponsePayloadSchema>;
679
679
  }
680
680
  namespace SpruceSchemas.Calendar.v2021_05_19 {
681
- interface CancelCalendarEventEmitTargetAndPayload {
682
- /** Source. */
683
- 'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
684
- 'target': SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitTarget;
685
- 'payload'?: SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitPayload | undefined | null;
681
+ interface CancelCalendarEventEmitTarget {
682
+ 'locationId': string;
683
+ 'calendarEventId': string;
686
684
  }
687
- interface CancelCalendarEventEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
688
- id: 'cancelCalendarEventEmitTargetAndPayload';
685
+ interface CancelCalendarEventEmitTargetSchema extends SpruceSchema.Schema {
686
+ id: 'cancelCalendarEventEmitTarget';
689
687
  version: 'v2021_05_19';
690
688
  namespace: 'Calendar';
691
689
  name: '';
692
690
  fields: {
693
- /** Source. */
694
- 'source': {
695
- label: 'Source';
696
- type: 'schema';
697
- options: {
698
- schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
699
- };
691
+ /** . */
692
+ 'locationId': {
693
+ type: 'id';
694
+ isRequired: true;
695
+ options: undefined;
700
696
  };
701
697
  /** . */
702
- 'target': {
703
- type: 'schema';
698
+ 'calendarEventId': {
699
+ type: 'id';
704
700
  isRequired: true;
705
- options: {
706
- schema: SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitTargetSchema;
707
- };
701
+ options: undefined;
708
702
  };
703
+ };
704
+ }
705
+ type CancelCalendarEventEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitTargetSchema>;
706
+ }
707
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
708
+ interface CancelCalendarEventEmitPayload {
709
+ 'cancelDates'?: SpruceSchemas.Calendar.v2021_05_19.CancelDates[] | undefined | null;
710
+ 'cancelFromDate'?: number | undefined | null;
711
+ }
712
+ interface CancelCalendarEventEmitPayloadSchema extends SpruceSchema.Schema {
713
+ id: 'cancelCalendarEventEmitPayload';
714
+ version: 'v2021_05_19';
715
+ namespace: 'Calendar';
716
+ name: '';
717
+ fields: {
709
718
  /** . */
710
- 'payload': {
719
+ 'cancelDates': {
711
720
  type: 'schema';
721
+ isArray: true;
712
722
  options: {
713
- schema: SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitPayloadSchema;
723
+ schema: SpruceSchemas.Calendar.v2021_05_19.CancelDatesSchema;
714
724
  };
715
725
  };
726
+ /** . */
727
+ 'cancelFromDate': {
728
+ type: 'number';
729
+ options: undefined;
730
+ };
716
731
  };
717
732
  }
718
- type CancelCalendarEventEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitTargetAndPayloadSchema>;
733
+ type CancelCalendarEventEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitPayloadSchema>;
719
734
  }
720
735
  namespace SpruceSchemas.Calendar.v2021_05_19 {
721
- interface GetConflictsForTimeRangeEmitTargetAndPayload {
736
+ interface CancelCalendarEventEmitTargetAndPayload {
722
737
  /** Source. */
723
738
  'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
724
- 'target': SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitTarget;
725
- 'payload': SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitPayload;
739
+ 'target': SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitTarget;
740
+ 'payload'?: SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitPayload | undefined | null;
726
741
  }
727
- interface GetConflictsForTimeRangeEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
728
- id: 'getConflictsForTimeRangeEmitTargetAndPayload';
742
+ interface CancelCalendarEventEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
743
+ id: 'cancelCalendarEventEmitTargetAndPayload';
729
744
  version: 'v2021_05_19';
730
745
  namespace: 'Calendar';
731
746
  name: '';
@@ -743,47 +758,19 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
743
758
  type: 'schema';
744
759
  isRequired: true;
745
760
  options: {
746
- schema: SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitTargetSchema;
761
+ schema: SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitTargetSchema;
747
762
  };
748
763
  };
749
764
  /** . */
750
765
  'payload': {
751
766
  type: 'schema';
752
- isRequired: true;
753
767
  options: {
754
- schema: SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitPayloadSchema;
768
+ schema: SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitPayloadSchema;
755
769
  };
756
770
  };
757
771
  };
758
772
  }
759
- type GetConflictsForTimeRangeEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitTargetAndPayloadSchema>;
760
- }
761
- namespace SpruceSchemas.Calendar.v2021_05_19 {
762
- interface CancelCalendarEventEmitTarget {
763
- 'locationId': string;
764
- 'calendarEventId': string;
765
- }
766
- interface CancelCalendarEventEmitTargetSchema extends SpruceSchema.Schema {
767
- id: 'cancelCalendarEventEmitTarget';
768
- version: 'v2021_05_19';
769
- namespace: 'Calendar';
770
- name: '';
771
- fields: {
772
- /** . */
773
- 'locationId': {
774
- type: 'id';
775
- isRequired: true;
776
- options: undefined;
777
- };
778
- /** . */
779
- 'calendarEventId': {
780
- type: 'id';
781
- isRequired: true;
782
- options: undefined;
783
- };
784
- };
785
- }
786
- type CancelCalendarEventEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitTargetSchema>;
773
+ type CancelCalendarEventEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitTargetAndPayloadSchema>;
787
774
  }
788
775
  namespace SpruceSchemas.Calendar.v2021_05_19 {
789
776
  interface CancelDates {
@@ -819,34 +806,6 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
819
806
  }
820
807
  type CancelDatesEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelDatesSchema>;
821
808
  }
822
- namespace SpruceSchemas.Calendar.v2021_05_19 {
823
- interface CancelCalendarEventEmitPayload {
824
- 'cancelDates'?: SpruceSchemas.Calendar.v2021_05_19.CancelDates[] | undefined | null;
825
- 'cancelFromDate'?: number | undefined | null;
826
- }
827
- interface CancelCalendarEventEmitPayloadSchema extends SpruceSchema.Schema {
828
- id: 'cancelCalendarEventEmitPayload';
829
- version: 'v2021_05_19';
830
- namespace: 'Calendar';
831
- name: '';
832
- fields: {
833
- /** . */
834
- 'cancelDates': {
835
- type: 'schema';
836
- isArray: true;
837
- options: {
838
- schema: SpruceSchemas.Calendar.v2021_05_19.CancelDatesSchema;
839
- };
840
- };
841
- /** . */
842
- 'cancelFromDate': {
843
- type: 'number';
844
- options: undefined;
845
- };
846
- };
847
- }
848
- type CancelCalendarEventEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventEmitPayloadSchema>;
849
- }
850
809
  namespace SpruceSchemas.Calendar.v2021_05_19 {
851
810
  interface CancelCalendarEventResponsePayload {
852
811
  'totalDeleted': number;
@@ -1766,13 +1725,12 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1766
1725
  type DidUpdateCalendarEventEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidUpdateCalendarEventEmitTargetAndPayloadSchema>;
1767
1726
  }
1768
1727
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1769
- interface GetAvailableTimeSlotsEmitTarget {
1770
- 'organizationId'?: string | undefined | null;
1771
- 'locationId'?: string | undefined | null;
1728
+ interface GetConflictsForTimeRangeEmitTarget {
1729
+ 'organizationId': string;
1772
1730
  'calendarIds': string[];
1773
1731
  }
1774
- interface GetAvailableTimeSlotsEmitTargetSchema extends SpruceSchema.Schema {
1775
- id: 'getAvailableTimeSlotsEmitTarget';
1732
+ interface GetConflictsForTimeRangeEmitTargetSchema extends SpruceSchema.Schema {
1733
+ id: 'getConflictsForTimeRangeEmitTarget';
1776
1734
  version: 'v2021_05_19';
1777
1735
  namespace: 'Calendar';
1778
1736
  name: '';
@@ -1780,11 +1738,7 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1780
1738
  /** . */
1781
1739
  'organizationId': {
1782
1740
  type: 'id';
1783
- options: undefined;
1784
- };
1785
- /** . */
1786
- 'locationId': {
1787
- type: 'id';
1741
+ isRequired: true;
1788
1742
  options: undefined;
1789
1743
  };
1790
1744
  /** . */
@@ -1796,15 +1750,15 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1796
1750
  };
1797
1751
  };
1798
1752
  }
1799
- type GetAvailableTimeSlotsEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitTargetSchema>;
1753
+ type GetConflictsForTimeRangeEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitTargetSchema>;
1800
1754
  }
1801
1755
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1802
- interface Teammates {
1756
+ interface Teammate {
1803
1757
  'personId': string;
1804
1758
  'durationMinutes': number;
1805
1759
  }
1806
- interface TeammatesSchema extends SpruceSchema.Schema {
1807
- id: 'teammates';
1760
+ interface TeammateSchema extends SpruceSchema.Schema {
1761
+ id: 'teammate';
1808
1762
  version: 'v2021_05_19';
1809
1763
  namespace: 'Calendar';
1810
1764
  name: '';
@@ -1823,17 +1777,15 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1823
1777
  };
1824
1778
  };
1825
1779
  }
1826
- type TeammatesEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.TeammatesSchema>;
1780
+ type TeammateEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.TeammateSchema>;
1827
1781
  }
1828
1782
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1829
- interface GetAvailableTimeSlotsEmitPayload {
1783
+ interface GetConflictsForTimeRangeEmitPayload {
1830
1784
  'startDateTimeMs': number;
1831
- 'endDateTimeMs': number;
1832
- 'calculationMode': ("intersect" | "contiguous");
1833
- 'teammates': SpruceSchemas.Calendar.v2021_05_19.Teammates[];
1785
+ 'teammate': SpruceSchemas.Calendar.v2021_05_19.Teammate;
1834
1786
  }
1835
- interface GetAvailableTimeSlotsEmitPayloadSchema extends SpruceSchema.Schema {
1836
- id: 'getAvailableTimeSlotsEmitPayload';
1787
+ interface GetConflictsForTimeRangeEmitPayloadSchema extends SpruceSchema.Schema {
1788
+ id: 'getConflictsForTimeRangeEmitPayload';
1837
1789
  version: 'v2021_05_19';
1838
1790
  namespace: 'Calendar';
1839
1791
  name: '';
@@ -1845,47 +1797,26 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1845
1797
  options: undefined;
1846
1798
  };
1847
1799
  /** . */
1848
- 'endDateTimeMs': {
1849
- type: 'number';
1850
- isRequired: true;
1851
- options: undefined;
1852
- };
1853
- /** . */
1854
- 'calculationMode': {
1855
- type: 'select';
1856
- isRequired: true;
1857
- options: {
1858
- choices: [{
1859
- "value": "intersect";
1860
- "label": "Intersect";
1861
- }, {
1862
- "value": "contiguous";
1863
- "label": "Contiguous";
1864
- }];
1865
- };
1866
- };
1867
- /** . */
1868
- 'teammates': {
1800
+ 'teammate': {
1869
1801
  type: 'schema';
1870
1802
  isRequired: true;
1871
- isArray: true;
1872
1803
  options: {
1873
- schema: SpruceSchemas.Calendar.v2021_05_19.TeammatesSchema;
1804
+ schema: SpruceSchemas.Calendar.v2021_05_19.TeammateSchema;
1874
1805
  };
1875
1806
  };
1876
1807
  };
1877
1808
  }
1878
- type GetAvailableTimeSlotsEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitPayloadSchema>;
1809
+ type GetConflictsForTimeRangeEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitPayloadSchema>;
1879
1810
  }
1880
1811
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1881
- interface GetAvailableTimeSlotsEmitTargetAndPayload {
1812
+ interface GetConflictsForTimeRangeEmitTargetAndPayload {
1882
1813
  /** Source. */
1883
1814
  'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
1884
- 'target': SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitTarget;
1885
- 'payload': SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitPayload;
1815
+ 'target': SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitTarget;
1816
+ 'payload': SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitPayload;
1886
1817
  }
1887
- interface GetAvailableTimeSlotsEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
1888
- id: 'getAvailableTimeSlotsEmitTargetAndPayload';
1818
+ interface GetConflictsForTimeRangeEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
1819
+ id: 'getConflictsForTimeRangeEmitTargetAndPayload';
1889
1820
  version: 'v2021_05_19';
1890
1821
  namespace: 'Calendar';
1891
1822
  name: '';
@@ -1903,7 +1834,7 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1903
1834
  type: 'schema';
1904
1835
  isRequired: true;
1905
1836
  options: {
1906
- schema: SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitTargetSchema;
1837
+ schema: SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitTargetSchema;
1907
1838
  };
1908
1839
  };
1909
1840
  /** . */
@@ -1911,167 +1842,50 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1911
1842
  type: 'schema';
1912
1843
  isRequired: true;
1913
1844
  options: {
1914
- schema: SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitPayloadSchema;
1845
+ schema: SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitPayloadSchema;
1915
1846
  };
1916
1847
  };
1917
1848
  };
1918
1849
  }
1919
- type GetAvailableTimeSlotsEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitTargetAndPayloadSchema>;
1850
+ type GetConflictsForTimeRangeEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitTargetAndPayloadSchema>;
1920
1851
  }
1921
1852
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1922
- interface TeammatesTimeslots {
1923
- 'personId': string;
1924
- 'startDateTimeMs': number;
1853
+ interface GetConflictsForTimeRangeResponsePayload {
1854
+ 'isAvailable': boolean;
1855
+ 'excludedBy'?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent[] | undefined | null;
1856
+ 'overlapsWith'?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent[] | undefined | null;
1925
1857
  }
1926
- interface TeammatesTimeslotsSchema extends SpruceSchema.Schema {
1927
- id: 'teammatesTimeslots';
1858
+ interface GetConflictsForTimeRangeResponsePayloadSchema extends SpruceSchema.Schema {
1859
+ id: 'getConflictsForTimeRangeResponsePayload';
1928
1860
  version: 'v2021_05_19';
1929
1861
  namespace: 'Calendar';
1930
1862
  name: '';
1931
1863
  fields: {
1932
1864
  /** . */
1933
- 'personId': {
1934
- type: 'id';
1865
+ 'isAvailable': {
1866
+ type: 'boolean';
1935
1867
  isRequired: true;
1936
1868
  options: undefined;
1937
1869
  };
1938
1870
  /** . */
1939
- 'startDateTimeMs': {
1940
- type: 'number';
1941
- isRequired: true;
1942
- options: undefined;
1871
+ 'excludedBy': {
1872
+ type: 'schema';
1873
+ isArray: true;
1874
+ options: {
1875
+ schema: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventSchema;
1876
+ };
1943
1877
  };
1944
- };
1945
- }
1946
- type TeammatesTimeslotsEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.TeammatesTimeslotsSchema>;
1947
- }
1948
- namespace SpruceSchemas.Calendar.v2021_05_19 {
1949
- interface Timeslots {
1950
- 'slots': SpruceSchemas.Calendar.v2021_05_19.TeammatesTimeslots[];
1951
- }
1952
- interface TimeslotsSchema extends SpruceSchema.Schema {
1953
- id: 'timeslots';
1954
- version: 'v2021_05_19';
1955
- namespace: 'Calendar';
1956
- name: '';
1957
- fields: {
1958
1878
  /** . */
1959
- 'slots': {
1879
+ 'overlapsWith': {
1960
1880
  type: 'schema';
1961
- isRequired: true;
1962
1881
  isArray: true;
1963
1882
  options: {
1964
- schema: SpruceSchemas.Calendar.v2021_05_19.TeammatesTimeslotsSchema;
1883
+ schema: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventSchema;
1965
1884
  };
1966
1885
  };
1967
1886
  };
1968
1887
  }
1969
- type TimeslotsEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.TimeslotsSchema>;
1970
- }
1971
- namespace SpruceSchemas.Calendar.v2021_05_19 {
1972
- interface GetAvailableTimeSlotsResponsePayload {
1973
- 'times': SpruceSchemas.Calendar.v2021_05_19.Timeslots[];
1974
- }
1975
- interface GetAvailableTimeSlotsResponsePayloadSchema extends SpruceSchema.Schema {
1976
- id: 'getAvailableTimeSlotsResponsePayload';
1977
- version: 'v2021_05_19';
1978
- namespace: 'Calendar';
1979
- name: '';
1980
- fields: {
1981
- /** . */
1982
- 'times': {
1983
- type: 'schema';
1984
- isRequired: true;
1985
- isArray: true;
1986
- minArrayLength: 0;
1987
- options: {
1988
- schema: SpruceSchemas.Calendar.v2021_05_19.TimeslotsSchema;
1989
- };
1990
- };
1991
- };
1992
- }
1993
- type GetAvailableTimeSlotsResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsResponsePayloadSchema>;
1994
- }
1995
- namespace SpruceSchemas.Calendar.v2021_05_19 {
1996
- interface GetCalendarEmitTarget {
1997
- 'organizationId': string;
1998
- 'slug': string;
1999
- }
2000
- interface GetCalendarEmitTargetSchema extends SpruceSchema.Schema {
2001
- id: 'getCalendarEmitTarget';
2002
- version: 'v2021_05_19';
2003
- namespace: 'Calendar';
2004
- name: '';
2005
- fields: {
2006
- /** . */
2007
- 'organizationId': {
2008
- type: 'id';
2009
- isRequired: true;
2010
- options: undefined;
2011
- };
2012
- /** . */
2013
- 'slug': {
2014
- type: 'id';
2015
- isRequired: true;
2016
- options: undefined;
2017
- };
2018
- };
2019
- }
2020
- type GetCalendarEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetCalendarEmitTargetSchema>;
2021
- }
2022
- namespace SpruceSchemas.Calendar.v2021_05_19 {
2023
- interface GetCalendarEmitTargetAndPayload {
2024
- /** Source. */
2025
- 'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
2026
- 'target': SpruceSchemas.Calendar.v2021_05_19.GetCalendarEmitTarget;
2027
- }
2028
- interface GetCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
2029
- id: 'getCalendarEmitTargetAndPayload';
2030
- version: 'v2021_05_19';
2031
- namespace: 'Calendar';
2032
- name: '';
2033
- fields: {
2034
- /** Source. */
2035
- 'source': {
2036
- label: 'Source';
2037
- type: 'schema';
2038
- options: {
2039
- schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
2040
- };
2041
- };
2042
- /** . */
2043
- 'target': {
2044
- type: 'schema';
2045
- isRequired: true;
2046
- options: {
2047
- schema: SpruceSchemas.Calendar.v2021_05_19.GetCalendarEmitTargetSchema;
2048
- };
2049
- };
2050
- };
2051
- }
2052
- type GetCalendarEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetCalendarEmitTargetAndPayloadSchema>;
2053
- }
2054
- namespace SpruceSchemas.Calendar.v2021_05_19 {
2055
- interface GetCalendarResponsePayload {
2056
- 'calendar': SpruceSchemas.Calendar.v2021_05_19.Calendar;
2057
- }
2058
- interface GetCalendarResponsePayloadSchema extends SpruceSchema.Schema {
2059
- id: 'getCalendarResponsePayload';
2060
- version: 'v2021_05_19';
2061
- namespace: 'Calendar';
2062
- name: '';
2063
- fields: {
2064
- /** . */
2065
- 'calendar': {
2066
- type: 'schema';
2067
- isRequired: true;
2068
- options: {
2069
- schema: SpruceSchemas.Calendar.v2021_05_19.CalendarSchema;
2070
- };
2071
- };
2072
- };
2073
- }
2074
- type GetCalendarResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetCalendarResponsePayloadSchema>;
1888
+ type GetConflictsForTimeRangeResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeResponsePayloadSchema>;
2075
1889
  }
2076
1890
  namespace SpruceSchemas.Calendar.v2021_05_19 {
2077
1891
  interface GetCalendarEventEmitTarget {
@@ -2155,12 +1969,13 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
2155
1969
  type GetCalendarEventResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetCalendarEventResponsePayloadSchema>;
2156
1970
  }
2157
1971
  namespace SpruceSchemas.Calendar.v2021_05_19 {
2158
- interface GetConflictsForTimeRangeEmitTarget {
2159
- 'organizationId': string;
1972
+ interface GetAvailableTimeSlotsEmitTarget {
1973
+ 'organizationId'?: string | undefined | null;
1974
+ 'locationId'?: string | undefined | null;
2160
1975
  'calendarIds': string[];
2161
1976
  }
2162
- interface GetConflictsForTimeRangeEmitTargetSchema extends SpruceSchema.Schema {
2163
- id: 'getConflictsForTimeRangeEmitTarget';
1977
+ interface GetAvailableTimeSlotsEmitTargetSchema extends SpruceSchema.Schema {
1978
+ id: 'getAvailableTimeSlotsEmitTarget';
2164
1979
  version: 'v2021_05_19';
2165
1980
  namespace: 'Calendar';
2166
1981
  name: '';
@@ -2168,7 +1983,11 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
2168
1983
  /** . */
2169
1984
  'organizationId': {
2170
1985
  type: 'id';
2171
- isRequired: true;
1986
+ options: undefined;
1987
+ };
1988
+ /** . */
1989
+ 'locationId': {
1990
+ type: 'id';
2172
1991
  options: undefined;
2173
1992
  };
2174
1993
  /** . */
@@ -2180,15 +1999,15 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
2180
1999
  };
2181
2000
  };
2182
2001
  }
2183
- type GetConflictsForTimeRangeEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitTargetSchema>;
2002
+ type GetAvailableTimeSlotsEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitTargetSchema>;
2184
2003
  }
2185
2004
  namespace SpruceSchemas.Calendar.v2021_05_19 {
2186
- interface Teammate {
2005
+ interface Teammates {
2187
2006
  'personId': string;
2188
2007
  'durationMinutes': number;
2189
2008
  }
2190
- interface TeammateSchema extends SpruceSchema.Schema {
2191
- id: 'teammate';
2009
+ interface TeammatesSchema extends SpruceSchema.Schema {
2010
+ id: 'teammates';
2192
2011
  version: 'v2021_05_19';
2193
2012
  namespace: 'Calendar';
2194
2013
  name: '';
@@ -2207,15 +2026,17 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
2207
2026
  };
2208
2027
  };
2209
2028
  }
2210
- type TeammateEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.TeammateSchema>;
2029
+ type TeammatesEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.TeammatesSchema>;
2211
2030
  }
2212
2031
  namespace SpruceSchemas.Calendar.v2021_05_19 {
2213
- interface GetConflictsForTimeRangeEmitPayload {
2032
+ interface GetAvailableTimeSlotsEmitPayload {
2214
2033
  'startDateTimeMs': number;
2215
- 'teammate': SpruceSchemas.Calendar.v2021_05_19.Teammate;
2034
+ 'endDateTimeMs': number;
2035
+ 'calculationMode': ("intersect" | "contiguous");
2036
+ 'teammates': SpruceSchemas.Calendar.v2021_05_19.Teammates[];
2216
2037
  }
2217
- interface GetConflictsForTimeRangeEmitPayloadSchema extends SpruceSchema.Schema {
2218
- id: 'getConflictsForTimeRangeEmitPayload';
2038
+ interface GetAvailableTimeSlotsEmitPayloadSchema extends SpruceSchema.Schema {
2039
+ id: 'getAvailableTimeSlotsEmitPayload';
2219
2040
  version: 'v2021_05_19';
2220
2041
  namespace: 'Calendar';
2221
2042
  name: '';
@@ -2227,54 +2048,152 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
2227
2048
  options: undefined;
2228
2049
  };
2229
2050
  /** . */
2230
- 'teammate': {
2051
+ 'endDateTimeMs': {
2052
+ type: 'number';
2053
+ isRequired: true;
2054
+ options: undefined;
2055
+ };
2056
+ /** . */
2057
+ 'calculationMode': {
2058
+ type: 'select';
2059
+ isRequired: true;
2060
+ options: {
2061
+ choices: [{
2062
+ "value": "intersect";
2063
+ "label": "Intersect";
2064
+ }, {
2065
+ "value": "contiguous";
2066
+ "label": "Contiguous";
2067
+ }];
2068
+ };
2069
+ };
2070
+ /** . */
2071
+ 'teammates': {
2231
2072
  type: 'schema';
2232
2073
  isRequired: true;
2074
+ isArray: true;
2233
2075
  options: {
2234
- schema: SpruceSchemas.Calendar.v2021_05_19.TeammateSchema;
2076
+ schema: SpruceSchemas.Calendar.v2021_05_19.TeammatesSchema;
2235
2077
  };
2236
2078
  };
2237
2079
  };
2238
2080
  }
2239
- type GetConflictsForTimeRangeEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeEmitPayloadSchema>;
2081
+ type GetAvailableTimeSlotsEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitPayloadSchema>;
2240
2082
  }
2241
2083
  namespace SpruceSchemas.Calendar.v2021_05_19 {
2242
- interface GetConflictsForTimeRangeResponsePayload {
2243
- 'isAvailable': boolean;
2244
- 'excludedBy'?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent[] | undefined | null;
2245
- 'overlapsWith'?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent[] | undefined | null;
2084
+ interface GetAvailableTimeSlotsEmitTargetAndPayload {
2085
+ /** Source. */
2086
+ 'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
2087
+ 'target': SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitTarget;
2088
+ 'payload': SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitPayload;
2246
2089
  }
2247
- interface GetConflictsForTimeRangeResponsePayloadSchema extends SpruceSchema.Schema {
2248
- id: 'getConflictsForTimeRangeResponsePayload';
2090
+ interface GetAvailableTimeSlotsEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
2091
+ id: 'getAvailableTimeSlotsEmitTargetAndPayload';
2249
2092
  version: 'v2021_05_19';
2250
2093
  namespace: 'Calendar';
2251
2094
  name: '';
2252
2095
  fields: {
2096
+ /** Source. */
2097
+ 'source': {
2098
+ label: 'Source';
2099
+ type: 'schema';
2100
+ options: {
2101
+ schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
2102
+ };
2103
+ };
2253
2104
  /** . */
2254
- 'isAvailable': {
2255
- type: 'boolean';
2105
+ 'target': {
2106
+ type: 'schema';
2107
+ isRequired: true;
2108
+ options: {
2109
+ schema: SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitTargetSchema;
2110
+ };
2111
+ };
2112
+ /** . */
2113
+ 'payload': {
2114
+ type: 'schema';
2115
+ isRequired: true;
2116
+ options: {
2117
+ schema: SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitPayloadSchema;
2118
+ };
2119
+ };
2120
+ };
2121
+ }
2122
+ type GetAvailableTimeSlotsEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsEmitTargetAndPayloadSchema>;
2123
+ }
2124
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
2125
+ interface TeammatesTimeslots {
2126
+ 'personId': string;
2127
+ 'startDateTimeMs': number;
2128
+ }
2129
+ interface TeammatesTimeslotsSchema extends SpruceSchema.Schema {
2130
+ id: 'teammatesTimeslots';
2131
+ version: 'v2021_05_19';
2132
+ namespace: 'Calendar';
2133
+ name: '';
2134
+ fields: {
2135
+ /** . */
2136
+ 'personId': {
2137
+ type: 'id';
2256
2138
  isRequired: true;
2257
2139
  options: undefined;
2258
2140
  };
2259
2141
  /** . */
2260
- 'excludedBy': {
2142
+ 'startDateTimeMs': {
2143
+ type: 'number';
2144
+ isRequired: true;
2145
+ options: undefined;
2146
+ };
2147
+ };
2148
+ }
2149
+ type TeammatesTimeslotsEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.TeammatesTimeslotsSchema>;
2150
+ }
2151
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
2152
+ interface Timeslots {
2153
+ 'slots': SpruceSchemas.Calendar.v2021_05_19.TeammatesTimeslots[];
2154
+ }
2155
+ interface TimeslotsSchema extends SpruceSchema.Schema {
2156
+ id: 'timeslots';
2157
+ version: 'v2021_05_19';
2158
+ namespace: 'Calendar';
2159
+ name: '';
2160
+ fields: {
2161
+ /** . */
2162
+ 'slots': {
2261
2163
  type: 'schema';
2164
+ isRequired: true;
2262
2165
  isArray: true;
2263
2166
  options: {
2264
- schema: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventSchema;
2167
+ schema: SpruceSchemas.Calendar.v2021_05_19.TeammatesTimeslotsSchema;
2265
2168
  };
2266
2169
  };
2170
+ };
2171
+ }
2172
+ type TimeslotsEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.TimeslotsSchema>;
2173
+ }
2174
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
2175
+ interface GetAvailableTimeSlotsResponsePayload {
2176
+ 'times': SpruceSchemas.Calendar.v2021_05_19.Timeslots[];
2177
+ }
2178
+ interface GetAvailableTimeSlotsResponsePayloadSchema extends SpruceSchema.Schema {
2179
+ id: 'getAvailableTimeSlotsResponsePayload';
2180
+ version: 'v2021_05_19';
2181
+ namespace: 'Calendar';
2182
+ name: '';
2183
+ fields: {
2267
2184
  /** . */
2268
- 'overlapsWith': {
2185
+ 'times': {
2269
2186
  type: 'schema';
2187
+ isRequired: true;
2270
2188
  isArray: true;
2189
+ minArrayLength: 0;
2271
2190
  options: {
2272
- schema: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventSchema;
2191
+ schema: SpruceSchemas.Calendar.v2021_05_19.TimeslotsSchema;
2273
2192
  };
2274
2193
  };
2275
2194
  };
2276
2195
  }
2277
- type GetConflictsForTimeRangeResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetConflictsForTimeRangeResponsePayloadSchema>;
2196
+ type GetAvailableTimeSlotsResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetAvailableTimeSlotsResponsePayloadSchema>;
2278
2197
  }
2279
2198
  namespace SpruceSchemas.Calendar.v2021_05_19 {
2280
2199
  interface GetSchedulesEmitTarget {
@@ -2408,6 +2327,87 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
2408
2327
  }
2409
2328
  type GetSchedulesResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetSchedulesResponsePayloadSchema>;
2410
2329
  }
2330
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
2331
+ interface GetCalendarEmitTarget {
2332
+ 'organizationId': string;
2333
+ 'slug': string;
2334
+ }
2335
+ interface GetCalendarEmitTargetSchema extends SpruceSchema.Schema {
2336
+ id: 'getCalendarEmitTarget';
2337
+ version: 'v2021_05_19';
2338
+ namespace: 'Calendar';
2339
+ name: '';
2340
+ fields: {
2341
+ /** . */
2342
+ 'organizationId': {
2343
+ type: 'id';
2344
+ isRequired: true;
2345
+ options: undefined;
2346
+ };
2347
+ /** . */
2348
+ 'slug': {
2349
+ type: 'id';
2350
+ isRequired: true;
2351
+ options: undefined;
2352
+ };
2353
+ };
2354
+ }
2355
+ type GetCalendarEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetCalendarEmitTargetSchema>;
2356
+ }
2357
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
2358
+ interface GetCalendarEmitTargetAndPayload {
2359
+ /** Source. */
2360
+ 'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
2361
+ 'target': SpruceSchemas.Calendar.v2021_05_19.GetCalendarEmitTarget;
2362
+ }
2363
+ interface GetCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
2364
+ id: 'getCalendarEmitTargetAndPayload';
2365
+ version: 'v2021_05_19';
2366
+ namespace: 'Calendar';
2367
+ name: '';
2368
+ fields: {
2369
+ /** Source. */
2370
+ 'source': {
2371
+ label: 'Source';
2372
+ type: 'schema';
2373
+ options: {
2374
+ schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
2375
+ };
2376
+ };
2377
+ /** . */
2378
+ 'target': {
2379
+ type: 'schema';
2380
+ isRequired: true;
2381
+ options: {
2382
+ schema: SpruceSchemas.Calendar.v2021_05_19.GetCalendarEmitTargetSchema;
2383
+ };
2384
+ };
2385
+ };
2386
+ }
2387
+ type GetCalendarEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetCalendarEmitTargetAndPayloadSchema>;
2388
+ }
2389
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
2390
+ interface GetCalendarResponsePayload {
2391
+ 'calendar': SpruceSchemas.Calendar.v2021_05_19.Calendar;
2392
+ }
2393
+ interface GetCalendarResponsePayloadSchema extends SpruceSchema.Schema {
2394
+ id: 'getCalendarResponsePayload';
2395
+ version: 'v2021_05_19';
2396
+ namespace: 'Calendar';
2397
+ name: '';
2398
+ fields: {
2399
+ /** . */
2400
+ 'calendar': {
2401
+ type: 'schema';
2402
+ isRequired: true;
2403
+ options: {
2404
+ schema: SpruceSchemas.Calendar.v2021_05_19.CalendarSchema;
2405
+ };
2406
+ };
2407
+ };
2408
+ }
2409
+ type GetCalendarResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.GetCalendarResponsePayloadSchema>;
2410
+ }
2411
2411
  namespace SpruceSchemas.Calendar.v2021_05_19 {
2412
2412
  interface GetPreferencesEmitTarget {
2413
2413
  'organizationId': string;