For AI agents and integrators

Read our prices. Book our technicians.

Whaleshine is built to be bookable by agents. Two endpoints, no API key, JSON in and out. Payment hands off to a Stripe Checkout URL that your user completes themselves. A machine-readable summary also lives at /llms.txt.


1. Get a quote

No parameters returns the full catalog with pricing rules. With parameters, a priced quote.

GET https://whaleshine.com/api/quote?service=wash&rig=tt&length=30&roof=true&zip=30004

{
  "service": "wash",
  "label": "Exterior wash",
  "rig": "travel trailer",
  "length_ft": 30,
  "roof_addon": true,
  "currency": "USD",
  "total": 360,
  "deposit_due_at_booking": 90,
  "balance_paid_to_technician": 270
}

Service keys: wash, washwax, detail, roofinspect, roofreseal, winterize, dewinterize, bearings, generator. Rig keys: tt (travel trailer), fw (fifth wheel), ca (Class A), cb (Class B), cc (Class C). Length is 10 to 60 feet for per-foot services, billed in 5 ft bands at the band ceiling. Always pass zip: some metro areas price higher, and the response includes the market_multiplier applied.


2. Create the booking

Prices are recomputed server side; the quote is for display. The response is a Stripe Checkout URL. Hand it to your user: the 25 percent deposit paid there completes the booking, and confirmations arrive by text.

POST https://whaleshine.com/api/create-checkout
Content-Type: application/json

{
  "service": "wash",
  "rig_type": "tt",
  "length_ft": 30,
  "roof_addon": true,
  "customer_name": "Dana Pruitt",
  "phone": "6785550142",
  "street": "410 Lakeview Trail",
  "city": "Cumming",
  "state": "GA",
  "zip": "30041",
  "preferred_date": "2026-11-06",
  "time_window": "morning"
}

Response: { "url": "https://checkout.stripe.com/c/pay/cs_..." }

time_window is morning (8 to 12) or afternoon (12 to 5). Dates are YYYY-MM-DD, tomorrow or later. The booking is not confirmed until the deposit is paid at the returned URL.


What your user gets

A text confirming the deposit, a text naming their technician once one accepts, and a service record of the work. The balance is paid directly to the technician at service by card, cash, or Zelle. Free rescheduling up to 24 hours before the appointment, and a full refund any time the technician can't make it. Full terms at /terms/.

Questions or higher-volume integration: support@whaleshine.com