{
  "descriptorVersion": 1,
  "evidenceNotes": [
    "Listings, vendors, bookprocesses, clients, and booking forms are different native entities and must not be summed into a venue total.",
    "Current broad enumeration and deep-validation breadth differ materially by provider."
  ],
  "generatedAt": "2026-09-09",
  "id": "party-event-booking-surfaces",
  "legalNotice": "Coverage metadata only. Review source terms, licensing, and privacy before sharing row-level metadata or raw payloads.",
  "permittedUses": [
    "booking-provider landscape research",
    "public surface discovery diligence",
    "provider-native catalog planning"
  ],
  "prohibitedClaims": [
    "attendance",
    "bookings",
    "capacity",
    "demand",
    "foot traffic",
    "market share",
    "occupancy",
    "revenue",
    "seats sold",
    "utilization"
  ],
  "records": [
    {
      "displayName": "PlaceFull",
      "measures": [
        {
          "boundary": "mapped_native_entities",
          "entityType": "listing",
          "sourceField": "mappedCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Validated API surface exists; broad enumeration is listing-level, not fully venue-normalized.",
          "value": 2739
        },
        {
          "boundary": "validated_native_entities",
          "entityType": "listing",
          "sourceField": "validatedCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Validated API surface exists; broad enumeration is listing-level, not fully venue-normalized.",
          "value": 1
        },
        {
          "boundary": "approximate_venue_rollup",
          "entityType": "venue",
          "sourceField": "approxVenueCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Validated API surface exists; broad enumeration is listing-level, not fully venue-normalized.",
          "value": 410
        }
      ],
      "provider": "placefull",
      "providerNativeEntityType": "listing",
      "sourceQualification": "Validated API surface exists; broad enumeration is listing-level, not fully venue-normalized.",
      "status": "proven"
    },
    {
      "displayName": "PartyWirks",
      "measures": [
        {
          "boundary": "mapped_native_entities",
          "entityType": "vendor",
          "sourceField": "mappedCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Enumerated from public storefront_express availability responses across vendor IDs 1..1500, with early-stop after 250 empty IDs.",
          "value": 698
        },
        {
          "boundary": "validated_native_entities",
          "entityType": "vendor",
          "sourceField": "validatedCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Enumerated from public storefront_express availability responses across vendor IDs 1..1500, with early-stop after 250 empty IDs.",
          "value": 1
        }
      ],
      "provider": "partywirks",
      "providerNativeEntityType": "vendor",
      "sourceQualification": "Enumerated from public storefront_express availability responses across vendor IDs 1..1500, with early-stop after 250 empty IDs.",
      "status": "proven"
    },
    {
      "displayName": "Recras",
      "measures": [
        {
          "boundary": "mapped_native_entities",
          "entityType": "bookprocess",
          "sourceField": "mappedCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Public vendor-host proof exposes bookprocess discovery, allowed dates, timed slot labels, and prices.",
          "value": 52
        },
        {
          "boundary": "validated_native_entities",
          "entityType": "bookprocess",
          "sourceField": "validatedCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Public vendor-host proof exposes bookprocess discovery, allowed dates, timed slot labels, and prices.",
          "value": 1
        }
      ],
      "provider": "recras",
      "providerNativeEntityType": "bookprocess",
      "sourceQualification": "Public vendor-host proof exposes bookprocess discovery, allowed dates, timed slot labels, and prices.",
      "status": "proven"
    },
    {
      "displayName": "Funbutler",
      "measures": [
        {
          "boundary": "mapped_native_entities",
          "entityType": "client",
          "sourceField": "mappedCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Public customer embeds exposed 4 unique clientIds and 16 booking-form ids across Hop N Pop Haninge, Hop N Pop Kalmar, Laserdome Malmö, and Gokartstadion. Booking-form, package, and available-timeslots reads all succeeded anonymously.",
          "value": 4
        },
        {
          "boundary": "validated_native_entities",
          "entityType": "client",
          "sourceField": "validatedCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Public customer embeds exposed 4 unique clientIds and 16 booking-form ids across Hop N Pop Haninge, Hop N Pop Kalmar, Laserdome Malmö, and Gokartstadion. Booking-form, package, and available-timeslots reads all succeeded anonymously.",
          "value": 4
        },
        {
          "boundary": "observed_booking_forms",
          "entityType": "booking_form",
          "sourceField": "observedBookingFormCount",
          "sourceFile": "metadata/coverage-summary.json",
          "sourceQualification": "Public customer embeds exposed 4 unique clientIds and 16 booking-form ids across Hop N Pop Haninge, Hop N Pop Kalmar, Laserdome Malmö, and Gokartstadion. Booking-form, package, and available-timeslots reads all succeeded anonymously.",
          "value": 16
        }
      ],
      "provider": "funbutler",
      "providerNativeEntityType": "client",
      "sourceQualification": "Public customer embeds exposed 4 unique clientIds and 16 booking-form ids across Hop N Pop Haninge, Hop N Pop Kalmar, Laserdome Malmö, and Gokartstadion. Booking-form, package, and available-timeslots reads all succeeded anonymously.",
      "status": "proven"
    }
  ],
  "sourceFiles": [
    "metadata/coverage-summary.json",
    "metadata/README.md",
    "metadata/evidence-matrix.json"
  ],
  "summary": "Discovery and validation metadata for public party, event, and timed-activity booking surfaces.",
  "title": "Party and Event Booking Surface Metadata"
}
