XooCode(){

EntryPoint

EntryPoint is an Intangible for how an Action is invoked — the URL template, HTTP method, platform constraints, and accepted content / encoding types. It is the typical value of potentialAction.target.

Direct properties:

  • urlTemplate (Text): RFC 6570 URL template, with placeholders for inputs.
  • actionPlatform (Text or URL): platforms the entry point supports (DesktopWebPlatform, MobileWebPlatform, IOSPlatform, AndroidPlatform).
  • httpMethod (Text): GET / POST / PUT / DELETE.
  • contentType (Text): supported response MIME types.
  • encodingType (Text): supported request MIME types.
  • actionApplication / application (SoftwareApplication): the app completing the request.

EntryPoint also inherits properties from ActionAccessSpecification (availabilityStarts/Ends, eligibleRegion, requiresSubscription).

Full example of schema.org/EntryPoint json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/EntryPoint
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Flight",
  "flightNumber": "XOO123",
  "potentialAction": {
    "@type": "ReserveAction",
    "target": [
      {
        "@type": "EntryPoint",
        "urlTemplate": "https://xooair.example/book?flight=XOO123&date={date}",
        "actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"],
        "httpMethod": "GET",
        "contentType": "text/html",
        "encodingType": "application/x-www-form-urlencoded"
      },
      {
        "@type": "EntryPoint",
        "urlTemplate": "xooair://book?flight=XOO123&date={date}",
        "actionPlatform": ["https://schema.org/IOSPlatform", "https://schema.org/AndroidPlatform"]
      }
    ],
    "result": { "@type": "FlightReservation", "name": "Flight booking" }
  }
}
</script>

Minimal valid version

The smallest markup that still produces a valid EntryPoint entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/EntryPoint (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "EntryPoint",
  "urlTemplate": "https://example.com/book?id={id}",
  "actionPlatform": "https://schema.org/DesktopWebPlatform"
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

  • Action surfaces (Google Sitelinks Searchbox, reservation booking flows)
    Google docs

Common EntryPoint mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Plain URL where EntryPoint is expected

    Wrong
    target: "https://example.com/book"
    Right
    EntryPoint with urlTemplate and actionPlatform

    Structured EntryPoint lets consumers route to the right app / platform; a bare URL loses that capability.

  2. 02

    Hard-coded values where URL template params belong

    Wrong
    urlTemplate with baked-in date
    Right
    urlTemplate with {date} placeholder per RFC 6570

    The URL template is meant to be filled at action time with input values.

About the example data

The booking entry point for a XooAir flight's ReserveAction.

Comments

Loading comments...

Leave a comment