CR Bee Docs

Quickstart

End-to-end example of searching, quoting, and booking a car

This guide walks through a complete booking flow using the API. By the end, you'll have created a booking from scratch.

Prerequisites

  • An API key (how to create one)
  • Your tenant subdomain (e.g., your-slug.crbeeapp.com)

Step 1: Fetch Settings

Get your tenant's configuration (currency, booking modes, operating hours):

curl -H "Authorization: Bearer crb_live_..." \
  https://your-slug.crbeeapp.com/api/v1/settings

Response includes currency, booking_modes, operating_hours_from, operating_hours_to, and more.

Step 2: Fetch Locations

Get available pickup/dropoff locations:

curl -H "Authorization: Bearer crb_live_..." \
  https://your-slug.crbeeapp.com/api/v1/locations
{
  "locations": [
    {
      "id": "loc_abc123",
      "name": "Airport Office",
      "operating_hours_from": "06:00",
      "operating_hours_to": "23:00"
    }
  ]
}

Step 3: Fetch Available Cars

Get your vehicle catalog:

curl -H "Authorization: Bearer crb_live_..." \
  "https://your-slug.crbeeapp.com/api/v1/cars?withPrices=true"

Step 4: Get Bulk Quotes

Get prices for all available vehicles for your dates:

curl -X POST \
  -H "Authorization: Bearer crb_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "pickupDate": "2026-06-01",
    "dropoffDate": "2026-06-04",
    "pickupTime": "10:00",
    "dropoffTime": "10:00",
    "pickupLocationId": "loc_abc123",
    "dropoffLocationId": "loc_abc123"
  }' \
  https://your-slug.crbeeapp.com/api/v1/quotes/bulk
{
  "results": [
    {
      "carId": "car_xyz789",
      "available": true,
      "quote": {
        "pricePerDay": 45.00,
        "grandTotal": 135.00,
        "currency": "EUR",
        "rentalDays": 3
      }
    }
  ]
}

Step 5: Create a Session

Create a quote session for the selected vehicle:

curl -X POST \
  -H "Authorization: Bearer crb_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "carId": "car_xyz789",
    "pickupDate": "2026-06-01",
    "dropoffDate": "2026-06-04",
    "pickupTime": "10:00",
    "dropoffTime": "10:00",
    "pickupLocationId": "loc_abc123",
    "dropoffLocationId": "loc_abc123"
  }' \
  https://your-slug.crbeeapp.com/api/v1/sessions
{
  "sessionId": "sess_abc123xyz",
  "grandTotal": 135.00,
  "rentalDays": 3,
  "addons": {},
  "addonsTotal": 0
}

Step 6: Add Addons (Optional)

Fetch available addons and update the session:

# Fetch addons for this car
curl -H "Authorization: Bearer crb_live_..." \
  "https://your-slug.crbeeapp.com/api/v1/addons?carId=car_xyz789"

# Add a GPS addon (quantity 1)
curl -X PATCH \
  -H "Authorization: Bearer crb_live_..." \
  -H "Content-Type: application/json" \
  -d '{"addons": {"addon_gps123": 1}}' \
  https://your-slug.crbeeapp.com/api/v1/sessions/sess_abc123xyz/addons

Step 7: Apply a Coupon (Optional)

curl -X POST \
  -H "Authorization: Bearer crb_live_..." \
  -H "Content-Type: application/json" \
  -d '{"couponCode": "SUMMER20"}' \
  https://your-slug.crbeeapp.com/api/v1/sessions/sess_abc123xyz/coupon

Step 8: Create the Booking

curl -X POST \
  -H "Authorization: Bearer crb_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "sessionId": "sess_abc123xyz",
    "customer": {
      "name": "John Doe",
      "email": "john@example.com",
      "phone": "+306981234567"
    },
    "bookingMode": "pay_at_pickup"
  }' \
  https://your-slug.crbeeapp.com/api/v1/bookings
{
  "bookingRef": "REN-2026-00001"
}

For pay_now or deposit modes, the response includes a checkoutUrl — redirect the customer to Stripe Checkout:

{
  "bookingRef": "REN-2026-00001",
  "checkoutUrl": "https://checkout.stripe.com/pay/cs_live_..."
}

Step 9: Look Up a Booking

curl -H "Authorization: Bearer crb_live_..." \
  "https://your-slug.crbeeapp.com/api/v1/bookings/REN-2026-00001?email=john@example.com"

Complete Flow Summary

Settings → Locations → Cars → Bulk Quotes → Session → Addons → Coupon → Booking

Each step builds on the previous one. The session holds the state between vehicle selection and booking creation.

On this page