Skip to content

feat(catalog): add brand, condition, and availability/brand filters#595

Open
saraths-stripe wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
saraths-stripe:feat/catalog-product-attributes
Open

feat(catalog): add brand, condition, and availability/brand filters#595
saraths-stripe wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
saraths-stripe:feat/catalog-product-attributes

Conversation

@saraths-stripe

Copy link
Copy Markdown

Add commonly-needed product attributes and search filters to the catalog capability, improving agent discovery and product disambiguation.

Changes

Product schema (types/product.json)

  • Add brand (string, optional): manufacturer or brand name recognized by consumers. Enables brand-based filtering and cross-merchant disambiguation.

Variant schema (types/variant.json)

  • Add condition (string, optional, open vocabulary): item state. Well-known values: new, refurbished, used.

Search filters (types/search_filters.json)

  • Add availability filter (array of strings, OR logic): narrow results to products with at least one variant matching a listed availability status (in_stock, backorder, preorder).
  • Add brand filter (array of strings, OR logic, case-insensitive): narrow results by brand name.

Documentation (docs/specification/catalog/)

  • Update search.md: document availability and brand filter semantics.
  • Update index.md: document brand and condition field conventions.

Design Notes

  • All fields are optional and backward-compatible.
  • Field names and well-known values use widely adopted commerce conventions (brand, condition, in_stock, preorder, etc.).
  • condition and availability.status use open vocabularies (not closed enums), consistent with UCP's schema-authoring conventions for extensibility.
  • Filters follow the existing pattern: array values use OR logic within a filter; multiple filters combine with AND logic.
  • Businesses MAY ignore filters they do not support and SHOULD notify the platform via a message when doing so.

@google-cla

google-cla Bot commented Jul 16, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@damaz91 damaz91 added status:needs-triage Signal that the PR is ready for human triage gov:needs-gc-review and removed status:needs-triage Signal that the PR is ready for human triage labels Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants