Search by

vivutio / sourcing-module

eemjema

Sourcing for vivutio: rooms requested from the accommodation partners an organization trades with, sent through the partner channel, and their replies recorded.

Package info

github.com/utafitilabs/vivutio-sourcing-module

Type:symfony-bundle

pkg:composer/vivutio/sourcing-module

Statistics

Installs: 56

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.4 2026-10-12 10:10 UTC

This package is auto-updated.

Last update: 2026-10-12 10:14:52 UTC


README

Sourcing for vivutio. Rooms requested from the camps and lodges an organization trades with: sent through the core's partner channel, the camp's reply recorded, every step kept on the request.

Contents

Install

In a vivutio installation:

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

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

How it works

A request asks an accommodation partner (a partner kept in the core as accommodation, traded with now) to hold rooms: for whom, arriving when, for how many nights, and up to four lines of rooms ("2 × Double"). It is referred to as "RQ-0001".

It is sent as it is made, through the core's PartnerChannelInterface: by the manual channel, an email to the partner's address with the reference in the subject. The camp's reply is recorded by hand: confirmed, with the camp's own reference, or declined, with a note. A request waiting or confirmed is cancelled with a message to the camp saying so. Each step is kept on the request, with who took it and when.

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

On the organization's dashboard it puts one card through the core's DashboardSourceInterface, for whoever may read room requests: "Waiting on a reply", the requests sent and not yet answered, the longest waiting first, five at most, each with how long it has waited (from three days on, in amber), and a door to the register's requested ones.

Who may do what

Pair Who
room_requests.read The register and a request's page
room_requests.record Sending a new request
room_requests.manage Recording replies and cancelling

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.