Platform/Pricing Calendar
Pricing Calendar

One day.
One row. One decision.

Eight signals + the recommended action, on every row. Forecast, on-the-books, pickup, search demand, competitor rate, triggered alerts, events, and the algorithm-suggested price — all of it without switching tabs, monitors, or systems.

From the same row, you set the price, apply restrictions, or open and close channel pools. Every action is saved against the date — so weeks later, on a graph, you can see whether the +10% you tried last August actually held the pickup curve. The biggest benefit isn't the calendar itself. It's that one screen replaces five.

app.peaqplus.com/pricing/calendar
PRICING CALENDAR · NEXT 30 DAYS
CHM online
Date
🔔
🔍
F'cast
Occ%
ADR
Comp
Set price
Fri · Aug 15
1
●●●
42
78
152
158
165
Sat · Aug 16
2
●●●
44
84
158
164
172
Sun · Aug 17
●●
38
64
142
148
145
Mon · Aug 18
28
48
128
132
125
Tue · Aug 19
1
31
52
134
138
138
Hover any cell · click 📈 for History · check rows for bulk-edit
01
The premise

No five tabs. No monitor-switching. Just one row.

The classic morning routine is fragmented: open the PMS for occupancy, open the forecast tab for tomorrow's projection, open the booking-engine analytics for search demand, open the OTA extranets for competitor rates, open the spreadsheet for last year's same-point reference, open the alerts inbox for what triggered overnight. Five tabs, ten minutes of context-switching, on two or three monitors — before any decision lands.

The Pricing Calendar collapses that into a single grid. Every row is a date. Every column is a piece of context the decision needs. The suggested price sits on the right — accept, override, or skip. The cart drawer captures the changes; one save pushes them through your channel manager to every OTA you sell on.

The frame
  • One row per date — every signal needed for that day, side by side
  • Filters across four categories — day-type, occupancy, pickup, price-delta
  • Channel-manager status indicator — green online / red offline at all times
  • Engine-transparent — works identically on the Zone and Matrix engines (the suggested-price column reflects whichever is active)
BEFORE / AFTER
BEFORE — 5 tabs, 10 minutes
PMS occupancy
Forecast tab
OTA extranets
Booking-engine analytics
Last-year spreadsheet
AFTER — 1 row, 1 minute
One calendar row. Forecast · occupancy · pickup · demand · competitor · suggested price · history — all of it on one line per date. Decisions go into the cart, save runs as one batch.
02
What's in a row

Eight signals. Three actions. One line.

Each row carries the eight signals a pricing decision needs: the events landing on that date, the alerts that triggered overnight, the search demand from your booking engine, the Smart Forecast room-nights, the on-the-books occupancy and pickup direction, the realised ADR, the competitor average, and the algorithm-suggested price. Feature-flagged columns appear when the matching module is enabled, so the row only carries what your property actually uses.

From the same row, three actions: accept (or override) the suggested rate, apply restrictions (minimum stay, no-arrival, no-departure, closed), or open/close channel pools — control which OTAs sell which days. Hovers and drill-downs are first-class: the competitor cell lists the offers per OTA, the demand cell shows top-5 search comparisons, the alert cell lists the triggered conditions with their actual values.

Eight signals + three actions
  • Date · events icon · history button
  • Triggered alerts — badge with count · drill into which conditions fired
  • Search demand from your booking engine — intensity colour, top-5 search comparisons, conversion %
  • Smart Forecast — room-night estimate · hover for ADR + revenue projection
  • On-the-books · pickup direction — occupancy %, ADR, pickup arrow (↑ green / ↓ red / ● flat)
  • Competitor average — drill into per-channel offers across every connected OTA
  • Algorithm-suggested price — inline dropdown · one click to accept
  • Restrictions + channel-pool open/close — same row, same drawer, one save
ONE ROW · WHAT EACH CELL SAYS
Fri · Aug 15
1
●●●
42
78 ↑
€152
€158
€165
01
Dateholiday icon + 📈 History trigger
02
Alertsbadge with count · hover for triggered conditions + actual values
03
Demandintensity tier vs top-5 search peaks · hover for conversion %
04
ForecastSmart Forecast room-nights · hover for ADR + revenue
05
Occ %occupancy % + pickup direction arrow · hover for individual/group split
06
ADRrealized ADR with pickup direction · revenue-type filterable
07
Comp avgper-channel offer breakdown on hover · every connected OTA · your direct site
08
Suggestedinline suggested-price dropdown + accept button
03
Every action saved · the learning loop

Every rate decision, traceable to its outcome.

Every action you take on a row is captured: the price you set, the restriction you applied, the channel pool you opened or closed. Weeks later, the History button next to that date opens a chart that shows what happened next. Pick a check-in date, choose 30, 60, or 90 days of lookback — three lines materialise: the price you set over time, the room-nights that came in, and the ADR that resulted.

Yellow row highlights mark the days a rate change was actually saved. Nothing is overwritten — even the rate-change you reverted is still there. Result: data-driven pricing learning. "I raised August 15th by 10% on July 10th. The pickup paused for four days, then resumed. The raise held." The reasoning that used to live in a revenue manager's head, now visible in a chart — and re-readable by anyone on the team six months from now.

What it shows
  • Every action logged — price, restriction, channel pool · against the date
  • Three-axis chart in the History modal — price · room nights · ADR over time
  • Yellow row highlights mark every rate-change event in the underlying table
  • Delta toggle — switch the table to per-day change vs previous day
  • Append-only — every saved rate is a new row; reverting doesn't erase history
modal · pricing-history
HISTORY · CHECK-IN AUG 15 · 30 DAYS BACK
Price · pickup · ADR over time
30 / 60 / 90Standard Double
+€10 raisepickup pauseresume17513018030d agotoday
Set price Room nights ADR Rate-change day
Read: On Jul 10, +€10 raise. Pickup paused 4 days (Jul 10–14), then resumed at a similar pace. The raise held — no need to roll back. Captured automatically — no manual notes.
The four rating modes

How a rate landed — captured on every save.

Every saved rate carries one of four mode labels. The mix tells you how much of the calendar runs on auto, how often the rules fired clean, and where the team is overriding most often — which is the data that tunes the next iteration of the matrix or the zone configuration.

01
Automatic

The auto-pricing engine accepted the suggestion and saved it. No human in the loop — because the rule was set up to handle this case.

rating_mode = automatic
02
Rule accepted

A human looked at the suggestion and accepted it as-is. The rule fired clean.

rating_mode = rule_accepted
03
Rule overridden

A human picked a different price that was still inside the rule's options. Partial override.

rating_mode = rule_overrided
04
Manual

A human chose a price outside the rule entirely. Maximum override — flagged as a tuning signal.

rating_mode = manual
04
Bulk pricing · 3-step wizard

Season-shape in a few clicks.

When you need to move 40 weekends, or apply a Friday strategy across the next quarter, the per-day flow is the wrong tool. Check the boxes on the rows that match (or use the filters to narrow first), and the bulk-edit info bar appears.

The wizard runs in three steps — narrow the room-type × rate-type pairs, set the prices and restrictions, then drop the batch into the cart. There's also a one-click "Accept all suggested prices" for the simple case: every selected day's suggestion lands in the cart in a single action.

The flow
  • Step 1 — Filter: which room types × rate types the change applies to
  • Step 2 — Configure: price (unchanged / fixed value), minimum stay, no-arrival / no-departure / closed (D-EDGE only)
  • Step 3 — Confirm: the changes land in the Pricing Cart for review and one-shot save
  • Quick action — "Accept all suggested" runs Step 1–3 implicitly on the selection
modal · bulk-edit · 14 dates selected
BULK EDIT · 14 DATES SELECTED
3-step wizard
1
Filter
Room types · rate types
2
Configure
Price · min stay · restrictions
3
Confirm
Cart drop · review
Step 1 · Filter
Standard Double
Superior Double
Family Room
Quick action: "Accept all suggested" runs steps 1–3 implicitly.
05
The Pricing Cart · stage and push

Stage everything. Push it all at once.

Changes don't save instantly. They collect in a cart drawer on the right edge of the screen — a badge counts the staged changes. You can review, remove individual entries, and only commit when the whole batch reads correctly. The save runs as one batch: every staged change writes to the rate log, syncs through the channel manager, and propagates to the OTAs.

The cart splits into four tabs so you can scan a complex batch quickly: rates, inventory, channel pools, and miscellaneous restrictions. Each tab shows what's about to change, with the from-value and the to-value side by side.

What's in the cart
  • Tab · Rates — date · room type · rate type · current → new
  • Tab · Inventory — date · room type · new room count
  • Tab · Channel pools — date · which OTA channel opens / closes
  • Tab · Other — minimum stay · no-arrival · no-departure · closed
drawer · pricing-cart
PRICING CART
5 changes staged
Save all
Rates5
Inventory
Channel pools
Other
Fri Aug 15
Std Double · BAR
€145
€165
+€20
×
Sat Aug 16
Std Double · BAR
€152
€172
+€20
×
Sun Aug 17
Std Double · BAR
€138
€145
+€7
×
Fri Aug 15
Superior · BAR
€175
€195
+€20
×
Sat Aug 16
Superior · BAR
€182
€198
+€16
×
One save → 5 rate rows + channel-manager sync + audit log
06 — Auto-pricing · the routine, handled

Let the engine run. Step in when judgement matters.

Auto-pricing is the default state. Turn it on and the engine handles every day — the Zone formula (or Matrix rules) computes the suggestion, the calendar saves it, the channel manager pushes it. No clicking through every row. No 7 AM coffee-and-spreadsheet routine. The team's attention frees up for the days that actually need a human in the loop.

When auto is on, you still see everything: the suggested price, the formula tooltip in Zone mode, the History button, the demand cell, the competitor cell, the alert badge. Auto isn't a black box — it's a default with full visibility. When a specific window needs manual control (a known event, a strategy push, a one-off), a closed-period override returns the wheel for just those days. The rest of the calendar keeps running on auto.

  • Auto-mode default — set it once, the engine handles the routine forever after
  • Full supervision — see the suggestion, the formula, the history, even on auto days
  • Surgical override — closed-period windows return manual control for just the dates you choose
  • Forecast-triggered recalculation — engine re-evaluates after every forecast refresh
  • Manual re-run — kick a recalculation by hand any time, without waiting for a forecast
AUTO-PRICING · TODAY'S SUPERVISION
Mon Aug 18
auto€125
baseline + (−2 × €15 × 0.6) = −€18
Tue Aug 19
auto€138
baseline + (+5 × €15 × 1.2 × 1.0) = +€18
Wed Aug 20
manual€185
closed-period · event override
Thu Aug 21
auto€144
baseline + (+1 × €15 × 1.2 × 1.2) = +€4
Wed Aug 20 was a manual day — added to AutoPricingClosedPeriod after event-week strategy call.
What feeds a row

The data behind every cell.

A single day's row is the union of nine sources, assembled in one pass so the view stays fast even at month-scale. The same row reads the same way every time, whether it's tomorrow or six months out.

01
Occupancy + pickup

Actual reservations plus the yesterday and last-week baselines, from your snapshot history.

Live · snapshot-backed
02
Forecast

Smart Forecast room-night estimate for the date, with ADR + revenue projection in the popover.

Updated daily
03
Booking-engine demand

Search counts and top-5 most-searched dates from your booking engine, with a configurable pickup-window.

Live · per-search
04
Competitor average

Per-channel offers from the nightly rate-monitoring scrape, with the per-night drill-down in the popover.

Refreshed nightly
05
Suggested price

The active engine (Matrix or Zone) computes the recommendation; the dropdown shows it inline.

Engine-driven
06
Current rate

The latest rate, with the restrictions (closed, no-arrival, no-departure) and minimum stay surfaced.

Live · last save wins
07
Inventory

Room availability for the date — surfaces in the cart's Inventory tab when changed.

From the PMS
08
Channel pool state

Which OTA channels are open or closed for the date — surfaces in the cart's Channel pools tab.

Per-channel state
09
Holidays + alerts

Multi-country holiday calendar plus any triggered alerts for the date.

Calendar + alerts
Signal → Decision → Action → Outcome

See your morning routine collapse into one screen.

In our 45–60 minute walkthrough, we run Peaqplus on our live demo environment — a simulated property with data that moves day to day — walk through a full day's row of the calendar, open the History modal on a past date, run a bulk-edit, and save through the Pricing Cart end-to-end. You see what your 7:30 AM would actually look like.

No setup fee. No PMS access needed.