DEV Community

iamTheDev
iamTheDev

Posted on

OPC Company Builds Internal Business Travel with Hotel MCP: 3-Week Automation POC

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]       │
└──────────────────────────────────────────────────┘`
Enter fullscreen mode Exit fullscreen mode

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:

  1. Unified platform — 3 employees, 1 entry point, 1 price baseline
  2. Project-based allocation — travel costs auto-categorized by project, no manual month-end spreadsheets
  3. 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 effortBefore: 0.5 person-days × 12 = 6 person-days; After: 0.1 × 12 = 1.2 person-days; Savings: 4.8 person-days.
  • Equivalent labor costBefore: $600/day × 6 = $3,600; After: $600 × 1.2 = $720; Savings: $2,880.
  • Annual equivalent savingsBefore: —; 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

  1. Don't start with B2B — 99% of 5–15 person OPCs shouldn't. Run MCP for 3–6 months first.
  2. Monitor price drops > book immediately — "Find 3 candidates + monitor 3 days + book whichever drops most" is 3–5× more effective than "find the cheapest."
  3. Tag travel by project — Without project allocation, you're stuck in the "boss does manual accounting" loop.
  4. Make reconciliation one-click — Monthly accounting must be a single CSV export.
  5. Use free cancellation as your safety net — No negotiating power means "book one + monitor + rebook on drop" requires free cancellation.
  6. Don't chase corporate rates — 5–15 people can't negotiate. Focus on monitoring.
  7. Boss does the POC personally — Employees won't push through a "save the boss time" tool. Only the boss has the motivation.
  8. 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)