iCalendar is a file format that is used to show events in a calendar. A limited version of the Open Meal data can be published in iCalendar format according to the following specification. It makes the meal information usable in a large number of applications, like Microsoft Outlook, Apple Calendar and Google Calendar.
For Data Providers that has implemented the rest of the Open Meal API it is recommended, but not obligated, to also implement the iCalendar feature. If the iCalendar feature is implemented the URL to the iCalendar should be made availale via the List Distributors method.
|VERSION||The version of iCalender that is used. This should be the first property of the Calendar.||2.0|
|PRODID||A unique identifier for the product that is creating the iCalendar file. It is the responsibility of the publisher of the file to create a global unique identifier. For more information read §3.7.3 in RFC 5545.||Example:
-//ABC Corporation//NONSGML My Product//EN
|CALSCALE||What type of calendar that is used||GREGORIAN|
|X-WR-CALNAME||The name of the calendar, it is recommended that it contains information about the type of meal as well as the name of the distributor||Example:
Lunch at the South School
|X-WR-TIMEZONE||The timezone of the calendar||Example:
|X-WR-CALDESC||A description of the calendar||Example:
Lunch menu at the South School in Leeds
The meal of a day is described a VEVENT object with the following properties:
|DTSTART||The date the meal is served. In the format YYYYMMDD. Note that the time for the meal is not specified.||Example:
|DTEND||The date the meal is served. In the format YYYYMMDD. Note that the time for the meal is not specified.||Example:
|DTSTAMP||Date and time when this VEVENT object was created. In the format YYYYMMDDTHHMMSS. Note that it is not allowed to use UTC offset when the time is specified.||Example:
|UID||A global unique identifier for this event. For more information on how to create this value read §220.127.116.11 in RFC 5545.||Example:
|CREATED||Date and time when this VEVENT object was created. In the format YYYYMMDDTHHMMSS. Note that it is not allowed to use UTC offset when the time is specified.||Example:
|SUMMARY||A short description of the courses served in the meal. Should only contain the one or two courses with the lowest order in order to keep the text as short as possible. A course should be described with the text in the courses description property with one course per line. Each line should be ended with "\n".
For more information about the property of a Course see the Get Meals method
Wokkyckling med pasta, grönsaker och tomatsalsa\nKöttbullar och spagetti
|DESCRIPTION||A longer description of the meal, with all courses. One course description per line, each line should be ended with "\n"||Example:
Wokkyckling med pasta, grönsaker och tomatsalsa\nKöttbullar och spagetti\nGrönsakssoppa
|LOCATION||The name of the location the meal will be served||Example:
|LAST-MODIFIED||Date and time when this event object was last updated. In the format YYYYMMDDTHHMMSS.Note that it is not allowed to use UTC offset when the time is specified.||Example:
|SEQUENCE||The version number of this event object, starting at 0. If an event is updated the value of this property needs to be incremented.||Example:
|TRANSP||Specifies if the calendar event affects users accessibility for other events.||TRANSPARENT|
For all text properties (Summary, Description, Location etc) special characters like commas, quotation marks, colons have to be escaped according to §4.3.11 in RFC 2455. For example this means that commas should be written "\," and backslashes "\".
BEGIN:VCALENDAR PRODID:-//ABC Corporation//NONSGML My Product//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALNAME:Lunch: Katedralskolan, Linköping X-WR-TIMEZONE:Europe/Stockholm X-WR-CALDESC:Lunchmeny från Katedralskolan i Linköping. BEGIN:VEVENT DTSTART:20140701 DTEND:20140701 DTSTAMP:20140618T110000 UID:19960401T080045Z-4000F192713firstname.lastname@example.org CREATED:20140618T110000 SUMMARY:Wokkyckling med pasta, grönsaker och tomatsalsa\nKöttbullar och spagetti DESCRIPTION:Wokkyckling med pasta, grönsaker och tomatsalsa\nKöttbullar och spagetti\nGrönsakssoppa LOCATION:Storskolan, Örebro LAST-MODIFIED:20140618T110000 SEQUENCE:0 TRANSP:TRANSPARENT END:VEVENT END:VCALENDAR