We built a firearm rental marketplace on WordPress/WooCommerce. Customers book guns online, we ship to their local FFL dealer, they shoot, then return. Think Airbnb meets the old Netflix DVD queue — but for guns. Site is live with ~216 products. Now we need the custom engine that makes it actually scale.
The Core Challenge
We rent guns from two sources: guns we physically own (sitting at our FFL partner's warehouse) and guns we order on-demand from a distributor via SOAP API. Right now there's no system connecting these. When a gun comes back from rental, it sits in the warehouse with zero digital tracking — so we order a new one from the distributor even though we already own one. That's the problem you're solving.
The routing logic you're building:
Customer books "Glock 19 Gen 5" for March 1-7
→ Do we own one that's available those dates?
YES → Ship from our warehouse. Done. Fastest, no new purchase.
NO → Is the distributor in stock? (SOAP API check)
YES → Is this manufacturer drop-shippable?
YES → Distributor ships direct to customer's FFL
NO → Distributor ships to our warehouse → we ship to customer's FFL
NO → Not available. Block dates on calendar.
Everything else in the build serves this routing engine — the availability calendar displays what it calculates, the subscriber queue triggers it automatically, the return flow feeds guns back into inventory so it finds them next time.
What You're Building
Inventory routing engine — the decision tree above, running at checkout against owned inventory + distributor SOAP API
Owned inventory tracking — serial-numbered gun units with real-time status (warehouse / in-transit / rented / inspection / available)
Airbnb-style availability calendar — frontend component showing real dates based on actual inventory state, transit windows, and inspection periods
Subscriber rental queue — Netflix DVD queue model. Return confirmed → system auto-ships next gun in their ranked list. Zero manual intervention.
Rental lifecycle state machine — ~8 statuses from booking through return, each triggering Klaviyo emails directly from PHP
Sports South SOAP API integration — stock checks, automated purchase orders, drop-ship detection
Warehouse confirmation flow — our FFL partner has no API. They click email links to confirm gun receipt/condition. One click. That's their whole interface with your system.
Must-Haves
5+ years custom WooCommerce plugin development (OOP PHP, not theme work)
Built or extended an inventory/fulfillment system with routing logic
SOAP and REST API integration experience
JavaScript frontend (calendar component — React preferred)
State machine / workflow design
Git, wp_cron, WordPress coding standards
Available during US Eastern business hours (minimum 4 hours overlap, 9 AM–6 PM ET)
Big Pluses
Multi-source inventory routing or warehouse management
Booking/reservation system with date-based availability
Subscription or queue-based auto-fulfillment
Klaviyo API, FedEx API
Firearms/FFL industry experience
How to Apply
Generic proposals get ignored. Answer these three:
Describe the most complex inventory, fulfillment, or routing system you've built. What sources, what logic, what was hard? Link to code if possible.
Our system checks owned warehouse inventory first, then falls back to a distributor SOAP API with two fulfillment paths (drop-ship vs. ship-to-warehouse-first) depending on manufacturer. How do you architect this in a WordPress plugin? 3-5 sentences.
What's your SOAP API experience? If none, this isn't the right fit.
What You Get
41-page technical handoff doc — every integration, credential, known issue, and architectural decision already documented. No reverse-engineering.
Full PRD with phased milestones — you know what to build and in what order.
Direct access to the founder — no project manager telephone game. Fast decisions.
A real technical challenge on a real business — not another blog or e-commerce config job.
Duration: 10-12 weeks initial build, ongoing after. This is a long-term platform, not a one-off.
Rate: Share yours. Paying for competence and speed, not cheapest bid.
Hours: 20-30/week
Start: Immediate — documentation is ready.