Reports Tools
Access business analytics including revenue summaries, booking statistics, trends, top-performing products, customers, and experiences, and inventory utilization.
Required scope: reports:read
All report tools are read-only.
Tools Overviewโ
| Tool | Description | Read-only? |
|---|---|---|
get_revenue_summary | Revenue and performance snapshot | Yes |
get_booking_stats | Booking statistics for a period | Yes |
get_booking_trends | When customers made their bookings (by hour, weekday or date) | Yes |
get_gear_out_by_hour | Gear out at the same time in each hour of the day, and the busiest hour | Yes |
get_top_products | Top rental products by bookings or revenue | Yes |
get_rental_time_out | Nights, days or hours each rental item was out in a date window | Yes |
get_top_experiences | Top experiences by bookings or revenue | Yes |
get_top_customers | Top customers by bookings and revenue | Yes |
get_inventory_report | Inventory utilization and fulfillment data | Yes |
get_revenue_summaryโ
Get a performance snapshot for a date range. Shows sales revenue, bookings in period, bookings received, and breakdowns by rental vs experience.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
period | string | No | Predefined period: today, yesterday, this_week, last_week, this_month, last_month, this_year. Preferred over custom dates. |
compare | boolean | No | If true, also returns stats for the previous equivalent period for comparison |
start_date | string | No | Custom start date (only if period is not used) |
end_date | string | No | Custom end date (only if period is not used) |
get_booking_statsโ
Get booking statistics for a date range.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
period | string | No | Predefined period: today, yesterday, this_week, last_week, this_month, last_month, this_year |
compare | boolean | No | If true, includes previous period comparison |
start_date | string | No | Custom start date |
end_date | string | No | Custom end date |
get_booking_trendsโ
When customers made their bookings, counted at the time each booking was created, in the shop's time zone. It does not say when gear is out or sessions run: use get_gear_out_by_hour for that.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
group_by | string | Yes | hour (the hour bookings were made), day_of_week (the weekday they were made), date (bookings made per date) |
period | string | No | Predefined period: this_week, last_week, this_month, last_month, this_year |
start_date | string | No | Custom start date |
end_date | string | No | Custom end date |
get_gear_out_by_hourโ
How many units of each rental item are out at the same time in each hour of the day, over a range of days, in the shop's time zone. Rental hires count from pickup to return, plus the gear each session holds. Back-to-back hires count once, the same way the Today screen counts "Up to N at once". Use it to find the busiest hour, for example the hour with the most kayaks out on Saturdays.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
period | string | No | A named range: this_week, last_week, this_month, last_month, last_30_days, next_30_days, this_year, last_year. start_date and end_date win over it. |
start_date | string | No | First day, YYYY-MM-DD in the shop's time zone. Defaults to 12 weeks ago when no period is given. |
end_date | string | No | Last day, YYYY-MM-DD. Defaults to 4 weeks ahead. Up to one year after start_date. |
weekdays | array of strings | No | Only these days: monday to sunday, for example ["saturday", "sunday"]. Every day when left out. |
items | array of strings | No | Item names or part of them, for example ["kayak", "paddleboard"]. Matches any item whose name contains one. |
product_ids | array of integers | No | Rental item IDs to count. |
category_ids | array of integers | No | Category IDs. Every item in them is counted. |
With no items, product_ids or category_ids, every item is counted together.
Responseโ
| Field | Description |
|---|---|
busiest_hour | The hour with the most units out at once: hour, most_at_once, on (the date it happened) and average_at_once |
by_hour | One row per hour from the first to the last hour with gear out: hour, most_at_once, on, on_weekday, average_at_once |
by_item | Each item's own peak: item, most_at_once, first_at, busiest_hour |
days_counted | Days in the range that match weekdays |
days_with_gear_out | Of those, the days with any of the items out |
timezone | The shop's time zone the hours are in |
truncated | true when the range held more hires or sessions than one request reads. Narrow the dates. |
most_at_once is the highest any counted day reached in that hour. average_at_once is spread over every counted day, quiet days included.
Exampleโ
{
"name": "get_gear_out_by_hour",
"arguments": { "weekdays": ["saturday"], "items": ["kayak", "paddleboard"] }
}
get_rental_time_outโ
How long each rental item was out in a date window, in the unit it is rented by: nights and days for gear rented by the day or week, hours for gear rented by the hour or less. Each booking is cut to the window, so a booking that runs over the end of the month counts only its nights inside the month. Cancelled bookings, quotes and drafts are left out. A line renting 2 of an item counts its time twice.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
period | string | No | this_month (default, the 1st to today), whole_month, last_month, this_week, last_week, last_7_days, last_30_days or this_year, in the shop's own calendar |
date_from | string | No | Start date (YYYY-MM-DD) for any other window. Overrides period |
date_to | string | No | End date (YYYY-MM-DD), inclusive. Defaults to today |
product_id | integer | No | Only this rental item |
by_unit | boolean | No | Also split each item into its units (fleet numbers) |
Returnsโ
checked_window and items, most time out first. Each item has name, product_id, nights and days or hours, bookings (how many bookings it went out on) and booking_ids. With by_unit, each item also has units, one row per unit, plus Not given a unit yet for lines with no unit assigned.
get_top_productsโ
Get top performing rental products by bookings or revenue. Counts bookings made in the range (by booking date), not when the gear was out: for time out, use get_rental_time_out.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | No | Start date (defaults to start of month) |
end_date | string | No | End date (defaults to today) |
limit | integer | No | Number of results (default 10) |
sort_by | string | No | Sort by value (revenue) or quantity (booking count). Default: value |
get_top_experiencesโ
Get top performing experiences by bookings or revenue.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | No | Start date (defaults to start of month) |
end_date | string | No | End date (defaults to today) |
limit | integer | No | Number of results (default 10) |
sort_by | string | No | Sort by value (revenue) or quantity (booking count). Default: value |
get_top_customersโ
Get top customers by bookings and revenue.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | No | Start date (defaults to start of month) |
end_date | string | No | End date (defaults to today) |
limit | integer | No | Number of results (default 10) |
get_inventory_reportโ
Get inventory utilization report showing product performance, availability, and fulfillment data.
Parametersโ
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | No | Start date (defaults to start of month) |
end_date | string | No | End date (defaults to today) |
Relatedโ
- Reports REST API - REST API endpoints for reports