Sixième Étoile — Documentation

Pricing Zones

Configure pricing zones — point, radius, and polygon — their multipliers, priorities, and role in dynamic pricing in Sixième Étoile.

Overview

Pricing Zones are named geographic areas that group locations for pricing purposes. When a quote line is created, the engine identifies which zone the pickup address falls in and which zone the dropoff address falls in, then applies the configured multipliers to adjust the base price.

Zones are defined in Settings → Tarification → Zones (screen N-09) and can also be drawn on the interactive map editor (screen K-01).


Zone Fields

Every PricingZone record has the following configurable parameters:

FieldPurposeAllowed valuesEffect
nameHuman-readable labelFree textDisplayed in dropdowns and the zone editor
typeGeographic shape of the zonePOINT, RADIUS, POLYGONDetermines how the zone boundary is defined and evaluated
priceMultiplierMultiplier applied to the base trip priceDecimal > 0 (e.g. 1.5 = +50%, 0.8 = −20%)The base price is multiplied by this value when the trip's pickup or dropoff falls inside the zone
priorityTiebreaker weight when multiple zones conflictInteger ≥ 0 (higher = higher priority)Used by the PRIORITY, PRIORITY_THEN_MOST_EXPENSIVE, and PRIORITY_THEN_CLOSEST conflict strategies
centerLatitudeLatitude of the zone center pointValid decimal latitude (e.g. 48.8566)Required for RADIUS zones; used for distance calculation in CLOSEST and PRIORITY_THEN_CLOSEST strategies on POLYGON zones
centerLongitudeLongitude of the zone center pointValid decimal longitude (e.g. 2.3522)Required for RADIUS zones; used for distance calculation in CLOSEST and PRIORITY_THEN_CLOSEST strategies on POLYGON zones
radiusMetersRadius of the circle (RADIUS zones only)Positive integer in metersThe zone includes all addresses within this distance from the center point
polygonGeoJSONPolygon boundary (POLYGON zones only)GeoJSON Polygon geometryThe zone includes all addresses whose coordinates fall inside this polygon
isActiveWhether the zone is currently activetrue / falseInactive zones are ignored by the pricing engine; useful for seasonal zones

Zone Types

POINT Zones

A POINT zone is the most specific: it targets a single precise address or landmark (airport terminal, train station, hotel address). Because of their precision, POINT zones win over all other types in the SPECIFICITY conflict strategy.

When to use: Airports, railway stations, or any location where a distinct surcharge or discount applies regardless of the surrounding area.

RADIUS Zones

A RADIUS zone defines a circle centered on (centerLatitude, centerLongitude) with a given radiusMeters. Any address falling within that circle is considered inside the zone.

When to use: City centers, suburbs, or industrial areas where a surcharge applies within a given distance of a landmark.

POLYGON Zones

A POLYGON zone uses a custom geographic shape defined as a GeoJSON polygon. This is the most flexible type and covers irregular administrative areas (e.g., an arrondissement, a département, or a custom commercial territory).

When to use: Administrative boundaries, custom commercial territories, or any area that cannot be approximated by a circle.

Tip: In the CLOSEST and PRIORITY_THEN_CLOSEST conflict strategies, polygon zones need a centerLatitude / centerLongitude to compute the distance to the trip. Set these to the geographic centroid of the polygon.


Configuring a Zone

  1. Go to Settings → Tarification → Zones (screen N-09) and click Add Zone.
  2. Enter a name and select the zone type.
  3. For RADIUS: enter centerLatitude, centerLongitude, and radiusMeters.
  4. For POLYGON: draw the boundary on the map editor (screen K-01) or paste a GeoJSON polygon.
  5. For POINT: enter the precise coordinates.
  6. Set priceMultiplier to the desired price adjustment (e.g. 1.3 for a 30% airport surcharge).
  7. Set priority if you use the PRIORITY conflict strategy.
  8. Save. The zone is immediately active for new quotes.

Multiplier Values

priceMultiplier valueEffect
1.0No change — zone is matched but price is unchanged
1.2+20% surcharge
1.5+50% surcharge
2.0Price doubled
0.8−20% discount
0.5Price halved

A priceMultiplier of 1.0 is valid and useful when you want a zone to win a conflict (via priority) without applying a price change — for example to suppress another zone's multiplier.


How Zone Matching Works

When computing a dynamic price for a trip, the engine:

  1. Resolves the pickup address to a set of matching zones (all zones where the coordinate falls inside the boundary).
  2. Resolves the dropoff address to a set of matching zones.
  3. Applies the conflict strategy (zoneConflictStrategy) to select one zone per endpoint.
  4. Applies the aggregation strategy (zoneMultiplierAggregationStrategy) to combine the pickup zone multiplier and the dropoff zone multiplier into a single factor.
  5. Multiplies the base price by that factor.

See Conflict & Aggregation Strategies for the full details of each strategy.


Practical Tips

  • Use POINT zones for airports. Airport surcharges are the most common use case. Create a POINT zone at each airport terminal you serve with a priceMultiplier of 1.2–1.5.
  • Use POLYGON zones for broader areas. Draw zone boundaries that match your operating area's natural pricing regions (e.g. Paris intra-muros vs. suburbs vs. Île-de-France).
  • Set priorities on overlapping zones. If you have a POLYGON zone for all of Paris and a smaller POINT zone for CDG airport, make sure the POINT zone has a higher priority (or use the SPECIFICITY conflict strategy, which selects POINT over POLYGON automatically).
  • Test with a real address. After creating a zone, create a test quote with an address inside the zone and verify that the trip analysis panel shows the expected multiplier.
Was this page helpful?

On this page