@mtnmanager/sdk 1.8.3 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +5 -3
  2. package/dist/apis/MtnManagerApi.d.ts +28 -34
  3. package/dist/apis/MtnManagerApi.js +0 -6
  4. package/dist/esm/apis/MtnManagerApi.d.ts +28 -34
  5. package/dist/esm/apis/MtnManagerApi.js +0 -6
  6. package/dist/esm/models/Amenity.d.ts +8 -0
  7. package/dist/esm/models/Amenity.js +5 -0
  8. package/dist/esm/models/AmenityStatus.d.ts +27 -0
  9. package/dist/esm/models/{SummerTrailType.js → AmenityStatus.js} +14 -13
  10. package/dist/esm/models/CurrentWeather.d.ts +1 -1
  11. package/dist/esm/models/DailyForecast.d.ts +1 -1
  12. package/dist/esm/models/FullReport.d.ts +2 -18
  13. package/dist/esm/models/FullReport.js +0 -6
  14. package/dist/esm/models/HourlyForecast.d.ts +1 -1
  15. package/dist/esm/models/Language.d.ts +32 -0
  16. package/dist/esm/models/Language.js +50 -0
  17. package/dist/esm/models/Lift.d.ts +1 -0
  18. package/dist/esm/models/OverviewRuns.d.ts +1 -1
  19. package/dist/esm/models/OverviewTerrainParks.d.ts +2 -1
  20. package/dist/esm/models/ResortInfo.d.ts +8 -0
  21. package/dist/esm/models/ResortInfo.js +5 -0
  22. package/dist/esm/models/Run.d.ts +19 -2
  23. package/dist/esm/models/Run.js +4 -0
  24. package/dist/esm/models/SummerTrail.d.ts +14 -5
  25. package/dist/esm/models/SummerTrail.js +7 -4
  26. package/dist/esm/models/SummerTrailActivity.d.ts +32 -0
  27. package/dist/esm/models/SummerTrailActivity.js +50 -0
  28. package/dist/esm/models/SummerTrailDifficultyType.d.ts +27 -0
  29. package/dist/esm/models/SummerTrailDifficultyType.js +45 -0
  30. package/dist/esm/models/TerrainPark.d.ts +19 -2
  31. package/dist/esm/models/TerrainPark.js +4 -0
  32. package/dist/esm/models/TerrainParkFeature.d.ts +2 -1
  33. package/dist/esm/models/index.d.ts +4 -2
  34. package/dist/esm/models/index.js +4 -2
  35. package/dist/models/Amenity.d.ts +8 -0
  36. package/dist/models/Amenity.js +5 -0
  37. package/dist/models/AmenityStatus.d.ts +27 -0
  38. package/dist/models/AmenityStatus.js +53 -0
  39. package/dist/models/CurrentWeather.d.ts +1 -1
  40. package/dist/models/DailyForecast.d.ts +1 -1
  41. package/dist/models/FullReport.d.ts +2 -18
  42. package/dist/models/FullReport.js +0 -6
  43. package/dist/models/HourlyForecast.d.ts +1 -1
  44. package/dist/models/Language.d.ts +32 -0
  45. package/dist/models/Language.js +58 -0
  46. package/dist/models/Lift.d.ts +1 -0
  47. package/dist/models/OverviewRuns.d.ts +1 -1
  48. package/dist/models/OverviewTerrainParks.d.ts +2 -1
  49. package/dist/models/ResortInfo.d.ts +8 -0
  50. package/dist/models/ResortInfo.js +5 -0
  51. package/dist/models/Run.d.ts +19 -2
  52. package/dist/models/Run.js +4 -0
  53. package/dist/models/SummerTrail.d.ts +14 -5
  54. package/dist/models/SummerTrail.js +7 -4
  55. package/dist/models/SummerTrailActivity.d.ts +32 -0
  56. package/dist/models/SummerTrailActivity.js +58 -0
  57. package/dist/models/SummerTrailDifficultyType.d.ts +27 -0
  58. package/dist/models/SummerTrailDifficultyType.js +53 -0
  59. package/dist/models/TerrainPark.d.ts +19 -2
  60. package/dist/models/TerrainPark.js +4 -0
  61. package/dist/models/TerrainParkFeature.d.ts +2 -1
  62. package/dist/models/index.d.ts +4 -2
  63. package/dist/models/index.js +4 -2
  64. package/package.json +1 -1
  65. package/dist/esm/models/SummerTrailType.d.ts +0 -26
  66. package/dist/esm/models/WebcamHistoryQuery.d.ts +0 -38
  67. package/dist/esm/models/WebcamHistoryQuery.js +0 -43
  68. package/dist/models/SummerTrailType.d.ts +0 -26
  69. package/dist/models/SummerTrailType.js +0 -52
  70. package/dist/models/WebcamHistoryQuery.d.ts +0 -38
  71. package/dist/models/WebcamHistoryQuery.js +0 -50
@@ -23,7 +23,8 @@ export interface OverviewTerrainParks {
23
23
  */
24
24
  open?: number | null;
25
25
  /**
26
- * Number of terrain parks groomed within the last 24 hours.
26
+ * Number of terrain parks groomed since the resort last closed (see
27
+ * `groomed_today`).
27
28
  * Not included if the terrain park grooming feature is disabled.
28
29
  * @type {number}
29
30
  * @memberof OverviewTerrainParks
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { UnitPreference } from './UnitPreference';
13
+ import type { Language } from './Language';
13
14
  import type { Region } from './Region';
14
15
  /**
15
16
  * Contains general information about the ski resort and its MtnManager account.
@@ -53,6 +54,13 @@ export interface ResortInfo {
53
54
  * @memberof ResortInfo
54
55
  */
55
56
  unitPreference: UnitPreference;
57
+ /**
58
+ * The language human-readable strings are served in when the request's
59
+ * `Accept-Language` names no supported language.
60
+ * @type {Language}
61
+ * @memberof ResortInfo
62
+ */
63
+ defaultLanguage: Language;
56
64
  /**
57
65
  * Full public URL to the resort's logo image. `null` if no logo is set.
58
66
  * @type {string}
@@ -12,6 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { UnitPreferenceFromJSON, UnitPreferenceToJSON, } from './UnitPreference';
15
+ import { LanguageFromJSON, LanguageToJSON, } from './Language';
15
16
  import { RegionFromJSON, RegionToJSON, } from './Region';
16
17
  /**
17
18
  * Check if a given object implements the ResortInfo interface.
@@ -29,6 +30,8 @@ export function instanceOfResortInfo(value) {
29
30
  return false;
30
31
  if ((!('unitPreference' in value) && !('unit_preference' in value)) || (value['unitPreference'] === undefined && value['unit_preference'] === undefined))
31
32
  return false;
33
+ if ((!('defaultLanguage' in value) && !('default_language' in value)) || (value['defaultLanguage'] === undefined && value['default_language'] === undefined))
34
+ return false;
32
35
  return true;
33
36
  }
34
37
  export function ResortInfoFromJSON(json) {
@@ -45,6 +48,7 @@ export function ResortInfoFromJSONTyped(json, ignoreDiscriminator) {
45
48
  'timezone': json['timezone'],
46
49
  'region': RegionFromJSON(json['region']),
47
50
  'unitPreference': UnitPreferenceFromJSON(json['unit_preference']),
51
+ 'defaultLanguage': LanguageFromJSON(json['default_language']),
48
52
  'logoUrl': json['logo_url'] === undefined ? undefined : json['logo_url'] === null ? null : json['logo_url'],
49
53
  };
50
54
  }
@@ -62,6 +66,7 @@ export function ResortInfoToJSONTyped(value, ignoreDiscriminator = false) {
62
66
  'timezone': value['timezone'],
63
67
  'region': RegionToJSON(value['region']),
64
68
  'unit_preference': UnitPreferenceToJSON(value['unitPreference']),
69
+ 'default_language': LanguageToJSON(value['defaultLanguage']),
65
70
  'logo_url': value['logoUrl'],
66
71
  };
67
72
  }
@@ -57,17 +57,34 @@ export interface Run {
57
57
  status: RunStatus;
58
58
  /**
59
59
  * When the run was last groomed.
60
- * `null` if never groomed, or if the runs grooming feature is disabled.
60
+ * `null` if not groomed this season (since the snow year began: Aug 1, or
61
+ * Jan 1 in the southern hemisphere), or if the runs grooming feature is disabled.
61
62
  * @type {Date}
62
63
  * @memberof Run
63
64
  */
64
65
  lastGroomed?: Date | null;
65
66
  /**
66
- * Whether the run was groomed within the last 24 hours.
67
+ * Whether the run has been groomed since the resort last closed (or,
68
+ * for a resort with no operating hours set, within the last 24 hours).
67
69
  * @type {boolean}
68
70
  * @memberof Run
69
71
  */
70
72
  groomedToday: boolean;
73
+ /**
74
+ * New snow (cm) reported since `last_groomed` ("groomed with fresh").
75
+ * Absent unless the run was groomed within the last 24 hours and the
76
+ * resort keeps a snow report.
77
+ * @type {number}
78
+ * @memberof Run
79
+ */
80
+ snowSinceGroomedCm?: number | null;
81
+ /**
82
+ * New snow (inches) reported since `last_groomed`; see
83
+ * `snow_since_groomed_cm`.
84
+ * @type {number}
85
+ * @memberof Run
86
+ */
87
+ snowSinceGroomedIn?: number | null;
71
88
  /**
72
89
  * Whether the run has snowmaking capabilities.
73
90
  * @type {boolean}
@@ -56,6 +56,8 @@ export function RunFromJSONTyped(json, ignoreDiscriminator) {
56
56
  'status': RunStatusFromJSON(json['status']),
57
57
  'lastGroomed': json['last_groomed'] === undefined ? undefined : json['last_groomed'] === null ? null : (new Date(json['last_groomed'])),
58
58
  'groomedToday': json['groomed_today'],
59
+ 'snowSinceGroomedCm': json['snow_since_groomed_cm'] === undefined ? undefined : json['snow_since_groomed_cm'] === null ? null : json['snow_since_groomed_cm'],
60
+ 'snowSinceGroomedIn': json['snow_since_groomed_in'] === undefined ? undefined : json['snow_since_groomed_in'] === null ? null : json['snow_since_groomed_in'],
59
61
  'snowmaking': json['snowmaking'],
60
62
  'nightSkiing': json['night_skiing'],
61
63
  'conditionNotes': json['condition_notes'],
@@ -82,6 +84,8 @@ export function RunToJSONTyped(value, ignoreDiscriminator = false) {
82
84
  'status': RunStatusToJSON(value['status']),
83
85
  'last_groomed': value['lastGroomed'] == null ? value['lastGroomed'] : value['lastGroomed'].toISOString(),
84
86
  'groomed_today': value['groomedToday'],
87
+ 'snow_since_groomed_cm': value['snowSinceGroomedCm'],
88
+ 'snow_since_groomed_in': value['snowSinceGroomedIn'],
85
89
  'snowmaking': value['snowmaking'],
86
90
  'night_skiing': value['nightSkiing'],
87
91
  'condition_notes': value['conditionNotes'],
@@ -9,13 +9,14 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { SummerTrailActivity } from './SummerTrailActivity';
13
+ import type { SummerTrailDifficultyType } from './SummerTrailDifficultyType';
12
14
  import type { SummerTrailStatus } from './SummerTrailStatus';
13
- import type { SummerTrailType } from './SummerTrailType';
14
15
  import type { EntityImage } from './EntityImage';
15
16
  import type { SummerTrailDifficulty } from './SummerTrailDifficulty';
16
17
  /**
17
18
  * Represents a single summer trail at the resort with its current status,
18
- * type (e.g. hiking, mountain biking), and optional difficulty rating.
19
+ * activities (e.g. hiking, mountain biking, dogs), and optional difficulty rating.
19
20
  * @export
20
21
  * @interface SummerTrail
21
22
  */
@@ -45,17 +46,25 @@ export interface SummerTrail {
45
46
  */
46
47
  number?: number | null;
47
48
  /**
48
- * Type of trail activity (e.g. hiking, mountain_biking). Can have multiple.
49
- * @type {Array<SummerTrailType>}
49
+ * Activities the trail is open to (e.g. hiking, mountain_biking,
50
+ * on_leash_dogs). Can have multiple.
51
+ * @type {Array<SummerTrailActivity>}
50
52
  * @memberof SummerTrail
51
53
  */
52
- trailType: Array<SummerTrailType>;
54
+ activities: Array<SummerTrailActivity>;
53
55
  /**
54
56
  * Difficulty rating of the trail (optional for summer trails).
55
57
  * @type {SummerTrailDifficulty}
56
58
  * @memberof SummerTrail
57
59
  */
58
60
  difficulty?: SummerTrailDifficulty | null;
61
+ /**
62
+ * The rating system the difficulty is shown in, which picks its icon:
63
+ * `null` for the standard one, or a mountain-bike freeride / technical one.
64
+ * @type {SummerTrailDifficultyType}
65
+ * @memberof SummerTrail
66
+ */
67
+ difficultyType?: SummerTrailDifficultyType | null;
59
68
  /**
60
69
  * Current operational status (open, closed, or unknown).
61
70
  * @type {SummerTrailStatus}
@@ -11,8 +11,9 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { SummerTrailActivityFromJSON, SummerTrailActivityToJSON, } from './SummerTrailActivity';
15
+ import { SummerTrailDifficultyTypeFromJSON, SummerTrailDifficultyTypeToJSON, } from './SummerTrailDifficultyType';
14
16
  import { SummerTrailStatusFromJSON, SummerTrailStatusToJSON, } from './SummerTrailStatus';
15
- import { SummerTrailTypeFromJSON, SummerTrailTypeToJSON, } from './SummerTrailType';
16
17
  import { EntityImageFromJSON, EntityImageToJSON, } from './EntityImage';
17
18
  import { SummerTrailDifficultyFromJSON, SummerTrailDifficultyToJSON, } from './SummerTrailDifficulty';
18
19
  /**
@@ -25,7 +26,7 @@ export function instanceOfSummerTrail(value) {
25
26
  return false;
26
27
  if (!('slug' in value) || value['slug'] === undefined)
27
28
  return false;
28
- if ((!('trailType' in value) && !('trail_type' in value)) || (value['trailType'] === undefined && value['trail_type'] === undefined))
29
+ if (!('activities' in value) || value['activities'] === undefined)
29
30
  return false;
30
31
  if (!('status' in value) || value['status'] === undefined)
31
32
  return false;
@@ -47,8 +48,9 @@ export function SummerTrailFromJSONTyped(json, ignoreDiscriminator) {
47
48
  'name': json['name'],
48
49
  'slug': json['slug'],
49
50
  'number': json['number'] === undefined ? undefined : json['number'] === null ? null : json['number'],
50
- 'trailType': (json['trail_type'].map(SummerTrailTypeFromJSON)),
51
+ 'activities': (json['activities'].map(SummerTrailActivityFromJSON)),
51
52
  'difficulty': json['difficulty'] === undefined ? undefined : json['difficulty'] === null ? null : SummerTrailDifficultyFromJSON(json['difficulty']),
53
+ 'difficultyType': json['difficulty_type'] === undefined ? undefined : json['difficulty_type'] === null ? null : SummerTrailDifficultyTypeFromJSON(json['difficulty_type']),
52
54
  'status': SummerTrailStatusFromJSON(json['status']),
53
55
  'conditionNotes': json['condition_notes'],
54
56
  'areaUuid': json['area_uuid'] === undefined ? undefined : json['area_uuid'] === null ? null : json['area_uuid'],
@@ -70,8 +72,9 @@ export function SummerTrailToJSONTyped(value, ignoreDiscriminator = false) {
70
72
  'name': value['name'],
71
73
  'slug': value['slug'],
72
74
  'number': value['number'],
73
- 'trail_type': (value['trailType'].map(SummerTrailTypeToJSON)),
75
+ 'activities': (value['activities'].map(SummerTrailActivityToJSON)),
74
76
  'difficulty': SummerTrailDifficultyToJSON(value['difficulty']),
77
+ 'difficulty_type': SummerTrailDifficultyTypeToJSON(value['difficultyType']),
75
78
  'status': SummerTrailStatusToJSON(value['status']),
76
79
  'condition_notes': value['conditionNotes'],
77
80
  'area_uuid': value['areaUuid'],
@@ -0,0 +1,32 @@
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
+ * An activity (or permission, like dogs) a summer trail is open to.
14
+ * @export
15
+ */
16
+ export declare const SummerTrailActivity: {
17
+ readonly Hiking: "hiking";
18
+ readonly MountainBiking: "mountain_biking";
19
+ readonly EBiking: "e_biking";
20
+ readonly GravelBiking: "gravel_biking";
21
+ readonly TrailRunning: "trail_running";
22
+ readonly OnLeashDogs: "on_leash_dogs";
23
+ readonly OffLeashDogs: "off_leash_dogs";
24
+ readonly HorsebackRiding: "horseback_riding";
25
+ readonly UnknownDefaultOpenApi: "11184809";
26
+ };
27
+ export type SummerTrailActivity = typeof SummerTrailActivity[keyof typeof SummerTrailActivity];
28
+ export declare function instanceOfSummerTrailActivity(value: any): boolean;
29
+ export declare function SummerTrailActivityFromJSON(json: any): SummerTrailActivity;
30
+ export declare function SummerTrailActivityFromJSONTyped(json: any, ignoreDiscriminator: boolean): SummerTrailActivity;
31
+ export declare function SummerTrailActivityToJSON(value?: SummerTrailActivity | null): any;
32
+ export declare function SummerTrailActivityToJSONTyped(value: any, ignoreDiscriminator: boolean): SummerTrailActivity;
@@ -0,0 +1,50 @@
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
+ * An activity (or permission, like dogs) a summer trail is open to.
16
+ * @export
17
+ */
18
+ export const SummerTrailActivity = {
19
+ Hiking: 'hiking',
20
+ MountainBiking: 'mountain_biking',
21
+ EBiking: 'e_biking',
22
+ GravelBiking: 'gravel_biking',
23
+ TrailRunning: 'trail_running',
24
+ OnLeashDogs: 'on_leash_dogs',
25
+ OffLeashDogs: 'off_leash_dogs',
26
+ HorsebackRiding: 'horseback_riding',
27
+ UnknownDefaultOpenApi: '11184809'
28
+ };
29
+ export function instanceOfSummerTrailActivity(value) {
30
+ for (const key in SummerTrailActivity) {
31
+ if (Object.prototype.hasOwnProperty.call(SummerTrailActivity, key)) {
32
+ if (SummerTrailActivity[key] === value) {
33
+ return true;
34
+ }
35
+ }
36
+ }
37
+ return false;
38
+ }
39
+ export function SummerTrailActivityFromJSON(json) {
40
+ return SummerTrailActivityFromJSONTyped(json, false);
41
+ }
42
+ export function SummerTrailActivityFromJSONTyped(json, ignoreDiscriminator) {
43
+ return json;
44
+ }
45
+ export function SummerTrailActivityToJSON(value) {
46
+ return value;
47
+ }
48
+ export function SummerTrailActivityToJSONTyped(value, ignoreDiscriminator) {
49
+ return value;
50
+ }
@@ -0,0 +1,27 @@
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
+ * The rating system a summer trail's difficulty is shown in, which picks its
14
+ * difficulty icon. `None` (on the trail) is the standard system.
15
+ * @export
16
+ */
17
+ export declare const SummerTrailDifficultyType: {
18
+ readonly MtbFreeride: "mtb_freeride";
19
+ readonly MtbTechnical: "mtb_technical";
20
+ readonly UnknownDefaultOpenApi: "11184809";
21
+ };
22
+ export type SummerTrailDifficultyType = typeof SummerTrailDifficultyType[keyof typeof SummerTrailDifficultyType];
23
+ export declare function instanceOfSummerTrailDifficultyType(value: any): boolean;
24
+ export declare function SummerTrailDifficultyTypeFromJSON(json: any): SummerTrailDifficultyType;
25
+ export declare function SummerTrailDifficultyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SummerTrailDifficultyType;
26
+ export declare function SummerTrailDifficultyTypeToJSON(value?: SummerTrailDifficultyType | null): any;
27
+ export declare function SummerTrailDifficultyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): SummerTrailDifficultyType;
@@ -0,0 +1,45 @@
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
+ * The rating system a summer trail's difficulty is shown in, which picks its
16
+ * difficulty icon. `None` (on the trail) is the standard system.
17
+ * @export
18
+ */
19
+ export const SummerTrailDifficultyType = {
20
+ MtbFreeride: 'mtb_freeride',
21
+ MtbTechnical: 'mtb_technical',
22
+ UnknownDefaultOpenApi: '11184809'
23
+ };
24
+ export function instanceOfSummerTrailDifficultyType(value) {
25
+ for (const key in SummerTrailDifficultyType) {
26
+ if (Object.prototype.hasOwnProperty.call(SummerTrailDifficultyType, key)) {
27
+ if (SummerTrailDifficultyType[key] === value) {
28
+ return true;
29
+ }
30
+ }
31
+ }
32
+ return false;
33
+ }
34
+ export function SummerTrailDifficultyTypeFromJSON(json) {
35
+ return SummerTrailDifficultyTypeFromJSONTyped(json, false);
36
+ }
37
+ export function SummerTrailDifficultyTypeFromJSONTyped(json, ignoreDiscriminator) {
38
+ return json;
39
+ }
40
+ export function SummerTrailDifficultyTypeToJSON(value) {
41
+ return value;
42
+ }
43
+ export function SummerTrailDifficultyTypeToJSONTyped(value, ignoreDiscriminator) {
44
+ return value;
45
+ }
@@ -51,17 +51,34 @@ export interface TerrainPark {
51
51
  status: TerrainParkStatus;
52
52
  /**
53
53
  * When the terrain park was last groomed.
54
- * `null` if never groomed, or if the terrain park grooming feature is disabled.
54
+ * `null` if not groomed this season (since the snow year began: Aug 1, or
55
+ * Jan 1 in the southern hemisphere), or if the terrain park grooming feature
56
+ * is disabled.
55
57
  * @type {Date}
56
58
  * @memberof TerrainPark
57
59
  */
58
60
  lastGroomed?: Date | null;
59
61
  /**
60
- * Whether the terrain park was groomed within the last 24 hours.
62
+ * Whether the terrain park has been groomed since the resort last closed
63
+ * (or, for a resort with no operating hours set, within the last 24 hours).
61
64
  * @type {boolean}
62
65
  * @memberof TerrainPark
63
66
  */
64
67
  groomedToday: boolean;
68
+ /**
69
+ * New snow (cm) reported since `last_groomed`. Absent unless the park
70
+ * was groomed within the last 24 hours and the resort keeps a snow report.
71
+ * @type {number}
72
+ * @memberof TerrainPark
73
+ */
74
+ snowSinceGroomedCm?: number | null;
75
+ /**
76
+ * New snow (inches) reported since `last_groomed`; see
77
+ * `snow_since_groomed_cm`.
78
+ * @type {number}
79
+ * @memberof TerrainPark
80
+ */
81
+ snowSinceGroomedIn?: number | null;
65
82
  /**
66
83
  * Notes about current conditions in this terrain park.
67
84
  * @type {string}
@@ -51,6 +51,8 @@ export function TerrainParkFromJSONTyped(json, ignoreDiscriminator) {
51
51
  'status': TerrainParkStatusFromJSON(json['status']),
52
52
  'lastGroomed': json['last_groomed'] === undefined ? undefined : json['last_groomed'] === null ? null : (new Date(json['last_groomed'])),
53
53
  'groomedToday': json['groomed_today'],
54
+ 'snowSinceGroomedCm': json['snow_since_groomed_cm'] === undefined ? undefined : json['snow_since_groomed_cm'] === null ? null : json['snow_since_groomed_cm'],
55
+ 'snowSinceGroomedIn': json['snow_since_groomed_in'] === undefined ? undefined : json['snow_since_groomed_in'] === null ? null : json['snow_since_groomed_in'],
54
56
  'conditionNotes': json['condition_notes'],
55
57
  'areaUuid': json['area_uuid'] === undefined ? undefined : json['area_uuid'] === null ? null : json['area_uuid'],
56
58
  'areaName': json['area_name'] === undefined ? undefined : json['area_name'] === null ? null : json['area_name'],
@@ -75,6 +77,8 @@ export function TerrainParkToJSONTyped(value, ignoreDiscriminator = false) {
75
77
  'status': TerrainParkStatusToJSON(value['status']),
76
78
  'last_groomed': value['lastGroomed'] == null ? value['lastGroomed'] : value['lastGroomed'].toISOString(),
77
79
  'groomed_today': value['groomedToday'],
80
+ 'snow_since_groomed_cm': value['snowSinceGroomedCm'],
81
+ 'snow_since_groomed_in': value['snowSinceGroomedIn'],
78
82
  'condition_notes': value['conditionNotes'],
79
83
  'area_uuid': value['areaUuid'],
80
84
  'area_name': value['areaName'],
@@ -58,7 +58,8 @@ export interface TerrainParkFeature {
58
58
  size?: FeatureSize | null;
59
59
  /**
60
60
  * Current operational status (open, closed, or unknown).
61
- * `unknown` unless the terrain park feature status is enabled.
61
+ * `unknown` unless the terrain park feature status is enabled; `closed`
62
+ * whenever its terrain park is closed.
62
63
  * @type {TerrainParkFeatureStatus}
63
64
  * @memberof TerrainParkFeature
64
65
  */
@@ -2,6 +2,7 @@ export * from './Amenity';
2
2
  export * from './AmenityCalendarEntry';
3
3
  export * from './AmenityCategory';
4
4
  export * from './AmenitySchedule';
5
+ export * from './AmenityStatus';
5
6
  export * from './AppConfig';
6
7
  export * from './CalendarDay';
7
8
  export * from './ClosureReason';
@@ -23,6 +24,7 @@ export * from './HourlyForecast';
23
24
  export * from './HourlyForecastImperial';
24
25
  export * from './HourlyForecastMetric';
25
26
  export * from './LabelOffset';
27
+ export * from './Language';
26
28
  export * from './Lift';
27
29
  export * from './LiftStatus';
28
30
  export * from './LiftType';
@@ -50,9 +52,10 @@ export * from './SeasonType';
50
52
  export * from './SnowMetrics';
51
53
  export * from './SnowReport';
52
54
  export * from './SummerTrail';
55
+ export * from './SummerTrailActivity';
53
56
  export * from './SummerTrailDifficulty';
57
+ export * from './SummerTrailDifficultyType';
54
58
  export * from './SummerTrailStatus';
55
- export * from './SummerTrailType';
56
59
  export * from './SurfaceCondition';
57
60
  export * from './TerrainPark';
58
61
  export * from './TerrainParkFeature';
@@ -80,5 +83,4 @@ export * from './Weather';
80
83
  export * from './WeatherConditionCode';
81
84
  export * from './Webcam';
82
85
  export * from './WebcamHistoryFrame';
83
- export * from './WebcamHistoryQuery';
84
86
  export * from './WebcamHistoryResponse';
@@ -4,6 +4,7 @@ export * from './Amenity';
4
4
  export * from './AmenityCalendarEntry';
5
5
  export * from './AmenityCategory';
6
6
  export * from './AmenitySchedule';
7
+ export * from './AmenityStatus';
7
8
  export * from './AppConfig';
8
9
  export * from './CalendarDay';
9
10
  export * from './ClosureReason';
@@ -25,6 +26,7 @@ export * from './HourlyForecast';
25
26
  export * from './HourlyForecastImperial';
26
27
  export * from './HourlyForecastMetric';
27
28
  export * from './LabelOffset';
29
+ export * from './Language';
28
30
  export * from './Lift';
29
31
  export * from './LiftStatus';
30
32
  export * from './LiftType';
@@ -52,9 +54,10 @@ export * from './SeasonType';
52
54
  export * from './SnowMetrics';
53
55
  export * from './SnowReport';
54
56
  export * from './SummerTrail';
57
+ export * from './SummerTrailActivity';
55
58
  export * from './SummerTrailDifficulty';
59
+ export * from './SummerTrailDifficultyType';
56
60
  export * from './SummerTrailStatus';
57
- export * from './SummerTrailType';
58
61
  export * from './SurfaceCondition';
59
62
  export * from './TerrainPark';
60
63
  export * from './TerrainParkFeature';
@@ -82,5 +85,4 @@ export * from './Weather';
82
85
  export * from './WeatherConditionCode';
83
86
  export * from './Webcam';
84
87
  export * from './WebcamHistoryFrame';
85
- export * from './WebcamHistoryQuery';
86
88
  export * from './WebcamHistoryResponse';
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { AmenityCategory } from './AmenityCategory';
13
+ import type { AmenityStatus } from './AmenityStatus';
13
14
  import type { Schedule } from './Schedule';
14
15
  import type { EntityImage } from './EntityImage';
15
16
  /**
@@ -55,6 +56,13 @@ export interface Amenity {
55
56
  * @memberof Amenity
56
57
  */
57
58
  website: string;
59
+ /**
60
+ * Current operational status (open, closed, or unknown). Always `unknown`
61
+ * when the resort doesn't track amenity status.
62
+ * @type {AmenityStatus}
63
+ * @memberof Amenity
64
+ */
65
+ status: AmenityStatus;
58
66
  /**
59
67
  * Whether this amenity reports operating hours. When false, clients should
60
68
  * not expect `opens_at`, `closes_at`, or `schedules` to ever be populated.
@@ -19,6 +19,7 @@ exports.AmenityFromJSONTyped = AmenityFromJSONTyped;
19
19
  exports.AmenityToJSON = AmenityToJSON;
20
20
  exports.AmenityToJSONTyped = AmenityToJSONTyped;
21
21
  const AmenityCategory_1 = require("./AmenityCategory");
22
+ const AmenityStatus_1 = require("./AmenityStatus");
22
23
  const Schedule_1 = require("./Schedule");
23
24
  const EntityImage_1 = require("./EntityImage");
24
25
  /**
@@ -37,6 +38,8 @@ function instanceOfAmenity(value) {
37
38
  return false;
38
39
  if (!('website' in value) || value['website'] === undefined)
39
40
  return false;
41
+ if (!('status' in value) || value['status'] === undefined)
42
+ return false;
40
43
  if ((!('hasOperatingHours' in value) && !('has_operating_hours' in value)) || (value['hasOperatingHours'] === undefined && value['has_operating_hours'] === undefined))
41
44
  return false;
42
45
  if (!('schedules' in value) || value['schedules'] === undefined)
@@ -57,6 +60,7 @@ function AmenityFromJSONTyped(json, ignoreDiscriminator) {
57
60
  'slug': json['slug'],
58
61
  'category': (0, AmenityCategory_1.AmenityCategoryFromJSON)(json['category']),
59
62
  'website': json['website'],
63
+ 'status': (0, AmenityStatus_1.AmenityStatusFromJSON)(json['status']),
60
64
  'hasOperatingHours': json['has_operating_hours'],
61
65
  'opensAt': json['opens_at'] === undefined ? undefined : json['opens_at'] === null ? null : json['opens_at'],
62
66
  'closesAt': json['closes_at'] === undefined ? undefined : json['closes_at'] === null ? null : json['closes_at'],
@@ -78,6 +82,7 @@ function AmenityToJSONTyped(value, ignoreDiscriminator = false) {
78
82
  'slug': value['slug'],
79
83
  'category': (0, AmenityCategory_1.AmenityCategoryToJSON)(value['category']),
80
84
  'website': value['website'],
85
+ 'status': (0, AmenityStatus_1.AmenityStatusToJSON)(value['status']),
81
86
  'has_operating_hours': value['hasOperatingHours'],
82
87
  'opens_at': value['opensAt'],
83
88
  'closes_at': value['closesAt'],
@@ -0,0 +1,27 @@
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
+ * Operational status of an amenity.
14
+ * @export
15
+ */
16
+ export declare const AmenityStatus: {
17
+ readonly Open: "open";
18
+ readonly Closed: "closed";
19
+ readonly Unknown: "unknown";
20
+ readonly UnknownDefaultOpenApi: "11184809";
21
+ };
22
+ export type AmenityStatus = typeof AmenityStatus[keyof typeof AmenityStatus];
23
+ export declare function instanceOfAmenityStatus(value: any): boolean;
24
+ export declare function AmenityStatusFromJSON(json: any): AmenityStatus;
25
+ export declare function AmenityStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): AmenityStatus;
26
+ export declare function AmenityStatusToJSON(value?: AmenityStatus | null): any;
27
+ export declare function AmenityStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): AmenityStatus;
@@ -0,0 +1,53 @@
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.AmenityStatus = void 0;
17
+ exports.instanceOfAmenityStatus = instanceOfAmenityStatus;
18
+ exports.AmenityStatusFromJSON = AmenityStatusFromJSON;
19
+ exports.AmenityStatusFromJSONTyped = AmenityStatusFromJSONTyped;
20
+ exports.AmenityStatusToJSON = AmenityStatusToJSON;
21
+ exports.AmenityStatusToJSONTyped = AmenityStatusToJSONTyped;
22
+ /**
23
+ * Operational status of an amenity.
24
+ * @export
25
+ */
26
+ exports.AmenityStatus = {
27
+ Open: 'open',
28
+ Closed: 'closed',
29
+ Unknown: 'unknown',
30
+ UnknownDefaultOpenApi: '11184809'
31
+ };
32
+ function instanceOfAmenityStatus(value) {
33
+ for (const key in exports.AmenityStatus) {
34
+ if (Object.prototype.hasOwnProperty.call(exports.AmenityStatus, key)) {
35
+ if (exports.AmenityStatus[key] === value) {
36
+ return true;
37
+ }
38
+ }
39
+ }
40
+ return false;
41
+ }
42
+ function AmenityStatusFromJSON(json) {
43
+ return AmenityStatusFromJSONTyped(json, false);
44
+ }
45
+ function AmenityStatusFromJSONTyped(json, ignoreDiscriminator) {
46
+ return json;
47
+ }
48
+ function AmenityStatusToJSON(value) {
49
+ return value;
50
+ }
51
+ function AmenityStatusToJSONTyped(value, ignoreDiscriminator) {
52
+ return value;
53
+ }
@@ -31,7 +31,7 @@ export interface CurrentWeather {
31
31
  */
32
32
  metric: CurrentWeatherMetric;
33
33
  /**
34
- * Human-readable weather condition
34
+ * Human-readable weather condition, in the `Accept-Language` language
35
35
  * @type {string}
36
36
  * @memberof CurrentWeather
37
37
  */