The booking lists on a resource and on a slot show every line an order ever had. Choosing seats on the map leaves a long tail of released and expired holds behind, so a handful of real bookings arrives buried in lines that never became bookings and that nothing reads.

What to hide

  • Hidden by default: released and expired. A hold handed back, or one the sweep timed out. Neither ever became a booking, and TransactionLookup already excludes both from what an order holds and from the record of what it was.
  • Still shown by default: cancelled. This is the record of a booking that existed and was undone, which is what TransactionLookup::cancelledLines() exists to return and what TransactionSummary::currentLines() shows. It is also the line an operator comes to this list for: a refund query, or a seat that freed up. Retention agrees, keeping cancelled orders 30 days against 7 for empty.
  • Still shown by default: held. A held seat is unavailable to everybody else, so it is exactly what answers "why can't I book B12". Hiding it would stop the list explaining the state of the house.

Why released and expired are safe to hide

Neither can be a live booking and neither can owe anything. A line only reaches released from held, and confirmed is only reachable through BookingManager::confirm(), so a released line was never confirmed. Where it had been paid, which is a placed order that gets rejected, the refund step runs before the release: in the shipped workflow n_reject_refund precedes n_release. So released means no live booking and nothing outstanding, and expired is a hold that simply lapsed.

TransactionLookup already draws the same line: both states are outside CONSUMING_STATES and outside the record of what an order was.

The order itself stays visible with its own state in the orders list, so hiding its released lines from a per-show list of who is coming removes nothing an operator needs.

How

  • A filter default, not a hard exclusion, so nothing becomes unreachable and clearing the filter still shows the whole history.
  • The active chip names what is being hidden, so the list never looks shorter than it is for no visible reason.
  • Display only. No count, no availability figure and no capacity decision may read this: the same states are already excluded from those by CONSUMING_STATES, and this must not become a second place that decides it.

Issue fork yoyaku-3615677

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mably created an issue. See original summary.

mably’s picture

Issue summary: View changes

  • mably committed 815633bc on 1.x
    task: #3615677 Hide released and expired bookings by default on the...
mably’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.