Example: On-demand (Shuttlers)

A complete autopilot integration for a shared-mobility service like Shuttlers — events, mapping, stages, and campaigns.

Shuttlers is a shared-mobility service: commuters sign up, then book seats on shuttle routes, ride after ride. The value event is a repeated discrete booking, so the On-demand / Delivery model fits — it's built around getting a rider to their first trip, then rewarding frequency. This guide assumes the pay-per-ride product; if passes/subscriptions dominate your revenue, see the note at the end.

1. Events to instrument

Emit these from your booking backend as they happen. Include the rider's external_id on every event.

Your event            Fires when…                     Useful properties
-------------------   -----------------------------   ----------------------------
account_created       a rider signs up                signup_source, city
first_ride_booked     they book their very first      route, fare, seats
                      shuttle seat
ride_booked           any booking (incl. the first)   route, fare, seats, ride_date
booking_started       they open checkout for a seat   route, fare  (optional / intent)

Sending the first ride as its own event is optional — you can also treat "the first ride_booked" as the conversion — but a dedicated first_ride_booked makes the milestone unambiguous. Send ride_booked for every booking, first included, since that's the recurring activity signal that also tiers up loyal riders.

curl https://api.engageapp.xyz/api/v1/public/events \
  -H "X-API-Key: df_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{
    "events": [
      { "external_id": "rider_5521", "event_name": "ride_booked",
        "occurred_at": "2026-07-10T06:40:00Z",
        "properties": { "route": "Lekki-CMS", "fare": 1500, "seats": 1 } }
    ]
  }'

2. Choose the model & map events

Pick On-demand / Delivery and map:

Canonical behavior     Role          Your event          Required?
--------------------   -----------   -----------------   ---------
signed_up              acquisition   account_created     required
placed_first_order     conversion    first_ride_booked   required
placed_order           activity      ride_booked         required

This model has no intent or churn role, so those stay unmapped. Repeat frequency is inferred from the count of ride_booked events.

3. Resulting lifecycle stages

Riders are classified as newonboardingfirst orderrepeatloyallapsing. A rider becomes repeat after 3 bookings and loyal after 10, as long as they're recently active; a rider who stops booking drifts to lapsing.

4. Opportunities & campaigns

  • Onboarding stall — signed up but never booked a ride. Campaign: a first-ride nudge with the nearest routes and a starter discount.
  • Post-conversion — just took their first ride. Campaign: "how did it go?" plus a prompt to book their return/commute for the week.
  • Re-engage dormant — was booking, then went quiet. Campaign: "your seat's waiting" with their usual route pre-filled.
  • High-value nurture — loyal, frequent commuters (10+ rides). Campaign: priority perks, a loyalty offer, or early access to new routes.
  • Win back — a lapsed rider (On-demand has no explicit cancel event, so this targets riders who converted but stopped). Campaign: a comeback fare on their most-used route.

5. Channels, autonomy & real-time

Commuters respond well to SMS, push, and WhatsApp for timely, transactional nudges; connect at least one and select it during activation. Start in review required, then move re-engagement and win-back to auto-execute once you trust the drafts. Because first_ride_booked is a conversion behavior, it also triggers real-time detection — a rider's first trip can kick off the post-conversion follow-up within minutes.

Note: pass / subscription-led services

If your core product is a recurring route pass rather than pay-per-ride, use the Subscription / Media model instead. Map subscribed to your pass purchase and subscription_canceled to a cancellation — you gain an explicit churn signal (at-risk / churned stages and a true win-back opportunity), at the cost of the ride-frequency tiers. Rule of thumb: pay-per-ride → On-demand; pass-led → Subscription.

Next steps