Синхронизация нескольких календарей (Airbnb, Flipkey, Google Calendar и т. Д.)

Я занимаюсь разработкой сайта для аренды квартир. Я использую тему WordPress для отелей, которую я настроил, поэтому вместо «комнат» используются «квартиры» и плагин бронирования. Каждая из этих квартир также рекламируется в Airbnb и FlipKey.

Мне нужно синхронизировать все календари, так что если, например, кто-то заказывает квартиру в Airbnb, эта квартира автоматически помечается как «недоступная» как на веб-сайте, так и на Flipkey. Это делается с помощью каналов .ics, которые предоставляются обеими компаниями. Существует выходной канал и входной канал для обоих, так что, если я вставлю вывод во вход другого, и наоборот, все будет работать отлично.

Теперь мне нужен способ централизовать оба календаря в одной системе и использовать эту систему для подачи входных данных Airbnb, Flipkey и моего собственного плагина бронирования wordpress. Я пробовал это с:

PHP iCalendar (он может, как и календарь Google, получать каналы, но, насколько я знаю, не дает единого вывода).
Услуги как http://www.accommodationcalendar.com только получить вход, но нет и выхода.

Может быть http://www.davical.org/ может быть хорошим вариантом, но, поскольку я использую общий хостинг, я не могу установить его (насколько я знаю), потому что общий хостинг имеет только MySql, а не PostgreSQL.

У кого-нибудь есть идеи, как это решить?

БЛАГОДАРЮ ВАС!

3

Решение

После некоторых исследований я нашел это решение:

1) Используйте эту библиотеку: http://kigkonsult.se/iCalcreator/

2) Получите каналы ICS и объедините их, а затем создайте новую ICS (создайте папки «import» и «export» и предоставьте им права на запись).

require_once('../classes/iCalcreator/iCalcreator.class.php');

$config2 = array("unique_id" => "kigkonsult2.se",
"directory" => "import",
);
$vcalendar2 = new vcalendar($config2);

$vcalendar2->setConfig("url" , "https://someweb/cal.ics");

$vcalendar2->parse();

$vcalendar2->setConfig("url" , "https://anotherurl/cal2.ics");
$vcalendar2->parse();

$vcalendar2->setConfig("directory", "export");
$vcalendar2->setConfig("filename", "icalmerge3.ics");
$vcalendar2->saveCalendar();echo "done";

3) Создайте планировщик CRON для повторного запуска этого файла. Направьте оба Airbnb и Flipkey на URL, где создается канал. Вы можете использовать столько входных ICS-файлов, сколько захотите.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector