account-travel / email-reservations
Parse booking emails and create unified structure data
Requires
- php: >=7.4
- ext-json: *
- jkphl/micrometa: 3.0.1
- smalot/pdfparser: ^0.16.2
- zbateson/mail-mime-parser: ^1.1
Requires (Dev)
- phpunit/phpunit: ^9.4
This package is auto-updated.
Last update: 2025-03-29 01:12:17 UTC
README
Парсинг email-сообщений с бронями (билетами) и создание на их основе соответствующей структуры schema.org:
- https://schema.org/BusReservation
- https://schema.org/FlightReservation
- https://schema.org/LodgingReservation
- https://schema.org/TrainReservation
Установка
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);
Мы стараемся упростить жизнь самостоятельным путешественникам, для этого разрабатываем инструменты, которые помогают в планировании поездки. Если ты разделяешь наше начинание и хочешь помочь, читай об этом ниже.
Как можно помочь?
Поделись своими бронями
Будем признательны, если поделишься с нашей командой своими письмами с бронированиями апартаментов, билетов на самолеты или поезда, переслав сообщения на dev@account.travel.
У нас уже есть парсеры для некоторых поставщиков, но существует и много других. Надеемся общими усилиями собрать как можно больше примеров, чтобы сделать обработчик под каждого провайдера.
Разработка
Если хочешь помочь с разработкой, милости просим. Только предварительно почитай рекомендации:
- Удостоверься, что парсер действительно нужен: посмотри, нет ли уже нужного класса в
/src
. - Умеешь писать и запускать тесты.
Для примера смотри папку/tests/*
.
Запуск:php ./vendor/bin/phpunit
- Размещая оригиналы email-сообщений в
/tests/*/fixtures
, ты подтверждаешь свое согласие на то, что их содержимое станет общедоступно. Или, если это не твои письма, подтверждаешь согласие от имени их оригинального получателя.