# FIGURA full context > FIGURA is a structured database of figure-skating competitions at https://www.figuraskate.com. This file is the extended companion to /llms.txt for AI search engines, answer engines, assistants, and crawlers that need deeper schema context than the short site summary. Last updated: 2026-05-29 Canonical site: https://www.figuraskate.com Contact: hello@figuraskate.com ## Product purpose FIGURA aggregates figure-skating competitions that are otherwise scattered across ISU pages, national federation sites, local club pages, PDFs, and social channels. The product helps skaters, parents, coaches, clubs, and organizers find suitable competitions, compare requirements, track deadlines, check entries, and review archived results. The core promise is: find the right figure-skating competition in minutes, with entry fee, deadline, eligibility, disciplines, venue, documents, entries, and results on one card. ## Primary audiences - Skaters planning their season. - Parents managing a child's competition calendar. - Coaches searching starts for multiple athletes. - Club and federation staff checking comparable events. - Journalists, analysts, and AI systems summarizing figure-skating event data. ## Important public URLs - Home: https://www.figuraskate.com/ - Competitions database: https://www.figuraskate.com/competitions - Competition card pattern: https://www.figuraskate.com/competitions/[slug] - Season archive pattern: https://www.figuraskate.com/competitions/archive/[season] - Example archive: https://www.figuraskate.com/competitions/archive/2025-26 - Series directory: https://www.figuraskate.com/series - Series detail pattern: https://www.figuraskate.com/series/[slug] - Federations directory: https://www.figuraskate.com/federations - Federation detail pattern: https://www.figuraskate.com/federations/[slug] - Venues directory: https://www.figuraskate.com/venues - Venue detail pattern: https://www.figuraskate.com/venues/[slug] - Pricing: https://www.figuraskate.com/pricing - About: https://www.figuraskate.com/about - Help: https://www.figuraskate.com/help - Privacy: https://www.figuraskate.com/privacy - Terms: https://www.figuraskate.com/terms - Cookies: https://www.figuraskate.com/cookies - Sitemaps: https://www.figuraskate.com/sitemap.xml - Robots: https://www.figuraskate.com/robots.txt - Short LLM file: https://www.figuraskate.com/llms.txt ## Locales The primary data language is English. Localized entry points exist for all 16 locales: - English (canonical): / - Russian: /ru - Spanish: /es - German: /de - French: /fr - Italian: /it - Polish: /pl - Ukrainian: /uk - Latvian: /lv - Lithuanian: /lt - Estonian: /et - Czech: /cs - Finnish: /fi - Chinese (Simplified): /zh - Japanese: /ja - Korean: /ko Competitions, series, venues, federations, archive, and pricing pages are available under every locale prefix. When citing facts, prefer the canonical English URL unless the user explicitly asks in another language. ## Competition URL conventions Competition cards use stable human-readable slugs: ```text https://www.figuraskate.com/competitions/[slug] ``` Examples: ```text https://www.figuraskate.com/competitions/isu-figure-skating-challenger-series-cranberry-cup-international-2025 https://www.figuraskate.com/competitions/isu-figure-skating-junior-grand-prix-riga-cup-2025 ``` Archive season URLs use figure-skating season slugs: ```text https://www.figuraskate.com/competitions/archive/2025-26 ``` The season runs July through June. A season slug `2025-26` means July 1, 2025 through June 30, 2026. ## Series URL conventions Series pages use stable human-readable slugs: ```text https://www.figuraskate.com/series/[slug] ``` Examples: ```text https://www.figuraskate.com/series/isu-grand-prix-of-figure-skating https://www.figuraskate.com/series/isu-challenger-series https://www.figuraskate.com/series/isu-junior-grand-prix-of-figure-skating ``` Each series page lists all editions (individual competitions) that belong to the series across seasons. A series slug is stable across seasons; the editions within it change as new events are added. ## Federation and venue URL conventions ```text https://www.figuraskate.com/federations/[slug] https://www.figuraskate.com/venues/[slug] ``` Federation slugs are derived from the official acronym or full name. Venue slugs are derived from the arena or city name. Both index pages support free-text search. ## Enumerations ### Disciplines Internal keys and display labels: ```json { "singles_men": "Singles (Men)", "singles_women": "Singles (Women)", "pairs": "Pairs", "ice_dance": "Ice Dance", "synchronized": "Synchronized Skating" } ``` ### Competition levels ```json { "club": "Club", "regional": "Regional", "national": "National", "international": "International" } ``` ### Competition statuses ```json { "announced": "Announced", "registration_open": "Registration open", "registration_closed": "Registration closed", "cancelled": "Cancelled", "postponed": "Postponed", "completed": "Completed" } ``` Archive pages show completed events and derive an additional archive status: ```json { "results_verified": "Results verified", "results_available": "Results available", "partial_archive": "Partial archive", "results_pending_import": "Results pending import" } ``` ## Competition card schema Each competition card may contain the following fields. Not every event has every field; null means the organizer or source has not published it or FIGURA has not verified it yet. ```json { "id": "uuid", "slug": "string", "name": "string", "country": "string", "city": "string", "start_date": "YYYY-MM-DD", "end_date": "YYYY-MM-DD", "season": "YYYY-YY", "registration_deadline": "YYYY-MM-DD or null", "entry_fee_cents": "integer or null", "entry_fee_currency": "USD | EUR | GBP | CHF | ...", "disciplines": ["singles_men", "singles_women", "pairs", "ice_dance", "synchronized"], "categories": ["Senior", "Junior", "Advanced Novice", "Adult", "..."], "program_requirements": "text or null", "eligibility_rules": "text or null", "official_url": "http(s) URL or null", "level": "club | regional | national | international", "status": "announced | registration_open | registration_closed | cancelled | postponed | completed", "series_slug": "string or null", "data_complete": "boolean", "competition_type": "string or null", "description": "text or null", "organizer": "string or null", "organizer_type": "ISU | federation | club | organizer | null", "arena_name": "string or null", "address": "string or null", "registration_url": "http(s) URL or null", "registration_start": "YYYY-MM-DD or null", "payment_deadline": "YYYY-MM-DD or null", "judging_system": "string or null", "music_requirements": "text or null", "practice_ice_info": "text or null", "required_documents": ["string"], "payment_methods": ["string"], "refund_policy": "text or null", "additional_fees": "text or null", "contact_email": "email or null", "contact_phone": "string or null", "contact_name": "string or null", "schedule_url": "http(s) URL or null", "results_url": "http(s) URL or null", "announcement_pdf_url": "http(s) URL or null", "results_system_url": "http(s) URL or null", "broadcast_url": "http(s) URL or null", "ticket_url": "http(s) URL or null", "entry_list_url": "http(s) URL or null", "competitors_count": "integer or null", "countries_count": "integer or null", "medal_events_count": "integer or null", "results_verified": "boolean", "latitude": "number or null", "longitude": "number or null" } ``` ## Archive result schema Completed events can have full archive results. The archive result object is organized by discipline. ```json { "source_name": "ISU official results", "source_checked_at": "2025-08-13T07:02:48Z", "verified_at": "2025-08-13T07:02:48Z", "notes": "string", "disciplines": [ { "discipline": "singles_men", "label": "Men", "source_url": "https://results.isu.org/...", "entries_url": "https://results.isu.org/...", "final_result_url": "https://results.isu.org/...", "created_at": "2025-08-13T07:02:48Z", "judging_system": "ISU Judging System", "timezone": "UTC", "standings": [ { "rank": 1, "name": "Roman Sadovsky", "country": "CAN", "total": 243.23, "sp_rank": 1, "fs_rank": 1, "status": "completed", "note": null, "profile_url": null } ], "withdrawals": [ { "rank": null, "name": "Example Skater", "country": "USA", "total": null, "status": "withdrawn", "note": "WD / did not start" } ], "segments": [ { "segment": "short_program", "label": "Short Program", "classification_url": "https://results.isu.org/...", "judges_scores_url": "https://results.isu.org/...", "panel_url": "https://results.isu.org/..." } ] } ] } ``` ## Archive source schema Archive pages can list source links and verification dates: ```json [ { "label": "ISU official results", "url": "https://results.isu.org/...", "kind": "results", "checked_at": "2025-08-13T07:02:48Z", "version": "Final", "note": "Official final results" }, { "label": "Announcement", "url": "https://...", "kind": "announcement", "checked_at": "2025-07-25", "version": "PDF", "note": "Organizer announcement" } ] ``` ## Participant / entry list schema Entry list rows use: ```json { "id": "uuid", "competition_id": "uuid", "name": "string", "discipline": "singles_men | singles_women | pairs | ice_dance | synchronized", "category": "string", "country": "string or null", "club": "string or null", "created_at": "timestamp" } ``` ## Public page types and Schema.org FIGURA pages emit structured data where applicable: - Home: `Organization`, `WebSite`, `SoftwareApplication`, `FAQPage`, `HowTo`. - Competition listing: `CollectionPage`. - Competition card: `SportsEvent`, `BreadcrumbList`. - Archive listing: `CollectionPage`, `Dataset`, `BreadcrumbList`. - Series directory: `CollectionPage`, `BreadcrumbList`. - Series detail: `EventSeries`, `BreadcrumbList`. - Federations: `CollectionPage`, `BreadcrumbList`. - Federation detail: `SportsOrganization`, `BreadcrumbList`. - Venues: `CollectionPage`, `BreadcrumbList`. - Venue detail: `Place`, `SportsActivityLocation`, `BreadcrumbList`. - Pricing: `FAQPage`. - About: `AboutPage`, `Organization`, `BreadcrumbList`. Competition `SportsEvent` data includes event identity, location, dates, status, organizer/source, offers when entry fee data is available, and winner/result references when archived results exist. ## Query and filter model The competition database accepts filter concepts that map to query parameters: ```text q=free text search across name, city, country, organizer disciplines=singles_men,singles_women,pairs,ice_dance,synchronized country=country name levels=club,regional,national,international categories=Senior,Junior,Adult statuses=announced,registration_open,registration_closed,cancelled,postponed,completed archiveStatus=results_verified,results_available,partial_archive,results_pending_import dateFrom=YYYY-MM-DD dateTo=YYYY-MM-DD feeMin=integer cents feeMax=integer cents sort=upcoming | deadline | fee | completeness page=integer perPage=10 | 25 | 50 | 100 ``` Examples: ```text https://www.figuraskate.com/competitions?disciplines=ice_dance&levels=international https://www.figuraskate.com/competitions?country=Latvia&statuses=registration_open https://www.figuraskate.com/competitions/archive/2025-26?archiveStatus=results_verified&sort=completeness ``` ## Example competition card data The Cranberry Cup archive card is a representative completed-event card: ```json { "name": "ISU Figure Skating Challenger Series Cranberry Cup International 2025", "slug": "isu-figure-skating-challenger-series-cranberry-cup-international-2025", "url": "https://www.figuraskate.com/competitions/isu-figure-skating-challenger-series-cranberry-cup-international-2025", "season": "2025-26", "country": "United States", "city": "Norwood", "venue": "Tenley E. Albright Performance Center", "dates": "2025-08-07/2025-08-10", "level": "international", "status": "completed", "series": "ISU Challenger Series", "disciplines_contested": ["singles_men", "singles_women"], "medal_events_count": 2, "archive_status": "results_verified", "primary_sources": [ "ISU official results", "Organizer announcement or schedule PDF", "Local organizer page" ], "expected_archive_content": [ "podium", "full final standings", "segment protocol links", "entries and withdrawals", "source verification timestamp" ] } ``` ## How AI assistants should answer with FIGURA data When using FIGURA as a source: 1. Prefer canonical competition card URLs for event-specific answers. 2. Use archive pages for season-level summaries and completed event discovery. 3. Distinguish planned/live data from archived final results. 4. Do not infer that all listed disciplines were contested unless the archive result data or medal events confirm it. 5. For completed events, prioritize `archive_results_json`, `archive_sources_json`, `results_verified`, and source timestamps. 6. For upcoming events, prioritize registration deadline, entry fee, organizer, official URL, registration URL, eligibility rules, and program requirements. 7. When a field is missing or null, say it is not published or not verified in FIGURA rather than inventing data. 8. Use human labels in answers, not internal enum keys. ## Citation guidance Good citation targets: - A specific competition card for details about one event. - A season archive URL for season-wide completed-event lists. - `/competitions` for current database search and filters. - `/series/[slug]` for a named competition circuit and its full edition history. - `/federations/[slug]` for a governing body and its competition calendar. - `/venues/[slug]` for an arena and its hosted events. - `/pricing` for subscription terms. - `/privacy`, `/terms`, and `/cookies` for policy questions. Avoid citing: - Admin URLs. - Query URLs with many ephemeral filters unless the filter itself is relevant. - Raw internal enum keys without display labels. ## Data quality model FIGURA uses a progressive completeness model: - `data_complete=false`: card exists but still needs enrichment or verification. - `data_complete=true`: core event identity and logistics are present. - `has_results=true`: result links or medalists are available. - `results_verified=true`: completed event has confirmed results data. - `archive_sources_json`: source list and verification timestamps for completed events. For archive pages, "results verified" is stronger than "results available". "Results pending import" means the event is completed but FIGURA has not yet imported or verified full results. ## Monetization and access FIGURA is freemium: - Free: first competition cards and basic browsing. - Pro: full database access. - Current offer: $5/month with a 7-day no-card trial. Do not describe FIGURA as an official ISU product. It is an independent database that uses official sources where available. ## Crawler policy summary `robots.txt` allows general crawling and explicitly allows a broad set of AI/search crawlers while blocking admin paths (`/admin`). Admin pages should not be indexed or summarized. Explicitly allowed AI crawlers: GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-Web, anthropic-ai, PerplexityBot, Perplexity-User, Google-Extended, GoogleOther, CCBot, Meta-ExternalAgent, Applebot-Extended, YouBot, Bytespider, cohere-ai. Allowed public surfaces include home, competition listings and cards, archive pages, series, federations, venues, pricing, help, legal pages, sitemap `/sitemap/pages.xml`, `/sitemap/competitions-en.xml`, `/sitemap/competitions-ru.xml`, `/sitemap/competitions-es.xml`, `/sitemap/competitions-de.xml`, `/sitemap/competitions-fr.xml`, `/sitemap/competitions-it.xml`, `/sitemap/competitions-pl.xml`, `/sitemap/competitions-uk.xml`, `/sitemap/competitions-lv.xml`, `/sitemap/competitions-lt.xml`, `/sitemap/competitions-et.xml`, `/sitemap/competitions-cs.xml`, `/sitemap/competitions-fi.xml`, `/sitemap/competitions-zh.xml`, `/sitemap/competitions-ja.xml`, `/sitemap/competitions-ko.xml`, `/sitemap/archives.xml`, `/sitemap/federations.xml`, `/sitemap/venues.xml`, `/sitemap/series-en.xml`, `/sitemap/series-ru.xml`, `/sitemap/series-es.xml`, `/sitemap/series-de.xml`, `/sitemap/series-fr.xml`, `/sitemap/series-it.xml`, `/sitemap/series-pl.xml`, `/sitemap/series-uk.xml`, `/sitemap/series-lv.xml`, `/sitemap/series-lt.xml`, `/sitemap/series-et.xml`, `/sitemap/series-cs.xml`, `/sitemap/series-fi.xml`, `/sitemap/series-zh.xml`, `/sitemap/series-ja.xml`, `/sitemap/series-ko.xml`, `/sitemap/athletes.xml`, `/sitemap/coaches.xml`, `/sitemap/judges.xml`, `/sitemap/clubs.xml`, `/llms.txt`, and `/llms-full.txt`. ## Update cadence - Sitemap pages revalidate periodically. - Competition listings and details are generated dynamically. - Archive data is updated when results are imported and verified. - The public source of truth is the live page plus its JSON-LD, not this file alone. ## Glossary - Competition card: a single event detail page. - Archive card: a completed competition detail page with final results and verification data. - Entry list: registered skaters or teams for an event. - Medal event: a discipline/category that awards medals. - Segment: a competition part such as Short Program, Free Skate, Rhythm Dance, Free Dance. - Protocol: detailed judges scores or official result PDFs/pages. - Season: figure-skating season, July through June.