Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ATA Travel

REMOTE · ATATRAVEL.CLOUD · SCANNED SEP 21

ATA Travel: agent-first direct booking for accommodations, hotels, and vacation rentals.

Available components

0 this week 84 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 3577 tokens (~188/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management81
  • Stability check failed: schema churn in the 30 days we've observed: 2 tool removals, 3 breaking changes, 0 auth/transport breaks, 3 additions. See how to fix → Fail
Tool Coverage87
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 60% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 19 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the ATA Travel MCP server?

ATA Travel is a hosted endpoint at https://atatravel.cloud/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · atatravel.cloud

# add to Claude Code
claude mcp add --transport http cloud-atatravel-travel-agency 'https://atatravel.cloud/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "cloud-atatravel-travel-agency": {
      "url": "https://atatravel.cloud/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "cloud-atatravel-travel-agency": {
      "type": "http",
      "url": "https://atatravel.cloud/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.cloud-atatravel-travel-agency]
url = "https://atatravel.cloud/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cloud-atatravel-travel-agency": {
      "type": "remote",
      "url": "https://atatravel.cloud/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cloud-atatravel-travel-agency --url 'https://atatravel.cloud/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  cloud-atatravel-travel-agency:
    url: "https://atatravel.cloud/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "cloud-atatravel-travel-agency": {
      "Transport": "http",
      "Url": "https://atatravel.cloud/mcp"
    }
  }
}
# add to Vellum
assistant mcp add cloud-atatravel-travel-agency -t streamable-http -u 'https://atatravel.cloud/mcp'
// mcp.json
{
  "mcpServers": {
    "cloud-atatravel-travel-agency": {
      "type": "http",
      "url": "https://atatravel.cloud/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Sept 26 0
    • A breaking change shipped without a version bump: still 2.4.0 security
    • Tool “create_provisional_booking” rewrote its description, which is the text the model reads security
    • Tool “create_quote” rewrote its description, which is the text the model reads security
    • “create_provisional_booking” added a required parameter “guestCountry”, so existing callers break functional
    • “create_provisional_booking” reworded the description of “guestName” cosmetic
  • 8 Sept 26 0
    • Schema quality: 3185 → 3507 functional
    • New tool “get_booking_details” functional
    • New tool “get_support_contacts” functional
    • “start_traveler_handoff” added an optional parameter “confirmationCode” cosmetic
    • “start_traveler_handoff” reworded the description of “action” cosmetic
  • 5 Sept 26 0
    • “create_quote” added an optional parameter “guestCountry” cosmetic

    1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.

  • 3 Sept 26 −2
    • Tool “get_traveler_memories” was removed security
    • Tool “get_traveler_verification_status” was removed security
    • Tool “start_traveler_verification” was removed security
    • Tool “suggest_traveler_memory” was removed security
    • Tool “verify_traveler_code” was removed security
    • Tool “create_provisional_booking” rewrote its description, which is the text the model reads security
    • Tool “create_quote” rewrote its description, which is the text the model reads security
    • Tool “start_traveler_handoff” rewrote its description, which is the text the model reads security
    • Schema quality: 156 → 185 functional
    • “create_provisional_booking” added a required parameter “idempotencyKey”, so existing callers break functional
    • “create_quote” added a required parameter “idempotencyKey”, so existing callers break functional
    • “start_traveler_handoff” added a required parameter “idempotencyKey”, so existing callers break functional
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
    • Server version: 2.2.0 → 2.4.0 functional
  • 30 Aug 26 −1
    • Stability: pass → fail security
    • A breaking change shipped without a version bump: still 2.2.0 security
    • Tool “create_provisional_booking” rewrote its description, which is the text the model reads security
    • Tool “get_property_details” rewrote its description, which is the text the model reads security
    • “create_provisional_booking” added a required parameter “policyAcknowledged”, so existing callers break functional
    • New tool “get_reservation_status” functional
  • 28 Aug 26 0
    • Server version: 2.1.3 → 2.2.0 functional
    • New tool “get_traveler_verification_status” functional
    • New tool “start_traveler_verification” functional
    • New tool “verify_traveler_code” functional
  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 +1
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://atatravel.cloud/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=atatravel.cloud CN=WR3,O=Google Trust Services,C=US 18 Sept 2026 17 Dec 2026 RSA 2048 SHA256-RSA 5a4f7b006e5f7eb912b279632bb9a28e
SANs: atatravel.cloud
CN=WR3,O=Google Trust Services,C=US (CA) CN=GTS Root R1,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 RSA 2048 SHA256-RSA 7ff005a91568d63abc22861684aa4b5a
CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 19 Jun 2020 28 Jan 2028 RSA 4096 SHA256-RSA 77bd0d6cdb36f91aea210fc4f058d30d

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of atatravel.cloud. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
cloud. present 7041 13 Verified
atatravel.cloud. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy no-referrer

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://atatravel.cloud/mcp Verified 200
http (plaintext) http://atatravel.cloud/mcp HTTPS enforced 302 https://atatravel.cloud/mcp
MCP tools · 19 exposed · ~3,577 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
create_provisional_booking ~621

Secure a reservation or create a host-approval enquiry on behalf of a traveler. policyAcknowledged is required as an explicit boolean and must be true for financially binding flows after the exact total, payment schedule, and cancellation terms are shown; identity verification is not consent. A host-approval enquiry may pass false because payment is not due unless accepted. Also requires the traveler’s full name, email, and country (guestCountry, required for bookings; optional for quotes) plus travelerAssertion or approved internal BOOKING_HOLD agentHandoffId. If verification is needed, keep internal tool details private; tell the traveler to confirm their email and follow the code or link instructions returned by verification. If instant book is enabled and payment is ready, creates an inventory-holding provisional booking and returns payment/manual-payment next steps. If instant book is disabled or Stripe checkout is not ready, creates an enquiry hold for host approval/payment follow-up. Modern clients must provide a UUID idempotencyKey; exact retries replay the original result without repeating the action.

NameTypeReqDescription
adultsnumberyes
agentHandoffIdstringApproved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party agents before inventory-holding booking actions.
checkInstringyes
checkOutstringyes
childrennumber
displayCurrencystringOptional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.
guestCountrystringyesRequired traveler country, as supplied by the traveler. Ask only if missing. Do not infer it from the property location, language, currency, or phone number. Quotes do not require country.
guestEmailstringyes
guestNamestringyesTraveler’s full name, as supplied by the traveler.
guestPhonestring
idempotencyKeystringyesClient-generated UUID for this exact write operation. Retry the same arguments with the same key; use a new key whenever any argument changes.
internalAgentKeystring
notesstringOptional traveler comments, questions, or requests for the host. Especially useful for host-approval enquiries.
policyAcknowledgedbooleanyesExplicit policy-consent state. Set true only after the traveler agrees to the exact price, payment schedule, and cancellation terms. Required before creating either an instant-book hold or a host-app…
priceAudiencestring
propertyTokenstringyes
ratePlanIdstringRate plan ID. If omitted, the system auto-selects the default active rate plan per night, then the cheapest active auto-selectable fallback.
roomIdstringyes
selectedRoomCountnumberFor direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.
travelerAssertionstringSigned traveler email verification assertion from ATA.

No output schema declared.

No examples provided.

create_quote ~376

Generate a non-binding reference quote for a traveler. Requires guest name/email plus a current travelerAssertion or fresh approved internal QUOTE agentHandoffId. If verification is needed, keep internal tool details private; tell the traveler to confirm their email and follow the code or link instructions returned by verification. Quotes do not hold inventory or guarantee future availability. Modern clients must provide a UUID idempotencyKey; exact retries replay the original result without repeating the action.

NameTypeReqDescription
adultsnumberyes
agentHandoffIdstringFresh approved ATA traveler handoff ID from start_traveler_handoff/get_traveler_handoff_status. Required for third-party quote creation without a current traveler assertion.
checkInstringyes
checkOutstringyes
childrennumber
displayCurrencystringOptional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.
guestCountrystringOptional for a quote. If omitted, the traveler supplies it when completing the booking.
guestEmailstringyes
guestNamestringyes
guestPhonestring
idempotencyKeystringyesClient-generated UUID for this exact write operation. Retry the same arguments with the same key; use a new key whenever any argument changes.
internalAgentKeystring
priceAudiencestring
propertyTokenstringyes
ratePlanIdstringRate plan ID. Optional.
roomIdstringyes
selectedRoomCountnumberFor direct-booking room-count configurations, the number of rooms the traveler selected. Use defaultSelectedRoomCount from availability results.
travelerAssertionstringSigned traveler email verification assertion from ATA.

No output schema declared.

No examples provided.

get_booking_details ~211

Read an existing booking by its ATA confirmation code (for example BK-A28N9L). Requires a current signed ATA traveler assertion, a verified legacy MCP session, or an approved BOOKING_READ handoff with matching booking email and code. For stateless third-party clients, use start_traveler_handoff with action BOOKING_READ and confirmationCode, then poll get_traveler_handoff_status. Returns booked stay, prices, payments and cancellation terms. Cannot modify, cancel, pay, or create inventory holds. Never use a confirmation code as holdId in get_reservation_status.

NameTypeReqDescription
agentHandoffIdstringApproved BOOKING_READ handoff for this confirmation code. No write scope is accepted.
confirmationCodestringyesATA confirmation code from the booking email.
propertyTokenstringKnown property public token; required to match a property-scoped connection.
travelerAssertionstringCurrent signed ATA traveler verification assertion; never a typed email or model claim.

No output schema declared.

No examples provided.

get_building_details ~43

Get a published ATA building/complex profile with assigned stays and map coordinates. Use slug from search_buildings or property search results.

NameTypeReqDescription
slugstringyes

No output schema declared.

No examples provided.

get_company_mission ~41

Returns the official ATA company mission and description. Call this when a user asks what ATA is, what we do, our vision, or about the company.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_network_discovery_context ~56

Return a compact, live summary of destinations, stay types, capacity, amenities, views, and published suitability guidance currently available on the ATA network. Use this before offering discovery shortcuts or asking a vague traveler to choose from options.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_property_details ~105

Get date-free property and room details, including traveler-facing amenities, property-authored direct-booking benefits, policies, Events & Weddings, room profiles, images, and links. When the traveler names a room or unit, pass that wording as roomQuery before treating it as another property.

NameTypeReqDescription
propertyTokenstringyes
roomQuerystringOptional traveler-provided room or unit name, such as '5B Casita Vista'. No stay dates are required.

No output schema declared.

No examples provided.

get_reservation_status ~181

Return the current status and exact stay, price, payment schedule, and cancellation terms for a reservation previously created through ATA. Requires the hold ID plus the same verified traveler context/assertion or the secure booking handoff that created it. This tool is read-only and cannot change, pay, cancel, check in, or check out a reservation.

NameTypeReqDescription
agentHandoffIdstringSecure BOOKING_HOLD handoff ID that created this reservation.
displayCurrencystringOptional 3-letter currency for approximate display conversion. Native property currency remains authoritative.
guestEmailstringTraveler email. Required when using travelerAssertion; populated automatically for a verified MCP session.
holdIdstringyesHold ID returned by create_provisional_booking.
travelerAssertionstringCurrent signed ATA traveler verification assertion for the reservation guest.

No output schema declared.

No examples provided.

get_stays_in_building ~109

Return ATA stays assigned to a published building, optionally filtered by live dates and guest counts.

NameTypeReqDescription
adultsnumber
checkInstring
checkOutstring
childrennumber
displayCurrencystringOptional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.
internalAgentKeystring
priceAudiencestring
slugstringyes

No output schema declared.

No examples provided.

get_support_contacts ~85

Get published ATA support and optional property guest contact details. Use for human help, unanswered property questions, or booking support. Returns configured contact links only; does not send messages, create a case, or transfer the traveler to a person. Omit propertyToken for ATA support alone.

NameTypeReqDescription
propertyTokenstringProperty public token, when the traveler needs help from that property.

No output schema declared.

No examples provided.

get_traveler_handoff_status ~67

Internal status check after sending an ATA verification link. Use to know whether the traveler clicked the link. Do not mention this tool, polling, or handoff status to the traveler.

NameTypeReqDescription
handoffIdstringyesID returned by start_traveler_handoff.

No output schema declared.

No examples provided.

list_property_extras ~118

List date-free published events, services, activities, day passes, experiences, dining, wellness, packages, transfers, and other extras for a known property. Returns read-only offer details and ATA purchase links when the property is published on ATA; it does not create an order.

NameTypeReqDescription
categorystringOptional exact offer category filter, such as DAY_PASS, EXPERIENCE, WELLNESS, TRANSPORT, or PACKAGE.
propertyTokenstringyes
standaloneOnlybooleanWhen true, exclude offers that require a stay.

No output schema declared.

No examples provided.

ping ~12

A simple ping tool

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

search_buildings ~104

Find published ATA building/complex profiles by destination, neighborhood, tag, amenity, or free-text. Use this for questions about buildings, condo towers, complexes, gated communities, marina developments, or neighborhoods.

NameTypeReqDescription
amenitiesarray
citystring
maxResultsnumber
neighborhoodstring
querystringBuilding name, neighborhood, city, or text query.
tagsarray

No output schema declared.

No examples provided.

search_flexible_network_availability ~342

Find real, priced ATA stays when the traveler is flexible. Defaults to a window 28–56 days from today, three nights, and two adults only when those values are missing; always return those defaults as explicit assumptions. Preferences are soft ranking signals, not a closed taxonomy.

NameTypeReqDescription
adultsintegerAdult guests. Defaults to 2.
amenitiesarrayOptional soft amenity preferences for flexible discovery.
childrenintegerChild guests. Defaults to 0.
displayCurrencystringOptional traveler-facing display currency.
earliestCheckInstringEarliest acceptable check-in date. Defaults to 28 days from today.
internalAgentKeystring
latestCheckInstringLatest acceptable check-in date. Defaults to 56 days from today.
locationstringOptional city, state, country, neighborhood, or building. Omit when the traveler is open to ATA's current destinations.
maxPricenumberMaximum total stay price.
maxPriceCurrencystringCurrency for maxPrice when filtering mixed native currencies.
maxResultsintegerMaximum priced stays to return. Defaults to 4.
nightsintegerLength of stay. Defaults to 3 nights.
preferencesarrayOpen-ended soft preferences inferred from the traveler's own words or live network facets.
priceAudiencestring
propertyTypestringOptional soft property-type preference; it ranks results and is reported as a difference when unavailable.
viewsarrayOptional soft view preferences for flexible discovery.

No output schema declared.

No examples provided.

search_network_availability ~342

Find accommodations across the ATA Travel Network with real-time pricing. Use when dates are known. Supports filtering by amenities, views, property type, and free-text keyword to handle vague requests.

NameTypeReqDescription
adultsnumberNumber of adults
amenitiesarrayFilter by amenities on property or rooms. e.g. ['Pool', 'Gym', 'Pet Friendly', 'Spa']
checkInstringyesCheck-in date (YYYY-MM-DD)
checkOutstringyesCheck-out date (YYYY-MM-DD)
childrennumberNumber of children
displayCurrencystringOptional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.
internalAgentKeystring
keywordstringFree-text keyword matched against property name/description. Great for vibe searches like 'boutique', 'beachside', 'romantic'.
locationstringOptional city, state, or country. Omit when the traveler knows dates but is open to ATA's current destinations.
maxPricenumberMaximum total price filter
maxPriceCurrencystringCurrency for maxPrice when filtering across mixed property currencies. If omitted, maxPrice is compared to each property's native currency.
preferencesarrayOpen-ended soft ranking signals. These do not exclude otherwise valid stays.
priceAudiencestring
propertyTypestringe.g. 'Hotel', 'Apartment', 'Villa'
viewsarrayFilter by room views. e.g. ['Ocean', 'Mountain', 'Garden', 'City']

No output schema declared.

No examples provided.

search_property_availability ~128

Search specific dates and occupancy for a known property using its propertyToken.

NameTypeReqDescription
adultsnumber
checkInstringyesCheck-in date (YYYY-MM-DD)
checkOutstringyesCheck-out date (YYYY-MM-DD)
childrennumber
displayCurrencystringOptional 3-letter currency for approximate traveler-facing display conversion. Native property currency remains authoritative.
internalAgentKeystring
priceAudiencestring
propertyTokenstringyesPublic property token (e.g., pk_live_...)

No output schema declared.

No examples provided.

search_property_catalog ~229

Browse the ATA property catalog WITHOUT needing dates. Fast, lightweight — no availability or pricing check. Use this for vague exploration, browsing by type/amenity/view, or when the traveler has no dates yet.

NameTypeReqDescription
adultsintegerOptional adults for occupancy-safe catalog suggestions.
amenitiesarraye.g. ['Pool', 'Spa', 'Pet Friendly', 'Gym']
childrenintegerOptional children for occupancy-safe catalog suggestions.
keywordstringFree-text matched against name/description. e.g. 'boutique', 'beachside', 'romantic'
locationstringCity, State, or Country to filter by. Omit for a global search.
maxResultsnumberMax number of properties to return (default 10)
preferencesarrayOpen-ended soft ranking signals inferred from traveler language or current network facets.
propertyTypestringe.g. 'Hotel', 'Villa', 'Apartment'
viewsarraye.g. ['Ocean', 'Mountain', 'Garden']

No output schema declared.

No examples provided.

start_traveler_handoff ~407

Internal approval step for quote or booking tools. Before calling, read guestEmail back to the traveler and confirm it is correct; then set emailConfirmedByTraveler=true. If an email is sent, tell the traveler only to check their inbox and click the secure ATA link. Do not mention handoffs/tool details to the traveler. Modern clients must provide a UUID idempotencyKey; exact retries replay the original result without repeating the action.

NameTypeReqDescription
actionstringyesUse BOOKING_HOLD before creating a reservation; BOOKING_READ grants only read access to an existing booking for questions.
adultsnumber
agentNamestringAgent/application display name when known.
agentProviderstringAgent platform or provider name when known.
checkInstring
checkOutstring
childrennumber
confirmationCodestringRequired for BOOKING_READ: the ATA confirmation code printed on the booking confirmation.
emailConfirmedByTravelerbooleanSet true only after reading guestEmail back to the traveler and they confirm it is correct.
guestEmailstringyesTraveler email. ATA sends the verification/approval link here.
guestNamestringyesTraveler name collected by the agent.
guestPhonestring
idempotencyKeystringyesClient-generated UUID for this exact write operation. Retry the same arguments with the same key; use a new key whenever any argument changes.
intentSummarystringShort traveler-facing summary of what ATA is verifying, without mentioning internal handoff/tool details.
mcpSessionIdstringOptional client-side MCP/session correlation ID.
propertyTokenstring
quoteHashstring
quoteIdstring
ratePlanIdstring
roomIdstring
selectedRoomCountnumber

No output schema declared.

No examples provided.

Common questions

What is the ATA Travel MCP server?

ATA Travel is an MCP server listed in the public MCP registry as cloud.atatravel/travel-agency. ATA Travel: agent-first direct booking for accommodations, hotels, and vacation rentals. This page covers its hosted endpoint (https://atatravel.cloud/mcp).

Is the ATA Travel MCP server safe to use?

ATA Travel scores 84 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ATA Travel MCP server expose?

ATA Travel exposes 19 tools: ping, get_network_discovery_context, search_flexible_network_availability, get_company_mission, search_property_availability, and 14 more. Their descriptions and schemas cost roughly 3,577 tokens of context every time the server is loaded.

Does the ATA Travel MCP server require authentication?

No. We connected to ATA Travel without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the ATA Travel MCP server still maintained?

ATA Travel is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.