Skip to content

feat(schema): add DOOH structured selling-unit fields to placements#5623

Open
garvitkaushik-123 wants to merge 1 commit into
adcontextprotocol:mainfrom
garvitkaushik-123:feat/dooh-placement-attributes
Open

feat(schema): add DOOH structured selling-unit fields to placements#5623
garvitkaushik-123 wants to merge 1 commit into
adcontextprotocol:mainfrom
garvitkaushik-123:feat/dooh-placement-attributes

Conversation

@garvitkaushik-123

Copy link
Copy Markdown
Contributor

Summary

Implements #5537 — adds structured DOOH selling-unit metadata to placements so buyers can evaluate screen characteristics during product discovery.

  • dooh_placement_attributes object on both placement.json and placement-definition.json with four optional fields:
    • slot_duration_seconds — duration of one ad slot
    • loop_duration_seconds — full loop rotation (canonical source, supersedes pricing-layer field)
    • screen_resolution — physical { width, height } in pixels
    • motionfull_motion, partial_motion, or static (new dooh-motion-type enum)
  • identifiers[] array on both placement schemas — reuses the { type, value } pattern from property identifiers for DOOH venue_id, screen_id, openooh_venue_type, etc.
  • dooh-motion-type.json enum — full_motion, partial_motion, static
  • identifier-types.json title updated from "Property Identifier Types" to channel-neutral "Identifier Types"
  • flat-rate-option.json loop_duration_seconds description updated with superseded note
  • Docs — DOOH placement attributes section added to media-products.mdx

Design decisions

  • Follows the existing channel-overlay pattern (video_placement_types, audio_distribution_types, etc.) — new fields sit alongside those in the same position
  • additionalProperties: true on dooh_placement_attributes to allow future field additions without breaking changes
  • identifiers[] is channel-neutral by design — reuses the same enum already used for property identifiers
  • motion enum values align with industry conventions (OpenOOH/OAAA terminology)

Test plan

  • All 4232 unit tests pass
  • TypeScript typecheck passes
  • Schema build (build:schemas) succeeds
  • Verify DOOH placement example validates against updated schema

Closes #5537

🤖 Generated with Claude Code

Add dooh_placement_attributes (slot_duration_seconds, loop_duration_seconds,
screen_resolution, motion) and identifiers[] to both placement.json and
placement-definition.json. Create dooh-motion-type enum. Update identifier-types
title to channel-neutral language. Add superseded note to flat-rate-option
loop_duration_seconds. Document DOOH placement attributes in media-products docs.

Closes adcontextprotocol#5537

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@aao-release-bot aao-release-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Argus review could not complete

The automated review encountered an issue (possibly reached max turns, timed out, or failed to post the final gh pr review). A human reviewer should take this PR.

View workflow run

This is an automated message from the Argus AI review workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DOOH: Add structured selling-unit fields to placements (slot_duration, share_of_time, screen_resolution, delivery_unit)

1 participant