There are 2 date formats in our API model.
The first one is ISO8601 format, and typically there are string fields startTime and endTime, formatted this way.
The other one is a supplier’s localized date format, which is based on their Timezone setup on Rezdy. Typically used by fields startTimeLocal/endTimeLocal.
How to use them in API requests
These two types are normally exposed in pairs in the payloads startTime&startTimeLocal and endTime&endTimeLocal. For better convenience, you can choose which format to use. General rules of thumb are:
- If a start time is required, at least one of the parameters startTime or startTimeLocal have to be specified. Same applies for the end time.
- If both parameters startTime and startTimeLocal are specified in the request, the startTime has a higher priority, startTimeLocal will be simply ignored. Similarly for the end time.
If you use ISO8601 format, you have to convert times to the supplier’s timezone when you want to display dates and times for a tour. For example, if a supplier runs a tour on 30 Oct 2014 at 9:00 AM in the “Sydney/Australia” timezone, time in ISO8601 format returned by the API will be:
That’s because 2014-10-29T22:00:00Z is the same time than 2014-10-30T09:00:00+11:00. You can send any of these formats in your API calls and they’re both valid and both represent the same timestamp. You can retrieve the supplier’s timezone in GET /products calls (Product.timezone). Please be mindful of Daylight Savings Time when converting timestamps. You should always use the proper timezone (I.e. “Australia/Sydney”) instead of the time offset (+10:00) because the latter can vary during the year (I.e. Sydney is +10:00 in winter and +11:00 in summer)
Local format does not contain timezone information, the format is yyyy-MM-dd HH:mm:ss, e.g.:
You don’t need to do any Timezone conversion when using the Localized format.