Dynamic pricing,
not roulette.
The Zone engine — pickup-sensitive, lead-time-aware, competitor-floored — is the smart default. A rule-based Matrix is there for properties on stable seasonal calendars. Both push through the same channel-manager pipeline, write to the same audit log, respect the same closed-period guards.
Most AI pricing tools optimize behind glass. Peaqplus takes the other path: formulas you can read off the screen, every change auditable, every override logged, every rate defendable. Auto-pricing handles the routine; you take over when judgement matters.
Pickup-sensitive. Lead-time-aware. Defended.
The Zone engine is the primary pricing model — and the one most properties should run on. It does not store an absolute price; it stores a delta from your most recent saved rate. Every recalculation asks one question: relative to yesterday's snapshot, how did occupancy move, and where should the price land as a result? Then it applies the multiplier for the current zone, the direction (up or down), and the lead-time bucket — and clamps the result to a floor and a ceiling.
The fit: properties operating in dynamic markets with sharp pickup curves and a competitive set that moves. Up and down moves use different multipliers (anti-yo-yo asymmetry). Close-in dates react harder than far-out dates (lead-time multiplier). And the floor is competitor-aware — when public competitor data is on, the price refuses to go below the market minimum × your configured ratio.
- Two rule shapes — proportional (continuous, smooth response) or threshold (stepped, only on zone-crossings)
- Lead-time multipliers — close-in (0–7 days) reacts harder than far-out (31+ days), configurable buckets
- Up / down asymmetry — raise quickly when pickup accelerates, lower cautiously when it slows
- Floor + ceiling clamps — every price kept inside ±% of the day's baseline (defaults: 70% / 150%)
- Competitor floor — when public-rate monitoring is on, the price refuses to undercut the market minimum × ratio
- Auditable — every move is a new rate row, with the full reasoning attached
When a publishable rate table beats reactivity.
Some properties don't want dynamic. Resort calendars with a published high/low rate. Group contracts with parity rules. Brand-mandated table-style strategies. For these, the Matrix engine carries a four-level rule structure: Pricing Group → Rule → Rate Level → Price. A pricing group covers a period (season, holiday, date range). A rule sits inside the group, scoped to a room type. A rate level defines an occupancy band — Low, Medium, High, Peak.
At any moment, the platform reads the day's actual occupancy, finds the right rate level, picks the right price for that day-of-week, and shows it on the Pricing Map. The rule is visible. The math is simple. The override is one click. Switch between Matrix and Zone with a single setting — the rest of the platform (calendar, channel push, audit log, closed-period guards) doesn't change.
- Nights-based — recommendation triggers on absolute room-night counts
- Occupancy-based — recommendation triggers on % occupancy
- Event override — holidays + special events get their own pricing group
- Switch to Zone any time — the calendar, channel push and audit log carry over unchanged
Both engines share everything except the math.
Whichever engine your hotel runs on, the rest of the platform behaves identically. The Pricing Map view — the day-class calendar where you see each day's rate-level state at a glance — the channel-manager push pipeline, the audit log, the closed-period guards, the auto-pricing toggle, the override workflow — all shared. The decision you make today is logged the same way regardless of which engine generated the suggestion.
- Shared Pricing Map — the day-class calendar view works identically on both engines
- Shared channel push — Free Sale / Corporate / Cancellation Strict groups, audit-trailed
- Shared auto-pricing — let the engine save automatically, override per day, or run it manually
- Shared closed-period guard — events, manual-strategy windows, booking stops respected by both
- Delta from yesterday's rate
- Continuous or threshold response
- Lead-time-aware multipliers
- Competitor-floor defended
- Absolute prices in a table
- Triggers on occupancy band
- Stepped — one rate per band
- For published seasonal calendars
One day. One rate level. One screen.
The Pricing Map is the calendar view of your pricing strategy — shared by both engines. Every day in the month carries a single rate-level state (Low / Medium / High / Peak), visible at a glance and color-coded. The platform recommends one based on the active engine; you accept or override. Every change pushes to your channel manager and the OTAs immediately.
- Basic — one global pricing group, day-class chosen from the same rate levels
- Group-based — multiple seasonal groups, each with its own rate-level set
- Time Machine — see the Pricing Map three weeks ago, with the projected day-class
- Engine-agnostic — the same surface works whether Matrix or Zone is active
Decisions in Peaqplus. Rates on every channel you sell on.
When you accept a rate, the platform pushes it through your channel manager — and from there to every OTA you have connected (Booking.com, Expedia, your own booking engine, any other channels in your distribution). Channel groups ("Free Sale," "Corporate," "Cancellation Strict") let one decision affect multiple channels at once, so you can move a published rate across the public OTAs while holding the corporate channel steady.
Every push is logged — the exact rate, the channels it went to, success or failure, all stored against the date and the user who made the change. Audit-ready.
- Rate per room type, per rate type, per day
- Stay restrictions: minimum stay, no-arrival, no-departure, closed
- Channel pool open/close — one click controls which OTAs sell which days
- Optional: inventory updates (off by default; opt-in)
Every rate, traceable to a decision.
On every saved rate, Peaqplus logs how the decision was made. Four states, color-coded.
Auto-pricing accepted the rule's suggestion. No human in the loop — because the rule was set up to handle this case.
A human looked at the suggestion and accepted it as-is.
A human picked a different rate that was still inside the rule's options.
A human chose a rate outside the rule entirely. Maximum override.
When the owner asks "why did we drop weekend rates in March?", the answer is one click away. When you re-tune the matrix at year-end, you can see how often the rules fired clean vs. how often they got overridden — and why. The override pattern is the data; the data tunes the matrix.
Clone last year's strategy. Validate every gap.
At year-end, clone any pricing group to a new date range — last year's High Season becomes this year's High Season, in one click. Adjust where needed. Save.
The coverage validator checks every day of the year. Two pricing groups overlapping? Flagged. A holiday-event uncovered? Flagged. A weekend with no day-of-week rate set? Flagged. The errors are visible before you publish, not after.
See both engines in action.
In our 45–60 minute walkthrough, we run Peaqplus on our live demo environment — a simulated property with data that moves day to day — set up a sample pricing group on the Matrix engine, then switch into Zone mode and walk through a delta-based recalculation: same calendar, same channel push, same audit trail. You see which engine fits how you actually run.
No setup fee. No PMS access needed.