Skip to content
Novus Examples
json1.4 KB

JSON-LD Event with offers and a location

A valid Event record for a hybrid event: both a physical Place with a postal address and geo coordinates and a VirtualLocation, plus a free Offer and a capacity. For testing array-valued properties and event date/timezone handling.

Preview — first 49 linesjson
{
  "@context": "https://schema.org",
  "@type": "Event",
  "@id": "https://www.example.com/events/fitting-clinic#event",
  "name": "Boot fitting clinic",
  "description": "Sample event record. Fictional venue and dates.",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
  "startDate": "2026-03-14T18:00:00+01:00",
  "endDate": "2026-03-14T20:00:00+01:00",
  "doorTime": "2026-03-14T17:30:00+01:00",
  "location": [
    {
      "@type": "Place",
      "name": "Example Flagship Store",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "1 Sample Street",
        "addressLocality": "Berlin",
        "postalCode": "10000",
        "addressCountry": "DE"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 52.5,
        "longitude": 13.4
      }
    },
    {
      "@type": "VirtualLocation",
      "url": "https://www.example.com/live/fitting-clinic"
    }
  ],
  "organizer": {
    "@type": "Organization",
    "name": "Example Outdoors",
    "url": "https://www.example.com/"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/events/fitting-clinic",
    "price": "0",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock",
    "validFrom": "2026-01-15T09:00:00+01:00"
  },
  "maximumAttendeeCapacity": 40
}

Specifications

Seed
70400
Site
example.com (fictional)
Format
JSON-LD (schema.org)
Encoding
UTF-8
Types
Event, Place, VirtualLocation, Offer
Locations
2
Attendance Mode
mixed

Testing contract

Expected to pass
Scenario
Read the event's locations and start time.
Expected result
The `location` array yields one Place and one VirtualLocation rather than a single node, the +01:00 start normalises to 2026-03-14T17:00Z, and the free offer parses as price 0 in EUR.

What is a .json file?

JSON (JavaScript Object Notation) is a lightweight, text-based data-interchange format representing objects, arrays, strings, numbers, booleans, and null. It is language-independent, human-readable, and the dominant format for web APIs and configuration. It requires a single well-formed root value.

How to use this file

Use an example JSON file to test parsers and serializers, schema validation, Unicode and number-precision handling, and API request or response processing.

How to use this file for testing

“JSON-LD Event with offers and a location” is a deterministic Novus Examples fixture for Web assets, JSON parsing, Schema validation, Metadata testing. Favicons, web app manifests, service workers, robots and sitemap files, Open Graph images, and .well-known resources — for testing web tooling, crawlers, PWA installers, and asset pipelines.

Documented properties for this file: seed 70400 · UTF-8 · JSON-LD (schema.org). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Web-platform fixtures are standards-compliant samples against fictional example.com data. Test crawlers, PWA installers and manifest validators, favicon/icon pipelines, service-worker registration, or .well-known parsers against the documented structure.

Code examples

import json

with open("jsonld-event.json") as f:
    data = json.load(f)
print(type(data), len(data))

Generated by generation/web_p7.py. Free for any use, no attribution required — license.