milzer/infx

infx is a specific format using in Germany tourism industry.

Installs: 2 010

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/milzer/infx

1.0.5 2025-06-03 14:06 UTC

This package is auto-updated.

Last update: 2025-09-29 08:32:08 UTC


README

INFX Package for Travel Offers

Latest Version Total Downloads

A robust PHP library to generate, validate, and serialize INFX travel offer records according to version 1.0.5.

📌 What is INFX?

INFX is a fixed width, field based text format widely used in the tourism industry to transmit structured travel offers—covering package tours, flight only deals, and round trips. This library encapsulates the full spec, offering modular, validated, trait based field assembly.

⚙️ Features

  • ✅ Full coverage of INFX v1.0.5 spec
  • ⚙️ Modular traits and PHP 8 attributes for fields
  • 🧬 Handles complex data: pricing tiers, occupancy, flights
  • 🔄 Exclusive string → INFX export pipeline
  • 🛡 Central validation via ValidatorHelper

📦 Installation

composer require milzer/infx

🚀 Quickstart

use milzer\Infx\Entities\Line;

$line = (new Line())
    ->setOfferNumber('ABC1234567')
    ->setPartner('SAT')
    ->setDepartureDate('2025-07-21')
    ->setReturnDate('2025-07-28')
    ->setDepartureAirportOutbound('FRA')
    ->setArrivalAirportOutbound('PMI')
    ->setCurrency('EUR')
    ->setPrice('1199.00')
    ->setHotelName('Club Palma')
    ->setBoardCode('HP')
    ->setOccupancy(2);

echo $line; // Outputs fixed-width INFX line

📁 Architecture

src/
├── Attributes/Field.php         # Field position/type metadata
├── Entities/Line.php           # Main offer entity
├── Traits/…/HasXYZ.php         # Modular field traits
└── Helpers/ValidatorHelper.php # Central validation logic

Each Line represents a full offer. Fields are trait-composed; central validator ensures consistency.

🏗 Development

git clone git@github.com:milzer/infx.git
cd infx
composer install
./vendor/bin/phpunit

Coding standards are enforced via GitHub Actions CI (PHPUnit, PHP-CS-Fixer, PHPStan).

🤝 Contributing

We welcome bug reports, feature requests, and PRs!
Please open an issue to discuss larger changes.
All contributions require completing our CLA.
Refer to CONTRIBUTING.md for details.

📞 Contact

milzer GmbH
Anna-Klöcker-Straße 25 52222 Stolberg (Rhld.) Germany
🌐 milzer.de
📧 kontakt@milzer.de | ☎️ +49 2402 9066190