Skip to content

Pricing Models

Project Expedition products use one of four pricing models. Understanding which model a product uses is essential for correct availability checks and bookings.

Model Description Common Use Cases
By Person Type Price varies by traveler category Day tours, walking tours, most activities
By Time Based Price based on duration Private chauffeur, equipment rentals
By Occupancy Price based on group/room size Private boat charters, multi-day trips
By API Dynamic pricing from supplier Go City passes, third-party tickets

Call /return_availability and check the pricing_rates array inside each time_with_description entry. The pricing_rate value in each entry tells you which traveler categories or duration options are available:

{
"availability": [{
"date": "2025-06-15",
"time_with_description": [{
"time": "7:00 am",
"description": "Morning Departure",
"price": 65.00,
"pricing_rates": [
{ "pricing_rate": "Adult", "min_age": 18, "max_age": 99, "min_quantity": 1, "max_quantity": 50 },
{ "pricing_rate": "Child", "min_age": 5, "max_age": 17, "min_quantity": 0, "max_quantity": 10 },
{ "pricing_rate": "Infant", "min_age": 0, "max_age": 4, "min_quantity": 0, "max_quantity": 5 }
]
}]
}]
}

The pricing_rate values indicate which parameters are valid for booking.


Price varies by traveler category: adults, children, seniors, students, infants.

The pricing_rates array contains person-type entries such as "Adult", "Child", "Senior":

"pricing_rates": [
{ "pricing_rate": "Adult", "min_age": 18, "max_age": 99, "min_quantity": 1, "max_quantity": 50 },
{ "pricing_rate": "Child", "min_age": 5, "max_age": 17, "min_quantity": 0, "max_quantity": 10 },
{ "pricing_rate": "Senior", "min_age": 65, "max_age": 99, "min_quantity": 0, "max_quantity": 10 }
]

Cliffs of Moher Day Trip (PE12031)

  • Adults: $65/person
  • Children (ages 5-12): $45/person
  • Senior (65+): $55/person
Terminal window
curl -H "access-token: YOUR_TOKEN" \
"https://apistage.projectexpedition.com/v1/return_availability?id=PE12031&date=2025-06-15&adults=2&children=1&currency=EUR"
{
"product_id": "PE12031",
"date": "2025-06-15",
"time": "7:00 am",
"adults": "John Smith,Jane Smith",
"children": "Tommy Smith",
"phone": "+1 555 123 4567"
}

Price determined by duration or time slot selection.

The pricing_rates array contains time-based entries like "2 Hours", "4 Hours", etc.:

"pricing_rates": [
{ "pricing_rate": "2 Hours", "min_quantity": 1, "max_quantity": 1 },
{ "pricing_rate": "4 Hours", "min_quantity": 1, "max_quantity": 1 },
{ "pricing_rate": "8 Hours", "min_quantity": 1, "max_quantity": 1 }
]

Private Chauffeur Service

  • 2 hours: $150
  • 4 hours: $280
  • 8 hours: $500
Terminal window
curl -H "access-token: YOUR_TOKEN" \
"https://apistage.projectexpedition.com/v1/return_availability?id=PE54321&date=2025-06-15&4_hours=1&currency=EUR"
{
"product_id": "PE54321",
"date": "2025-06-15",
"time": "9:00 am",
"4_hours": 1,
"adults": "John Smith,Jane Smith",
"phone": "+1 555 123 4567"
}

Price based on total group size or room configuration.

Look for quantity or room-type entries in the pricing_rates array.

Private Boat Charter

  • Up to 6 passengers: $500 flat rate
  • 7-10 passengers: $750 flat rate
Terminal window
curl -H "access-token: YOUR_TOKEN" \
"https://apistage.projectexpedition.com/v1/return_availability?id=PE67890&date=2025-06-15&quantity=6&currency=EUR"
{
"product_id": "PE67890",
"date": "2025-06-15",
"time": "10:00 am",
"quantity": 6,
"adults": "John Smith,Jane Smith,Mike Jones,Sarah Jones,Tom Brown,Lisa Brown",
"phone": "+1 555 123 4567"
}

Dynamic pricing from an external supplier. These products often have multiple time slots with different descriptions.

The pricing_rates array may include singular entries like "Adult", "Child" and the product often requires description for time slot selection:

"pricing_rates": [
{ "pricing_rate": "Adult", "min_quantity": 1, "max_quantity": 20 },
{ "pricing_rate": "Child", "min_quantity": 0, "max_quantity": 10 }
]

Go City Explorer Pass

  • Adult: Dynamic pricing
  • Child: Dynamic pricing
  • Multiple time slots: “Morning Departure”, “Afternoon Departure”
Terminal window
curl -H "access-token: YOUR_TOKEN" \
"https://apistage.projectexpedition.com/v1/return_availability?id=PE11111&date=2025-06-15&adult=2&child=1&description=Morning%20Departure"
{
"product_id": "PE11111",
"date": "2025-06-15",
"time": "9:00 am",
"adult": 2,
"child": 1,
"description": "Morning Departure",
"adults": "John Smith,Jane Smith",
"children": "Tommy Smith",
"phone": "+1 555 123 4567"
}

The /return_availability response includes pricing_rates with detailed rate information inside each time_with_description entry:

"pricing_rates": [
{
"pricing_rate": "Adult",
"min_age": 18,
"max_age": 99,
"min_quantity": 1,
"max_quantity": 50
},
{
"pricing_rate": "Child",
"min_age": 5,
"max_age": 17,
"min_quantity": 0,
"max_quantity": 10
}
]

Use this to:

  • Display age requirements to customers
  • Validate booking quantities before submission
  • Show appropriate pricing options
When pricing_rate Contains Use These Parameters
"Adult", "Child", "Senior" (person types) adults=N, children=N, etc., then names in booking
"2 Hours", "4 Hours" (durations) 2_hours=1 (select that duration)
Quantity-based entries quantity=N (total group size)
"Adult", "Child" (singular, API-priced) adult=N, often with description