extend schema @link( url: "https://specs.apollo.dev/federation/v2.3" import: ["@key", "@shareable", "@external", "@requires"] ) @link(url: "https://specs.graphql-hive.com/hive/v1.0", import: ["@meta"]) @meta(name: "owner", content: "inventory-team") @meta(name: "contact", content: "#inventory-channel") directive @meta( name: String! content: String! ) repeatable on SCHEMA | OBJECT | INTERFACE | FIELD_DEFINITION extend type Product @key(fields: "upc dimensions") { """ Universal Product Code """ upc: String! """ Physical dimensions (from products subgraph) """ dimensions: ProductDimension @external """ Delivery estimates for a given zip code (requires dimensions data) """ delivery(zip: String): DeliveryEstimates @requires(fields: "dimensions { size weight }") @meta(name: "priority", content: "tier2") } """ Physical dimensions of a product (shared across subgraphs) """ type ProductDimension @shareable { """ Size description (e.g., 'Small', 'Large', '10x5x3') """ size: String """ Weight in pounds """ weight: Float } """ Delivery time estimates for a product """ type DeliveryEstimates @meta(name: "domain", content: "inventory") { """ Estimated standard delivery date """ estimatedDelivery: String """ Fastest possible delivery date """ fastestDelivery: String }