πΊοΈ Roadmap β
See what's coming next for Billettsalg. This page is updated as features move through development.
π Recently shipped β
| Version | Highlights |
|---|---|
| v1.9.0 | β Reviewed bulk reconciliation for separate orders; one-way external invoice marking for selected members of one event; combined member-sales selection and compact seller metrics with display-only upward average rounding (#538, #537, #542). Scoped emulator fixture safety improvements, not closure of #503 |
| v1.8.1 | β Settled Orders lists, counts and financial totals share the selected-event, non-archived scope; canonical test-data exclusion across every Orders tab including Archived, with no show-test toggle; Norwegian Til avstemming / Avstemt labels; focused #503 emulator lifecycle improvements, not a claim of complete CI stability |
| v1.8.0 | β Development organization discovery and workspace assignment for Super Admins; consistent Administration navigation and compact organization management. Visibility only, not an access or reporting change |
| v1.7.0 | β Audited, reversible test-event reporting exclusion through Event History. Canonical Shared Event and owner rules preserve original records; no deletions or operational retirement |
| Go Live workflow update | β Responsive event actions; truthful Shared Event capacity scopes; current activity separated from Event History; eligible restore; read-only historical reports; lifecycle-aware notification links; simplified My Orders; audited pre-settlement transferred-order correction |
| v1.3.0 | β Selling-partner Overview, Orders, and Reports; limited organizations; Pending invitations; safer Super Admin transitions and recovery; best-effort declined-order notification delivery with duplicate suppression; custom-domain documentation repair |
| v1.2.0 | β Selling-partner events in the member catalog with self-service ordering and a partner approval queue |
| v1.1.0 | β Selling-partner invitations, delegated selling and reporting, owner attribution, and privacy boundaries |
| v1.0.0 | β Production release with reconciliation, member invoicing, bulk completed-order archive, observability, and release automation |
β Current capabilities β
π§Ύ Accounting safeguards β
Reconciliation freezes a separate sold-only invoice basis for each order. Invoice marking records external issuance, not payment or invoice generation. Eligible settled invalid bases have a separate audited recovery workflow delivered under #465; the original frozen evidence remains unchanged. See the Admin guide.
Test-data marking and undo use the authorized Event History workflow. Ordinary archived orders are not automatically test data. Remove a marking there and refresh Orders to apply ordinary visibility rules again. Development organization settings do not mark events as test data.
π’ Organization types and modes β
You can create and manage choirs, sports clubs, associations, bands, theater groups, and other organization types. The selected type controls organization terminology and is visible in Super Admin organization management.
Platform Super Admins can also choose a capability mode. A full organization can own events and use Shared Events. A limited sellingPartner organization keeps members, roles, settings, notifications, delegated events, member ordering, approval and delivery, returns, and partner-scoped sales without receiving event-owner tools.
π€ Selling partners β
An event owner can invite another organization to sell tickets for a normal event. The partner reuses the normal Overview, Orders, and Reports workspaces, but the server limits every response to the partner's current delegation, current approved members, and partner-held orders. Partner views exclude owner-direct sales, other partners, external sales, owner capacity, contact details, notes, invoice state, and organizer controls.
The partner collects and reports gross revenue from buyers. Compensation terms, owner-to-partner settlement computation, net invoicing, and payment tracking remain future work.
Limited organizations cannot create or join Shared Events and do not appear in Shared Event participant discovery. They can still decline, leave, or be removed from existing Shared Event state.
π Localized emails β
Login-link and invitation emails use the recipient's preferred language (English or Norwegian), with request, organization, and app defaults as fallbacks.
π Declined-order notifications β
When a manager declines an order, the system attempts best-effort in-app notification creation for the member, linked to the affected history entry. The notification uses deterministic identity for duplicate suppression and bounded transient retries, but notification creation may ultimately fail without rolling back the order cancellation. The notification names the event but does not copy the staff-entered reason or internal identifiers.
π Documentation custom domain β
The documentation site builds from the custom-domain root at docs.billettsalg.vikingapps.dev. Canonical, Open Graph, sitemap, favicon, and asset URLs use that host.
π§Ύ Bulk workflows in v1.9.0 β
v1.9.0 includes these workflows:
| Issue | Scope |
|---|---|
| #538 | Select several separate orders for one event in Orders β Awaiting Reconciliation, review sold-only amounts and blockers, then explicitly approve. Each order retains its own frozen basis, safeguards and audit. No invoice or payment changes |
| #537 | Select members in the owning organization's Dashboard β Sales β Sales by Member for one event across all performances. Review eligible sources, pending amounts, previous marks and excluded-source warnings, then confirm external issuance. One-way marking only, never invoice creation, sending, clearing, payment or settlement |
Both workflows exclude test-data events and report independent outcomes. Eligible member sources can proceed despite warned, excluded siblings, so a completed result does not mean the entire member balance was ready. Successful changes remain after partial outcomes. Close, refresh and review changed or unfinished records before retrying; there are no automatic retries.
See the Ticket Manager guide and Treasurer guide.
π¨ Planned and remaining β
- π Authorized Shared Event sales reopening (#463) β unavailable
- ποΈ Safe pre-start release of unsold Shared Event inventory (#464) β unavailable
- Historical operational retirement beyond the delivered test-reporting and Orders visibility slices remains open under #475.
- Broader CI stability work remains under #503; the released improvements are scoped, not full resolution. #506 is closed and is not remaining work.
- The separate #541 data repair and a new invoicing page are not included in v1.9.0.
- π Push notifications for installed apps
- π An in-app "What's new" summary after updates
- π³ Contracted compensation terms, partner settlement computation, net invoicing, and payment tracking
- π Pagination and performance work for larger datasets
π Under the Hood β
Security and quality improvements that make the app more robust:
- π Token expiry + refresh flow
- π‘οΈ Security headers hardening
- π Privacy-bounded production monitoring and alerts
- π API pagination for large datasets
- π§Ή TypeScript strict mode cleanup
- β‘ Error handling improvements
π‘ Ideas and backlog β
These are on the radar for after v1.0:
- π Global search and quick actions (Ctrl+K)
- π¨ Personalization (favorites, preferences)
- π¨οΈ PDF receipts and QR codes
- π More languages and accessibility
- π Bulk member invitation (CSV)
- π€ Automated issue triage (Ralph CI/CD)
Have an idea?
Use the feedback button π¬ in the app to share your suggestions!