Я разрабатываю сайт для аренды квартир. Я использую тему WordPress, которую я настраивал, вместо «комнат» он использует «квартиры» и плагин для бронирования. Каждая из этих квартир также рекламируется в Airbnb и FlipKey.
Мне нужно синхронизировать все календари, так что, например, кто-то заказывает квартиру в Airbnb, эта квартира автоматически помечена как «не доступная» как на веб-сайте, так и на Flipkey. Это делается с использованием фидов, которые предоставляются обеими компаниями. Существует выходной канал и входной канал для обоих, поэтому, если я вставляю вывод на входе другого и наоборот, вещь работает отлично.
Теперь мне нужен способ централизовать календарь в одной системе и использовать эту систему для подачи вкладов Airbnb, Flipkey и моего собственного плагина бронирования wordpress. Я пробовал это с:
PHP iCalendar (он может, как календарь Google, получать каналы, но это не так, насколько я знаю, – обеспечивает единый вывод). Службы, как http://www.accommodationcalendar.com, получают только вход, но не выводят.
Возможно, http://www.davical.org/ может быть хорошим вариантом, но поскольку я использую общий хостинг, я не могу его установить (насколько я знаю), причина в том, что для общего хостинга MySql, а не PostgreSQL.
Кто-нибудь имеет представление о том, как решить это?
СПАСИБО!
После некоторых исследований я нашел это решение:
1) Используйте эту библиотеку: http://kigkonsult.se/iCalcreator/
2) Получите каналы ICS и объедините их, а затем создайте новую ICS (создайте папки «импорт» и «экспорт» и дайте им права на запись).
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-файлов, сколько хотите.