{
  "service": "Agent Outposts",
  "logging": "Intent registrations are logged in aggregate (brand, intent, result counts, hashed caller id) for demand statistics. No raw IP addresses are stored; free-text fields are stored only as provided.",
  "disclaimer": "Agent Outposts is not affiliated with Marriott. This Outpost is a demand registry operated by Agent Outposts; door-state data is compiled from public sources (evidence linked per claim) and is not provided, reviewed, or endorsed by Marriott.",
  "outpost": "marriott",
  "brand": "Marriott",
  "category": "Hotels & stays",
  "status": "collecting_demand",
  "headline": "Marriott has no self-serve consumer API — affiliate deep-links/data feeds are approval-gated and full search/book access runs through GDS/aggregator partners.",
  "wall_summary": "Marriott has no self-serve consumer API: its affiliate program offers product catalogs, deep links and data feeds only after approval, and full search, availability and booking run through GDS and aggregator partners. Direct booking and reservation handling on marriott.com remain human web and app channels.",
  "door_state_version": "census-2026-11-01",
  "door_state": {
    "inventory": {
      "state": "aggregator_only",
      "via": "Expedia Partner Solutions Rapid / Amadeus GDS / Booking.com Demand API",
      "evidence_url": "https://devportalprod.marriott.com/",
      "checked_at": "2026-11-01",
      "note": "No consumer availability API on official Marriott pages checked; Marriott CRS availability is partner-only. Same Marriott properties are bookable/searchable via licensed aggregator APIs."
    },
    "menu_browse": {
      "state": "partner_gated",
      "via": "Marriott Affiliate Program (Partnerize) product catalogs/deep links; Marriott Developer Portal (devportalprod.marriott.com)",
      "evidence_url": "https://www.marriott.com/marriott/affiliateprogram.mi",
      "checked_at": "2026-11-01",
      "note": "Affiliate page offers 'Product Catalogs with deep links to any city or hotel' after approval, not a self-serve consumer API. Developer portal exists for CRS partners; no public self-serve signup found."
    },
    "ordering": {
      "state": "aggregator_only",
      "via": "Expedia Partner Solutions Rapid / Amadeus GDS / Booking.com Demand API",
      "evidence_url": "https://devportalprod.marriott.com/",
      "checked_at": "2026-11-01",
      "note": "Direct booking is on marriott.com (human web/app) or via approved CRS/GDS partners; no self-serve Marriott booking API found."
    },
    "prices": {
      "state": "partner_gated",
      "via": "Marriott Affiliate Program data feeds via Partnerize",
      "evidence_url": "https://Www.marriott.com/marriott/affiliateprogramfaq.mi",
      "checked_at": "2026-11-01",
      "note": "FAQ says affiliates get data feeds and deep links after application review/approval at Marriott's sole discretion; no open rates API found."
    },
    "tracking": {
      "state": "aggregator_only",
      "via": "Aggregator order management (e.g. Expedia Rapid / Booking.com Demand Orders) for aggregator bookings; otherwise marriott.com human account",
      "evidence_url": "https://www.marriott.com/robots.txt",
      "checked_at": "2026-11-01",
      "note": "Robots.txt disallows /reservation/ paths for general crawlers, signalling human-only direct reservation handling; aggregator bookings can be managed in the aggregator channel."
    }
  },
  "official_channels": [
    {
      "name": "Marriott Affiliate Program via Partnerize",
      "kind": "partner_program",
      "covers": [
        "menu_browse",
        "prices"
      ],
      "gate": "Affiliates receive product catalogs with deep links and data feeds only after application review and approval at Marriott's sole discretion.",
      "evidence_url": "https://www.marriott.com/marriott/affiliateprogram.mi"
    },
    {
      "name": "Marriott Developer Portal (CRS partners)",
      "kind": "partner_program",
      "covers": [
        "menu_browse",
        "inventory"
      ],
      "gate": "The developer portal exists for CRS partners and Marriott CRS availability is partner-only, with no public self-serve signup found.",
      "evidence_url": "https://devportalprod.marriott.com/"
    },
    {
      "name": "Expedia Partner Solutions Rapid / Amadeus GDS / Booking.com Demand API",
      "kind": "aggregator",
      "covers": [
        "inventory",
        "ordering",
        "tracking"
      ],
      "gate": "The same Marriott properties are searchable and bookable through these licensed aggregator APIs, and bookings made there are managed in the aggregator channel.",
      "evidence_url": "https://devportalprod.marriott.com/"
    },
    {
      "name": "marriott.com / Marriott app",
      "kind": "human_channel",
      "covers": [
        "ordering",
        "tracking"
      ],
      "gate": "Direct booking is on marriott.com as a human web and app channel, and direct reservations are otherwise handled in the human marriott.com account.",
      "evidence_url": "https://www.marriott.com/robots.txt"
    }
  ],
  "agent_native": {
    "mcp_server": false,
    "llms_txt": "unverified",
    "api_catalog": "unverified"
  },
  "bot_posture": {
    "summary": "Restrictive on transactional paths: robots.txt disallows /search/ and /reservation/availabilitySearch.mi for *; no sanctioned bot channel found",
    "evidence_url": "https://www.marriott.com/robots.txt"
  },
  "alternatives": {
    "menu_browse": {
      "count": 2,
      "access": "register_intent"
    },
    "prices": {
      "count": 2,
      "access": "register_intent"
    },
    "inventory": {
      "count": 3,
      "access": "register_intent"
    },
    "ordering": {
      "count": 2,
      "access": "register_intent"
    },
    "tracking": {
      "count": 3,
      "access": "register_intent"
    }
  },
  "alternatives_policy": "Ranked by fit only. Placement is never sold.",
  "register_intent": {
    "method": "POST",
    "url": "https://api.agentoutposts.com/outposts/marriott/intent",
    "body": {
      "intent": "one of: menu_browse | prices | inventory | ordering | tracking",
      "detail": "optional context for the brand (max 500 chars), e.g. the task you were trying to complete. Never include personal data — no names, addresses, or order details.",
      "agent_label": "optional self-declared agent name (max 80 chars). Never put personal data in this field.",
      "est_frequency": "optional, e.g. '40/day'",
      "notify": "'poll' (default) or 'webhook'",
      "notify_url": "required when notify = 'webhook'"
    },
    "returns": "A receipt: ticket, queue position, live demand snapshot, alternatives for your intent, and (poll mode) a notify URL that reports door-state changes.",
    "limits": "100 intent registrations per caller per day"
  }
}