Skip to main content
Glama
stays.py2.45 kB
"""Stays-specific formatting utilities.""" from typing import Dict, Any from .common import format_currency def format_markdown_accommodation(accommodation: Dict[str, Any]) -> str: """Format an accommodation object as readable markdown.""" lines = [] lines.append(f"## {accommodation.get('name', 'N/A')}") lines.append(f"**ID**: `{accommodation.get('id', 'N/A')}`") location = accommodation.get("location", {}) if location: lines.append(f"**Location**: {location.get('city_name', 'N/A')}, {location.get('country_name', 'N/A')}") lines.append(f"**Address**: {location.get('address', {}).get('line_one', 'N/A')}") ratings = accommodation.get("ratings", []) if ratings: lines.append("**Ratings**:") for rating in ratings[:3]: # Show top 3 ratings source = rating.get("source", "N/A") value = rating.get("value", "N/A") out_of = rating.get("out_of", "N/A") lines.append(f" - {source}: {value}/{out_of}") amenities = accommodation.get("amenities", []) if amenities: amenity_names = [a.get("name", "") for a in amenities[:10]] # Show top 10 lines.append(f"**Amenities**: {', '.join(amenity_names)}") lines.append("") return "\n".join(lines) def format_markdown_accommodation_rate(rate: Dict[str, Any]) -> str: """Format an accommodation rate as readable markdown.""" lines = [] # Room info room = rate.get("room", {}) total_amount = rate.get("total_amount", "0") total_currency = rate.get("total_currency", "USD") lines.append(f"### {room.get('name', 'Room')} - {format_currency(total_amount, total_currency)}") lines.append(f"**Rate ID**: `{rate.get('id', 'N/A')}`") # Beds beds = room.get("beds", []) if beds: bed_desc = ", ".join([f"{bed.get('count', 1)} {bed.get('type', 'bed')}" for bed in beds]) lines.append(f"**Beds**: {bed_desc}") # Check-in/out lines.append(f"**Check-in**: {rate.get('check_in_date', 'N/A')}") lines.append(f"**Check-out**: {rate.get('check_out_date', 'N/A')}") # Nights nights = rate.get("nights", 0) lines.append(f"**Nights**: {nights}") # Cancellation cancellation = rate.get("cancellation_timeline", {}) if cancellation: lines.append(f"**Cancellation**: {cancellation.get('description', 'See policy')}") lines.append("") return "\n".join(lines)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/FortripEngineering/duffel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server