cubehouse / themeparks

Unofficial API for accessing ride wait times and schedules for Disneyland, Disney World, Universal Studios, and many more parks
MIT License
536 stars 126 forks source link

Dollywood / Silver Dollar City, opening hours not found #310

Open HookDonn opened 3 years ago

HookDonn commented 3 years ago

Park All parks Herschend (Dollywood & Silver Dollar City)

Context

How to find your themeparks version: Linux: npm list --depth=0 | grep themeparks Windows CMD: npm list | find "themeparks" PowerShell: npm list | sls themeparks

Describe the bug The opening hours of the 2 Herschend parks have not been noted. From my console output (see below), I conclude that there is certainly an error in the code but I am unable to fix it. It would be cool if someone could look, I don't think it's hard to fix. Thanks !

Output TypeError: scheduleData.forEach is not a function at FetchOpeningTimes.HTTP.then (/home/container/node_modules/themeparks/lib/herschend/herschendparkbase.js:105:20) at process._tickCallback (internal/process/next_tick.js:68:7)

BorupJoshua commented 3 years ago

I have a temporary solution to this issue. It seems that Dollywood and Silver Dollar City have moved their calendar APIs to their own respective websites, as such the URL I am using for Silver Dollar City is

"https://www.silverdollarcity.com/api/cxa/DailySchedule/GetDailySchedule?did={687E9C32-0FAC-4F7E-A48B-5676DC4242D3}&hsi=True&dt=False&sd=" with a date appended to the end.
I believe the date format is as follows "YYYY-MM-DD" It provides a JSON file with the opening and closing hours of the park if it exists.

However, if the park is not set to open, it will not be present on the JSON file. I do not fully know if you can swap out silverdollarcity for dollywood to grab Dollywood's park times, but seeing as both websites are similar in styles I would expect it would work.