Skip to content

feat(concierge): add a report of the bookings of a single user (PPT-2844) - #568

Merged
MrYuion merged 1 commit into
developfrom
feat/PPT-2844-user-booking-report
Oct 13, 2026
Merged

MrYuion merged 1 commit into
developfrom
feat/PPT-2844-user-booking-report

Conversation

@MrYuion

@MrYuion MrYuion commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Concierge had no way to list the bookings of one person. Each report shows one booking type for all users.

Jira: PPT-2844

Fix

A new report at /reports/user. Select a user and a date range. The report lists the desk, parking, locker and room bookings of that user in the active building, or in the active region when app.use_region is set.

  • Desk, parking and locker bookings come from the bookings API, filtered by zone and user email.
  • Room bookings come from the room events of the zone, the same query as the Rooms report. The report keeps the events that the user hosts, or that have the user as host_override.
  • The report has totals for each type, a sortable table, CSV download and print.
  • The sidebar link needs user-report in app.features. The menu card needs user in app.reports.features. Both are off by default. The route works without them.
  • New locale keys are in all 11 locale files.

Why room bookings do not come from the user calendar

The events API reads the calendar of another user only on tenants with a service account or delegated access. On other tenants it returns the calendar of the signed-in user and gives no error. The zone query works on all tenants.

Limits

  • Bookings in other buildings do not show. Change the building to see them.
  • A meeting with two rooms shows as two rows, one for each room.
  • A failed request shows as an empty list. The other reports do the same.
  • The mock data has no locker bookings, so the recording shows Lockers 0.

Checks

  • Unit tests: concierge 1358. All pass, with 7 new tests for the report service.
  • The Concierge application builds.
  • Manual check in mock mode: search, date range, totals, sort and CSV download. The recording is on the Jira issue.

Model and harness: Claude Opus 5.5, Claude Code.

🤖 Generated with Claude Code

…844)

Concierge had no way to list the bookings of one person. The new report
at /reports/user takes a user and a date range, and lists the desk,
parking, locker and room bookings of that user in the active building,
or in the active region when `app.use_region` is set.

- Desk, parking and locker bookings come from the bookings API,
  filtered by zone and user email.
- Room bookings come from the room events of the zone. The report keeps
  the events that the user hosts, or that have the user as
  `host_override`. The events API reads the calendar of another user
  only on some tenants, so the report does not use it.
- The report has totals for each type, a sortable table, CSV download
  and print.
- The sidebar link needs `user-report` in `app.features`. The menu card
  needs `user` in `app.reports.features`. Both are off by default.
@vercel

vercel Bot commented Oct 13, 2026

Copy link
Copy Markdown

Deployment failed for project frontend-templates with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/placeos?upgradeToPro=build-rate-limit

@MrYuion
MrYuion merged commit 8379f0f into develop Oct 13, 2026
3 of 4 checks passed
@MrYuion
MrYuion deleted the feat/PPT-2844-user-booking-report branch October 13, 2026 07:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant