#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. Привет, друг, у меня такая же проблема, но с самого начала вы решаете проблему и, возможно, связываетесь с вами