Skip to main content

Rentals API

Module-gated

The endpoints surfaced from this overview (Products, Bundles, Workshop, Product Categories) require the supplier to have the Rentals module enabled. Calls return 403 module_disabled when it is off. Check GET /supplier/modules before relying on these endpoints.

The Rentals API allows you to manage your rental products, check availability, calculate pricing, and organize your catalog.

Resourcesโ€‹

ResourceDescription
ProductsCreate and manage rental items and equipment
Product BundlesGroup products into packages with optional discounts
AvailabilityCheck product availability for date ranges
PricingCalculate rental prices with seasonal and tiered rates
CategoriesOrganize products into categories

Common Workflowsโ€‹

Display Products on Your Websiteโ€‹

  1. List products - GET /v1/products to fetch your catalog
  2. Check availability - POST /v1/availability/products before showing booking options
  3. Calculate pricing - POST /v1/pricing/calculate to show accurate totals

Manage Your Inventoryโ€‹

  1. Create products - POST /v1/products to add new rental items
  2. Add variations - POST /v1/products/{id}/variations for sizes, colors, etc.
  3. Track inventory - GET /v1/products/{id}/inventory to monitor stock levels

Update Pricingโ€‹

  1. Get current pricing - GET /v1/products/{id}/pricing
  2. Update pricing rules - PUT /v1/products/{id}/pricing to change rates
  3. Set seasonal pricing - Configure different rates for peak/off-peak seasons

Create Product Bundlesโ€‹

  1. Create a bundle - POST /v1/bundles with name and pricing type
  2. Add products - POST /v1/bundles/{id}/items to add items with optional discounts
  3. Set pricing - Use calculated (sum of items) or flat (fixed price)

Key Conceptsโ€‹

Products vs Variationsโ€‹

  • Products are your main rental items (e.g., "Mountain Bike")
  • Variations are options within a product (e.g., "Small", "Medium", "Large")
  • Each variation can have its own inventory count and price adjustment

Inventory Trackingโ€‹

Products can track inventory in two ways:

ModeDescription
groupTrack total quantity available (e.g., "5 bikes available")
itemTrack individual items with serial numbers

Pricing Structuresโ€‹

StructureDescription
flat_rateFixed price per interval (e.g., $50/day)
tieredPrice decreases for longer rentals (e.g., $50/day for 1-2 days, $40/day for 3+ days)
dynamicPrice varies based on demand or custom rules

Product Bundlesโ€‹

Bundles group multiple products into a package:

Pricing TypeDescription
calculatedPrice is sum of individual item prices (with any item discounts)
flatFixed bundle price regardless of item prices

Each bundle item can have its own discount (percentage or flat). Bundles are bookable when they have at least 2 items.

Quick Examplesโ€‹

List Active Productsโ€‹

curl "https://app.equipdash.com/api/v1/products?status=active" \
-H "Authorization: Bearer YOUR_API_KEY"

Check Availabilityโ€‹

curl -X POST "https://app.equipdash.com/api/v1/availability/products" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_id": 1,
"start_date": "2026-02-15",
"end_date": "2026-02-17",
"quantity": 2
}'

Get Product Pricingโ€‹

curl -X POST "https://app.equipdash.com/api/v1/pricing/product" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_id": 1,
"start_date": "2026-02-15",
"end_date": "2026-02-17",
"quantity": 2
}'

Create a Bundleโ€‹

curl -X POST "https://app.equipdash.com/api/v1/bundles" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Beach Day Package",
"pricing_type": "calculated"
}'

Required Scopesโ€‹

ScopeOperations
products:readList, get products, check availability, get pricing
products:writeCreate, update, delete products and variations