{"ok":true,"query":{"year":2026,"base":"USD","destination":"shanghai","supportedDestinations":["beijing","xian","shanghai","zhangjiajie","guilin","yangshuo","chengdu","dali","lijiang","guizhou","hangzhou","suzhou","huangshan","dunhuang"]},"holidays":[{"date":"2026-01-01","localName":"元旦","name":"New Year's Day","risk":"medium","note":"Public holiday context. Check crowds, train tickets, and hotel availability before finalizing."},{"date":"2026-02-17","localName":"春节","name":"Chinese New Year (Spring Festival)","risk":"high","note":"High crowd and ticket pressure risk. Route should avoid tight scenic transfers and last-minute bookings."},{"date":"2026-05-01","localName":"劳动节","name":"Labour Day","risk":"high","note":"High crowd and ticket pressure risk. Route should avoid tight scenic transfers and last-minute bookings."},{"date":"2026-06-19","localName":"端午节","name":"Dragon Boat Festival","risk":"medium","note":"Public holiday context. Check crowds, train tickets, and hotel availability before finalizing."},{"date":"2026-09-25","localName":"中秋节","name":"Mid-Autumn Festival","risk":"medium","note":"Public holiday context. Check crowds, train tickets, and hotel availability before finalizing."},{"date":"2026-10-01","localName":"国庆节","name":"National Day","risk":"high","note":"High crowd and ticket pressure risk. Route should avoid tight scenic transfers and last-minute bookings."}],"exchange":{"base":"USD","date":"2026-05-11","rates":{"AUD":1.3811,"CAD":1.3667,"CNY":6.7965,"EUR":0.84998,"GBP":0.73513,"SGD":1.2697},"source":"Frankfurter.app"},"weather":{"destination":"Shanghai","current":{"temperature2m":18.9,"apparentTemperature":20.7,"precipitation":0,"windSpeed10m":8.8},"source":"Open-Meteo"},"errors":{"holidays":null,"exchange":null,"weather":null},"sources":["Nager.Date","Frankfurter.app","Open-Meteo"]}