Reservation Search Dashboard
Power-user search across every reservation with filter chips, saved views, and CSV export.
What this template does
A power-user search and filter dashboard for every reservation across every property. Type a guest name, listing, or confirmation code; filter by channel, status, date range, payment state; and the table updates instantly. Saved views let you flip between "Cancelled this month" and "Airbnb confirmed Q2" with a single click.
Built for the operations or finance lead who reaches for "search" a hundred times a day. Faster than paging through the default reservation list, more flexible than a one-off spreadsheet export.
What ships with it
- Live full-text search across guest, listing, and reservation ID
- Filter chips for status, platform, date range, listing group, channel
- Sortable columns with a user-pickable column visibility toggle
- Saved views persisted to localStorage — share one URL, restore the same filters
- CSV export of the filtered set with only the visible columns
What you can customize
Studio is a chat. Paste any of these into the chat panel and the template will be modified in place.
- Add a "payment state" filter (paid / unpaid / partially refunded) tied to your payments table
- Add a sum-of-revenue tile that updates with the filtered set
- Replace the CSV export with a Google Sheets push that appends to a master sheet
- Add a "jump to conversation" action that opens the guest thread in your inbox tool
- Show the booking lead time (days between booking and check-in) as a sortable column
Data this app uses
Reservations are loaded once from `repull.reservations.list({ ... })` and the page runs filter, sort, and aggregate on the client for an instant search bar. The pure `lib/filters.ts` is the engine — no SDK, no React, easy to unit-test. CSV export uses `papaparse` with header-row escaping for embedded commas, quotes, and newlines.
Sample prompts
Five prompts you can paste into the Studio chat to extend this template. Each one is a single self-contained ask — paste, send, review the diff, ship.
- 1
Add a "payment state" filter chip with options paid, unpaid, partially refunded, fully refunded.
- 2
Add a chart at the top showing reservations per week for the filtered set, colored by booking platform.
- 3
Add a column for average daily rate (gross / nights) and make it sortable.
- 4
Replace the CSV download with a Google Sheets "send to sheet" action using my service-account credentials.
- 5
Add a saved-view "Pending payouts" — status confirmed, check-out in the last 30 days, payment state paid.
Starter prompt
Paste this into Studio to scaffold the template from scratch.
Build a reservation search dashboard. Search by guest name, listing, or confirmation code. Filter by channel, status, and date range. Show results in a table with paging. Add saved views and a CSV export.
Live demo
reservation-search.studio.repull.dev
Source code
Fork or browse the template on GitHub.
Build reservation search dashboard in Studio
Open Studio, paste the starter prompt above, and iterate from the live preview.
Open Studio