Modernizing a Restaurant Reservation System Without Interrupting Service

Laravel WordPress Forms Admin Restaurant Payment Integration

A reservation and payment system for The Nordic, a popular restaurant serving large seasonal crowds in Rhode Island. Over 14 months, I inherited a codebase with substantial duplication, removed and consolidated 138,000 lines of obsolete code, built a new Laravel admin from scratch, and launched reservation forms that now process $1.22 million in revenue.

2,543reservations in 4.5 months $1.22Mrevenue processed 99.99%system reliability

The problem

The Nordic runs a $145-per-seat seafood buffet in Charlestown, Rhode Island, with hundreds of reservations a day during peak season and bus tour contracts worth thousands each. The reservation system needed to remain dependable during high-volume service and peak-season demand.

When I took over in June 2025, the codebase was a WordPress site with multiple custom PHP applications added incrementally over several years. The project had no Git history or local development environment, and credentials were stored directly in numerous files. Entire reservation apps had been copied so many times that the duplicated applications required the same fixes to be applied repeatedly.

The system worked, but maintaining it required care. In parts of the codebase, ownership and original purpose were unclear.

Stabilizing first

The first three months focused primarily on stabilizing existing functionality. I addressed date-picker failures, duplicate entries, payment errors, and certificate renewals while learning the system before changing anything.

The philosophy was simple: keep working code working, fix what is broken, do not rewrite until you understand why it broke.

The decision to rebuild

After stabilizing, I had two options: keep patching or build a new admin. The duplication problem made the choice clear. Payment workflows needed stronger visibility and centralized administration.

Before

  • WordPress + custom PHP apps
  • Multiple servers, duplicated logic
  • No git, no environment variables
  • Credentials hardcoded across files
  • Large group on separate server

After

  • WordPress + Gravity Forms (child theme)
  • Laravel admin + API (Nordic Enjoy)
  • One unified admin for all booking types
  • Docker, MySQL 8, and version control throughout development
  • Consolidated onto single infrastructure

I built Nordic Enjoy, a new Laravel admin: Laravel 12, PHP 8.4, AdminLTE, Tailwind, MySQL 8, Docker from day one. Over eight months it grew into a full management platform, reservations, lakeside dining, group contracts, events, dashboards, financial reports. The dashboard was redesigned five times, each iteration based on what the operations team actually used.

Nordic Enjoy admin dashboard showing this weekend's reservations across all booking types
Admin dashboard: reservations across all booking types at a glance.
Events management page in Nordic Enjoy admin
Events and group bookings management.
Large group reservations report
Large group reservations report.

Security

Some parts of this work aren’t something I can detail publicly. If you’d like to know more about how I approached securing a payment system that processes customer transactions, start a conversation.

New forms: April 1, 2026

The largest release was the new Sunday reservation form: a complete reservation and payment system with secure payment processing using tokenized card data. Since launch:

  • 2,543 reservations processed
  • $1.22 million in revenue
Sunday reservation form showing date picker and party size selection
Sunday reservation form: date selection, party size, and payment in one flow.
Mobile reservation flow: filling out the Sunday reservation form.
How the reservation appears in the admin.

What this shows

  • Revenue-critical infrastructure

    $1.22 million processed in 4.5 months, with four months left in the season.

  • Systematic cleanup

    138,000 lines of obsolete code removed through a documented audit, validated against the live system.

  • Gradual migration

    New systems were built alongside the existing platform without interrupting restaurant operations.

  • Production payment systems

    The system supports payment processing and customer data in active production use. Some details are available on request.

Visit the website