hypershop
type: Class
type: EntryPoint
type: API Root
comment: The REST API for hypershop.

hypershop API
type: Class
type: Profile
comment: A RESTful Web API described with RDF and hypercontract.

Addition to Shopping Cart
type: Class
comment: All information necessary to add a Product to the Shopping Cart.
instance schema: https://example.hypercontract.org/profile/AdditionToShoppingCart/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/AdditionToShoppingCart/schema/application/hal+json","type":"object","properties":{"product":{"$ref":"https://example.hypercontract.org/profile/product/schema/application/hal+json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/hal+json"}},"required":["product","quantity"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/AdditionToShoppingCart/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/AdditionToShoppingCart/schema/application/json","type":"object","properties":{"product":{"$ref":"https://example.hypercontract.org/profile/product/schema/application/json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/json"}},"required":["product","quantity"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/AdditionToShoppingCart/schema/application/ld+json","type":"object","properties":{"product":{"$ref":"https://example.hypercontract.org/profile/product/schema/application/ld+json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/ld+json"}},"required":["product","quantity"]}
schema type: application/schema+json
target type: application/ld+json

Address
type: Class
comment: Postal addressed that can be used as Billing Address or Shipping Address when placing an Order. The Order will contain a copy of the address. Changes to an Address do not affect Orders that have been previously placed with that Address.
instance schema: https://example.hypercontract.org/profile/Address/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Address/schema/application/hal+json","type":"object","properties":{"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/hal+json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/hal+json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/hal+json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/hal+json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/hal+json"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]}},"required":["self"]},"_embedded":{"type":"object","properties":{}}},"required":["city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/Address/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Address/schema/application/json","type":"object","properties":{"_id":{"$ref":"https://example.hypercontract.org/profile/_id/schema/application/json"},"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/json"}},"required":["_id","city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Address/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/ld+json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/ld+json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/ld+json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/ld+json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"}},"required":["@id","city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/ld+json

API Root
type: Class
comment: The entry point for the hypershop API.
instance schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ApiRoot/schema/application/json","type":"object"}
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ApiRoot/schema/application/hal+json","type":"object","properties":{"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]},"https://example.hypercontract.org/profile/orderHistory":{"$ref":"https://example.hypercontract.org/profile/orderHistory/schema/application/hal+json"},"https://example.hypercontract.org/profile/searchCatalog":{"$ref":"https://example.hypercontract.org/profile/searchCatalog/schema/application/hal+json"},"https://example.hypercontract.org/profile/shoppingCart":{"$ref":"https://example.hypercontract.org/profile/shoppingCart/schema/application/hal+json"},"https://example.hypercontract.org/profile/userProfile":{"$ref":"https://example.hypercontract.org/profile/userProfile/schema/application/hal+json"}},"required":["self"]},"_embedded":{"type":"object","properties":{}}},"required":[]}
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ApiRoot/schema/application/json","type":"object"}
type: Schema
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ApiRoot/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"},"orderHistory":{"$ref":"https://example.hypercontract.org/profile/orderHistory/schema/application/ld+json"},"searchCatalog":{"$ref":"https://example.hypercontract.org/profile/searchCatalog/schema/application/ld+json"},"shoppingCart":{"$ref":"https://example.hypercontract.org/profile/shoppingCart/schema/application/ld+json"},"userProfile":{"$ref":"https://example.hypercontract.org/profile/userProfile/schema/application/ld+json"}},"required":["@id"]}
schema type: application/schema+json
target type: application/ld+json

Billing Address
type: Class
comment: The postal address to which the goods will be sent. This is a copy of an Address from the User Profile at the time when the Order was placed.
instance schema: https://example.hypercontract.org/profile/BillingAddress/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/BillingAddress/schema/application/hal+json","type":"object","properties":{"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/hal+json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/hal+json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/hal+json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/hal+json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/hal+json"}},"required":["city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/BillingAddress/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/BillingAddress/schema/application/json","type":"object","properties":{"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/json"}},"required":["city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/BillingAddress/schema/application/ld+json","type":"object","properties":{"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/ld+json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/ld+json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/ld+json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/ld+json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/ld+json"}},"required":["city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/ld+json

New Order
type: Class
comment: All information necessary to place a new Order.
instance schema: https://example.hypercontract.org/profile/NewOrder/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/NewOrder/schema/application/hal+json","type":"object","properties":{"billingAddress":{"$ref":"https://example.hypercontract.org/profile/billingAddress/schema/application/hal+json"},"payment":{"$ref":"https://example.hypercontract.org/profile/payment/schema/application/hal+json"},"shippingAddress":{"$ref":"https://example.hypercontract.org/profile/shippingAddress/schema/application/hal+json"},"shoppingCartItems":{"$ref":"https://example.hypercontract.org/profile/shoppingCartItems/schema/application/hal+json"}},"required":["billingAddress","payment","shippingAddress","shoppingCartItems"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/NewOrder/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/NewOrder/schema/application/json","type":"object","properties":{"billingAddress":{"$ref":"https://example.hypercontract.org/profile/billingAddress/schema/application/json"},"payment":{"$ref":"https://example.hypercontract.org/profile/payment/schema/application/json"},"shippingAddress":{"$ref":"https://example.hypercontract.org/profile/shippingAddress/schema/application/json"},"shoppingCartItems":{"$ref":"https://example.hypercontract.org/profile/shoppingCartItems/schema/application/json"}},"required":["billingAddress","payment","shippingAddress","shoppingCartItems"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/NewOrder/schema/application/ld+json","type":"object","properties":{"billingAddress":{"$ref":"https://example.hypercontract.org/profile/billingAddress/schema/application/ld+json"},"payment":{"$ref":"https://example.hypercontract.org/profile/payment/schema/application/ld+json"},"shippingAddress":{"$ref":"https://example.hypercontract.org/profile/shippingAddress/schema/application/ld+json"},"shoppingCartItems":{"$ref":"https://example.hypercontract.org/profile/shoppingCartItems/schema/application/ld+json"}},"required":["billingAddress","payment","shippingAddress","shoppingCartItems"]}
schema type: application/schema+json
target type: application/ld+json

Order
type: Class
comment: An order that has been placed by the user. The Order may be in processing, already fulfilled or cancelled.
instance schema: https://example.hypercontract.org/profile/Order/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Order/schema/application/hal+json","type":"object","properties":{"orderDate":{"$ref":"https://example.hypercontract.org/profile/orderDate/schema/application/hal+json"},"orderStatus":{"$ref":"https://example.hypercontract.org/profile/orderStatus/schema/application/hal+json"},"orderItems":{"$ref":"https://example.hypercontract.org/profile/orderItems/schema/application/hal+json"},"payment":{"$ref":"https://example.hypercontract.org/profile/payment/schema/application/hal+json"},"billingAddress":{"$ref":"https://example.hypercontract.org/profile/billingAddress/schema/application/hal+json"},"shippingAddress":{"$ref":"https://example.hypercontract.org/profile/shippingAddress/schema/application/hal+json"},"cancellationReason":{"$ref":"https://example.hypercontract.org/profile/cancellationReason/schema/application/hal+json"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]},"https://example.hypercontract.org/profile/cancel":{"$ref":"https://example.hypercontract.org/profile/cancel/schema/application/hal+json"}},"required":["self"]},"_embedded":{"type":"object","properties":{}}},"required":["orderDate","orderStatus","orderItems","payment","billingAddress","shippingAddress"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/Order/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Order/schema/application/json","type":"object","properties":{"_id":{"$ref":"https://example.hypercontract.org/profile/_id/schema/application/json"},"orderDate":{"$ref":"https://example.hypercontract.org/profile/orderDate/schema/application/json"},"orderStatus":{"$ref":"https://example.hypercontract.org/profile/orderStatus/schema/application/json"},"orderItems":{"$ref":"https://example.hypercontract.org/profile/orderItems/schema/application/json"},"payment":{"$ref":"https://example.hypercontract.org/profile/payment/schema/application/json"},"billingAddress":{"$ref":"https://example.hypercontract.org/profile/billingAddress/schema/application/json"},"shippingAddress":{"$ref":"https://example.hypercontract.org/profile/shippingAddress/schema/application/json"},"cancellationReason":{"$ref":"https://example.hypercontract.org/profile/cancellationReason/schema/application/json"}},"required":["_id","orderDate","orderStatus","orderItems","payment","billingAddress","shippingAddress"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Order/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"orderDate":{"$ref":"https://example.hypercontract.org/profile/orderDate/schema/application/ld+json"},"orderStatus":{"$ref":"https://example.hypercontract.org/profile/orderStatus/schema/application/ld+json"},"orderItems":{"$ref":"https://example.hypercontract.org/profile/orderItems/schema/application/ld+json"},"payment":{"$ref":"https://example.hypercontract.org/profile/payment/schema/application/ld+json"},"billingAddress":{"$ref":"https://example.hypercontract.org/profile/billingAddress/schema/application/ld+json"},"shippingAddress":{"$ref":"https://example.hypercontract.org/profile/shippingAddress/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"},"cancellationReason":{"$ref":"https://example.hypercontract.org/profile/cancellationReason/schema/application/ld+json"},"cancel":{"$ref":"https://example.hypercontract.org/profile/cancel/schema/application/ld+json"}},"required":["@id","orderDate","orderStatus","orderItems","payment","billingAddress","shippingAddress"]}
schema type: application/schema+json
target type: application/ld+json

Order Cancellation
type: Class
comment: All information necessary to cancel an Order.
instance schema: https://example.hypercontract.org/profile/OrderCancellation/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderCancellation/schema/application/hal+json","type":"object","properties":{"cancellationReason":{"$ref":"https://example.hypercontract.org/profile/cancellationReason/schema/application/hal+json"}},"required":[]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/OrderCancellation/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderCancellation/schema/application/json","type":"object","properties":{"cancellationReason":{"$ref":"https://example.hypercontract.org/profile/cancellationReason/schema/application/json"}},"required":[]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderCancellation/schema/application/ld+json","type":"object","properties":{"cancellationReason":{"$ref":"https://example.hypercontract.org/profile/cancellationReason/schema/application/ld+json"}},"required":[]}
schema type: application/schema+json
target type: application/ld+json

Order History
type: Class
comment: A list of all Orders that are currently being processed, already fulfilled or have been cancelled by the user.
instance schema: https://example.hypercontract.org/profile/OrderHistory/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderHistory/schema/application/hal+json","type":"object","properties":{"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]}},"required":["self"]},"_embedded":{"type":"object","properties":{"https://example.hypercontract.org/profile/orders":{"$ref":"https://example.hypercontract.org/profile/orders/schema/application/hal+json"}}}},"required":[]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/OrderHistory/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderHistory/schema/application/json","type":"object","properties":{"orders":{"$ref":"https://example.hypercontract.org/profile/orders/schema/application/json"}},"required":["orders"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderHistory/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"orders":{"$ref":"https://example.hypercontract.org/profile/orders/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"}},"required":["@id","orders"]}
schema type: application/schema+json
target type: application/ld+json

Order Item
type: Class
comment: A Product and its quantity as it has been ordered. The Order Item contains a copy of all Product information at the time when the Order was placed.
instance schema: https://example.hypercontract.org/profile/OrderItem/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderItem/schema/application/hal+json","type":"object","properties":{"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/hal+json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/hal+json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/hal+json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/hal+json"}},"required":["price","productDescription","productName","quantity"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/OrderItem/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderItem/schema/application/json","type":"object","properties":{"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/json"}},"required":["price","productDescription","productName","quantity"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/OrderItem/schema/application/ld+json","type":"object","properties":{"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/ld+json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/ld+json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/ld+json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/ld+json"}},"required":["price","productDescription","productName","quantity"]}
schema type: application/schema+json
target type: application/ld+json

Payment
type: Class
comment: The payment details that are used to pay for the Order. This is a copy of a Payment Option from the User Profile at the time when the Order was placed.
instance schema: https://example.hypercontract.org/profile/Payment/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Payment/schema/application/hal+json","type":"object","properties":{"accountOwner":{"$ref":"https://example.hypercontract.org/profile/accountOwner/schema/application/hal+json"},"bic":{"$ref":"https://example.hypercontract.org/profile/bic/schema/application/hal+json"},"iban":{"$ref":"https://example.hypercontract.org/profile/iban/schema/application/hal+json"}},"required":["accountOwner","bic","iban"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/Payment/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Payment/schema/application/json","type":"object","properties":{"accountOwner":{"$ref":"https://example.hypercontract.org/profile/accountOwner/schema/application/json"},"bic":{"$ref":"https://example.hypercontract.org/profile/bic/schema/application/json"},"iban":{"$ref":"https://example.hypercontract.org/profile/iban/schema/application/json"}},"required":["accountOwner","bic","iban"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Payment/schema/application/ld+json","type":"object","properties":{"accountOwner":{"$ref":"https://example.hypercontract.org/profile/accountOwner/schema/application/ld+json"},"bic":{"$ref":"https://example.hypercontract.org/profile/bic/schema/application/ld+json"},"iban":{"$ref":"https://example.hypercontract.org/profile/iban/schema/application/ld+json"}},"required":["accountOwner","bic","iban"]}
schema type: application/schema+json
target type: application/ld+json

Payment Option
type: Class
comment: Payment details that can be used for Payment when placing an Order. The Order will contain a copy of all payment details. Changes to a Payment Option do not affect Orders that have been previously placed with that Payment Option.
instance schema: https://example.hypercontract.org/profile/PaymentOption/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/PaymentOption/schema/application/hal+json","type":"object","properties":{"accountOwner":{"$ref":"https://example.hypercontract.org/profile/accountOwner/schema/application/hal+json"},"bic":{"$ref":"https://example.hypercontract.org/profile/bic/schema/application/hal+json"},"iban":{"$ref":"https://example.hypercontract.org/profile/iban/schema/application/hal+json"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]}},"required":["self"]},"_embedded":{"type":"object","properties":{}}},"required":["accountOwner","bic","iban"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/PaymentOption/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/PaymentOption/schema/application/json","type":"object","properties":{"_id":{"$ref":"https://example.hypercontract.org/profile/_id/schema/application/json"},"accountOwner":{"$ref":"https://example.hypercontract.org/profile/accountOwner/schema/application/json"},"bic":{"$ref":"https://example.hypercontract.org/profile/bic/schema/application/json"},"iban":{"$ref":"https://example.hypercontract.org/profile/iban/schema/application/json"}},"required":["_id","accountOwner","bic","iban"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/PaymentOption/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"accountOwner":{"$ref":"https://example.hypercontract.org/profile/accountOwner/schema/application/ld+json"},"bic":{"$ref":"https://example.hypercontract.org/profile/bic/schema/application/ld+json"},"iban":{"$ref":"https://example.hypercontract.org/profile/iban/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"}},"required":["@id","accountOwner","bic","iban"]}
schema type: application/schema+json
target type: application/ld+json

Product
type: Class
comment: A Product that can be ordered.
instance schema: https://example.hypercontract.org/profile/Product/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Product/schema/application/hal+json","type":"object","properties":{"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/hal+json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/hal+json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/hal+json"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]},"https://example.hypercontract.org/profile/image":{"$ref":"https://example.hypercontract.org/profile/image/schema/application/hal+json"},"https://example.hypercontract.org/profile/addToShoppingCart":{"$ref":"https://example.hypercontract.org/profile/addToShoppingCart/schema/application/hal+json"}},"required":["self"]},"_embedded":{"type":"object","properties":{}}},"required":["price","productDescription","productName"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/Product/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Product/schema/application/json","type":"object","properties":{"_id":{"$ref":"https://example.hypercontract.org/profile/_id/schema/application/json"},"image":{"$ref":"https://example.hypercontract.org/profile/image/schema/application/json"},"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/json"}},"required":["_id","image","price","productDescription","productName"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/Product/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"image":{"$ref":"https://example.hypercontract.org/profile/image/schema/application/ld+json"},"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/ld+json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/ld+json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"},"addToShoppingCart":{"$ref":"https://example.hypercontract.org/profile/addToShoppingCart/schema/application/ld+json"}},"required":["@id","image","price","productDescription","productName"]}
schema type: application/schema+json
target type: application/ld+json

Quantity Change
type: Class
comment: All information necessary to change the quantity of a Shopping Cart Item.
instance schema: https://example.hypercontract.org/profile/QuantityChange/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/QuantityChange/schema/application/hal+json","type":"object","properties":{"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/hal+json"}},"required":["quantity"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/QuantityChange/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/QuantityChange/schema/application/json","type":"object","properties":{"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/json"}},"required":["quantity"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/QuantityChange/schema/application/ld+json","type":"object","properties":{"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/ld+json"}},"required":["quantity"]}
schema type: application/schema+json
target type: application/ld+json

Search Query
type: Class
comment: Search criteria used to search the catalog for Products.
instance schema: uri-list

uri-list
type: Schema
value: <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="td-00.xslt"?> <variable name="queryString" concept-uri="https://example.hypercontract.org/profile/queryString"> <restriction base="string"/> <documentation xml:lang="en">A free-text search term that is used to search the catalog for Products. It is matched against the product name and the product description.</documentation> </variable> <documentation xml:lang="en">Search criteria used to search the catalog for Products.</documentation>
schema type: application/td+xml
target type: text/uri-list

Search Results
type: Class
comment: A list of Products matching a Search Query.
instance schema: https://example.hypercontract.org/profile/SearchResults/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/SearchResults/schema/application/hal+json","type":"object","properties":{"totalResults":{"$ref":"https://example.hypercontract.org/profile/totalResults/schema/application/hal+json"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]}},"required":["self"]},"_embedded":{"type":"object","properties":{"https://example.hypercontract.org/profile/products":{"$ref":"https://example.hypercontract.org/profile/products/schema/application/hal+json"}}}},"required":["totalResults"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/SearchResults/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/SearchResults/schema/application/json","type":"object","properties":{"products":{"$ref":"https://example.hypercontract.org/profile/products/schema/application/json"},"totalResults":{"$ref":"https://example.hypercontract.org/profile/totalResults/schema/application/json"}},"required":["products","totalResults"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/SearchResults/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"products":{"$ref":"https://example.hypercontract.org/profile/products/schema/application/ld+json"},"totalResults":{"$ref":"https://example.hypercontract.org/profile/totalResults/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"}},"required":["@id","products","totalResults"]}
schema type: application/schema+json
target type: application/ld+json

Shipping Address
type: Class
comment: The postal address to which the invoice will be sent. This is a copy of an Address from the User Profile at the time when the Order was placed.
instance schema: https://example.hypercontract.org/profile/ShippingAddress/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShippingAddress/schema/application/hal+json","type":"object","properties":{"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/hal+json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/hal+json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/hal+json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/hal+json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/hal+json"}},"required":["city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/ShippingAddress/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShippingAddress/schema/application/json","type":"object","properties":{"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/json"}},"required":["city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShippingAddress/schema/application/ld+json","type":"object","properties":{"city":{"$ref":"https://example.hypercontract.org/profile/city/schema/application/ld+json"},"country":{"$ref":"https://example.hypercontract.org/profile/country/schema/application/ld+json"},"name":{"$ref":"https://example.hypercontract.org/profile/name/schema/application/ld+json"},"street":{"$ref":"https://example.hypercontract.org/profile/street/schema/application/ld+json"},"zipCode":{"$ref":"https://example.hypercontract.org/profile/zipCode/schema/application/ld+json"}},"required":["city","country","name","street","zipCode"]}
schema type: application/schema+json
target type: application/ld+json

Shopping Cart
type: Class
comment: A list of Products that the user wants to order.
instance schema: https://example.hypercontract.org/profile/ShoppingCart/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShoppingCart/schema/application/hal+json","type":"object","properties":{"totalPrice":{"$ref":"https://example.hypercontract.org/profile/totalPrice/schema/application/hal+json"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]},"https://example.hypercontract.org/profile/placeOrder":{"$ref":"https://example.hypercontract.org/profile/placeOrder/schema/application/hal+json"}},"required":["self"]},"_embedded":{"type":"object","properties":{"https://example.hypercontract.org/profile/items":{"$ref":"https://example.hypercontract.org/profile/items/schema/application/hal+json"}}}},"required":["totalPrice"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/ShoppingCart/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShoppingCart/schema/application/json","type":"object","properties":{"items":{"$ref":"https://example.hypercontract.org/profile/items/schema/application/json"},"totalPrice":{"$ref":"https://example.hypercontract.org/profile/totalPrice/schema/application/json"}},"required":["items","totalPrice"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShoppingCart/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"items":{"$ref":"https://example.hypercontract.org/profile/items/schema/application/ld+json"},"totalPrice":{"$ref":"https://example.hypercontract.org/profile/totalPrice/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"},"placeOrder":{"$ref":"https://example.hypercontract.org/profile/placeOrder/schema/application/ld+json"}},"required":["@id","items","totalPrice"]}
schema type: application/schema+json
target type: application/ld+json

Shopping Cart Item
type: Class
comment: A Product and the quantity the user wants to order. The Shopping Cart Item contains a copy of all Product information at the time when the Product was added to the Shopping Cart.
instance schema: https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/hal+json","type":"object","properties":{"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/hal+json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/hal+json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/hal+json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/hal+json"},"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]},"https://example.hypercontract.org/profile/changeQuantity":{"$ref":"https://example.hypercontract.org/profile/changeQuantity/schema/application/hal+json"},"https://example.hypercontract.org/profile/remove":{"$ref":"https://example.hypercontract.org/profile/remove/schema/application/hal+json"},"https://example.hypercontract.org/profile/product":{"$ref":"https://example.hypercontract.org/profile/product/schema/application/hal+json"}},"required":["self"]},"_embedded":{"type":"object","properties":{}}},"required":["price","productDescription","productName","quantity"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/json","type":"object","properties":{"_id":{"$ref":"https://example.hypercontract.org/profile/_id/schema/application/json"},"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/json"},"product":{"$ref":"https://example.hypercontract.org/profile/product/schema/application/json"}},"required":["_id","price","productDescription","productName","quantity","product"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"price":{"$ref":"https://example.hypercontract.org/profile/price/schema/application/ld+json"},"productDescription":{"$ref":"https://example.hypercontract.org/profile/productDescription/schema/application/ld+json"},"productName":{"$ref":"https://example.hypercontract.org/profile/productName/schema/application/ld+json"},"quantity":{"$ref":"https://example.hypercontract.org/profile/quantity/schema/application/ld+json"},"product":{"$ref":"https://example.hypercontract.org/profile/product/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"},"changeQuantity":{"$ref":"https://example.hypercontract.org/profile/changeQuantity/schema/application/ld+json"},"remove":{"$ref":"https://example.hypercontract.org/profile/remove/schema/application/ld+json"}},"required":["@id","price","productDescription","productName","quantity","product"]}
schema type: application/schema+json
target type: application/ld+json

Shopping Cart Items
type: Class
comment: The list of Shopping Cart Items that have been added to the Shopping Cart

User Profile
type: Class
comment: Available Addresses and Payment Options of a user.
instance schema: https://example.hypercontract.org/profile/UserProfile/schema/application/json
instance schema: hal+json
instance schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/UserProfile/schema/application/hal+json","type":"object","properties":{"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","$comment":"A unique identifier."}},"required":["href"]}},"required":["self"]},"_embedded":{"type":"object","properties":{"https://example.hypercontract.org/profile/addresses":{"$ref":"https://example.hypercontract.org/profile/addresses/schema/application/hal+json"},"https://example.hypercontract.org/profile/paymentOptions":{"$ref":"https://example.hypercontract.org/profile/paymentOptions/schema/application/hal+json"}}}},"required":[]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/UserProfile/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/UserProfile/schema/application/json","type":"object","properties":{"addresses":{"$ref":"https://example.hypercontract.org/profile/addresses/schema/application/json"},"paymentOptions":{"$ref":"https://example.hypercontract.org/profile/paymentOptions/schema/application/json"}},"required":["addresses","paymentOptions"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/UserProfile/schema/application/ld+json","type":"object","properties":{"@id":{"$ref":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json"},"addresses":{"$ref":"https://example.hypercontract.org/profile/addresses/schema/application/ld+json"},"paymentOptions":{"$ref":"https://example.hypercontract.org/profile/paymentOptions/schema/application/ld+json"},"@context":{"$ref":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json"}},"required":["@id","addresses","paymentOptions"]}
schema type: application/schema+json
target type: application/ld+json

account owner
type: FunctionalProperty
type: DatatypeProperty
comment: The owner of a banking account.
domain: Payment
domain: Payment Option
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/accountOwner/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/accountOwner/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/accountOwner/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/accountOwner/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/accountOwner/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/accountOwner/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

add to shopping cart
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
type: Operation
comment: Adds a Product as a new Shopping Cart Item to the Shopping Cart or increases the quantity of an existing Shopping Cart Item when the Product has already been added to the Shopping Cart.
domain: Product
range: Shopping Cart Items
expected body: Addition to Shopping Cart
method: POST
returned type: Shopping Cart
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/addToShoppingCart/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/addToShoppingCart/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."}
schema type: application/schema+json
target type: application/ld+json

addresses
type: ObjectProperty
type: StateTransition
comment: A reference to all Addresses in a User Profile.
domain: User Profile
range: Address
value schema: https://example.hypercontract.org/profile/addresses/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/addresses/schema/application/hal+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/Address/schema/application/hal+json"},"minItems":1}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/addresses/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/addresses/schema/application/json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/Address/schema/application/json"},"minItems":1}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/addresses/schema/application/ld+json","type":"array","items":{"oneOf":[{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/Address>."},{"$ref":"https://example.hypercontract.org/profile/Address/schema/application/ld+json"}]},"minItems":1}
schema type: application/schema+json
target type: application/ld+json

bic
type: FunctionalProperty
type: DatatypeProperty
comment: The BIC of a banking account.
domain: Payment
domain: Payment Option
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/bic/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/bic/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/bic/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/bic/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/bic/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/bic/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

billing address
type: FunctionalProperty
type: ObjectProperty
comment: A reference to the Billing Address of an Order. The name in the Billing Address does not have to be identical to the name of the account owner of the chosen Payment.
domain: New Order
domain: Order
range: Billing Address
value schema: https://example.hypercontract.org/profile/billingAddress/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/billingAddress/schema/application/hal+json","$ref":"https://example.hypercontract.org/profile/BillingAddress/schema/application/hal+json"}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/billingAddress/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/billingAddress/schema/application/json","$ref":"https://example.hypercontract.org/profile/BillingAddress/schema/application/json"}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/billingAddress/schema/application/ld+json","$ref":"https://example.hypercontract.org/profile/BillingAddress/schema/application/ld+json"}
schema type: application/schema+json
target type: application/ld+json

cancel
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
type: Operation
comment: Cancels the processing of an order. The status will be set to "Cancelled".
domain: Order
range: Order
constraint: is order cancellable?
expected body: Order Cancellation
method: PATCH
returned type: Order
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/cancel/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/cancel/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."}
schema type: application/schema+json
target type: application/ld+json

cancellation reason
type: FunctionalProperty
type: DatatypeProperty
comment: A free-text reason for why the Order was or is being cancelled.
domain: Order
domain: Order Cancellation
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/cancellationReason/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/cancellationReason/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/cancellationReason/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/cancellationReason/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/cancellationReason/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/cancellationReason/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

change quantity
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
type: Operation
comment: Change the quantity of a Shopping Cart Item.
domain: Shopping Cart Item
range: Shopping Cart Item
expected body: Quantity Change
method: PATCH
returned type: Shopping Cart
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/changeQuantity/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/changeQuantity/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."}
schema type: application/schema+json
target type: application/ld+json

city
type: FunctionalProperty
type: DatatypeProperty
comment: The city of an Address.
domain: Address
domain: Billing Address
domain: Shipping Address
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/city/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/city/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/city/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/city/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/city/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/city/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

country
type: FunctionalProperty
type: DatatypeProperty
comment: The name of the country of an Address.
domain: Address
domain: Billing Address
domain: Shipping Address
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/country/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/country/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/country/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/country/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/country/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/country/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

iban
type: FunctionalProperty
type: DatatypeProperty
comment: The IBAN of a banking account.
domain: Payment
domain: Payment Option
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/iban/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/iban/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/iban/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/iban/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/iban/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/iban/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

image
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
comment: A picture of the Product.
domain: Product
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/image/schema/application/json","type":"string","$comment":"Value is a URI for an image."}
value schema: hal+json
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/image/schema/application/ld+json","type":"string","$comment":"Value is a URI for an image."}

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/image/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an image."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/image/schema/application/json","type":"string","$comment":"Value is a URI for an image."}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/image/schema/application/ld+json","type":"string","$comment":"Value is a URI for an image."}
type: Schema
schema type: application/schema+json
target type: application/ld+json

is order cancellable?
type: Precondition
comment: An Order can only be cancelled if the order status is still in "Processing".

is shopping cart orderable?
type: Precondition
comment: An Order can only be placed if there is at least one Shopping Cart Item in the Shopping Cart.

items
type: ObjectProperty
type: StateTransition
comment: The Shopping Cart Items currently in the Shopping Cart.
domain: Shopping Cart
range: Shopping Cart Item
value schema: https://example.hypercontract.org/profile/items/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/items/schema/application/hal+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/hal+json"}}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/items/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/items/schema/application/json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/json"}}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/items/schema/application/ld+json","type":"array","items":{"oneOf":[{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."},{"$ref":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/ld+json"}]}}
schema type: application/schema+json
target type: application/ld+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/jsonld_context/schema/application/ld+json","type":["object","string"]}
type: Schema
schema type: application/schema+json
target type: application/ld+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/jsonld_id/schema/application/ld+json","type":"string","$comment":"A unique identifier."}
type: Schema
schema type: application/schema+json
target type: application/ld+json

name
type: FunctionalProperty
type: DatatypeProperty
comment: The first and last name of the addressee of an Address.
domain: Address
domain: Billing Address
domain: Shipping Address
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/name/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/name/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/name/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/name/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/name/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/name/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

order date
type: FunctionalProperty
type: DatatypeProperty
comment: The date when the Order was placed.
domain: Order
range: date
value schema: https://example.hypercontract.org/profile/orderDate/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderDate/schema/application/hal+json","type":"string","pattern":"^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+([+-][0-2]\\d:[0-5]\\d|Z)$"}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/orderDate/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderDate/schema/application/json","type":"string","pattern":"^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+([+-][0-2]\\d:[0-5]\\d|Z)$"}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderDate/schema/application/ld+json","type":"string","pattern":"^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+([+-][0-2]\\d:[0-5]\\d|Z)$"}
schema type: application/schema+json
target type: application/ld+json

order history
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
comment: A link to the Order History.
domain: API Root
range: Order History
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderHistory/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderHistory/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."}
schema type: application/schema+json
target type: application/ld+json

order items
type: ObjectProperty
comment: The Order Items of an Order.
domain: Order
range: Order Item
value schema: https://example.hypercontract.org/profile/orderItems/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderItems/schema/application/hal+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/OrderItem/schema/application/hal+json"},"minItems":1}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/orderItems/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderItems/schema/application/json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/OrderItem/schema/application/json"},"minItems":1}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderItems/schema/application/ld+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/OrderItem/schema/application/ld+json"},"minItems":1}
schema type: application/schema+json
target type: application/ld+json

order status
type: FunctionalProperty
type: DatatypeProperty
comment: The status of the Order. Either "Processing", "Delivered" or "Cancelled".
domain: Order
range: string
value schema: https://example.hypercontract.org/profile/orderStatus/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderStatus/schema/application/hal+json","type":"string","enum":["Processing","Delivered","Cancelled"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/orderStatus/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderStatus/schema/application/json","type":"string","enum":["Processing","Delivered","Cancelled"]}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orderStatus/schema/application/ld+json","type":"string","enum":["Processing","Delivered","Cancelled"]}
schema type: application/schema+json
target type: application/ld+json

orders
type: ObjectProperty
type: StateTransition
comment: A reference to Orders in the Order History.
domain: Order History
range: Order
value schema: https://example.hypercontract.org/profile/orders/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orders/schema/application/hal+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/Order/schema/application/hal+json"}}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/orders/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orders/schema/application/json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/Order/schema/application/json"}}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/orders/schema/application/ld+json","type":"array","items":{"oneOf":[{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."},{"$ref":"https://example.hypercontract.org/profile/Order/schema/application/ld+json"}]}}
schema type: application/schema+json
target type: application/ld+json

payment
type: FunctionalProperty
type: ObjectProperty
comment: A reference to the Payment of an Order. The name of the account owner does not have to be indentical to the name in the chosen Billing Address.
domain: New Order
domain: Order
range: Payment
value schema: https://example.hypercontract.org/profile/payment/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/payment/schema/application/hal+json","$ref":"https://example.hypercontract.org/profile/Payment/schema/application/hal+json"}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/payment/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/payment/schema/application/json","$ref":"https://example.hypercontract.org/profile/Payment/schema/application/json"}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/payment/schema/application/ld+json","$ref":"https://example.hypercontract.org/profile/Payment/schema/application/ld+json"}
schema type: application/schema+json
target type: application/ld+json

payment options
type: ObjectProperty
type: StateTransition
comment: A reference to all Payment Options in a User Profile.
domain: User Profile
range: Payment Option
value schema: https://example.hypercontract.org/profile/paymentOptions/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/paymentOptions/schema/application/hal+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/PaymentOption/schema/application/hal+json"},"minItems":1}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/paymentOptions/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/paymentOptions/schema/application/json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/PaymentOption/schema/application/json"},"minItems":1}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/paymentOptions/schema/application/ld+json","type":"array","items":{"oneOf":[{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/PaymentOption>."},{"$ref":"https://example.hypercontract.org/profile/PaymentOption/schema/application/ld+json"}]},"minItems":1}
schema type: application/schema+json
target type: application/ld+json

place order
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
type: Operation
comment: Places a new Order based on the provided information. The Shopping Cart will be emptied after the Order has been successfully created.
domain: Shopping Cart
range: Order History
constraint: is shopping cart orderable?
expected body: New Order
method: POST
returned type: Order
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/placeOrder/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/placeOrder/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."}
schema type: application/schema+json
target type: application/ld+json

price
type: FunctionalProperty
type: DatatypeProperty
comment: The price per item.
domain: Order Item
domain: Product
domain: Shopping Cart Item
range: decimal
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/price/schema/application/json","type":"number","multipleOf":0.01,"minimum":0.01}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/price/schema/application/hal+json","type":"number","multipleOf":0.01,"minimum":0.01}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/price/schema/application/ld+json","type":"number","multipleOf":0.01,"minimum":0.01}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/price/schema/application/hal+json","type":"number","multipleOf":0.01,"minimum":0.01}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/price/schema/application/json","type":"number","multipleOf":0.01,"minimum":0.01}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/price/schema/application/ld+json","type":"number","multipleOf":0.01,"minimum":0.01}
type: Schema
schema type: application/schema+json
target type: application/ld+json

product
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
comment: A reference to a Product from the catalog.
domain: Addition to Shopping Cart
domain: Shopping Cart Item
range: Product
value schema: https://example.hypercontract.org/profile/product/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/product/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/product/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/product/schema/application/json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/product/schema/application/ld+json","oneOf":[{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."},{"$ref":"https://example.hypercontract.org/profile/Product/schema/application/ld+json"}]}
schema type: application/schema+json
target type: application/ld+json

product description
type: FunctionalProperty
type: DatatypeProperty
comment: A description of the Product's features and qualities.
domain: Order Item
domain: Product
domain: Shopping Cart Item
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productDescription/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productDescription/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productDescription/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productDescription/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productDescription/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productDescription/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

product name
type: FunctionalProperty
type: DatatypeProperty
comment: The name of the Product.
domain: Order Item
domain: Product
domain: Shopping Cart Item
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productName/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productName/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productName/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productName/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productName/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/productName/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

products
type: ObjectProperty
type: StateTransition
comment: A reference to Products from the catalog.
domain: Search Results
range: Product
value schema: https://example.hypercontract.org/profile/products/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/products/schema/application/hal+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/Product/schema/application/hal+json"}}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/products/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/products/schema/application/json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/Product/schema/application/json"}}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/products/schema/application/ld+json","type":"array","items":{"oneOf":[{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."},{"$ref":"https://example.hypercontract.org/profile/Product/schema/application/ld+json"}]}}
schema type: application/schema+json
target type: application/ld+json

quantity
type: FunctionalProperty
type: DatatypeProperty
comment: The number of items ordered or to be ordered.
domain: Addition to Shopping Cart
domain: Order Item
domain: Quantity Change
domain: Shopping Cart Item
range: integer
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/quantity/schema/application/json","type":"number","multipleOf":1,"minimum":1}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/quantity/schema/application/hal+json","type":"number","multipleOf":1,"minimum":1}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/quantity/schema/application/ld+json","type":"number","multipleOf":1,"minimum":1}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/quantity/schema/application/hal+json","type":"number","multipleOf":1,"minimum":1}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/quantity/schema/application/json","type":"number","multipleOf":1,"minimum":1}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/quantity/schema/application/ld+json","type":"number","multipleOf":1,"minimum":1}
type: Schema
schema type: application/schema+json
target type: application/ld+json

query string
type: FunctionalProperty
type: DatatypeProperty
comment: A free-text search term that is used to search the catalog for Products. It is matched against the product name and the product description.
domain: Search Query
range: string

remove
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
type: Operation
comment: Removes a Shopping Cart Item from the Shopping Cart.
domain: Shopping Cart Item
range: Shopping Cart Item
method: DELETE
returned type: Shopping Cart
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/remove/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/remove/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."}
schema type: application/schema+json
target type: application/ld+json

search catalog
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
type: Operation
comment: Searches the catalog for Products matching a Search Query. When no Search Query is provided, all Products will be returned.
domain: API Root
range: Search Results
expected query params: Search Query
method: GET
returned type: Search Results
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/searchCatalog/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/SearchResults>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/searchCatalog/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/SearchResults>."}
schema type: application/schema+json
target type: application/ld+json

shipping address
type: FunctionalProperty
type: ObjectProperty
comment: A reference to the Shipping Address of an Order.
domain: New Order
domain: Order
range: Shipping Address
value schema: https://example.hypercontract.org/profile/shippingAddress/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/shippingAddress/schema/application/hal+json","$ref":"https://example.hypercontract.org/profile/ShippingAddress/schema/application/hal+json"}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/shippingAddress/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/shippingAddress/schema/application/json","$ref":"https://example.hypercontract.org/profile/ShippingAddress/schema/application/json"}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/shippingAddress/schema/application/ld+json","$ref":"https://example.hypercontract.org/profile/ShippingAddress/schema/application/ld+json"}
schema type: application/schema+json
target type: application/ld+json

shopping cart
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
comment: A link to the Shopping Cart.
domain: API Root
range: Shopping Cart
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/shoppingCart/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCart>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/shoppingCart/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCart>."}
schema type: application/schema+json
target type: application/ld+json

shopping cart items
type: ObjectProperty
comment: A reference to Shopping Cart Items in the Shopping Cart.
domain: New Order
range: Shopping Cart Item
value schema: https://example.hypercontract.org/profile/shoppingCartItems/schema/application/json
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/shoppingCartItems/schema/application/hal+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/hal+json"},"minItems":1}
schema type: application/schema+json
target type: application/hal+json

https://example.hypercontract.org/profile/shoppingCartItems/schema/application/json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/shoppingCartItems/schema/application/json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/json"},"minItems":1}
schema type: application/schema+json
target type: application/json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/shoppingCartItems/schema/application/ld+json","type":"array","items":{"$ref":"https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/ld+json"},"minItems":1}
schema type: application/schema+json
target type: application/ld+json

street
type: FunctionalProperty
type: DatatypeProperty
comment: The street name and house number of an Address.
domain: Address
domain: Billing Address
domain: Shipping Address
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/street/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/street/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/street/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/street/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/street/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/street/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json

total price
type: FunctionalProperty
type: DatatypeProperty
comment: The total price of all items in the Shopping Cart. It is calculated by summing up the item's prices multiplied with their respective quantities.
domain: Shopping Cart
range: decimal
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalPrice/schema/application/json","type":"number","multipleOf":0.01,"minimum":0}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalPrice/schema/application/hal+json","type":"number","multipleOf":0.01,"minimum":0}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalPrice/schema/application/ld+json","type":"number","multipleOf":0.01,"minimum":0}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalPrice/schema/application/hal+json","type":"number","multipleOf":0.01,"minimum":0}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalPrice/schema/application/json","type":"number","multipleOf":0.01,"minimum":0}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalPrice/schema/application/ld+json","type":"number","multipleOf":0.01,"minimum":0}
type: Schema
schema type: application/schema+json
target type: application/ld+json

total results
type: FunctionalProperty
type: DatatypeProperty
comment: The total number of results matching the Search Query.
domain: Search Results
range: integer
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalResults/schema/application/json","type":"number","multipleOf":1,"minimum":0}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalResults/schema/application/hal+json","type":"number","multipleOf":1,"minimum":0}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalResults/schema/application/ld+json","type":"number","multipleOf":1,"minimum":0}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalResults/schema/application/hal+json","type":"number","multipleOf":1,"minimum":0}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalResults/schema/application/json","type":"number","multipleOf":1,"minimum":0}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/totalResults/schema/application/ld+json","type":"number","multipleOf":1,"minimum":0}
type: Schema
schema type: application/schema+json
target type: application/ld+json

user profile
type: FunctionalProperty
type: ObjectProperty
type: StateTransition
comment: A link to the UserProfile.
domain: API Root
range: User Profile
value schema: hal+json
value schema: ld+json

hal+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/userProfile/schema/application/hal+json","type":"object","properties":{"href":{"type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/UserProfile>."}},"required":["href"]}
schema type: application/schema+json
target type: application/hal+json

ld+json
type: Schema
value: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/userProfile/schema/application/ld+json","type":"string","$comment":"Value is a URI for an instance of type <https://example.hypercontract.org/profile/UserProfile>."}
schema type: application/schema+json
target type: application/ld+json

zip code
type: FunctionalProperty
type: DatatypeProperty
comment: The ZIP code of an Address. There are no restrictions on the ZIP code's format.
domain: Address
domain: Billing Address
domain: Shipping Address
range: string
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/zipCode/schema/application/json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/zipCode/schema/application/hal+json","type":"string"}
value schema: {"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/zipCode/schema/application/ld+json","type":"string"}

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/zipCode/schema/application/hal+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/hal+json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/zipCode/schema/application/json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/json

{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://example.hypercontract.org/profile/zipCode/schema/application/ld+json","type":"string"}
type: Schema
schema type: application/schema+json
target type: application/ld+json