@mtnmanager/sdk 1.8.1 → 1.8.3

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 (42) hide show
  1. package/README.md +2 -0
  2. package/dist/esm/models/Amenity.d.ts +6 -0
  3. package/dist/esm/models/Amenity.js +4 -0
  4. package/dist/esm/models/Overview.d.ts +24 -0
  5. package/dist/esm/models/Overview.js +10 -0
  6. package/dist/esm/models/OverviewTerrainParks.d.ts +8 -1
  7. package/dist/esm/models/OverviewTerrainParks.js +2 -0
  8. package/dist/esm/models/PowderAlerts.d.ts +40 -0
  9. package/dist/esm/models/PowderAlerts.js +47 -0
  10. package/dist/esm/models/RunDifficulty.d.ts +1 -2
  11. package/dist/esm/models/RunDifficulty.js +1 -2
  12. package/dist/esm/models/RunStatus.d.ts +1 -1
  13. package/dist/esm/models/RunStatus.js +1 -1
  14. package/dist/esm/models/SeasonPeriod.d.ts +45 -0
  15. package/dist/esm/models/SeasonPeriod.js +52 -0
  16. package/dist/esm/models/SeasonType.d.ts +3 -1
  17. package/dist/esm/models/SeasonType.js +3 -1
  18. package/dist/esm/models/TerrainPark.d.ts +13 -0
  19. package/dist/esm/models/TerrainPark.js +6 -0
  20. package/dist/esm/models/index.d.ts +2 -0
  21. package/dist/esm/models/index.js +2 -0
  22. package/dist/models/Amenity.d.ts +6 -0
  23. package/dist/models/Amenity.js +4 -0
  24. package/dist/models/Overview.d.ts +24 -0
  25. package/dist/models/Overview.js +10 -0
  26. package/dist/models/OverviewTerrainParks.d.ts +8 -1
  27. package/dist/models/OverviewTerrainParks.js +2 -0
  28. package/dist/models/PowderAlerts.d.ts +40 -0
  29. package/dist/models/PowderAlerts.js +54 -0
  30. package/dist/models/RunDifficulty.d.ts +1 -2
  31. package/dist/models/RunDifficulty.js +1 -2
  32. package/dist/models/RunStatus.d.ts +1 -1
  33. package/dist/models/RunStatus.js +1 -1
  34. package/dist/models/SeasonPeriod.d.ts +45 -0
  35. package/dist/models/SeasonPeriod.js +59 -0
  36. package/dist/models/SeasonType.d.ts +3 -1
  37. package/dist/models/SeasonType.js +3 -1
  38. package/dist/models/TerrainPark.d.ts +13 -0
  39. package/dist/models/TerrainPark.js +6 -0
  40. package/dist/models/index.d.ts +2 -0
  41. package/dist/models/index.js +2 -0
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -112,6 +112,7 @@ All URIs are relative to *https://your-resort.mtnmanager.com*
112
112
  - [ParkingLot](docs/ParkingLot.md)
113
113
  - [ParkingLotStatus](docs/ParkingLotStatus.md)
114
114
  - [PathUuid](docs/PathUuid.md)
115
+ - [PowderAlerts](docs/PowderAlerts.md)
115
116
  - [Region](docs/Region.md)
116
117
  - [ResortInfo](docs/ResortInfo.md)
117
118
  - [ResortStatus](docs/ResortStatus.md)
@@ -119,6 +120,7 @@ All URIs are relative to *https://your-resort.mtnmanager.com*
119
120
  - [RunDifficulty](docs/RunDifficulty.md)
120
121
  - [RunStatus](docs/RunStatus.md)
121
122
  - [Schedule](docs/Schedule.md)
123
+ - [SeasonPeriod](docs/SeasonPeriod.md)
122
124
  - [SeasonType](docs/SeasonType.md)
123
125
  - [SnowMetrics](docs/SnowMetrics.md)
124
126
  - [SnowReport](docs/SnowReport.md)
@@ -37,6 +37,12 @@ export interface Amenity {
37
37
  * @memberof Amenity
38
38
  */
39
39
  name: string;
40
+ /**
41
+ * URL-friendly name of the amenity.
42
+ * @type {string}
43
+ * @memberof Amenity
44
+ */
45
+ slug: string;
40
46
  /**
41
47
  * Category classification (e.g. restaurant, lodge, ski_school).
42
48
  * @type {AmenityCategory}
@@ -24,6 +24,8 @@ export function instanceOfAmenity(value) {
24
24
  return false;
25
25
  if (!('name' in value) || value['name'] === undefined)
26
26
  return false;
27
+ if (!('slug' in value) || value['slug'] === undefined)
28
+ return false;
27
29
  if (!('category' in value) || value['category'] === undefined)
28
30
  return false;
29
31
  if (!('website' in value) || value['website'] === undefined)
@@ -45,6 +47,7 @@ export function AmenityFromJSONTyped(json, ignoreDiscriminator) {
45
47
  'description': json['description'],
46
48
  'uuid': json['uuid'],
47
49
  'name': json['name'],
50
+ 'slug': json['slug'],
48
51
  'category': AmenityCategoryFromJSON(json['category']),
49
52
  'website': json['website'],
50
53
  'hasOperatingHours': json['has_operating_hours'],
@@ -65,6 +68,7 @@ export function AmenityToJSONTyped(value, ignoreDiscriminator = false) {
65
68
  'description': value['description'],
66
69
  'uuid': value['uuid'],
67
70
  'name': value['name'],
71
+ 'slug': value['slug'],
68
72
  'category': AmenityCategoryToJSON(value['category']),
69
73
  'website': value['website'],
70
74
  'has_operating_hours': value['hasOperatingHours'],
@@ -14,6 +14,8 @@ import type { OverviewLifts } from './OverviewLifts';
14
14
  import type { SeasonType } from './SeasonType';
15
15
  import type { OverviewRuns } from './OverviewRuns';
16
16
  import type { ResortStatus } from './ResortStatus';
17
+ import type { PowderAlerts } from './PowderAlerts';
18
+ import type { SeasonPeriod } from './SeasonPeriod';
17
19
  import type { OverviewSummerTrails } from './OverviewSummerTrails';
18
20
  import type { OverviewNews } from './OverviewNews';
19
21
  /**
@@ -51,6 +53,22 @@ export interface Overview {
51
53
  * @memberof Overview
52
54
  */
53
55
  season: SeasonType;
56
+ /**
57
+ * The last season to end before today, from the resort's operating
58
+ * hours of the past year. `null` if there was none. While `season` is
59
+ * `closed`, this and `next_season` tell an off-season that just ended a
60
+ * winter from one leading up to a summer.
61
+ * @type {SeasonPeriod}
62
+ * @memberof Overview
63
+ */
64
+ previousSeason?: SeasonPeriod | null;
65
+ /**
66
+ * The next season to start after today, from the resort's scheduled
67
+ * operating hours. `null` if none is scheduled yet.
68
+ * @type {SeasonPeriod}
69
+ * @memberof Overview
70
+ */
71
+ nextSeason?: SeasonPeriod | null;
54
72
  /**
55
73
  * Written news — daily update, announcements, etc. The resort's primary
56
74
  * news comes first, followed by any others it publishes, in the order they
@@ -84,6 +102,12 @@ export interface Overview {
84
102
  * @memberof Overview
85
103
  */
86
104
  terrainParks: OverviewTerrainParks;
105
+ /**
106
+ * Guest powder alerts the resort offers, by channel.
107
+ * @type {PowderAlerts}
108
+ * @memberof Overview
109
+ */
110
+ powderAlerts: PowderAlerts;
87
111
  }
88
112
  /**
89
113
  * Check if a given object implements the Overview interface.
@@ -16,6 +16,8 @@ import { OverviewLiftsFromJSON, OverviewLiftsToJSON, } from './OverviewLifts';
16
16
  import { SeasonTypeFromJSON, SeasonTypeToJSON, } from './SeasonType';
17
17
  import { OverviewRunsFromJSON, OverviewRunsToJSON, } from './OverviewRuns';
18
18
  import { ResortStatusFromJSON, ResortStatusToJSON, } from './ResortStatus';
19
+ import { PowderAlertsFromJSON, PowderAlertsToJSON, } from './PowderAlerts';
20
+ import { SeasonPeriodFromJSON, SeasonPeriodToJSON, } from './SeasonPeriod';
19
21
  import { OverviewSummerTrailsFromJSON, OverviewSummerTrailsToJSON, } from './OverviewSummerTrails';
20
22
  import { OverviewNewsFromJSON, OverviewNewsToJSON, } from './OverviewNews';
21
23
  /**
@@ -36,6 +38,8 @@ export function instanceOfOverview(value) {
36
38
  return false;
37
39
  if ((!('terrainParks' in value) && !('terrain_parks' in value)) || (value['terrainParks'] === undefined && value['terrain_parks'] === undefined))
38
40
  return false;
41
+ if ((!('powderAlerts' in value) && !('powder_alerts' in value)) || (value['powderAlerts'] === undefined && value['powder_alerts'] === undefined))
42
+ return false;
39
43
  return true;
40
44
  }
41
45
  export function OverviewFromJSON(json) {
@@ -50,11 +54,14 @@ export function OverviewFromJSONTyped(json, ignoreDiscriminator) {
50
54
  'opensAt': json['opens_at'] === undefined ? undefined : json['opens_at'] === null ? null : json['opens_at'],
51
55
  'closesAt': json['closes_at'] === undefined ? undefined : json['closes_at'] === null ? null : json['closes_at'],
52
56
  'season': SeasonTypeFromJSON(json['season']),
57
+ 'previousSeason': json['previous_season'] === undefined ? undefined : json['previous_season'] === null ? null : SeasonPeriodFromJSON(json['previous_season']),
58
+ 'nextSeason': json['next_season'] === undefined ? undefined : json['next_season'] === null ? null : SeasonPeriodFromJSON(json['next_season']),
53
59
  'news': (json['news'].map(OverviewNewsFromJSON)),
54
60
  'runs': OverviewRunsFromJSON(json['runs']),
55
61
  'lifts': OverviewLiftsFromJSON(json['lifts']),
56
62
  'summerTrails': OverviewSummerTrailsFromJSON(json['summer_trails']),
57
63
  'terrainParks': OverviewTerrainParksFromJSON(json['terrain_parks']),
64
+ 'powderAlerts': PowderAlertsFromJSON(json['powder_alerts']),
58
65
  };
59
66
  }
60
67
  export function OverviewToJSON(json) {
@@ -69,10 +76,13 @@ export function OverviewToJSONTyped(value, ignoreDiscriminator = false) {
69
76
  'opens_at': value['opensAt'],
70
77
  'closes_at': value['closesAt'],
71
78
  'season': SeasonTypeToJSON(value['season']),
79
+ 'previous_season': SeasonPeriodToJSON(value['previousSeason']),
80
+ 'next_season': SeasonPeriodToJSON(value['nextSeason']),
72
81
  'news': (value['news'].map(OverviewNewsToJSON)),
73
82
  'runs': OverviewRunsToJSON(value['runs']),
74
83
  'lifts': OverviewLiftsToJSON(value['lifts']),
75
84
  'summer_trails': OverviewSummerTrailsToJSON(value['summerTrails']),
76
85
  'terrain_parks': OverviewTerrainParksToJSON(value['terrainParks']),
86
+ 'powder_alerts': PowderAlertsToJSON(value['powderAlerts']),
77
87
  };
78
88
  }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Terrain park statistics: open/total counts and last-updated timestamp.
13
+ * Terrain park statistics: open/groomed/total counts and last-updated timestamp.
14
14
  * @export
15
15
  * @interface OverviewTerrainParks
16
16
  */
@@ -22,6 +22,13 @@ export interface OverviewTerrainParks {
22
22
  * @memberof OverviewTerrainParks
23
23
  */
24
24
  open?: number | null;
25
+ /**
26
+ * Number of terrain parks groomed within the last 24 hours.
27
+ * Not included if the terrain park grooming feature is disabled.
28
+ * @type {number}
29
+ * @memberof OverviewTerrainParks
30
+ */
31
+ groomed?: number | null;
25
32
  /**
26
33
  * Total number of terrain parks at the resort.
27
34
  * @type {number}
@@ -30,6 +30,7 @@ export function OverviewTerrainParksFromJSONTyped(json, ignoreDiscriminator) {
30
30
  }
31
31
  return {
32
32
  'open': json['open'] === undefined ? undefined : json['open'] === null ? null : json['open'],
33
+ 'groomed': json['groomed'] === undefined ? undefined : json['groomed'] === null ? null : json['groomed'],
33
34
  'total': json['total'],
34
35
  'updatedAt': (new Date(json['updated_at'])),
35
36
  };
@@ -43,6 +44,7 @@ export function OverviewTerrainParksToJSONTyped(value, ignoreDiscriminator = fal
43
44
  }
44
45
  return {
45
46
  'open': value['open'],
47
+ 'groomed': value['groomed'],
46
48
  'total': value['total'],
47
49
  'updated_at': value['updatedAt'].toISOString(),
48
50
  };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * MtnManager API
3
+ * The MtnManager API provides real-time access to your ski resort’s public operational data. Use it to display current conditions on your website, mobile app, or digital signage.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@mtnmanager.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Guest powder alerts the resort offers. Both are `false` when the resort
14
+ * doesn't offer powder alerts.
15
+ * @export
16
+ * @interface PowderAlerts
17
+ */
18
+ export interface PowderAlerts {
19
+ /**
20
+ * Guests can sign up for text alerts via
21
+ * `POST /api/notifications/v1/text/powder/signup` on the resort's host.
22
+ * @type {boolean}
23
+ * @memberof PowderAlerts
24
+ */
25
+ text: boolean;
26
+ /**
27
+ * Guests can subscribe to push alerts in the resort's mobile app.
28
+ * @type {boolean}
29
+ * @memberof PowderAlerts
30
+ */
31
+ push: boolean;
32
+ }
33
+ /**
34
+ * Check if a given object implements the PowderAlerts interface.
35
+ */
36
+ export declare function instanceOfPowderAlerts(value: object): value is PowderAlerts;
37
+ export declare function PowderAlertsFromJSON(json: any): PowderAlerts;
38
+ export declare function PowderAlertsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PowderAlerts;
39
+ export declare function PowderAlertsToJSON(json: any): PowderAlerts;
40
+ export declare function PowderAlertsToJSONTyped(value?: PowderAlerts | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,47 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * MtnManager API
5
+ * The MtnManager API provides real-time access to your ski resort’s public operational data. Use it to display current conditions on your website, mobile app, or digital signage.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@mtnmanager.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the PowderAlerts interface.
16
+ */
17
+ export function instanceOfPowderAlerts(value) {
18
+ if (!('text' in value) || value['text'] === undefined)
19
+ return false;
20
+ if (!('push' in value) || value['push'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ export function PowderAlertsFromJSON(json) {
25
+ return PowderAlertsFromJSONTyped(json, false);
26
+ }
27
+ export function PowderAlertsFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'text': json['text'],
33
+ 'push': json['push'],
34
+ };
35
+ }
36
+ export function PowderAlertsToJSON(json) {
37
+ return PowderAlertsToJSONTyped(json, false);
38
+ }
39
+ export function PowderAlertsToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'text': value['text'],
45
+ 'push': value['push'],
46
+ };
47
+ }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Difficulty rating for a ski run. Stored as TEXT in `runs.difficulty`.
13
+ * Difficulty rating for a ski run.
14
14
  * @export
15
15
  */
16
16
  export declare const RunDifficulty: {
@@ -18,7 +18,6 @@ export declare const RunDifficulty: {
18
18
  readonly Intermediate: "intermediate";
19
19
  readonly Advanced: "advanced";
20
20
  readonly Expert: "expert";
21
- readonly TerrainPark: "terrain_park";
22
21
  readonly UnknownDefaultOpenApi: "11184809";
23
22
  };
24
23
  export type RunDifficulty = typeof RunDifficulty[keyof typeof RunDifficulty];
@@ -12,7 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  /**
15
- * Difficulty rating for a ski run. Stored as TEXT in `runs.difficulty`.
15
+ * Difficulty rating for a ski run.
16
16
  * @export
17
17
  */
18
18
  export const RunDifficulty = {
@@ -20,7 +20,6 @@ export const RunDifficulty = {
20
20
  Intermediate: 'intermediate',
21
21
  Advanced: 'advanced',
22
22
  Expert: 'expert',
23
- TerrainPark: 'terrain_park',
24
23
  UnknownDefaultOpenApi: '11184809'
25
24
  };
26
25
  export function instanceOfRunDifficulty(value) {
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Operational status of a ski run. Stored as TEXT in `runs.status`.
13
+ * Operational status of a ski run.
14
14
  * @export
15
15
  */
16
16
  export declare const RunStatus: {
@@ -12,7 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  /**
15
- * Operational status of a ski run. Stored as TEXT in `runs.status`.
15
+ * Operational status of a ski run.
16
16
  * @export
17
17
  */
18
18
  export const RunStatus = {
@@ -0,0 +1,45 @@
1
+ /**
2
+ * MtnManager API
3
+ * The MtnManager API provides real-time access to your ski resort’s public operational data. Use it to display current conditions on your website, mobile app, or digital signage.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@mtnmanager.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { SeasonType } from './SeasonType';
13
+ /**
14
+ * A season the resort's operating hours define: its type and its days.
15
+ * @export
16
+ * @interface SeasonPeriod
17
+ */
18
+ export interface SeasonPeriod {
19
+ /**
20
+ * The season's type (`winter` or `summer`; never `closed`).
21
+ * @type {SeasonType}
22
+ * @memberof SeasonPeriod
23
+ */
24
+ seasonType: SeasonType;
25
+ /**
26
+ * The season's first day (YYYY-MM-DD), in the resort's local timezone.
27
+ * @type {Date}
28
+ * @memberof SeasonPeriod
29
+ */
30
+ startsOn: Date;
31
+ /**
32
+ * The season's last day (YYYY-MM-DD), in the resort's local timezone.
33
+ * @type {Date}
34
+ * @memberof SeasonPeriod
35
+ */
36
+ endsOn: Date;
37
+ }
38
+ /**
39
+ * Check if a given object implements the SeasonPeriod interface.
40
+ */
41
+ export declare function instanceOfSeasonPeriod(value: object): value is SeasonPeriod;
42
+ export declare function SeasonPeriodFromJSON(json: any): SeasonPeriod;
43
+ export declare function SeasonPeriodFromJSONTyped(json: any, ignoreDiscriminator: boolean): SeasonPeriod;
44
+ export declare function SeasonPeriodToJSON(json: any): SeasonPeriod;
45
+ export declare function SeasonPeriodToJSONTyped(value?: SeasonPeriod | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,52 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * MtnManager API
5
+ * The MtnManager API provides real-time access to your ski resort’s public operational data. Use it to display current conditions on your website, mobile app, or digital signage.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@mtnmanager.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { SeasonTypeFromJSON, SeasonTypeToJSON, } from './SeasonType';
15
+ /**
16
+ * Check if a given object implements the SeasonPeriod interface.
17
+ */
18
+ export function instanceOfSeasonPeriod(value) {
19
+ if ((!('seasonType' in value) && !('season_type' in value)) || (value['seasonType'] === undefined && value['season_type'] === undefined))
20
+ return false;
21
+ if ((!('startsOn' in value) && !('starts_on' in value)) || (value['startsOn'] === undefined && value['starts_on'] === undefined))
22
+ return false;
23
+ if ((!('endsOn' in value) && !('ends_on' in value)) || (value['endsOn'] === undefined && value['ends_on'] === undefined))
24
+ return false;
25
+ return true;
26
+ }
27
+ export function SeasonPeriodFromJSON(json) {
28
+ return SeasonPeriodFromJSONTyped(json, false);
29
+ }
30
+ export function SeasonPeriodFromJSONTyped(json, ignoreDiscriminator) {
31
+ if (json == null) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'seasonType': SeasonTypeFromJSON(json['season_type']),
36
+ 'startsOn': (new Date(json['starts_on'])),
37
+ 'endsOn': (new Date(json['ends_on'])),
38
+ };
39
+ }
40
+ export function SeasonPeriodToJSON(json) {
41
+ return SeasonPeriodToJSONTyped(json, false);
42
+ }
43
+ export function SeasonPeriodToJSONTyped(value, ignoreDiscriminator = false) {
44
+ if (value == null) {
45
+ return value;
46
+ }
47
+ return {
48
+ 'season_type': SeasonTypeToJSON(value['seasonType']),
49
+ 'starts_on': value['startsOn'].toISOString().substring(0, 10),
50
+ 'ends_on': value['endsOn'].toISOString().substring(0, 10),
51
+ };
52
+ }
@@ -10,7 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Current operating season of the resort.
13
+ * A resort's season: winter or summer as its weekly operating hours say
14
+ * (`OperatingHoursDb::season_type`), or closed outside every season (see
15
+ * `utils::hours::season_on`).
14
16
  * @export
15
17
  */
16
18
  export declare const SeasonType: {
@@ -12,7 +12,9 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  /**
15
- * Current operating season of the resort.
15
+ * A resort's season: winter or summer as its weekly operating hours say
16
+ * (`OperatingHoursDb::season_type`), or closed outside every season (see
17
+ * `utils::hours::season_on`).
16
18
  * @export
17
19
  */
18
20
  export const SeasonType = {
@@ -49,6 +49,19 @@ export interface TerrainPark {
49
49
  * @memberof TerrainPark
50
50
  */
51
51
  status: TerrainParkStatus;
52
+ /**
53
+ * When the terrain park was last groomed.
54
+ * `null` if never groomed, or if the terrain park grooming feature is disabled.
55
+ * @type {Date}
56
+ * @memberof TerrainPark
57
+ */
58
+ lastGroomed?: Date | null;
59
+ /**
60
+ * Whether the terrain park was groomed within the last 24 hours.
61
+ * @type {boolean}
62
+ * @memberof TerrainPark
63
+ */
64
+ groomedToday: boolean;
52
65
  /**
53
66
  * Notes about current conditions in this terrain park.
54
67
  * @type {string}
@@ -26,6 +26,8 @@ export function instanceOfTerrainPark(value) {
26
26
  return false;
27
27
  if (!('status' in value) || value['status'] === undefined)
28
28
  return false;
29
+ if ((!('groomedToday' in value) && !('groomed_today' in value)) || (value['groomedToday'] === undefined && value['groomed_today'] === undefined))
30
+ return false;
29
31
  if ((!('conditionNotes' in value) && !('condition_notes' in value)) || (value['conditionNotes'] === undefined && value['condition_notes'] === undefined))
30
32
  return false;
31
33
  if (!('features' in value) || value['features'] === undefined)
@@ -47,6 +49,8 @@ export function TerrainParkFromJSONTyped(json, ignoreDiscriminator) {
47
49
  'slug': json['slug'],
48
50
  'number': json['number'] === undefined ? undefined : json['number'] === null ? null : json['number'],
49
51
  'status': TerrainParkStatusFromJSON(json['status']),
52
+ 'lastGroomed': json['last_groomed'] === undefined ? undefined : json['last_groomed'] === null ? null : (new Date(json['last_groomed'])),
53
+ 'groomedToday': json['groomed_today'],
50
54
  'conditionNotes': json['condition_notes'],
51
55
  'areaUuid': json['area_uuid'] === undefined ? undefined : json['area_uuid'] === null ? null : json['area_uuid'],
52
56
  'areaName': json['area_name'] === undefined ? undefined : json['area_name'] === null ? null : json['area_name'],
@@ -69,6 +73,8 @@ export function TerrainParkToJSONTyped(value, ignoreDiscriminator = false) {
69
73
  'slug': value['slug'],
70
74
  'number': value['number'],
71
75
  'status': TerrainParkStatusToJSON(value['status']),
76
+ 'last_groomed': value['lastGroomed'] == null ? value['lastGroomed'] : value['lastGroomed'].toISOString(),
77
+ 'groomed_today': value['groomedToday'],
72
78
  'condition_notes': value['conditionNotes'],
73
79
  'area_uuid': value['areaUuid'],
74
80
  'area_name': value['areaName'],
@@ -37,6 +37,7 @@ export * from './OverviewTerrainParks';
37
37
  export * from './ParkingLot';
38
38
  export * from './ParkingLotStatus';
39
39
  export * from './PathUuid';
40
+ export * from './PowderAlerts';
40
41
  export * from './Region';
41
42
  export * from './ResortInfo';
42
43
  export * from './ResortStatus';
@@ -44,6 +45,7 @@ export * from './Run';
44
45
  export * from './RunDifficulty';
45
46
  export * from './RunStatus';
46
47
  export * from './Schedule';
48
+ export * from './SeasonPeriod';
47
49
  export * from './SeasonType';
48
50
  export * from './SnowMetrics';
49
51
  export * from './SnowReport';
@@ -39,6 +39,7 @@ export * from './OverviewTerrainParks';
39
39
  export * from './ParkingLot';
40
40
  export * from './ParkingLotStatus';
41
41
  export * from './PathUuid';
42
+ export * from './PowderAlerts';
42
43
  export * from './Region';
43
44
  export * from './ResortInfo';
44
45
  export * from './ResortStatus';
@@ -46,6 +47,7 @@ export * from './Run';
46
47
  export * from './RunDifficulty';
47
48
  export * from './RunStatus';
48
49
  export * from './Schedule';
50
+ export * from './SeasonPeriod';
49
51
  export * from './SeasonType';
50
52
  export * from './SnowMetrics';
51
53
  export * from './SnowReport';
@@ -37,6 +37,12 @@ export interface Amenity {
37
37
  * @memberof Amenity
38
38
  */
39
39
  name: string;
40
+ /**
41
+ * URL-friendly name of the amenity.
42
+ * @type {string}
43
+ * @memberof Amenity
44
+ */
45
+ slug: string;
40
46
  /**
41
47
  * Category classification (e.g. restaurant, lodge, ski_school).
42
48
  * @type {AmenityCategory}
@@ -31,6 +31,8 @@ function instanceOfAmenity(value) {
31
31
  return false;
32
32
  if (!('name' in value) || value['name'] === undefined)
33
33
  return false;
34
+ if (!('slug' in value) || value['slug'] === undefined)
35
+ return false;
34
36
  if (!('category' in value) || value['category'] === undefined)
35
37
  return false;
36
38
  if (!('website' in value) || value['website'] === undefined)
@@ -52,6 +54,7 @@ function AmenityFromJSONTyped(json, ignoreDiscriminator) {
52
54
  'description': json['description'],
53
55
  'uuid': json['uuid'],
54
56
  'name': json['name'],
57
+ 'slug': json['slug'],
55
58
  'category': (0, AmenityCategory_1.AmenityCategoryFromJSON)(json['category']),
56
59
  'website': json['website'],
57
60
  'hasOperatingHours': json['has_operating_hours'],
@@ -72,6 +75,7 @@ function AmenityToJSONTyped(value, ignoreDiscriminator = false) {
72
75
  'description': value['description'],
73
76
  'uuid': value['uuid'],
74
77
  'name': value['name'],
78
+ 'slug': value['slug'],
75
79
  'category': (0, AmenityCategory_1.AmenityCategoryToJSON)(value['category']),
76
80
  'website': value['website'],
77
81
  'has_operating_hours': value['hasOperatingHours'],
@@ -14,6 +14,8 @@ import type { OverviewLifts } from './OverviewLifts';
14
14
  import type { SeasonType } from './SeasonType';
15
15
  import type { OverviewRuns } from './OverviewRuns';
16
16
  import type { ResortStatus } from './ResortStatus';
17
+ import type { PowderAlerts } from './PowderAlerts';
18
+ import type { SeasonPeriod } from './SeasonPeriod';
17
19
  import type { OverviewSummerTrails } from './OverviewSummerTrails';
18
20
  import type { OverviewNews } from './OverviewNews';
19
21
  /**
@@ -51,6 +53,22 @@ export interface Overview {
51
53
  * @memberof Overview
52
54
  */
53
55
  season: SeasonType;
56
+ /**
57
+ * The last season to end before today, from the resort's operating
58
+ * hours of the past year. `null` if there was none. While `season` is
59
+ * `closed`, this and `next_season` tell an off-season that just ended a
60
+ * winter from one leading up to a summer.
61
+ * @type {SeasonPeriod}
62
+ * @memberof Overview
63
+ */
64
+ previousSeason?: SeasonPeriod | null;
65
+ /**
66
+ * The next season to start after today, from the resort's scheduled
67
+ * operating hours. `null` if none is scheduled yet.
68
+ * @type {SeasonPeriod}
69
+ * @memberof Overview
70
+ */
71
+ nextSeason?: SeasonPeriod | null;
54
72
  /**
55
73
  * Written news — daily update, announcements, etc. The resort's primary
56
74
  * news comes first, followed by any others it publishes, in the order they
@@ -84,6 +102,12 @@ export interface Overview {
84
102
  * @memberof Overview
85
103
  */
86
104
  terrainParks: OverviewTerrainParks;
105
+ /**
106
+ * Guest powder alerts the resort offers, by channel.
107
+ * @type {PowderAlerts}
108
+ * @memberof Overview
109
+ */
110
+ powderAlerts: PowderAlerts;
87
111
  }
88
112
  /**
89
113
  * Check if a given object implements the Overview interface.
@@ -23,6 +23,8 @@ const OverviewLifts_1 = require("./OverviewLifts");
23
23
  const SeasonType_1 = require("./SeasonType");
24
24
  const OverviewRuns_1 = require("./OverviewRuns");
25
25
  const ResortStatus_1 = require("./ResortStatus");
26
+ const PowderAlerts_1 = require("./PowderAlerts");
27
+ const SeasonPeriod_1 = require("./SeasonPeriod");
26
28
  const OverviewSummerTrails_1 = require("./OverviewSummerTrails");
27
29
  const OverviewNews_1 = require("./OverviewNews");
28
30
  /**
@@ -43,6 +45,8 @@ function instanceOfOverview(value) {
43
45
  return false;
44
46
  if ((!('terrainParks' in value) && !('terrain_parks' in value)) || (value['terrainParks'] === undefined && value['terrain_parks'] === undefined))
45
47
  return false;
48
+ if ((!('powderAlerts' in value) && !('powder_alerts' in value)) || (value['powderAlerts'] === undefined && value['powder_alerts'] === undefined))
49
+ return false;
46
50
  return true;
47
51
  }
48
52
  function OverviewFromJSON(json) {
@@ -57,11 +61,14 @@ function OverviewFromJSONTyped(json, ignoreDiscriminator) {
57
61
  'opensAt': json['opens_at'] === undefined ? undefined : json['opens_at'] === null ? null : json['opens_at'],
58
62
  'closesAt': json['closes_at'] === undefined ? undefined : json['closes_at'] === null ? null : json['closes_at'],
59
63
  'season': (0, SeasonType_1.SeasonTypeFromJSON)(json['season']),
64
+ 'previousSeason': json['previous_season'] === undefined ? undefined : json['previous_season'] === null ? null : (0, SeasonPeriod_1.SeasonPeriodFromJSON)(json['previous_season']),
65
+ 'nextSeason': json['next_season'] === undefined ? undefined : json['next_season'] === null ? null : (0, SeasonPeriod_1.SeasonPeriodFromJSON)(json['next_season']),
60
66
  'news': (json['news'].map(OverviewNews_1.OverviewNewsFromJSON)),
61
67
  'runs': (0, OverviewRuns_1.OverviewRunsFromJSON)(json['runs']),
62
68
  'lifts': (0, OverviewLifts_1.OverviewLiftsFromJSON)(json['lifts']),
63
69
  'summerTrails': (0, OverviewSummerTrails_1.OverviewSummerTrailsFromJSON)(json['summer_trails']),
64
70
  'terrainParks': (0, OverviewTerrainParks_1.OverviewTerrainParksFromJSON)(json['terrain_parks']),
71
+ 'powderAlerts': (0, PowderAlerts_1.PowderAlertsFromJSON)(json['powder_alerts']),
65
72
  };
66
73
  }
67
74
  function OverviewToJSON(json) {
@@ -76,10 +83,13 @@ function OverviewToJSONTyped(value, ignoreDiscriminator = false) {
76
83
  'opens_at': value['opensAt'],
77
84
  'closes_at': value['closesAt'],
78
85
  'season': (0, SeasonType_1.SeasonTypeToJSON)(value['season']),
86
+ 'previous_season': (0, SeasonPeriod_1.SeasonPeriodToJSON)(value['previousSeason']),
87
+ 'next_season': (0, SeasonPeriod_1.SeasonPeriodToJSON)(value['nextSeason']),
79
88
  'news': (value['news'].map(OverviewNews_1.OverviewNewsToJSON)),
80
89
  'runs': (0, OverviewRuns_1.OverviewRunsToJSON)(value['runs']),
81
90
  'lifts': (0, OverviewLifts_1.OverviewLiftsToJSON)(value['lifts']),
82
91
  'summer_trails': (0, OverviewSummerTrails_1.OverviewSummerTrailsToJSON)(value['summerTrails']),
83
92
  'terrain_parks': (0, OverviewTerrainParks_1.OverviewTerrainParksToJSON)(value['terrainParks']),
93
+ 'powder_alerts': (0, PowderAlerts_1.PowderAlertsToJSON)(value['powderAlerts']),
84
94
  };
85
95
  }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Terrain park statistics: open/total counts and last-updated timestamp.
13
+ * Terrain park statistics: open/groomed/total counts and last-updated timestamp.
14
14
  * @export
15
15
  * @interface OverviewTerrainParks
16
16
  */
@@ -22,6 +22,13 @@ export interface OverviewTerrainParks {
22
22
  * @memberof OverviewTerrainParks
23
23
  */
24
24
  open?: number | null;
25
+ /**
26
+ * Number of terrain parks groomed within the last 24 hours.
27
+ * Not included if the terrain park grooming feature is disabled.
28
+ * @type {number}
29
+ * @memberof OverviewTerrainParks
30
+ */
31
+ groomed?: number | null;
25
32
  /**
26
33
  * Total number of terrain parks at the resort.
27
34
  * @type {number}
@@ -37,6 +37,7 @@ function OverviewTerrainParksFromJSONTyped(json, ignoreDiscriminator) {
37
37
  }
38
38
  return {
39
39
  'open': json['open'] === undefined ? undefined : json['open'] === null ? null : json['open'],
40
+ 'groomed': json['groomed'] === undefined ? undefined : json['groomed'] === null ? null : json['groomed'],
40
41
  'total': json['total'],
41
42
  'updatedAt': (new Date(json['updated_at'])),
42
43
  };
@@ -50,6 +51,7 @@ function OverviewTerrainParksToJSONTyped(value, ignoreDiscriminator = false) {
50
51
  }
51
52
  return {
52
53
  'open': value['open'],
54
+ 'groomed': value['groomed'],
53
55
  'total': value['total'],
54
56
  'updated_at': value['updatedAt'].toISOString(),
55
57
  };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * MtnManager API
3
+ * The MtnManager API provides real-time access to your ski resort’s public operational data. Use it to display current conditions on your website, mobile app, or digital signage.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@mtnmanager.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Guest powder alerts the resort offers. Both are `false` when the resort
14
+ * doesn't offer powder alerts.
15
+ * @export
16
+ * @interface PowderAlerts
17
+ */
18
+ export interface PowderAlerts {
19
+ /**
20
+ * Guests can sign up for text alerts via
21
+ * `POST /api/notifications/v1/text/powder/signup` on the resort's host.
22
+ * @type {boolean}
23
+ * @memberof PowderAlerts
24
+ */
25
+ text: boolean;
26
+ /**
27
+ * Guests can subscribe to push alerts in the resort's mobile app.
28
+ * @type {boolean}
29
+ * @memberof PowderAlerts
30
+ */
31
+ push: boolean;
32
+ }
33
+ /**
34
+ * Check if a given object implements the PowderAlerts interface.
35
+ */
36
+ export declare function instanceOfPowderAlerts(value: object): value is PowderAlerts;
37
+ export declare function PowderAlertsFromJSON(json: any): PowderAlerts;
38
+ export declare function PowderAlertsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PowderAlerts;
39
+ export declare function PowderAlertsToJSON(json: any): PowderAlerts;
40
+ export declare function PowderAlertsToJSONTyped(value?: PowderAlerts | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * MtnManager API
6
+ * The MtnManager API provides real-time access to your ski resort’s public operational data. Use it to display current conditions on your website, mobile app, or digital signage.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ * Contact: support@mtnmanager.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfPowderAlerts = instanceOfPowderAlerts;
17
+ exports.PowderAlertsFromJSON = PowderAlertsFromJSON;
18
+ exports.PowderAlertsFromJSONTyped = PowderAlertsFromJSONTyped;
19
+ exports.PowderAlertsToJSON = PowderAlertsToJSON;
20
+ exports.PowderAlertsToJSONTyped = PowderAlertsToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the PowderAlerts interface.
23
+ */
24
+ function instanceOfPowderAlerts(value) {
25
+ if (!('text' in value) || value['text'] === undefined)
26
+ return false;
27
+ if (!('push' in value) || value['push'] === undefined)
28
+ return false;
29
+ return true;
30
+ }
31
+ function PowderAlertsFromJSON(json) {
32
+ return PowderAlertsFromJSONTyped(json, false);
33
+ }
34
+ function PowderAlertsFromJSONTyped(json, ignoreDiscriminator) {
35
+ if (json == null) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'text': json['text'],
40
+ 'push': json['push'],
41
+ };
42
+ }
43
+ function PowderAlertsToJSON(json) {
44
+ return PowderAlertsToJSONTyped(json, false);
45
+ }
46
+ function PowderAlertsToJSONTyped(value, ignoreDiscriminator = false) {
47
+ if (value == null) {
48
+ return value;
49
+ }
50
+ return {
51
+ 'text': value['text'],
52
+ 'push': value['push'],
53
+ };
54
+ }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Difficulty rating for a ski run. Stored as TEXT in `runs.difficulty`.
13
+ * Difficulty rating for a ski run.
14
14
  * @export
15
15
  */
16
16
  export declare const RunDifficulty: {
@@ -18,7 +18,6 @@ export declare const RunDifficulty: {
18
18
  readonly Intermediate: "intermediate";
19
19
  readonly Advanced: "advanced";
20
20
  readonly Expert: "expert";
21
- readonly TerrainPark: "terrain_park";
22
21
  readonly UnknownDefaultOpenApi: "11184809";
23
22
  };
24
23
  export type RunDifficulty = typeof RunDifficulty[keyof typeof RunDifficulty];
@@ -20,7 +20,7 @@ exports.RunDifficultyFromJSONTyped = RunDifficultyFromJSONTyped;
20
20
  exports.RunDifficultyToJSON = RunDifficultyToJSON;
21
21
  exports.RunDifficultyToJSONTyped = RunDifficultyToJSONTyped;
22
22
  /**
23
- * Difficulty rating for a ski run. Stored as TEXT in `runs.difficulty`.
23
+ * Difficulty rating for a ski run.
24
24
  * @export
25
25
  */
26
26
  exports.RunDifficulty = {
@@ -28,7 +28,6 @@ exports.RunDifficulty = {
28
28
  Intermediate: 'intermediate',
29
29
  Advanced: 'advanced',
30
30
  Expert: 'expert',
31
- TerrainPark: 'terrain_park',
32
31
  UnknownDefaultOpenApi: '11184809'
33
32
  };
34
33
  function instanceOfRunDifficulty(value) {
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Operational status of a ski run. Stored as TEXT in `runs.status`.
13
+ * Operational status of a ski run.
14
14
  * @export
15
15
  */
16
16
  export declare const RunStatus: {
@@ -20,7 +20,7 @@ exports.RunStatusFromJSONTyped = RunStatusFromJSONTyped;
20
20
  exports.RunStatusToJSON = RunStatusToJSON;
21
21
  exports.RunStatusToJSONTyped = RunStatusToJSONTyped;
22
22
  /**
23
- * Operational status of a ski run. Stored as TEXT in `runs.status`.
23
+ * Operational status of a ski run.
24
24
  * @export
25
25
  */
26
26
  exports.RunStatus = {
@@ -0,0 +1,45 @@
1
+ /**
2
+ * MtnManager API
3
+ * The MtnManager API provides real-time access to your ski resort’s public operational data. Use it to display current conditions on your website, mobile app, or digital signage.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@mtnmanager.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { SeasonType } from './SeasonType';
13
+ /**
14
+ * A season the resort's operating hours define: its type and its days.
15
+ * @export
16
+ * @interface SeasonPeriod
17
+ */
18
+ export interface SeasonPeriod {
19
+ /**
20
+ * The season's type (`winter` or `summer`; never `closed`).
21
+ * @type {SeasonType}
22
+ * @memberof SeasonPeriod
23
+ */
24
+ seasonType: SeasonType;
25
+ /**
26
+ * The season's first day (YYYY-MM-DD), in the resort's local timezone.
27
+ * @type {Date}
28
+ * @memberof SeasonPeriod
29
+ */
30
+ startsOn: Date;
31
+ /**
32
+ * The season's last day (YYYY-MM-DD), in the resort's local timezone.
33
+ * @type {Date}
34
+ * @memberof SeasonPeriod
35
+ */
36
+ endsOn: Date;
37
+ }
38
+ /**
39
+ * Check if a given object implements the SeasonPeriod interface.
40
+ */
41
+ export declare function instanceOfSeasonPeriod(value: object): value is SeasonPeriod;
42
+ export declare function SeasonPeriodFromJSON(json: any): SeasonPeriod;
43
+ export declare function SeasonPeriodFromJSONTyped(json: any, ignoreDiscriminator: boolean): SeasonPeriod;
44
+ export declare function SeasonPeriodToJSON(json: any): SeasonPeriod;
45
+ export declare function SeasonPeriodToJSONTyped(value?: SeasonPeriod | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * MtnManager API
6
+ * The MtnManager API provides real-time access to your ski resort’s public operational data. Use it to display current conditions on your website, mobile app, or digital signage.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ * Contact: support@mtnmanager.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfSeasonPeriod = instanceOfSeasonPeriod;
17
+ exports.SeasonPeriodFromJSON = SeasonPeriodFromJSON;
18
+ exports.SeasonPeriodFromJSONTyped = SeasonPeriodFromJSONTyped;
19
+ exports.SeasonPeriodToJSON = SeasonPeriodToJSON;
20
+ exports.SeasonPeriodToJSONTyped = SeasonPeriodToJSONTyped;
21
+ const SeasonType_1 = require("./SeasonType");
22
+ /**
23
+ * Check if a given object implements the SeasonPeriod interface.
24
+ */
25
+ function instanceOfSeasonPeriod(value) {
26
+ if ((!('seasonType' in value) && !('season_type' in value)) || (value['seasonType'] === undefined && value['season_type'] === undefined))
27
+ return false;
28
+ if ((!('startsOn' in value) && !('starts_on' in value)) || (value['startsOn'] === undefined && value['starts_on'] === undefined))
29
+ return false;
30
+ if ((!('endsOn' in value) && !('ends_on' in value)) || (value['endsOn'] === undefined && value['ends_on'] === undefined))
31
+ return false;
32
+ return true;
33
+ }
34
+ function SeasonPeriodFromJSON(json) {
35
+ return SeasonPeriodFromJSONTyped(json, false);
36
+ }
37
+ function SeasonPeriodFromJSONTyped(json, ignoreDiscriminator) {
38
+ if (json == null) {
39
+ return json;
40
+ }
41
+ return {
42
+ 'seasonType': (0, SeasonType_1.SeasonTypeFromJSON)(json['season_type']),
43
+ 'startsOn': (new Date(json['starts_on'])),
44
+ 'endsOn': (new Date(json['ends_on'])),
45
+ };
46
+ }
47
+ function SeasonPeriodToJSON(json) {
48
+ return SeasonPeriodToJSONTyped(json, false);
49
+ }
50
+ function SeasonPeriodToJSONTyped(value, ignoreDiscriminator = false) {
51
+ if (value == null) {
52
+ return value;
53
+ }
54
+ return {
55
+ 'season_type': (0, SeasonType_1.SeasonTypeToJSON)(value['seasonType']),
56
+ 'starts_on': value['startsOn'].toISOString().substring(0, 10),
57
+ 'ends_on': value['endsOn'].toISOString().substring(0, 10),
58
+ };
59
+ }
@@ -10,7 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- * Current operating season of the resort.
13
+ * A resort's season: winter or summer as its weekly operating hours say
14
+ * (`OperatingHoursDb::season_type`), or closed outside every season (see
15
+ * `utils::hours::season_on`).
14
16
  * @export
15
17
  */
16
18
  export declare const SeasonType: {
@@ -20,7 +20,9 @@ exports.SeasonTypeFromJSONTyped = SeasonTypeFromJSONTyped;
20
20
  exports.SeasonTypeToJSON = SeasonTypeToJSON;
21
21
  exports.SeasonTypeToJSONTyped = SeasonTypeToJSONTyped;
22
22
  /**
23
- * Current operating season of the resort.
23
+ * A resort's season: winter or summer as its weekly operating hours say
24
+ * (`OperatingHoursDb::season_type`), or closed outside every season (see
25
+ * `utils::hours::season_on`).
24
26
  * @export
25
27
  */
26
28
  exports.SeasonType = {
@@ -49,6 +49,19 @@ export interface TerrainPark {
49
49
  * @memberof TerrainPark
50
50
  */
51
51
  status: TerrainParkStatus;
52
+ /**
53
+ * When the terrain park was last groomed.
54
+ * `null` if never groomed, or if the terrain park grooming feature is disabled.
55
+ * @type {Date}
56
+ * @memberof TerrainPark
57
+ */
58
+ lastGroomed?: Date | null;
59
+ /**
60
+ * Whether the terrain park was groomed within the last 24 hours.
61
+ * @type {boolean}
62
+ * @memberof TerrainPark
63
+ */
64
+ groomedToday: boolean;
52
65
  /**
53
66
  * Notes about current conditions in this terrain park.
54
67
  * @type {string}
@@ -33,6 +33,8 @@ function instanceOfTerrainPark(value) {
33
33
  return false;
34
34
  if (!('status' in value) || value['status'] === undefined)
35
35
  return false;
36
+ if ((!('groomedToday' in value) && !('groomed_today' in value)) || (value['groomedToday'] === undefined && value['groomed_today'] === undefined))
37
+ return false;
36
38
  if ((!('conditionNotes' in value) && !('condition_notes' in value)) || (value['conditionNotes'] === undefined && value['condition_notes'] === undefined))
37
39
  return false;
38
40
  if (!('features' in value) || value['features'] === undefined)
@@ -54,6 +56,8 @@ function TerrainParkFromJSONTyped(json, ignoreDiscriminator) {
54
56
  'slug': json['slug'],
55
57
  'number': json['number'] === undefined ? undefined : json['number'] === null ? null : json['number'],
56
58
  'status': (0, TerrainParkStatus_1.TerrainParkStatusFromJSON)(json['status']),
59
+ 'lastGroomed': json['last_groomed'] === undefined ? undefined : json['last_groomed'] === null ? null : (new Date(json['last_groomed'])),
60
+ 'groomedToday': json['groomed_today'],
57
61
  'conditionNotes': json['condition_notes'],
58
62
  'areaUuid': json['area_uuid'] === undefined ? undefined : json['area_uuid'] === null ? null : json['area_uuid'],
59
63
  'areaName': json['area_name'] === undefined ? undefined : json['area_name'] === null ? null : json['area_name'],
@@ -76,6 +80,8 @@ function TerrainParkToJSONTyped(value, ignoreDiscriminator = false) {
76
80
  'slug': value['slug'],
77
81
  'number': value['number'],
78
82
  'status': (0, TerrainParkStatus_1.TerrainParkStatusToJSON)(value['status']),
83
+ 'last_groomed': value['lastGroomed'] == null ? value['lastGroomed'] : value['lastGroomed'].toISOString(),
84
+ 'groomed_today': value['groomedToday'],
79
85
  'condition_notes': value['conditionNotes'],
80
86
  'area_uuid': value['areaUuid'],
81
87
  'area_name': value['areaName'],
@@ -37,6 +37,7 @@ export * from './OverviewTerrainParks';
37
37
  export * from './ParkingLot';
38
38
  export * from './ParkingLotStatus';
39
39
  export * from './PathUuid';
40
+ export * from './PowderAlerts';
40
41
  export * from './Region';
41
42
  export * from './ResortInfo';
42
43
  export * from './ResortStatus';
@@ -44,6 +45,7 @@ export * from './Run';
44
45
  export * from './RunDifficulty';
45
46
  export * from './RunStatus';
46
47
  export * from './Schedule';
48
+ export * from './SeasonPeriod';
47
49
  export * from './SeasonType';
48
50
  export * from './SnowMetrics';
49
51
  export * from './SnowReport';
@@ -55,6 +55,7 @@ __exportStar(require("./OverviewTerrainParks"), exports);
55
55
  __exportStar(require("./ParkingLot"), exports);
56
56
  __exportStar(require("./ParkingLotStatus"), exports);
57
57
  __exportStar(require("./PathUuid"), exports);
58
+ __exportStar(require("./PowderAlerts"), exports);
58
59
  __exportStar(require("./Region"), exports);
59
60
  __exportStar(require("./ResortInfo"), exports);
60
61
  __exportStar(require("./ResortStatus"), exports);
@@ -62,6 +63,7 @@ __exportStar(require("./Run"), exports);
62
63
  __exportStar(require("./RunDifficulty"), exports);
63
64
  __exportStar(require("./RunStatus"), exports);
64
65
  __exportStar(require("./Schedule"), exports);
66
+ __exportStar(require("./SeasonPeriod"), exports);
65
67
  __exportStar(require("./SeasonType"), exports);
66
68
  __exportStar(require("./SnowMetrics"), exports);
67
69
  __exportStar(require("./SnowReport"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mtnmanager/sdk",
3
- "version": "1.8.1",
3
+ "version": "1.8.3",
4
4
  "description": "SDK for interacting with the MtnManager API, providing real-time access to your ski resort's public operational data.",
5
5
  "author": "OpenAPI-Generator",
6
6
  "main": "./dist/index.js",