Their breast pump rental service was held together by phone calls, spreadsheets, and manual follow-ups. Customers called to order. Staff tracked rental periods by hand. Returns were chased over email. Pharmacies acting as collection points had no visibility on what was rented, what was due back, or what stock they held.
Finance couldn’t see payment status without asking. Warehouse didn’t know what was coming back until it arrived. Customer service fielded calls that the system should have answered.
It worked at low volume. It couldn’t scale, and it certainly couldn’t support the pharmacy partner network Oxygen Care wanted to build.
A custom WooCommerce platform that manages the full rental lifecycle — from product selection to return and restocking — with three fulfilment paths and three distinct user types.
Rent directly on the site. Choose collection from a pharmacy, collection from Oxygen Care, or home delivery. Select rental duration in 30-day blocks. Optionally add a collection kit. Manage the entire rental from their account — extend, renew, or initiate a return. No phone calls needed.
A dedicated portal where pharmacy users log in and see only the orders assigned to their location. They manage collections, add serial numbers when equipment is picked up, and monitor their own stock levels. Each pharmacy has a profile with address, contact details, and assigned users.
Finance sees payment status, renewal history, and overdue rentals. Warehouse tracks serial numbers, returned components (case, pump, bottle holder, power cable, cable clamp), and restock readiness. Sales admin gets notified on every new order by fulfilment type. Everyone works from the same system instead of chasing each other.
The rental engine runs on WooCommerce with custom subscription logic and Stripe for automated payments.
A customer places an order. The system creates a WooCommerce order, an RNB booking for availability tracking, and a subscription for automated 30-day renewals. Twenty-two email workflows fire at every stage — order confirmation, pharmacy notification, 7-day return reminder, due date reminder, overdue notice, renewal confirmation, return processing, missing parts alert, restock notification, and low stock warnings for pharmacy locations.
Every email dynamically adapts based on the fulfilment method. A pharmacy collection email looks different from a home delivery email, different instructions, different contacts, different next steps.
Renewals are automatic. After 30 days, Stripe charges the customer, a renewal order is created, the return date extends, and the booking calendar updates, all without anyone touching the system. If the order status changes from “Rented,” the subscription pauses automatically. When it goes back to “Rented,” it resumes.
When a customer initiates a return, the status moves to “Returning.” Warehouse receives the equipment, checks components against a returned parts checklist, flags anything missing (triggering a separate notification to finance), and marks it ready for restocking. A final “Return to Stock” notification tells the warehouse team the unit is cleared and available.
Each pharmacy location has a stock threshold. When active rentals bring available stock below the threshold, the system alerts the warehouse team automatically.
Key Technical Details