Chuze Fitness schedules promo pricing across its gyms with live plan data from ABC
The Customer
Chuze Fitness runs a chain of gyms. Each location has its own page on chuzefitness.com, and each page lists the membership plans a visitor can buy. The join process runs on the website and completes at an online checkout, with plan and price data held in ABC, the system behind their memberships.
Chuze has a technical contact in-house who makes most of the site updates. Chuze came to Lynton in late 2023 for help with the one part of the site the business leaned on hardest.
The Challenge
Chuze wanted to run more promotions, change pricing faster, and stop editing each gym’s page by hand every time an offer changed.
Their online join process could only carry a few promotions at a time. Every promotional price had to be entered location by location, so a chain-wide offer meant the same edit repeated across every gym page. That limited the offers the team could run and made any price change slow.
They asked for a process that let them create promo pricing easily, with the plan data itself coming straight from ABC. They also asked for an ADA accessibility audit of chuzefitness.com.
The Solution
We started with a discovery session with their technical contact to walk through how pricing and promotions were updated at the time, then planned the rebuild around what the team actually did each month.
The first development pass reworked the join process so each plan pulls its data from ABC through the API, including the override fields the site had been using. The price a visitor sees on a location page and at checkout is the price ABC holds.
On top of that we built a special sales system the team controls from the site’s admin side. A special sale has a start date and an end date, custom promotional text, an expiration date to show on the page, and promo pricing that appears as a strikethrough against the regular ABC price. The locations field is optional. Leave it blank and the sale applies to every gym. Fill it in and the sale runs only at the locations chosen. That one field is what turns a chain-wide offer from one edit per gym page into one scheduled entry.
The checkout page changed to match. The promo code field stays hidden until a visitor picks a plan. The strikethrough price sits next to the live ABC price, larger and in red. The “offer expires” line shows under every plan, and a “no commitment” label appears in the plan comparison section where there’s no toggle to say so.
Alongside the pricing work we ran an accessibility audit of chuzefitness.com and delivered the findings as a worksheet. Chuze chose which items they’d handle internally, and we fixed the technical items they assigned to us.
Chuze tested the builds in their staging environment with real promotions. The client’s technical contact set up a test sale at a single location, confirmed the plans fetched the right data from ABC, and reported back on styling and behavior. We went through three rounds of client testing and revisions before launch. With their approval, we copied staging to production on the morning of March 26, 2024, and followed up with documentation of the new process for their team.
What They Got
After testing the first build, Chuze’s technical contact confirmed that individual plans were fetching the right data from ABC, including all the relevant fields, and that the strikethrough pricing worked as expected.
By March 2024 Chuze was testing the new system in staging with its current promotion, a “First 300 Memberships” offer that varied by location, with a membership counter at some gyms and an expiration date at others. That mix of per-location variants is the kind of offer the new system was built for.
The team can now schedule a promotion once, set its dates and text, choose which gyms it applies to, and let the plan prices come from ABC. Changing a price means changing it in ABC. Running an offer at every gym means leaving the locations field blank.
Wrapping Up
On this job our standard was live data from the system of record, a promotion entered once, and three rounds of client testing before anything touched production. Lynton now builds AI-native websites on open infrastructure; see our current work at /case-studies.