Agent Ready CheckoutEdition . The pay layer for agents.

360 check, 9 Nov 2026

Royal Caribbean on the pay layer: the 360 agent-readiness check

In short

Royal Caribbean scores 55 of 100 on Ora's agent-readiness scan, a C, read 14 Nov 2026. The six payment checks did not apply to royalcaribbean.com on this read, which is how Ora treats a site it does not read as a shop. An agent-skills file, an llms.txt and an MCP path, two of them HTML pages.

On 14 Nov 2026 the public site at royalcaribbean.com scored 55 of 100 on Ora's agent-readiness scan, a C. Royal Caribbean is the second-largest cruise operator, selling sailings direct online, so this check reads the Payments layer first: the six checks that look for x402, MPP, UCP, ACP and AP2 on the domain, the same protocols this site's matrix tracks row by row. The other layers follow, with every check Ora ran and what it saw. Ora's one-line summary: Royal Caribbean's agent discovery file is present, but it lacks a published OpenAPI specification.

The score

Royal Caribbean on Ora, read 14 Nov 2026: points per layer, with the share of each layer's maximum. 22 checks pass, 12 are partial, 37 fail and 61 do not apply to this site.
LayerPointsShareWhat the layer asks
Discovery10 of 1471%Can agents find and recommend it
Access29 of 5058%Can agents read it
Usability22 of 4945%Can agents use it
Payments0 of 0none applyCan agents pay
Total55 of 10055%Grade C

The pay layer

Ora did not run the six payment checks against royalcaribbean.com on this read: it marks them not applicable on a site it does not read as a shop, so the layer has no maximum and costs nothing. A travel seller that sells online can still publish any of the five protocols; the matrix says which processors and platforms carry each one. Each protocol links to its matrix row, where the processors and platforms that carry it are dated and sourced.

The six Payments checks Ora runs, on royalcaribbean.com, read 14 Nov 2026. A protocol not found costs nothing, and a check marked does not apply was not run against the site.
Payment checkResultPointsMatrix rowWhat Ora saw
x402Does not apply0 of 2x402 in the matrixNo commerce signals detected - agent-payment protocols are optional for non-commerce sites
MPPDoes not apply0 of 2MPP in the matrixNo commerce signals detected - agent-payment protocols are optional for non-commerce sites
UCPDoes not apply0 of 3UCP in the matrixNo commerce signals detected - agent-payment protocols are optional for non-commerce sites
ACPDoes not apply0 of 3ACP in the matrixNo commerce signals detected - agent-payment protocols are optional for non-commerce sites
ACP delegate paymentDoes not apply0 of 3ACP in the matrixNo commerce signals detected - agent-payment protocols are optional for non-commerce sites
AP2Does not apply0 of 3AP2 in the matrixNo commerce signals detected - agent-payment protocols are optional for non-commerce sites

The other layers, check by check

Every check Ora ran on royalcaribbean.com, grouped by layer, with the result, the points and what Ora recorded where its wording passes this site's gate.

Discovery: 10 of 14

Discovery checks on royalcaribbean.com, read 14 Nov 2026; 7 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
ARD discoveryFail0 of 1No /.well-known/ard.json, no same-site rel="ard" link, and no legacy /.well-known/ai-catalog.json
Developer resource discoverabilityFail0 of 3Agent searched for "royalcaribbean" developer resources but found nothing relevant
Brand name discoverabilityPass3 of 3royalcaribbean.com ranks #1 for "Royal Caribbean vacation packages"
Wikipedia / Wikidata entity presencePass4 of 4Wikipedia "Royal Caribbean International" and Wikidata Q929872 both verified - domain confirmed on both sources
robots.txt AI crawler policyPass2 of 2AI search crawlers: allowed in 3 of 3 checks (3 crawlers on 1 page). AI training crawlers: allowed in 2 of 2 checks (2 crawlers on 1 page), not scored.
Agent platform configsFail0 of 1Could not locate a public repo containing agent configs or rules. If our probes missed it, AI coding agents likely will too - link the repo from your homepage or docs so it's discoverable.
Agent Plugins manifestFail0 of 1No Agent Plugins manifest (plugin.json) found in discovered repos
ChatGPT app listedFail0 of 2Not found in ChatGPT app directory
Homepage not hidden from searchPass1 of 1No noindex on the homepage: no robots, googlebot or bingbot meta tag and no X-Robots-Tag header hides it from search.

Access: 29 of 50

Access checks on royalcaribbean.com, read 14 Nov 2026; 6 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
Sitemap existsPass2 of 2Valid sitemap found at https://www.royalcaribbean.com/sitemap/sitemap_index.xml with multiple sitemaps entries
Content without JavaScriptPartial2 of 34614 chars with H1, but first content heading is H3, not H1; 2.2% content ratio is below the 5% target
Not blocked by bot detectionPass2 of 2Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot).
Agent discovery filePass2 of 2Agent discovery file found at /.well-known/agent-skills
A2A / agent-cardFail0 of 2No A2A agent card found at /.well-known/agent-card.json
Listed on skills.shFail0 of 1No official skills self-published on skills.sh
pricing.md existsPartial1 of 2pricing.md found at /.well-known/pricing.md (100 lines), but it does not open with a # heading - start it with a # title so agents read it as markdown
NLWeb Schema FeedsFail0 of 1No schemamap: directive in robots.txt
MCP well-known discoveryFail0 of 2No MCP server URL discovered
Agent mode viewPass2 of 2Pass, no detail recorded.
HTTP Link headers (RFC 8288)Fail0 of 1Link header present but no agent-relevant rel values (sitemap, describedby, alternate, service-desc)
Markdown URL fallbackFail0 of 2Homepage does not support the .md suffix. Probed https://royalcaribbean.com/index.md and it did not return markdown (expected text/markdown content-type or a heading-led non-HTML body).
Modular llms.txt per product areaFail0 of 1No section-level llms.txt found. Tried /docs/llms.txt, /api/llms.txt, /developers/llms.txt, /guides/llms.txt, /reference/llms.txt, /cruises/llms.txt, /cruise-destinations/llms.txt, /cruise-ports/llms.txt, /mexico-cruises/llms.txt
Sitemap freshness (lastmod)Pass1 of 1Pass, no detail recorded.
robots.txt agent-user policyPass2 of 2No applicable crawl or usage restriction found for 3 user-triggered agents (chatgpt-user, claude-user, perplexity-user) on 1 public page: https://royalcaribbean.com/. Declared policy only
llms.txt existsPartial0 of 1A file is present at https://royalcaribbean.com/.well-known/llms.txt, but it returns an HTML page rather than a plain-text llms.txt.
llms.txt formattingFail0 of 2No llms.txt found to evaluate quality
JSON-LD structured dataPartial2 of 4JSON-LD Organization found - missing description on this entity
Pricing info accessiblePass3 of 3Pass, no detail recorded.
Public API/docs linked from homepageFail0 of 3No public API or documentation page linked from homepage
Agent instruction / when-to-usePartial2 of 3Agent instruction file at /.well-known/agent-skills/ but no explicit when-to-use guidance
Skills.sh skill qualityFail0 of 2No official skills on skills.sh to evaluate
JSON-LD entity linking (sameAs)Fail0 of 2No sameAs entity linking in JSON-LD - agents cannot disambiguate your brand
Metadata completenessPass2 of 2All metadata signals present: canonical URL, lang="en-us", og:image, og:type
Organization schema completenessPartial1 of 2Organization schema found but missing: contactPoint, address
Schema type breadthPartial1 of 2Some extended schema types found: VideoObject - add 2 more types that match what the homepage shows, for full coverage
Trust anchor pagesPass2 of 2Pass, no detail recorded.
Markdown alternate linkFail0 of 1No sampled page advertises a markdown alternate. Add <link rel="alternate" type="text/markdown" href="..."> (or the equivalent Link response header) pointing at a markdown twin of the page.
Redirect hygienePass1 of 1Pass, no detail recorded.
Page token budgetPass1 of 1All 1 measured page fit an agent context budget (largest ~1K tokens)
OpenAPI spec publishedFail0 of 7No OpenAPI/Swagger specification found
API catalog (RFC 9727)Partial1 of 2api-catalog responded but body is not valid JSON
Markdown agent docsFail0 of 1Missing markdown content negotiation. Homepage returned text/html when probed with Accept: text/markdown (expected text/markdown), and none of the well-known root paths (/llms.md, /auth.md, /agents.md, /developers.md
Markdown content negotiation (acceptmarkdown.com)Fail0 of 1Homepage https://royalcaribbean.com does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html;charset=utf-8; Vary header missing Accept (got "accept-encoding")
Bot-UA markdown servingFail0 of 1No probed bot User-Agent (ChatGPT-User, Claude-User, Perplexity-User) receives markdown when requesting HTML. Optional: detect AI-bot UAs server-side and serve them a markdown representation directly.
Agent crawler reachabilityPass2 of 2Reachable to every agent we tested - ChatGPT-User: reachable, OAI-SearchBot: reachable, Claude-User: reachable, PerplexityBot: reachable

Usability: 22 of 49

Usability checks on royalcaribbean.com, read 14 Nov 2026; 42 more checks in this layer did not apply to the site.
CheckResultPointsWhat Ora saw
Public API with reachable endpointsFail0 of 7No publicly reachable API surface detected (REST and GraphQL both absent or auth-gated)
OAuth 2.0 supportPass5 of 5OpenID Connect discovery endpoint found at https://royalcaribbean.com
Scoped permissionsFail0 of 5No declared OAuth scopes, security schemes, or scoped-permission documentation found
Agent onboarding frictionPartial1 of 2Onboarding signals described but not verified live: self-serve key generation
Web Bot Auth directoryPartial1 of 2Web Bot Auth directory found but body is not valid JSON
OAuth Protected Resource metadata (RFC 9728)Fail0 of 2No /.well-known/oauth-protected-resource found (RFC 9728)
auth.md existsFail0 of 2No /auth.md found at site root
auth.md structureFail0 of 2No /auth.md found at site root
Agent auth discovery metadataFail0 of 3Neither /.well-known/oauth-protected-resource nor /.well-known/oauth-authorization-server found. Probed: royalcaribbean.com, api.royalcaribbean.com.
Agent auth WWW-Authenticate hintFail0 of 1No 401 with WWW-Authenticate: Bearer resource_metadata=... found. Probed [https://royalcaribbean.com/api, https://royalcaribbean.com/api/v1, https://royalcaribbean.com/v1, https://royalcaribbean.com/v2
agent_auth endpoints reachableFail0 of 2No agent_auth endpoint URIs found in AS metadata or /auth.md prose; nothing to probe
MCP server / manifestPartial2 of 6/.well-known/mcp serves an HTML page, not an MCP endpoint
WebMCP supportFail0 of 5No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 28 of 28 same-origin script bundle(s) for modelContext registrations)
JSON error responsesPass4 of 4Pass, no detail recorded.
NLWeb /ask endpointFail0 of 1No NLWeb-conformant /ask endpoint found via GET or POST
NLWeb streaming supportFail0 of 1No response from /ask endpoint for streaming request
MCP server-card.jsonFail0 of 2No MCP server card found (checked /.well-known/mcp/server-card.json, the site's ai-catalog.json, servers[].card in mcp.json, and <server>/server-card)
Product + docs MCP coverageFail0 of 2This bonus needs two MCP servers: one for your product so agents can take actions, and a separate one for your documentation so agents can answer questions from your docs.
Sandbox / test environmentFail0 of 2No sandbox or test environment found
Agent-friendly 404sPartial1 of 2The nonexistent path https://royalcaribbean.com/__ora-404-probe-1fn9llq3 correctly returns HTTP 404. Partial credit: no Markdown error body was detected.
Native interactive controlsPass3 of 3Pass, no detail recorded.
Accessible names on controlsPass2 of 2Pass, no detail recorded.
Form control labelingPass2 of 2Pass, no detail recorded.
Accessibility-tree injection safety (bonus)Pass2 of 2Pass, no detail recorded.
API schema complexity analysisFail0 of 2No API schema detected
Function calling compatibilityFail0 of 2No API spec found - function calling requires discoverable endpoints

The fixes worth most points

Ora attaches an estimate to each failing or partial check: how many points the site would gain by passing it. These are the 5 with the largest estimates for Royal Caribbean.

Public API with reachable endpoints
Fail, 0 of 7, about 6.3 points to gain. Ora saw: No publicly reachable API surface detected (REST and GraphQL both absent or auth-gated).
Developer resource discoverability
Fail, 0 of 3, about 4.8 points to gain. Ora saw: Agent searched for "royalcaribbean" developer resources but found nothing relevant.
OpenAPI spec published
Fail, 0 of 7, about 4.7 points to gain. Ora saw: No OpenAPI/Swagger specification found.
Scoped permissions
Fail, 0 of 5, about 4.5 points to gain. Ora saw: No declared OAuth scopes, security schemes, or scoped-permission documentation found.
WebMCP support
Fail, 0 of 5, about 4.5 points to gain. Ora saw: No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 28 of 28 same-origin script bundle(s) for modelContext registrations).

Our read

Royal Caribbean has started the agent files and finished none of them. An agent discovery file is present at /.well-known/agent-skills, a rarity here; the llms.txt at /.well-known/llms.txt returns an HTML page, and /.well-known/mcp serves an HTML page rather than an MCP endpoint. The reading side is otherwise in order: all four agent user agents get in, robots.txt allows the search and training crawlers, the sitemap is valid and the home page gives 4,614 characters at a 2.2 percent text ratio; the JSON-LD Organization block lacks its description. Ora read no commerce signals on the second largest cruise line in the world, so the six payment checks did not apply on this read. The act layer is OpenID Connect discovery and nothing else, with no publicly reachable API, and Ora's search for Royal Caribbean developer resources found nothing. The domain ranks first for Royal Caribbean vacation packages. Serve the two files as text and the C moves.

Test your own checkout

The scan above is free and needs no account: enter a domain at ora.ai and read the same layers for your own site, with the six payment checks mapped to this matrix on the Ora Payments page. The command below runs the same audit from a terminal and exits with 1 under the score you set, so it can gate a deploy. Why Ora, and its limits.

npx ax@0.10 audit https://example.com --min-score 70

All 360 checks, one company a day. Corrections to the corrections page.

Sources

  1. ora.ai/api/score/royalcaribbean.com, Ora's scan (vendor), read 14 Nov 2026
  2. Ora check catalog (GET /api/checks), read 14 Nov 2026
  3. royalcaribbean.com, the company's site, read 14 Nov 2026

Last reviewed