Case Study: Structured Submission Workflow for Field Engineers
Closure notes, cable surveys, and review without replacing the system of record
The client used an established PSA platform as the system of record for service work but had no structured portal for field submissions. We built the missing workflow around the PSA. Engineers could retrieve ticket context, complete the appropriate closure-note or cable-survey form, add supporting images, and produce a branded PDF for delivery and administrative review.
Ticket context, field submissions, and document review had different constraints
The client is a UK fixed-line telecommunications provider whose established PSA platform holds service tickets and related records. It needed to remain the source of that information, with the portal adding a structured field workflow rather than replacing it.
The relevant job scope was embedded within free-text ticket notes instead of a dedicated structured field. The portal therefore had to find the referenced service ticket through the PSA's REST API, isolate the section between known markers, and carry that context into the field submission.
Closure notes and cable surveys required substantially different forms. Closure notes covered fault diagnosis, remedial work, revisit requirements, and related details across approximately 12 fields. Cable surveys used approximately 30 fields for site information, cable routes, containment, images, and other installation details.
The workflow had to connect ticket retrieval, field submission, document delivery and administrative review
- A ticket reference had to resolve to the corresponding service ticket and related procurement products in the PSA.
- Free-text ticket notes had to be parsed to extract the bounded section containing the job scope.
- Two different forms had to present the appropriate fields and adapt their visibility and requirements to the answers already provided.
- Survey submissions needed image uploads and a canvas tool for drawing proposed cable routes over a floor plan.
- Submitted data and images had to be stored and turned into branded PDFs using defined document templates.
- Generated PDFs had to reach the configured recipients, while administrative review and user management needed role-restricted access.
A portal connected ticket lookup, submission, and review
Replacing or duplicating the service-ticket application was neither necessary nor appropriate. We built a separate PHP application with a Vue 3 interface, leaving the PSA in place. An engineer entered the ticket reference, the application retrieved the matching ticket and related products, and bespoke parsing isolated the job scope from the ticket's free-text notes.
Closure notes and cable surveys. YAML definitions described the fields and conditional requirements for each workflow. The Vue interface rendered the relevant form and applied conditional visibility and required-field rules as answers changed.
Survey evidence and floor plans. Engineers could upload site images and use a canvas component to draw the proposed cable route over a floor plan. The application retained those images and annotations with the submission for use in the generated document.
Document generation and delivery. Twig templates produced Markdown that Pandoc and LuaLaTeX rendered as branded PDFs with uploaded images, canvas annotations, and controlled page breaks. PHPMailer then emailed the PDF attachment to the configured review recipients.
Administrative review. A separate review interface allowed authorised users to approve, decline, or modify submissions. Middleware restricted those functions by role, while user-management operations remained part of the administrative area.
Assisted text correction. Before the final document was produced, an LLM-based text service corrected spelling and grammar in selected free-text fields. Its role in the portal was limited to correcting that text.
Alongside the portal, six scheduled jobs copied tickets, time entries, expenses, invoices, products, and members from the PSA into a separate PostgreSQL reporting database using upserts, without changing the source records.
From service ticket to reviewed document
Engineers had one interface for retrieving ticket context, completing the relevant closure-note or cable-survey form, and adding the supporting material required by that workflow. The PSA remained the source of the service-ticket data, while the portal held the structured submission.
Each completed form and its supporting images fed a defined document template. The portal emailed the generated PDF to the configured recipients, while a separate administrative interface provided approval, decline, and modification controls.
Role checks separated ordinary submission functions from administrative review and user management. Together, these components joined ticket lookup, structured field capture, document generation, delivery, and review without changing the PSA's role as system of record.
Configuration kept the two form structures explicit
YAML definitions recorded the fields and conditional requirements for the closure-note and cable-survey workflows. The Vue interface interpreted those rules, while application code remained responsible for ticket integration, validation, persistence, image handling, document generation, and review behaviour.
The boundary was deliberate but not absolute. Field-level rules remained in configuration, while changes involving persistence, document layouts, media handling, or integration behaviour still required application work.
Client names and identifying details have been withheld to protect confidentiality.
Need a workflow around an existing platform?
Tell us what users need to retrieve, submit, and review.