Skip to content

Show the next 30 nights on a calendar #110

Open

Description

@selvarajuv

Blocked by: #107

Problem

The calendar is the manager's main screen: they review the month at a glance and spot which nights moved. Today it's a static prototype with placeholder prices.

Goal

A month calendar showing the recommended rate for each night, how it changed since the last update, and the events driving it, loaded in one call.

Scope

  • A month view (Monday to Sunday) with previous, next and "this month" controls.
  • Each night's card:
    • the date and the rate in €;
    • the change since the last update (e.g. ↑ €10, ↓ €10), hidden when there's none;
    • the biggest event's name;
    • the manager's own rate when they've set one, marked so it's clear it's theirs;
    • a demand colour.
  • Load the range in one call to the recommendations route with days.
  • Clicking a night opens a popover with a short summary and an "Open day" link to the night detail page.
  • Past nights are shown greyed but still open, so feedback can be given after the night.
  • Empty state when the hotel has no trained model yet.

Design

  • Follow the existing calendar design, with these changes:
    • leave out "Comp set median" and "Comp set gap" (no competitor data);
    • mark the manager's own rate on a card;
    • show "% sold" and "Pickup, 7 days" only if the API provides them; otherwise leave them out.
  • Open question: which "Color by" options to keep (demand, occupancy, price change, events, weather) and what each colour means.
  • Open question: the design says "Rates shown are Double, lowest available"; with one room type, what should this label say?

Acceptance criteria

  • The design changes are agreed before building.
  • The calendar shows 30+ nights from one API call (mocked until the backend is ready), with no placeholder numbers.
  • Each card shows its rate, change and top event as described.
  • Nights with a manager's rate show it, marked as theirs.
  • Clicking a night opens the popover; "Open day" opens the night detail page.
  • Without a trained model, the calendar shows a clear message instead of an error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureIntroduces a new and complete featurefrontendScreens, app shell and API client

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions