Here is an internal business travel validation: how a 5–15 person small company built a "runs without the boss" travel automation system.
By Week 3, the boss was on a business trip and dropped a message in the Slack channel: "I'm going to San Francisco on the 26th, need one night near Union Square." Within a minute, the channel bot pushed a card:
`┌──────────────────────────────────────────────────┐
│ 🏨 Hilton Garden Inn San Francisco Union Square │
│ 📅 7/26 - 7/27 · King Room · Breakfast Included │
│ 💰 $189/night (platform rate, was $224) │
│ ✅ Free cancellation until 7/25 6:00 PM │
│ 👤 Requested by: Business Development │
│ 🔗 [Approve] [View Details] [Switch Hotel] │
└──────────────────────────────────────────────────┘`
The boss tapped "Approve" from the train, the card auto-synced to the Slack approval flow, and two hours later the booking confirmation was pushed back to the channel. At month-end reconciliation, a single CSV export auto-allocated costs by project — engineering costs to "Product R&D," sales visits to "Client Development."
Background
We're a 5–15 person company — building B2B tools, content, and some consulting. No travel manager, no shared finance center. The boss is me. I double as sales, operations, product, and finance. Three employees travel regularly: sales to client sites, ops to partner meetings, me to partnership discussions.
Before 2025, business travel worked like this: employee opens a booking platform → logs in → searches → picks.
Now it works like this: channel bot hears keywords → pushes candidate cards.
In March 2026, I decided to build an internal travel service. Three goals:
- Unified platform — 3 employees, 1 entry point, 1 price baseline
- Project-based allocation — travel costs auto-categorized by project, no manual month-end spreadsheets
- Runs without the boss — travel requests don't need the boss to reply on Slack instantly
OPC (One Person Company) companies need this differently than large companies:
- Large companies (1000+ people) can negotiate B2B corporate rates ($50–100K/year minimum)
- OPC companies (under 10 people) have zero negotiating power — suppliers don't care about your volume
- Large companies have IT departments; OPC companies have the boss as IT
- Large companies use OA systems for approvals; OPC bosses approve from their phones on the train
The tool used is RollingGo Hotel MCP — a fully open-source hotel MCP tool providing out-of-the-box real-time hotel data for AI agent developers.
5-Minute Quick Start: https://global.rollinggo.store/docs/mcp-docs/quick-start
Selection Process
I didn't do a competitive feature matrix — OPC selection works differently. I used a "hard-conditions filter" with 3 non-negotiable criteria:
- Condition 1: Must embed into our existing Slack/Microsoft Teams workflow (employees won't install a new app — this killed the first batch of options)
- Condition 2: Must support tagging by employee department/project (travel costs must be allocated by project, not processed in Excel after the fact)
- Condition 3: Must provide access to some form of corporate-rate pricing even for small companies (5–15 person OPCs can't negotiate — must rely on MCP's aggregation to access platform-level rates)
Anything requiring enterprise credentials + revenue-share was eliminated. Anything requiring a standalone app was eliminated.
The hotel MCP approach won: it embeds into Slack/Teams (Condition 1), tagging is at the API layer (Condition 2), and it aggregates platform-level rates across multiple suppliers (Condition 3).
Interface Capabilities
The hotel MCP exposes 3 main tools:
searchHotels — Most frequently used (80% of calls). Parameters include place, check-in/check-out dates, adult count, budget, star ratings, preferred/required tags. Returns 5–15 candidate hotels with structured data. Response time: 1.5–2.5 seconds — faster than employees manually browsing platforms.
getHotelDetail — Called after an employee picks a hotel. Returns room types, prices, cancellation policies, breakfast inclusion, booking URL. The cancellationPolicy field is critical for OPC business travel — without negotiating power, free cancellation is the safety net.
getHotelSearchTags — Returns the tag dictionary. OPC travel assistants must filter within known tags, not let the LLM guess.
The full workflow: Search → Detail → Monitor → Alert. The monitoring step is the key for OPC companies — without negotiating power, the only strategy is "wait for a price drop." Monitoring tasks starting 3 days before a trip saved 8–15% on average across 11 monitored bookings.
Deployment: 3-Week Timeline
- Week 1 — Goal: Get "search → detail" working. Key Output: Slack bot pushes hotel cards.
- Week 2 — Goal: Connect "monitor → alert". Key Output: Auto-push on price drops.
- Week 3 — Goal: Integrate approval flow. Key Output: Slack approval panel + project allocation export.
| Week | Goal | Key Output |
|---|---|---|
| Week 1 | Get "search → detail" working | Slack bot pushes hotel cards |
| Week 2 | Connect "monitor → alert" | Auto-push on price drops |
| Week 3 | Integrate approval flow | Slack approval panel + project allocation export |
Week 1: Applied for API key (0 wait, instant approval). Configured Slack bot with webhook. Connected hotel search API — the AI assistant "hears" travel keywords in the channel and triggers automatically.
Week 2: Set up a scheduled task (using existing heartbeat mechanism) to check monitored hotel prices every 4 hours. Configured price-drop thresholds:
- Sales travel — 10% drop alert (price-sensitive).
- Ops travel — 15% drop alert (willing to wait).
- Boss travel — 5% drop alert (time is more expensive).
| Scenario | Threshold |
|---|---|
| Sales travel | 10% drop alert (price-sensitive) |
| Ops travel | 15% drop alert (willing to wait) |
| Boss travel | 5% drop alert (time is more expensive) |
Week 3: Built the approval panel — employees tap "Approve" in-channel, auto-generating an approval ticket in the Slack approval flow. Added a required "Associated Project" field. Month-end: one-click CSV export with project-allocated costs.
Pitfalls (5 Real Ones)
Pitfall 1: API Key with a trailing space → 401 Unauthorized. Fix: Always paste into a text editor first, check for invisible characters.
Pitfall 2: Wrongtypefield → Cursor/Cline rejected with "type not supported." Fix: Must be streamable-http, not http or sse.
Pitfall 3: hotelId expires across days → Monitoring task on Day 2 returns "hotel not found." Fix: Re-run searchHotels first to get fresh hotelId, then call detail.
Pitfall 4: Slack bot message formatting → Cards displayed as garbled text. Fix: Replace newlines with <br> tags, bold key fields.
Pitfall 5: OPC can't negotiate corporate rates → Hotels require 50 room-nights/year minimum; OPC does under 30. Fix: Don't chase corporate rates — rely on MCP-aggregated platform rates + price monitoring. The real value of MCP isn't "negotiating for you," it's "accessing platform-level rates + real-time monitoring."
Business Impact
- Annual travel spend (3 employees) — Before: $12,000; After: $10,500; Savings: $1,500 (12.5%).
- Monthly reconciliation effort — Before: 0.5 person-days × 12 = 6 person-days; After: 0.1 × 12 = 1.2 person-days; Savings: 4.8 person-days.
- Equivalent labor cost — Before: $600/day × 6 = $3,600; After: $600 × 1.2 = $720; Savings: $2,880.
- Annual equivalent savings — Before: —; After: —; Savings: $4,380.
| Dimension | Before | After | Savings |
|---|---|---|---|
| Annual travel spend (3 employees) | $12,000 | $10,500 | $1,500 (12.5%) |
| Monthly reconciliation effort | 0.5 person-days × 12 = 6 person-days | 0.1 × 12 = 1.2 person-days | 4.8 person-days |
| Equivalent labor cost | $600/day × 6 = $3,600 | $600 × 1.2 = $720 | $2,880 |
| Annual equivalent savings | — | — | $4,380 |
For OPC companies, the labor savings matter more than the travel savings — 6 days of reconciliation time freed up means the boss can build product, talk to customers, or ship features.
3-year projection: $4,380 × 3 ≈ $13,140 in total savings — close to one month's salary for one employee. "Wait until we're bigger" has a real cost.
8 Recommendations for OPC Peers
- Don't start with B2B — 99% of 5–15 person OPCs shouldn't. Run MCP for 3–6 months first.
- Monitor price drops > book immediately — "Find 3 candidates + monitor 3 days + book whichever drops most" is 3–5× more effective than "find the cheapest."
- Tag travel by project — Without project allocation, you're stuck in the "boss does manual accounting" loop.
- Make reconciliation one-click — Monthly accounting must be a single CSV export.
- Use free cancellation as your safety net — No negotiating power means "book one + monitor + rebook on drop" requires free cancellation.
- Don't chase corporate rates — 5–15 people can't negotiate. Focus on monitoring.
- Boss does the POC personally — Employees won't push through a "save the boss time" tool. Only the boss has the motivation.
- Common OPC misconceptions:
- Small companies can negotiate rates — 5–15 people have zero leverage.
- Wait until bigger to adopt tools — 3-year cost: ~$13,140.
- Let employees pick hotels — Employees pick by habit, not price.
- Monthly Excel is fine — 6 days/year on reconciliation.
| Misconception | Reality |
|---|---|
| Small companies can negotiate rates | 5–15 people have zero leverage |
| Wait until bigger to adopt tools | 3-year cost: ~$13,140 |
| Let employees pick hotels | Employees pick by habit, not price |
| Monthly Excel is fine | 6 days/year on reconciliation |
Top comments (0)