Menu

Sharing availability with iCal

Bedful accepts ical feeds and produces ical feeds of its own, so you can use these to share availability with other systems. If you have the resources, we'd recommend pursuing an API integration in the long term.

An ical feed is just a text file, with colon delimited fields offering information on all the bookings on your site. Note that it is not a list of seasons or rates and thus only offers information on the bookings which have been made. Any other information on a site like closing times would have to be obtained another way. A simple calendar with one event is presented below. Each event gets a stanza which represents the data for that event (at minimum start and end dates and a uid).

UIDs should be stable and unique across your system.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//bedful-60//EN

BEGIN:VEVENT
UID:3902156@bedful.com
DTSTAMP:20200805T145106Z
DTSTART:20200805T120000Z
DTEND:20200807T120000Z
END:VEVENT

END:VCALENDAR

Bedful iCal Feeds

Bedful publishes ical feeds either in a simplified form, or in an extended form. The simplest data is of the form:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//bedful-60//EN

BEGIN:VEVENT
UID:123@bedful.com
URL:https://bedful.com/bookings/123
DTSTAMP:20200805T145106Z DTSTART:20200805T120000Z DTEND:20200807T120000Z END:VEVENT END:VCALENDAR

The more extended data is of the form:

BEGIN:VEVENT
UID:123@bedful.com
URL:https://bedful.com/bookings/123
DTSTAMP:20200805T145106Z
DTSTART:20200805T120000Z
DTEND:20200807T120000Z
X-Bedful-ID: 123
X-Bedful-Status: 10
X-Bedful-Channel-ID: 0
X-Bedful-Unit-ID: 60
X-Bedful-Unit-Name: 1-Riverside Tipi
X-Bedful-Starts-At: 2020-08-05
X-Bedful-Ends-At: 2020-08-07
X-Bedful-Nights: 2
X-Bedful-Name: Example User
X-Bedful-Email: test@example.com
X-Bedful-Telephone: 098234098234
X-Bedful-People: 2
X-Bedful-Adults: 2
X-Bedful-Children: 0
X-Bedful-Ages: 40, 40
X-Bedful-Price: 28500
X-Bedful-Paid: 0
X-Bedful-Due: 28500
X-Bedful-Notes: 
SUMMARY:1-Riverside Tipi Example User 2 Adults for 2 Nights £285 (£285 outstanding)
DESCRIPTION: Example User staying for 2 nights at 1-Riverside Tipi \nContact: 098234098234  test@example.com
END:VEVENT

Bedful Bookings may represent a booking across multiple units, so a single booking may appear in multiple unit ical feeds.

Your iCal Feeds

Some things to note about iCal feeds:

  • Event IDs should correspond to the id in your system
  • The more information provided the better for partners who want to see all their information in the booking system of their choice
  • If you're a booking system, each unavailable block should also be represented (even if you don't represent these as bookings internally)
  • Your Event UID should correspond to one booking and be stable (not a hash generated from information which may change like dates)

Your ical feed can be as simple as the following example:


BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//bedful-60//EN

BEGIN:VEVENT
UID:123123
URL:https://example.com
DTSTAMP:20200805T145106Z
DTSTART:20200805T120000Z
DTEND:20200807T120000Z
END:VEVENT

END:VCALENDAR

If you wish to add more information, you can add it as X- fields, which are defined as custom fields on ical and should not impact other parsers. These fields can then offer information like the Guest Name, the people in the party, the price and the paid amounts, which other systems would be able to read. These would look like this:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//bedful-60//EN

BEGIN:VEVENT
UID:123123
URL:https://example.com
DTSTAMP:20200805T145106Z
DTSTART:20200805T120000Z
DTEND:20200807T120000Z
X-EXAMPLE-ADULTS: 3
END:VEVENT

END:VCALENDAR