Back to work
Web Development

Catering Kvatrić —
Booking Dashboard

Led frontend development of a Next.js admin dashboard managing the full inquiry-to-reservation lifecycle for an enterprise catering operation — with role-based access, payment-triggered workflows, and Google Maps integration.

Year

2024

Industry

Catering / Hospitality

Client

Catering Kvatrić

Duration

3+ months

Tech StackNext.jsTypeScriptGraphQLTailwind CSSShadcn/uiTanstack QueryZustandGoogle Maps APIRole-based Access Control
Catering Kvatrić — Booking & Sales Dashboard

01 —Problem

Running an enterprise catering operation on guesswork

Managing catering at scale means juggling dozens of inquiries, events, and reservations at the same time — across sales reps, admins, and ownership, all with different needs and different levels of access. Before this platform, that entire operation was being held together with spreadsheets, manual handoffs, and a lot of back-and-forth between teams. An inquiry would come in, and tracking it all the way through to a confirmed, paid reservation was a process nobody had real visibility into.

The result was predictable — things slipped through, status updates lagged, and the owner had no reliable way to see what was actually happening across the business at any given moment. For an operation handling events at this scale, that kind of opacity was a real problem.

02 —Agitation

Every manual handoff was a gap in the process

The inquiry-to-reservation journey has a lot of steps — and every step that depended on someone manually updating a status or notifying another team was a step where something could go wrong. A sales rep closes a deal but forgets to update the booking. A payment comes in but the reservation status stays stuck. An event location changes but nobody on the admin side gets the memo.

With multiple teams operating across the same bookings but with different roles and responsibilities, there was no clean way to make sure everyone was seeing the right information — and only the right information. Giving everyone full access created noise. Restricting access too much created blind spots. Neither worked.

Solution visual A
Solution visual B

03 —Solution

A platform that runs the process, not just tracks it

I led the frontend development of the Catering Kvatrić dashboard — a Next.js platform built around the full booking lifecycle from first inquiry to confirmed reservation. The biggest shift was making payment-triggered status transitions automatic, so the moment a payment lands, the booking moves forward without anyone needing to touch it. Google Maps integration brought location-based event management into the same workflow, so placing, viewing, and updating event locations happened right inside the platform instead of across separate tools.

Role-based access for Sales, Admin, and Owner roles meant each team had a UI shaped around what they actually needed to do — not a cluttered mess of every feature the system offered. Zustand handled state across what became a genuinely complex set of workflows, and GraphQL kept data fetching clean and efficient as the feature set grew.

04 —Summary

From inquiry to reservation, without the gaps

The full booking lifecycle now runs through one platform, with automated status transitions cutting out the manual handoffs that used to slow everything down. For an enterprise operation managing events across multiple teams and locations, having that kind of structure in place is what makes growth manageable.

Summary visual A
Summary visual B