Ich habe meine Kalendersynchronisation von Airbnb über ical seit etwa 2 Wochen im Testbetrieb und möchte kurz meine Erfahrungen teilen. Um es allgemein einfach und verständlich zu halten, versuche ich es nicht zu technisch zu erklären.
Zur übersichtlichen Verwaltung von Buchungen und geblockten Zeiträumen in einer Software, ist es notwendig die Kalenderdaten von allen Plattformen abzurufen und auszuwerten. Dazu bieten alle (von mir genutzten Plattformen) einen sogenannten ical-Link an.
In meinem Test habe ich 5 Wohnungen aus 2 Accounts in meiner Software hinterlegt und die ical-Links zu den Wohnungen eingetragen.
Diese Links werden von der Software automatisch in einem Zeitraum zwischen 5 und 10 Minuten abgerufen, der ausgegebene Inhalt gespeichert und von der Software ausgewertet.
iCal (iCalendar) ist ein Format um Kalenderdaten in einem allgemeinen Standard (RFC), vergleichbar mit einer deutschen DIN, auszutauschen.
Nach den ersten Tagen ist mir aufgefallen, dass Airbnb blockierte Zeiträume etwas willkürlich angibt. Liegt zum Beispiel der Beginn eines blockierten Zeitraums in der Vergangenheit, das Ende aber noch in der Zukunft, kann es vorkommen, dass im iCal der Beginn später angegeben wird, als er ursprünglich war.
01.03 bis 07.03 blockiert kann am 05.03 im iCal als 03.03 bis 07.03 blockiert angegeben werden. Das betrifft aber nicht alle blockierten Zeiträume. Ein Muster habe ich noch nicht erkannt. Buchungen, egal wie lange diese dauerten, waren bisher davon nicht betroffen.
Ok, wenn man das Problem kennt, kann man damit umgehen.
Bearbeitet man einen blockierten Zeitraum, ist das Chaos perfekt. Das Ergebnis ist so willkürlich, dass ich das hier nicht genau beschreiben kann.
Event: 01.03 bis 07.03 blockiert => UID 123
Verkürzt man das Event, erhält man ein neues Event.
Event: 01.03 bis 06.03 blockiert => UID 133
Verlängert man das Event auf die vorherige Länge, erhält man ein einzelnes Event wie zuvor.
Event: 01.03 bis 07.03 blockiert => UID 123
Verlängert man das Event über die ursprüngliche Länge hinaus, kann es vorkommen, dass man 2 Events bekommt.
Event: 01.03 bis 07.03 blockiert => UID 123
Event: 07.03 bis 08.03 blockiert => UID 456
Weiter ist die einzigartige UID nicht so einzigartig, wie man annehmen möchte.
Ich habe bei zwei Inseraten den gleichen Zeitraum blockiert, was dazu führte, dass in jeder iCal ein Event mit identischer UID vorhanden war.
Um das ganze zu krönen, habe ich heute in meiner Software entdeckt, dass für eine Wohnung alle Buchungen und blockierten Zeiträume als "über ical storniert" markiert waren. Ein Blick in den Log der iCal-Abfragen bei Airbnb hat gezeigt, dass an einem Abend ein gültiger leerer Kalender zurückgegeben wurde.
Für technisch versiertere Leser:
HTTP-Status: 200
Response:
BEGIN:VCALENDAR
PRODID;X-RICAL-TZSOURCE=TZINFO:-//Airbnb Inc//Hosting Calendar 0.8.8//EN
CALSCALE:GREGORIAN
VERSION:2.0
END:VCALENDAR
Vereinfacht ausgedrückt sagt Airbnb meiner Software und jeder anderen Plattform damit, dass es keine blockierten Zeiträume und keine Buchungen gibt. Was zur Folge hat, dass andere Plattformen den Kalender wieder öffnen und für Buchungen freigeben obwohl es gebuchte oder geblockte Zeiträume gibt und das zur Doppelbuchung führen kann.
Im nächsten Update, 8 Minuten später, waren alle Einträge wieder vorhanden.
Mein Fazit nach 2 Wochen:
Mit keiner anderen Plattform hatte ich so einen Ärger wie mit Airbnb. Kann sein, dass es eine Logik dahinter gibt, die sich mir nicht zeigen möchte. Ich werden auf jeden Fall die geblockten Zeiträume von Airbnb einfach nicht verarbeiten und synchronisiere geblockte Zeiträume nur noch von meiner Software zu Airbnb.