HomeInsights › Case study

Case study · SDC Container LLC

Three booking systems, replaced by one.

SDC Container LLC rents roll-off dumpsters across Massachusetts. Their WordPress site ran three overlapping booking systems and still could not take a single order online. We replaced all three with one page and a live Stripe checkout.

  • Web design
  • Booking system
  • Stripe payments
  • Local SEO
  • Managed IT

Greg at Knowledge Designs is a top tier producer. From day one he has been responsive, meticulous, and gone above and beyond with our best interest in mind. SDC Container LLC would not be where we are today without Knowledge Designs and we are grateful for the hard work he does for our company day in and day out. I highly recommend Greg for any website, IT, or marketing strategy services!

Steve — SDC Container LLCGoogle review · ★★★★★

What changed, structurally

These are facts about the build rather than marketing numbers — each one is verifiable by looking at the site.

+58.7%

Order volume

Sustained above the pre-launch baseline across two-week periods for over two months.

3 → 1

Booking systems

Elementor, a rental plugin and a separate scheduler replaced by one flow.

0 → Live

Online ordering

The old site could not take an order. Customers now book and pay in four steps.

0

WordPress plugins

No plugin updates, no rental add-on license, no scheduler subscription.

Before & after

What the stack looked like

Before — three systems

  • Elementorpage layout
  • RnB rental plugincontainer bookings
  • Simply Schedule Appointmentscalendar & slots
  • WordPress + PHP + database

Outcome: no order could be completed. Every job ended in a phone call.

After — one flow

  • Static booking pagefour steps, live pricing
  • Serverless functionvalidates & prices server-side
  • Stripe Checkouthosted card form

Outcome: a paid order with address, window and placement notes already captured.

The customer’s path

Four steps, one page, no reloads

  1. 1Size10, 12, 15 or 20 yard — with real prices, not a range
  2. 2Term3, 7 or 14 days
  3. 3Date & windowdelivery date plus the window that suits the site
  4. 4Details & payaddress, placement notes, card on Stripe
  5. KNOWLEDGE
    DESIGNS

    We built the booking flow, the site and the local SEO behind it — and support it day to day.

    Start a conversation →

A live price summary stays visible throughout and updates the instant any selection changes.

The challenge

A booking process that could not book anything

SDC Container had a WordPress site that looked finished. Underneath, three systems were each holding a piece of the job. — Elementor for the layout, an RnB rental plugin for the containers, and Simply Schedule Appointments for the calendar. None of them fully agreed with the others, and the combination could not carry a customer from “I need a fifteen yard on Thursday” to a paid order.

The specific problems:

  • Three separate systems (Elementor, an RnB rental plugin and Simply Schedule Appointments), each holding part of the booking process, none of them agreeing with the others.
  • No way for a customer to actually complete an order. Every job ended in a phone call, during working hours, to a business whose owner is usually on a truck.
  • Pricing logic scattered across plugin settings screens, so changing a rate meant hunting through three admin panels.
  • Availability and delivery windows were being run by a scheduler built for booking a person’s time in slots — the wrong shape entirely for placing a container on a date.
  • Recurring plugin licenses and subscriptions for functionality that still did not close a sale.

The business was paying for three systems to produce an outcome it could have got from a phone number on a business card.

The approach

Build the thing the business actually does

Phase 1

Map how the business actually books work

Before any code, we worked out what an order really is for this company: a container of a given size, on a date, for a term, at an address, with a delivery window and placement notes. A scheduling plugin books a person’s time in slots. That is a fundamentally different shape, and forcing one into the other was the root of the friction.

Phase 2

Build the booking flow as four plain steps

Size, term, date and window, then details — on one page, no reloads, with a live price summary that updates the instant anything changes. Ten, twelve, fifteen and twenty yard containers with real prices rather than a range, and the fifteen marked as the popular choice because that is what people actually take.

Phase 3

Put real card payment behind it

Stripe Checkout handles the card form on Stripe’s own hosted page. The site never sees card data, which keeps PCI scope at effectively zero. A serverless function validates and prices every order server-side before creating the payment session, so nothing can be tampered with in the browser.

Phase 4

Make the owner the only person who needs to touch it

All pricing, availability, terms and fees live in a single configuration file. Steve changes a rate in one place and the whole site follows. When a payment clears, a webhook emails a complete work order: — date, window, container, term, address, placement notes, contact details and the full price breakdown including what to collect on delivery.

The result

Orders up 58.7%, and it held

Once the booking system was live, order volume settled at roughly 58.7% above the pre-launch baseline. And stayed there. That figure is not a single good fortnight; it is the sustained level measured across two-week periods for more than two months, taken from Stripe order data.

Order volume, indexed to the pre-launch baseline
Before launch 100
After launch 158.7

Indexed rather than absolute: the underlying order counts are SDC Container’s commercial data. Figures available on request.

Two things sit behind that number, and both matter more than the percentage.

The old site could not take an order at all. Every job previously required a phone call during working hours to a business whose owner is usually driving a truck. Some share of that 58.7% is simply orders that were always there and were previously being lost after hours.

Nothing else was left alone. The booking system launched alongside a rebuilt site, local SEO for the towns SDC actually serves, and ongoing support. Attributing the whole lift to the checkout button would be dishonest — it is the combination that moved the number.

Live and taking orders

The system is running in production

SDC Container is taking real bookings and real card payments through the flow described above. Steve’s review, quoted at the top of this page, was written after it went live.

What it changed day to day

The difference for the business

Orders arrive without a phone call

The business can now take a booking at nine at night from someone who found it on a phone, without anyone answering. For a company whose owner spends the day on a truck, that is not a convenience feature — it is the difference between capturing the job and losing it.

One place to change a price

Rates, terms, tonnage allowances and fees are edited in one configuration file instead of across three plugin admin screens. Nothing gets out of sync because there is nothing to sync.

Nothing to patch

No WordPress, no PHP, no database, no plugin update stream. The category of problem where a routine update breaks the booking form simply does not exist any more.

A work order instead of an enquiry

The old flow produced a message asking someone to call back. The new one produces a paid job with the address, the placement notes and the delivery window already captured.

Where it goes next

The part most vendors never get to

Here is the thing that separates this from a website project. The same person who built the booking flow also handles SDC’s computers, network, email and security. So when the ordering system needs to talk to something inside the office, there is no vendor negotiation — it is one conversation.

That is not a hypothetical benefit. It is the reason the following are straightforward rather than three-month projects:

  • Orders into the office systems. A paid booking already produces a structured work order. Sending that into scheduling, accounting or a shared calendar is a data-mapping job, not a vendor summit. Whoever looks after the office systems already knows exactly what format the booking system produces.
  • Dispatch and the drivers. The delivery date, window, address and placement notes are captured at order time. Getting them onto a phone in a truck is a question of choosing the destination, not of persuading two companies to build an interface.
  • Phones and the booking flow together. When the same team runs the phone system and the website, they can be designed as one customer experience. Call routing, after-hours handling and the online booking path stop being two systems that merely happen to share an owner.
  • Backups that actually cover the orders. The order records are part of the same backup and continuity plan as everything else in the office, because one person is responsible for both. Nobody discovers after an incident that the booking data was somebody else’s job.
  • Security in one scope. The payment path, the office network, the email and the endpoints are assessed together. There is no seam between “the website guy’s responsibility” and “the IT guy’s responsibility” for an attacker to walk through.

And it is no longer hypothetical. The booking system is now wired straight into the back office: Stripe payments flow into QuickBooks with the accounts mapped properly, and the handoffs between them are automated rather than re-keyed. An order placed at nine at night arrives as a paid job, lands in the books against the right account, and produces a work order — without anyone typing it in twice.

That is exactly the integration described above, and it went in without a single vendor conversation. No web company waiting on an IT company, no bookkeeper reconciling a spreadsheet by hand at month end, no consultant booked six weeks out to connect two systems that were always meant to talk. One team already had access to the booking flow, the payment processor and the office systems — so it was an afternoon’s work rather than a project.

SDC does not have that problem, and it is not because we are cleverer than the alternative. It is because there is only one number to call and nobody to hand the blame to. When something is wrong, it is ours — which is a considerably better incentive than a contract clause.

This is the whole argument for one accountable team rather than three vendors, and SDC is what it looks like in practice.

Measured, not claimed

What the rebuilt site scores

sdccontainer.com Client · booking system
  • 98Performance
  • 99Accessibility
  • 100Best practices
  • 99SEO

Core Web Vitals — 3/3 passed

Google PageSpeed, desktop, on the live site — with Core Web Vitals passing all three thresholds on real visitor data. Run it yourself at pagespeed.web.dev.

What we delivered

Website design and build. A static site with no WordPress, no database and no plugins, built to load fast on a phone at a job site. Web design & development →

Custom booking system. Four-step ordering with live pricing, container sizes, rental terms, delivery dates and windows, and placement notes.

Stripe payment integration. Hosted card capture, server-side order validation, and automated work-order emails on payment.

QuickBooks integration & automation — Stripe payments land in QuickBooks against the right accounts, and the handoffs are automated. Orders reconcile themselves instead of being typed in twice.

Local SEO. Service and town pages targeting the searches people actually make when they need a container. SEO & content marketing →

Ongoing support. The site, the payment flow and the business’s wider technology handled under one arrangement. Managed IT & support →

Common questions

Almost certainly, and the honest process is a discovery call first. First we work out what your business actually books — a container, an appointment, equipment, a delivery slot, a service window — That shape decides everything that follows. Then we research the right approach for it rather than reaching for whatever we built last. If a third-party platform genuinely serves you better than something custom, we will tell you and point you at it. And if we are not the right fit, we would rather say so on the first call than three invoices in.

It depends on what is being booked and what it has to talk to, which is why we quote after a discovery call rather than publishing a number that would be wrong for most people. What we can say is how it is priced: a fixed quote for the build, agreed up front and itemized, with no hourly meter. A simple ordering flow is a very different project from one integrating with dispatch, accounting and inventory — and you should not pay for the second if you need the first.

From his phone, his tablet or a desktop — whichever is to hand. It is a handful of taps, not an admin course, and it takes effect immediately across the whole site. Steve has updated pricing from the cab of his truck while sitting at a weigh station, which is a fair test of whether a system is genuinely usable. Container sizes, term pricing, tonnage allowances, delivery windows, blackout dates and fees all live in one place, so a change made once is reflected everywhere.

Yes — SDC’s does. Stripe payments flow into QuickBooks with the accounts mapped correctly and the handoffs automated, so orders reconcile themselves instead of being re-keyed at month end. Because the system is custom built rather than a closed platform, it is designed to talk to third-party software rather than fight it. What connects, and how cleanly, depends on what that software exposes — which is one of the things a discovery call establishes before anyone commits.

A WordPress site running Elementor for the layout, an RnB rental plugin for the container bookings, and Simply Schedule Appointments for the calendar — three overlapping systems, each owning part of the process. The practical result was that no customer could complete an order online; every job came down to a phone call during working hours.

Because they book the wrong thing. Calendly and most scheduling tools book a person’s time in slots. This business books a container, of a specific size, on a date, for a term, at an address, with a delivery window and placement notes. Forcing one shape into the other is exactly what created the original mess. For businesses that genuinely do book time in slots, we would recommend Calendly and save you the money.

Safer than the alternative here. Stripe hosts the card form on its own page, so card details never reach the site or the server, and PCI scope stays at effectively zero. A serverless function prices and validates every order server-side before payment, so nothing can be altered in the browser. The secret key exists only on the server side — which is the single reason that function exists at all.

The order is validated and priced server-side, Stripe takes payment on its hosted page, and a webhook fires the moment it clears. The owner gets an email work order with everything already on it. Delivery date and window. Container and rental term. Address and placement notes. Contact details. And the full price breakdown, including anything to collect on the day. No enquiry to chase, no callback to schedule.

For a booking flow of this scope, a few weeks from first conversation to live — and most of that is your feedback and content, not build time. We stage the whole thing at a hidden address first, so you can place test orders and walk every screen before a single customer sees it.

Related: Rebuilding a WordPress site without WordPress · IT for trades & contractors · Web design & development.

Does your site take orders?

Prefer to pick a time? Book an appointment →

Or call (978) 885-1819 — if we’re on a job, leave a message and you’ll hear back the same business day.