account-travel/email-reservations

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Parse booking emails and create unified structure data

dev-master 2020-11-01 22:27 UTC

This package is auto-updated.

Last update: 2021-05-29 01:33:40 UTC


README

Build Status

Парсинг email-сообщений с бронями (билетами) и создание на их основе соответствующей структуры schema.org:

Установка

composer require account-travel/email-reservations

Примеры

require_once('vendor/autoload.php');

$parser = new AccountTravel\EmailReservations\Parser();

// parse .eml file
$result1 = $parser->parseFile('path_to_file.eml'); 
print_r($result1);

// parse email content
$content = '...'; // file_get_contents, procmail
$result2 = $parser->parseContent($content); 
print_r($result2);

Account.Travel

Мы стараемся упростить жизнь самостоятельным путешественникам, для этого разрабатываем инструменты, которые помогают в планировании поездки. Если ты разделяешь наше начинание и хочешь помочь, читай об этом ниже.

Как можно помочь?

Поделись своими бронями

Будем признательны, если поделишься с нашей командой своими письмами с бронированиями апартаментов, билетов на самолеты или поезда, переслав сообщения на dev@account.travel.

У нас уже есть парсеры для некоторых поставщиков, но существует и много других. Надеемся общими усилиями собрать как можно больше примеров, чтобы сделать обработчик под каждого провайдера.

Разработка

Если хочешь помочь с разработкой, милости просим. Только предварительно почитай рекомендации:

  1. Удостоверься, что парсер действительно нужен: посмотри, нет ли уже нужного класса в /src.
  2. Умеешь писать и запускать тесты.
    Для примера смотри папку /tests/*.
    Запуск: php ./vendor/bin/phpunit
  3. Размещая оригиналы email-сообщений в /tests/*/fixtures, ты подтверждаешь свое согласие на то, что их содержимое станет общедоступно. Или, если это не твои письма, подтверждаешь согласие от имени их оригинального получателя.