Read-only API for accessing Alpvis RMS data. All endpoints require an API key passed via the X-API-Key header. Responses use a standard JSON envelope with success, data, and meta fields.
Include your API key in every request as an HTTP header:
curl -H "X-API-Key: YOUR_API_KEY" https://alpvis.com/api/v1/occupancy?from=2026-05-01&to=2026-05-07
Each API key has a configurable rate limit (default: 100 requests/hour). Exceeding the limit returns 429 Too Many Requests. Contact your administrator to adjust limits.
/api/v1/occupancy
Occupancy data for a date range
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
from |
string |
No | today | Start date (YYYY-MM-DD) |
to |
string |
No | today + 30 days | End date (YYYY-MM-DD) |
{
"success": true,
"data": [
{
"date": "2026-05-07",
"total_rooms": 69,
"occupied_rooms": 52,
"occupancy_pct": 75.4,
"revenue": 8320,
"adr": 160,
"revpar": 120.6
}
],
"meta": {
"from": "2026-05-07",
"to": "2026-05-14",
"count": 7,
"responseTimeMs": 12
}
}
/api/v1/rates
Current room rates by category and date
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
from |
string |
No | today | Start date (YYYY-MM-DD) |
to |
string |
No | today + 30 days | End date (YYYY-MM-DD) |
category_id |
integer |
No | - | Filter by category ID |
{
"success": true,
"data": [
{
"date": "2026-05-07",
"category_id": 27202,
"category_name": "Superior Double Room",
"short_name": "SUP",
"bar_price": 149,
"recommended_price": 159,
"min_price": 79,
"max_price": 299
}
],
"meta": {
"from": "2026-05-07",
"to": "2026-05-14",
"category_id": "all",
"count": 35,
"responseTimeMs": 18
}
}
/api/v1/forecast
Occupancy and revenue forecast
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
days |
integer |
No | 30 | Number of days to forecast (max 365) |
{
"success": true,
"data": [
{
"date": "2026-05-08",
"predicted_occupancy": 78.2,
"predicted_revenue": 9100,
"predicted_adr": 168,
"confidence": 0.85,
"factors": [
"event_boost",
"weekend"
]
}
],
"meta": {
"from": "2026-05-07",
"to": "2026-06-06",
"days": 30,
"count": 30,
"responseTimeMs": 25
}
}
/api/v1/competitors
Competitor hotel prices
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
from |
string |
No | today | Start date (YYYY-MM-DD) |
to |
string |
No | today + 14 days | End date (YYYY-MM-DD) |
{
"success": true,
"data": [
{
"date": "2026-05-07",
"competitor_name": "Hotel Josefshof am Rathaus",
"source": "booking.com",
"price": 142,
"room_type": "cheapest",
"collected_at": "2026-05-07 05:12:33"
}
],
"meta": {
"from": "2026-05-07",
"to": "2026-05-21",
"count": 42,
"responseTimeMs": 15
}
}
/api/v1/kpis
Key Performance Indicators for a specific date
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
date |
string |
No | today | Date (YYYY-MM-DD) |
{
"success": true,
"data": {
"date": "2026-05-07",
"occupancy": {
"total_rooms": 69,
"occupied_rooms": 52,
"occupancy_pct": 75.4,
"revenue": 8320,
"adr": 160,
"revpar": 120.6
},
"forecast": {
"predicted_occupancy": 78.2,
"predicted_revenue": 9100,
"confidence": 0.85
},
"competitors": {
"avg_competitor_price": 148.5,
"competitor_count": 3
},
"pendingRecommendations": 5,
"activeAlerts": 2
},
"meta": {
"date": "2026-05-07",
"count": 1,
"responseTimeMs": 30
}
}
/api/v1/recommendations
Price recommendations (pending, approved, or rejected)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
status |
string |
No | pending | Filter by status: pending, approved, rejected |
limit |
integer |
No | 100 | Max results (max 500) |
{
"success": true,
"data": [
{
"id": 42,
"date": "2026-05-10",
"category_id": 27202,
"category_name": "Superior Double Room",
"current_price": 149,
"recommended_price": 169,
"change_pct": 13.4,
"reason": "High demand + event",
"status": "pending"
}
],
"meta": {
"status": "pending",
"limit": 100,
"count": 5,
"responseTimeMs": 8
}
}
/api/v1/segments
Segment pricing configuration
No query parameters required.
{
"success": true,
"data": [
{
"id": 1,
"segment_key": "corporate",
"name": "Corporate Rate",
"discount_pct": 15,
"min_nights": 1,
"active": true
}
],
"meta": {
"count": 4,
"responseTimeMs": 5
}
}
/api/v1/restrictions
Active booking restrictions (min stay, CTA, CTD)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
from |
string |
No | today | Start date (YYYY-MM-DD) |
to |
string |
No | today + 30 days | End date (YYYY-MM-DD) |
{
"success": true,
"data": [
{
"date": "2026-05-15",
"category_id": 27202,
"restriction_type": "min_stay",
"value": 2,
"reason": "High demand period",
"source": "auto",
"active": true
}
],
"meta": {
"from": "2026-05-07",
"to": "2026-06-06",
"count": 3,
"responseTimeMs": 6
}
}