@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
@@ -37,7 +37,7 @@ export interface DailyForecast {
37
37
  */
38
38
  metric: DailyForecastMetric;
39
39
  /**
40
- * Human-readable condition
40
+ * Human-readable condition, in the `Accept-Language` language
41
41
  * @type {string}
42
42
  * @memberof DailyForecast
43
43
  */
@@ -10,11 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { OperatingHours } from './OperatingHours';
13
- import type { Weather } from './Weather';
14
13
  import type { ResortInfo } from './ResortInfo';
15
14
  import type { ParkingLot } from './ParkingLot';
16
15
  import type { SnowReport } from './SnowReport';
17
- import type { Webcam } from './Webcam';
18
16
  import type { Overview } from './Overview';
19
17
  import type { Run } from './Run';
20
18
  import type { SummerTrail } from './SummerTrail';
@@ -22,7 +20,8 @@ import type { Lift } from './Lift';
22
20
  import type { TerrainPark } from './TerrainPark';
23
21
  /**
24
22
  * The all-in-one endpoint containing the full report — resort information, current status,
25
- * runs, lifts, snow, terrain parks, summer trails, hours, and weather.
23
+ * runs, lifts, snow, terrain parks, summer trails, and hours. Weather and webcams
24
+ * have their own endpoints.
26
25
  * @export
27
26
  * @interface FullReport
28
27
  */
@@ -88,21 +87,6 @@ export interface FullReport {
88
87
  * @memberof FullReport
89
88
  */
90
89
  hours: OperatingHours;
91
- /**
92
- * Weather entries: the resort-wide entry first (current + forecast), then
93
- * any per-area current-conditions entries. Empty when weather is disabled
94
- * or unavailable.
95
- * @type {Array<Weather>}
96
- * @memberof FullReport
97
- */
98
- weather?: Array<Weather>;
99
- /**
100
- * Enabled webcams with the URLs of their current and last-daylight frames
101
- * plus thumbnails. Empty when the resort does not have webcams.
102
- * @type {Array<Webcam>}
103
- * @memberof FullReport
104
- */
105
- webcams?: Array<Webcam>;
106
90
  }
107
91
  /**
108
92
  * Check if a given object implements the FullReport interface.
@@ -19,11 +19,9 @@ exports.FullReportFromJSONTyped = FullReportFromJSONTyped;
19
19
  exports.FullReportToJSON = FullReportToJSON;
20
20
  exports.FullReportToJSONTyped = FullReportToJSONTyped;
21
21
  const OperatingHours_1 = require("./OperatingHours");
22
- const Weather_1 = require("./Weather");
23
22
  const ResortInfo_1 = require("./ResortInfo");
24
23
  const ParkingLot_1 = require("./ParkingLot");
25
24
  const SnowReport_1 = require("./SnowReport");
26
- const Webcam_1 = require("./Webcam");
27
25
  const Overview_1 = require("./Overview");
28
26
  const Run_1 = require("./Run");
29
27
  const SummerTrail_1 = require("./SummerTrail");
@@ -70,8 +68,6 @@ function FullReportFromJSONTyped(json, ignoreDiscriminator) {
70
68
  'parkingLots': (json['parking_lots'].map(ParkingLot_1.ParkingLotFromJSON)),
71
69
  'summerTrails': (json['summer_trails'].map(SummerTrail_1.SummerTrailFromJSON)),
72
70
  'hours': (0, OperatingHours_1.OperatingHoursFromJSON)(json['hours']),
73
- 'weather': json['weather'] == null ? undefined : (json['weather'].map(Weather_1.WeatherFromJSON)),
74
- 'webcams': json['webcams'] == null ? undefined : (json['webcams'].map(Webcam_1.WebcamFromJSON)),
75
71
  };
76
72
  }
77
73
  function FullReportToJSON(json) {
@@ -91,7 +87,5 @@ function FullReportToJSONTyped(value, ignoreDiscriminator = false) {
91
87
  'parking_lots': (value['parkingLots'].map(ParkingLot_1.ParkingLotToJSON)),
92
88
  'summer_trails': (value['summerTrails'].map(SummerTrail_1.SummerTrailToJSON)),
93
89
  'hours': (0, OperatingHours_1.OperatingHoursToJSON)(value['hours']),
94
- 'weather': value['weather'] == null ? undefined : (value['weather'].map(Weather_1.WeatherToJSON)),
95
- 'webcams': value['webcams'] == null ? undefined : (value['webcams'].map(Webcam_1.WebcamToJSON)),
96
90
  };
97
91
  }
@@ -37,7 +37,7 @@ export interface HourlyForecast {
37
37
  */
38
38
  metric: HourlyForecastMetric;
39
39
  /**
40
- * Human-readable condition
40
+ * Human-readable condition, in the `Accept-Language` language
41
41
  * @type {string}
42
42
  * @memberof HourlyForecast
43
43
  */
@@ -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
+ * A language we localize into. Serializes as its BCP-47 tag (`"en"`, `"fr"`,
14
+ * `"de-CH"`, …), which is also the form a resort's news languages are stored
15
+ * and keyed in, and the label an account's `default_language` is stored as.
16
+ * @export
17
+ */
18
+ export declare const Language: {
19
+ readonly En: "en";
20
+ readonly Fr: "fr";
21
+ readonly De: "de";
22
+ readonly DeCh: "de-CH";
23
+ readonly It: "it";
24
+ readonly Es: "es";
25
+ readonly UnknownDefaultOpenApi: "11184809";
26
+ };
27
+ export type Language = typeof Language[keyof typeof Language];
28
+ export declare function instanceOfLanguage(value: any): boolean;
29
+ export declare function LanguageFromJSON(json: any): Language;
30
+ export declare function LanguageFromJSONTyped(json: any, ignoreDiscriminator: boolean): Language;
31
+ export declare function LanguageToJSON(value?: Language | null): any;
32
+ export declare function LanguageToJSONTyped(value: any, ignoreDiscriminator: boolean): Language;
@@ -0,0 +1,58 @@
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.Language = void 0;
17
+ exports.instanceOfLanguage = instanceOfLanguage;
18
+ exports.LanguageFromJSON = LanguageFromJSON;
19
+ exports.LanguageFromJSONTyped = LanguageFromJSONTyped;
20
+ exports.LanguageToJSON = LanguageToJSON;
21
+ exports.LanguageToJSONTyped = LanguageToJSONTyped;
22
+ /**
23
+ * A language we localize into. Serializes as its BCP-47 tag (`"en"`, `"fr"`,
24
+ * `"de-CH"`, …), which is also the form a resort's news languages are stored
25
+ * and keyed in, and the label an account's `default_language` is stored as.
26
+ * @export
27
+ */
28
+ exports.Language = {
29
+ En: 'en',
30
+ Fr: 'fr',
31
+ De: 'de',
32
+ DeCh: 'de-CH',
33
+ It: 'it',
34
+ Es: 'es',
35
+ UnknownDefaultOpenApi: '11184809'
36
+ };
37
+ function instanceOfLanguage(value) {
38
+ for (const key in exports.Language) {
39
+ if (Object.prototype.hasOwnProperty.call(exports.Language, key)) {
40
+ if (exports.Language[key] === value) {
41
+ return true;
42
+ }
43
+ }
44
+ }
45
+ return false;
46
+ }
47
+ function LanguageFromJSON(json) {
48
+ return LanguageFromJSONTyped(json, false);
49
+ }
50
+ function LanguageFromJSONTyped(json, ignoreDiscriminator) {
51
+ return json;
52
+ }
53
+ function LanguageToJSON(value) {
54
+ return value;
55
+ }
56
+ function LanguageToJSONTyped(value, ignoreDiscriminator) {
57
+ return value;
58
+ }
@@ -111,6 +111,7 @@ export interface Lift {
111
111
  status: LiftStatus;
112
112
  /**
113
113
  * Current estimated wait time in minutes, if available.
114
+ * Always `null` when the lift is closed.
114
115
  * @type {number}
115
116
  * @memberof Lift
116
117
  */
@@ -23,7 +23,7 @@ export interface OverviewRuns {
23
23
  */
24
24
  open?: number | null;
25
25
  /**
26
- * Number of runs groomed within the last 24 hours.
26
+ * Number of runs groomed since the resort last closed (see `groomed_today`).
27
27
  * Not included if the runs grooming feature is disabled.
28
28
  * @type {number}
29
29
  * @memberof OverviewRuns
@@ -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}
@@ -19,6 +19,7 @@ exports.ResortInfoFromJSONTyped = ResortInfoFromJSONTyped;
19
19
  exports.ResortInfoToJSON = ResortInfoToJSON;
20
20
  exports.ResortInfoToJSONTyped = ResortInfoToJSONTyped;
21
21
  const UnitPreference_1 = require("./UnitPreference");
22
+ const Language_1 = require("./Language");
22
23
  const Region_1 = require("./Region");
23
24
  /**
24
25
  * Check if a given object implements the ResortInfo interface.
@@ -36,6 +37,8 @@ function instanceOfResortInfo(value) {
36
37
  return false;
37
38
  if ((!('unitPreference' in value) && !('unit_preference' in value)) || (value['unitPreference'] === undefined && value['unit_preference'] === undefined))
38
39
  return false;
40
+ if ((!('defaultLanguage' in value) && !('default_language' in value)) || (value['defaultLanguage'] === undefined && value['default_language'] === undefined))
41
+ return false;
39
42
  return true;
40
43
  }
41
44
  function ResortInfoFromJSON(json) {
@@ -52,6 +55,7 @@ function ResortInfoFromJSONTyped(json, ignoreDiscriminator) {
52
55
  'timezone': json['timezone'],
53
56
  'region': (0, Region_1.RegionFromJSON)(json['region']),
54
57
  'unitPreference': (0, UnitPreference_1.UnitPreferenceFromJSON)(json['unit_preference']),
58
+ 'defaultLanguage': (0, Language_1.LanguageFromJSON)(json['default_language']),
55
59
  'logoUrl': json['logo_url'] === undefined ? undefined : json['logo_url'] === null ? null : json['logo_url'],
56
60
  };
57
61
  }
@@ -69,6 +73,7 @@ function ResortInfoToJSONTyped(value, ignoreDiscriminator = false) {
69
73
  'timezone': value['timezone'],
70
74
  'region': (0, Region_1.RegionToJSON)(value['region']),
71
75
  'unit_preference': (0, UnitPreference_1.UnitPreferenceToJSON)(value['unitPreference']),
76
+ 'default_language': (0, Language_1.LanguageToJSON)(value['defaultLanguage']),
72
77
  'logo_url': value['logoUrl'],
73
78
  };
74
79
  }
@@ -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}
@@ -63,6 +63,8 @@ function RunFromJSONTyped(json, ignoreDiscriminator) {
63
63
  'status': (0, RunStatus_1.RunStatusFromJSON)(json['status']),
64
64
  'lastGroomed': json['last_groomed'] === undefined ? undefined : json['last_groomed'] === null ? null : (new Date(json['last_groomed'])),
65
65
  'groomedToday': json['groomed_today'],
66
+ 'snowSinceGroomedCm': json['snow_since_groomed_cm'] === undefined ? undefined : json['snow_since_groomed_cm'] === null ? null : json['snow_since_groomed_cm'],
67
+ 'snowSinceGroomedIn': json['snow_since_groomed_in'] === undefined ? undefined : json['snow_since_groomed_in'] === null ? null : json['snow_since_groomed_in'],
66
68
  'snowmaking': json['snowmaking'],
67
69
  'nightSkiing': json['night_skiing'],
68
70
  'conditionNotes': json['condition_notes'],
@@ -89,6 +91,8 @@ function RunToJSONTyped(value, ignoreDiscriminator = false) {
89
91
  'status': (0, RunStatus_1.RunStatusToJSON)(value['status']),
90
92
  'last_groomed': value['lastGroomed'] == null ? value['lastGroomed'] : value['lastGroomed'].toISOString(),
91
93
  'groomed_today': value['groomedToday'],
94
+ 'snow_since_groomed_cm': value['snowSinceGroomedCm'],
95
+ 'snow_since_groomed_in': value['snowSinceGroomedIn'],
92
96
  'snowmaking': value['snowmaking'],
93
97
  'night_skiing': value['nightSkiing'],
94
98
  '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}
@@ -18,8 +18,9 @@ exports.SummerTrailFromJSON = SummerTrailFromJSON;
18
18
  exports.SummerTrailFromJSONTyped = SummerTrailFromJSONTyped;
19
19
  exports.SummerTrailToJSON = SummerTrailToJSON;
20
20
  exports.SummerTrailToJSONTyped = SummerTrailToJSONTyped;
21
+ const SummerTrailActivity_1 = require("./SummerTrailActivity");
22
+ const SummerTrailDifficultyType_1 = require("./SummerTrailDifficultyType");
21
23
  const SummerTrailStatus_1 = require("./SummerTrailStatus");
22
- const SummerTrailType_1 = require("./SummerTrailType");
23
24
  const EntityImage_1 = require("./EntityImage");
24
25
  const SummerTrailDifficulty_1 = require("./SummerTrailDifficulty");
25
26
  /**
@@ -32,7 +33,7 @@ function instanceOfSummerTrail(value) {
32
33
  return false;
33
34
  if (!('slug' in value) || value['slug'] === undefined)
34
35
  return false;
35
- if ((!('trailType' in value) && !('trail_type' in value)) || (value['trailType'] === undefined && value['trail_type'] === undefined))
36
+ if (!('activities' in value) || value['activities'] === undefined)
36
37
  return false;
37
38
  if (!('status' in value) || value['status'] === undefined)
38
39
  return false;
@@ -54,8 +55,9 @@ function SummerTrailFromJSONTyped(json, ignoreDiscriminator) {
54
55
  'name': json['name'],
55
56
  'slug': json['slug'],
56
57
  'number': json['number'] === undefined ? undefined : json['number'] === null ? null : json['number'],
57
- 'trailType': (json['trail_type'].map(SummerTrailType_1.SummerTrailTypeFromJSON)),
58
+ 'activities': (json['activities'].map(SummerTrailActivity_1.SummerTrailActivityFromJSON)),
58
59
  'difficulty': json['difficulty'] === undefined ? undefined : json['difficulty'] === null ? null : (0, SummerTrailDifficulty_1.SummerTrailDifficultyFromJSON)(json['difficulty']),
60
+ 'difficultyType': json['difficulty_type'] === undefined ? undefined : json['difficulty_type'] === null ? null : (0, SummerTrailDifficultyType_1.SummerTrailDifficultyTypeFromJSON)(json['difficulty_type']),
59
61
  'status': (0, SummerTrailStatus_1.SummerTrailStatusFromJSON)(json['status']),
60
62
  'conditionNotes': json['condition_notes'],
61
63
  'areaUuid': json['area_uuid'] === undefined ? undefined : json['area_uuid'] === null ? null : json['area_uuid'],
@@ -77,8 +79,9 @@ function SummerTrailToJSONTyped(value, ignoreDiscriminator = false) {
77
79
  'name': value['name'],
78
80
  'slug': value['slug'],
79
81
  'number': value['number'],
80
- 'trail_type': (value['trailType'].map(SummerTrailType_1.SummerTrailTypeToJSON)),
82
+ 'activities': (value['activities'].map(SummerTrailActivity_1.SummerTrailActivityToJSON)),
81
83
  'difficulty': (0, SummerTrailDifficulty_1.SummerTrailDifficultyToJSON)(value['difficulty']),
84
+ 'difficulty_type': (0, SummerTrailDifficultyType_1.SummerTrailDifficultyTypeToJSON)(value['difficultyType']),
82
85
  'status': (0, SummerTrailStatus_1.SummerTrailStatusToJSON)(value['status']),
83
86
  'condition_notes': value['conditionNotes'],
84
87
  '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,58 @@
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.SummerTrailActivity = void 0;
17
+ exports.instanceOfSummerTrailActivity = instanceOfSummerTrailActivity;
18
+ exports.SummerTrailActivityFromJSON = SummerTrailActivityFromJSON;
19
+ exports.SummerTrailActivityFromJSONTyped = SummerTrailActivityFromJSONTyped;
20
+ exports.SummerTrailActivityToJSON = SummerTrailActivityToJSON;
21
+ exports.SummerTrailActivityToJSONTyped = SummerTrailActivityToJSONTyped;
22
+ /**
23
+ * An activity (or permission, like dogs) a summer trail is open to.
24
+ * @export
25
+ */
26
+ exports.SummerTrailActivity = {
27
+ Hiking: 'hiking',
28
+ MountainBiking: 'mountain_biking',
29
+ EBiking: 'e_biking',
30
+ GravelBiking: 'gravel_biking',
31
+ TrailRunning: 'trail_running',
32
+ OnLeashDogs: 'on_leash_dogs',
33
+ OffLeashDogs: 'off_leash_dogs',
34
+ HorsebackRiding: 'horseback_riding',
35
+ UnknownDefaultOpenApi: '11184809'
36
+ };
37
+ function instanceOfSummerTrailActivity(value) {
38
+ for (const key in exports.SummerTrailActivity) {
39
+ if (Object.prototype.hasOwnProperty.call(exports.SummerTrailActivity, key)) {
40
+ if (exports.SummerTrailActivity[key] === value) {
41
+ return true;
42
+ }
43
+ }
44
+ }
45
+ return false;
46
+ }
47
+ function SummerTrailActivityFromJSON(json) {
48
+ return SummerTrailActivityFromJSONTyped(json, false);
49
+ }
50
+ function SummerTrailActivityFromJSONTyped(json, ignoreDiscriminator) {
51
+ return json;
52
+ }
53
+ function SummerTrailActivityToJSON(value) {
54
+ return value;
55
+ }
56
+ function SummerTrailActivityToJSONTyped(value, ignoreDiscriminator) {
57
+ return value;
58
+ }
@@ -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,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.SummerTrailDifficultyType = void 0;
17
+ exports.instanceOfSummerTrailDifficultyType = instanceOfSummerTrailDifficultyType;
18
+ exports.SummerTrailDifficultyTypeFromJSON = SummerTrailDifficultyTypeFromJSON;
19
+ exports.SummerTrailDifficultyTypeFromJSONTyped = SummerTrailDifficultyTypeFromJSONTyped;
20
+ exports.SummerTrailDifficultyTypeToJSON = SummerTrailDifficultyTypeToJSON;
21
+ exports.SummerTrailDifficultyTypeToJSONTyped = SummerTrailDifficultyTypeToJSONTyped;
22
+ /**
23
+ * The rating system a summer trail's difficulty is shown in, which picks its
24
+ * difficulty icon. `None` (on the trail) is the standard system.
25
+ * @export
26
+ */
27
+ exports.SummerTrailDifficultyType = {
28
+ MtbFreeride: 'mtb_freeride',
29
+ MtbTechnical: 'mtb_technical',
30
+ UnknownDefaultOpenApi: '11184809'
31
+ };
32
+ function instanceOfSummerTrailDifficultyType(value) {
33
+ for (const key in exports.SummerTrailDifficultyType) {
34
+ if (Object.prototype.hasOwnProperty.call(exports.SummerTrailDifficultyType, key)) {
35
+ if (exports.SummerTrailDifficultyType[key] === value) {
36
+ return true;
37
+ }
38
+ }
39
+ }
40
+ return false;
41
+ }
42
+ function SummerTrailDifficultyTypeFromJSON(json) {
43
+ return SummerTrailDifficultyTypeFromJSONTyped(json, false);
44
+ }
45
+ function SummerTrailDifficultyTypeFromJSONTyped(json, ignoreDiscriminator) {
46
+ return json;
47
+ }
48
+ function SummerTrailDifficultyTypeToJSON(value) {
49
+ return value;
50
+ }
51
+ function SummerTrailDifficultyTypeToJSONTyped(value, ignoreDiscriminator) {
52
+ return value;
53
+ }
@@ -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}
@@ -58,6 +58,8 @@ function TerrainParkFromJSONTyped(json, ignoreDiscriminator) {
58
58
  'status': (0, TerrainParkStatus_1.TerrainParkStatusFromJSON)(json['status']),
59
59
  'lastGroomed': json['last_groomed'] === undefined ? undefined : json['last_groomed'] === null ? null : (new Date(json['last_groomed'])),
60
60
  'groomedToday': json['groomed_today'],
61
+ 'snowSinceGroomedCm': json['snow_since_groomed_cm'] === undefined ? undefined : json['snow_since_groomed_cm'] === null ? null : json['snow_since_groomed_cm'],
62
+ 'snowSinceGroomedIn': json['snow_since_groomed_in'] === undefined ? undefined : json['snow_since_groomed_in'] === null ? null : json['snow_since_groomed_in'],
61
63
  'conditionNotes': json['condition_notes'],
62
64
  'areaUuid': json['area_uuid'] === undefined ? undefined : json['area_uuid'] === null ? null : json['area_uuid'],
63
65
  'areaName': json['area_name'] === undefined ? undefined : json['area_name'] === null ? null : json['area_name'],
@@ -82,6 +84,8 @@ function TerrainParkToJSONTyped(value, ignoreDiscriminator = false) {
82
84
  'status': (0, TerrainParkStatus_1.TerrainParkStatusToJSON)(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
  'condition_notes': value['conditionNotes'],
86
90
  'area_uuid': value['areaUuid'],
87
91
  'area_name': value['areaName'],