
Portal Request Statuses: Show the Next Action and Define What Done Means
Create clear request workflows with meaningful states, accountable owners, verified completion, useful status history, and bounded AI summaries.
Custom Portals
Design portal reference numbers for human communication, stable lookup, concurrent creation, and authorization that remains independent of knowing the identifier.

LET’S BUILD SOMETHING USEFUL
Talk to Ataraxy Developers about your website, app, or custom software.
A customer calls support with “the request I submitted yesterday.” If the portal provides a short, stable reference, the conversation becomes easier: both people can locate the same record and confirm its status. If the reference changes, collides across contexts, or is treated as permission to view the record, that convenience creates a different set of problems.
Design reference numbers as part of the communication workflow. They appear in receipts, email subjects, exports, searches, and spoken conversations. A useful reference should survive these journeys while remaining separate from the application’s authorization decisions and from any business meaning that may change later.
A database identity uniquely identifies a stored record within the system’s design. A display reference helps people discuss that record. An access decision determines whether a particular person can read or act on it now. These responsibilities can use related data, but they should not be confused with one another.
OWASP’s authorization guidance emphasizes checking permissions on every request and protecting records even when lookup identifiers can be guessed. A difficult-to-guess reference is useful in some designs, but it does not replace authorization. Apply the same rule to search, previews, attachments, exports, and direct record URLs.
For a client portal, a reference such as REQ-7K4M2 may help a customer read the value over the phone. The backend still checks that the signed-in user belongs to the appropriate organization and can access the record. Knowing the reference should not reveal the customer name, status, or document list to an unrelated visitor.
Review the places where the reference will be typed or spoken. Avoid unnecessary length and confusing character combinations where the chosen alphabet permits it. Use a consistent prefix if it helps distinguish request types, but do not pack every business attribute into the identifier. A reference that encodes mutable department or status information can become misleading later.
Define case and separator handling. If the product displays a hyphen, decide whether search also accepts the value without it. If case is not meaningful, normalize it consistently at the input boundary. Preserve the canonical display form in receipts and exports so users see one stable representation across channels.
Test the format with realistic examples, including copied text with surrounding spaces and values read aloud. A small usability review can reveal that two characters are repeatedly confused or that the reference wraps awkwardly on mobile. Address these issues before many customers begin using the format in external documents.
Do not build a new reference by reading the latest number in application code and adding one without an appropriate concurrency-safe design. Two requests can observe the same latest value. Use a suitable database-backed allocation strategy and enforce uniqueness at the storage layer. Treat a collision as a recoverable creation issue, not as permission to overwrite another record.
PostgreSQL’s sequence documentation explains that concurrent calls can safely receive distinct values, but sequence values are not reclaimed when a transaction aborts. Gaps can therefore occur. If the product uses such a sequence, do not promise that every number will correspond to a completed record or that the series will be gapless.
Discuss whether visible sequence values reveal information the product would prefer not to expose, such as approximate request volume. Choose the reference design based on actual needs rather than assuming sequential or random formats are universally better. If a specialized numbering requirement exists, design and review it separately from an ordinary portal reference.
Assign the reference at a defined stage, such as durable draft creation or submission, and explain that choice. A temporary client-side label should not be presented as a final receipt before the server confirms the record exists. When a request times out, reconcile the outcome using the operation identity instead of generating a fresh reference and creating another record.
Once assigned, keep the display reference stable when the title, assignee, or status changes. If records can be merged or archived, preserve an appropriate lookup path that explains the outcome to authorized users. Avoid recycling a retired reference for an unrelated record; old emails and documents may continue to carry it.
When a record is cloned, issue a new reference and retain a separate source relationship. The clone is a different request even if many fields match. Receipts should clearly distinguish the source and new references so support and approvers do not accidentally discuss the wrong workflow.
Provide an exact-reference lookup for users who already have a receipt. Apply authorization as part of the lookup and return only the information the caller is allowed to see. Review the wording for missing or inaccessible records so the interface does not disclose another organization’s activity through detailed error messages.
Rate-limit or otherwise protect public-facing lookup surfaces according to the application’s threat model. An exact-reference field is still an endpoint that can receive repeated automated requests. Log useful operational evidence without copying private record content into the search log. The design should support investigation while limiting unnecessary exposure.
If the portal also offers broad search, distinguish an exact match from a similar title or partial reference. Do not silently open the nearest result when a person supplies a specific identifier. Show the authorized result clearly and let them confirm the record’s non-sensitive identifying details before taking an action.
Put the reference in the submission receipt and in the relevant record view with a usable copy action. Include a direct link where appropriate, while keeping access checks on the destination. Review mobile wrapping, print output, and exported files. A reference that works only in the main desktop screen is incomplete as a communication tool.
Train support to ask for the reference without treating it as proof of identity. The agent still follows the organization’s verification and access process. When recording work on a ticket, use the stable reference or authorized internal link rather than copying unnecessary customer details into another system.
AI-assisted support can extract a candidate reference from a message, but validate its format and resolve it through the caller’s authorized context. Do not let a model choose a similar record and proceed as if it were an exact match. Ask for clarification through the normal workflow when the identifier is ambiguous or incomplete.
Good portal references make records easier to discuss, find, and track over time. Choose a usable format, allocate it safely, preserve it through lifecycle changes, and make receipts consistent. Keep authorization independent of identifier knowledge so convenient lookup remains a communication feature rather than an unintended access mechanism.
LET’S BUILD SOMETHING USEFUL
Talk to Ataraxy Developers about your website, app, or custom software.