Search by

vivutio / ticketing-module

eemjema

Ticketing for vivutio: tickets bought from airlines, ferries, coaches and railways for travellers, recorded by hand, issued, changed, refunded or voided, and billed to the traveller or a client.

Package info

github.com/utafitilabs/vivutio-ticketing-module

Type:symfony-bundle

pkg:composer/vivutio/ticketing-module

Statistics

Installs: 22

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.1 2026-10-11 21:14 UTC

This package is auto-updated.

Last update: 2026-10-11 21:17:57 UTC


README

Ticketing for vivutio. Tickets a travel agency buys from airlines, ferries, coaches and railways for travellers: recorded by hand as the carrier made them, held to the carrier's time limit or issued with a ticket number a traveller, then changed, refunded or voided, every step kept on the ticket.

Contents

Install

In a vivutio installation:

composer require vivutio/ticketing-module
php bin/console doctrine:migrations:migrate

Its recipe registers the bundle and mounts its pages with config/routes/ticketing.yaml, a file the installation owns.

How it works

The agency keeps its carriers: an airline with its two-letter code and three-digit ticket prefix, a ferry, a coach or a railway, and how the agency buys from each. No list is shipped, so none goes stale.

A ticket is made in the carrier's or a booking system's own pages and recorded here: the carrier and its reference, the class and baggage, up to six legs (from, to, the day, leaving and arriving), and up to nine travellers, each with a fare, a ticket number once issued and a seat. A ticket is of its carrier's kind. It is referred to as "TK-0001".

It is recorded held, to the carrier's time limit, or issued. A held ticket is issued with a ticket number for each traveller (an airline's start with its prefix) or let go. An issued ticket is changed as the carrier changed it, with what the carrier charged; refunded, keeping what the carrier returns and what the agency keeps; or voided, the carrier's same-day cancel, only on the day it was issued in the organization's time zone.

It is billed to the traveller who pays, or to a client among the partners: a company or a tour operator traded with now. The money shown is the fares, the agency's fee for each traveller, the taxes in the fares and what the carrier charged for changes.

The module names no other module; it reads partners through the core's PartnerDirectoryInterface and keeps only a partner's id.

Who may do what

Pair Who
tickets.read The register, a ticket's page and the carriers
tickets.record Recording a new ticket
tickets.manage Issuing, letting go, changing, refunding and voiding; adding carriers

Each is a module pair, held where the person's department allows it too. The suite extends the core's authority test base; tests/authority-table.md is the reviewed table.

Development

composer update
composer check

Licence

AGPL-3.0-or-later. See LICENSE.