Синхронизация с Booking com, Airbnb, TripAdvisor

#php #synchronization #icalendar

#php #синхронизация #icalendar

Вопрос:

Я настраиваю ческую синхронизацию для моего клиента, у которого есть сайт бронирования. Поскольку он также работает с Booking com, Airbnb, TripAdvisor, ему нужна синхронизация iCal для отслеживания бронирований. Для синхронизации с этими сервисами используется ссылка на PHP-файл с их сайта. Этот файл генерирует файл .ics. С Booking com проблем нет, синхронизация работает корректно. Но Airbnb не хочет автоматически синхронизировать, только ручная синхронизация работает должным образом. А TripAdvisor вообще не хочет принимать ссылку на PHP-файл. Сталкивались ли вы с такой проблемой и как вы ее решали? Что вы можете посоветовать здесь? Также я отправляю код в PHP-файл и то, что выходит из файла .ics. Спасибо за вашу помощь.

PHP-файл

     $currentProperty = getting property id from link;
    $writingCalendarFiles = getting information about reservations from database;
    $ical = "BEGIN:VCALENDARrnVERSION:2.0rnPRODID;X-RICAL-TZSOURCE=TZINFO:-//Booking manager//Calendar 1.0//ENrnCALSCALE:GREGORIANrn";
    while ($writingCalendarFile = $writingCalendarFiles->next()) {
        $eventStart = "BEGIN:VEVENT";
        $eventDateStart = "DTSTART:" . there is date from database;
        $eventDateEnd = "DTEND:" . there is date from database;
        $eventCreated = "DTSTAMP:" . there is date from database . "T" . date("His") . "Z";
        $eventIdentifier = "UID:" . there is reservation id . "@bookingmanager";
        $eventLastModified = "LAST-MODIFIED:" . date("Ymd") . "T" . date("His") . "Z";
        $eventSequence = "SEQUENCE:0";
        $eventData = there is property name;
        $eventDescription = "SUMMARY:" . $eventData;
        $eventEnd = "END:VEVENT";
        $ical .= $eventStart . "rn" . $eventDateStart . "rn" . $eventDateEnd . "rn" . $eventCreated . "rn" . $eventIdentifier . "rn". $eventLastModified ."rn" . $eventSequence . "rn" . $eventDescription . "rn" . $eventEnd . "rn";
    }
    $ical .= "END:VCALENDAR";
    header('Content-type: text/calendar; charset=utf-8');
    header('Content-Disposition: inline; filename=calendar.ics');
    echo $ical;
    exit;
  

Файл Ics

 BEGIN:VCALENDAR
VERSION:2.0
PRODID;X-RICAL-TZSOURCE=TZINFO:-//Booking manager//Calendar 1.0//EN
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTART:20200924
DTEND:20200927
DTSTAMP:20200924T155721Z
UID:20200924@bookingmanager
LAST-MODIFIED:20201105T155721Z
SEQUENCE:0
SUMMARY:Apartment name
END:VEVENT
END:VCALENDAR
  

Комментарии:

1. Привет, друг, у меня такая же проблема, но с самого начала вы решаете проблему и, возможно, связываетесь с вами