hypershop API
A RESTful Web API described with RDF and hypercontract.
- Namespace
https://example.hypercontract.org/profile/
- Entry Point(s)
-
https://example.hypercontract.org
– The REST API for hypershop.
Returns ApiRoot .
Classes
# AdditionToShoppingCart
All information necessary to add a Product to the Shopping Cart.
Properties
quantity |
xsd:integer
|
The number of items ordered or to be ordered. |
---|
Links
product |
Product
|
A reference to a Product from the catalog. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/AdditionToShoppingCart/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"product": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"href"
]
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"product",
"quantity"
]
}
- Schema ID
https://example.hypercontract.org/profile/AdditionToShoppingCart/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"product": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"product",
"quantity"
]
}
- Schema ID
https://example.hypercontract.org/profile/AdditionToShoppingCart/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"product": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"product",
"quantity"
]
}
# Address
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.
Properties
city |
xsd:string
|
The city of an Address. |
---|---|---|
country |
xsd:string
|
The name of the country of an Address. |
name |
xsd:string
|
The first and last name of the addressee of an Address. |
street |
xsd:string
|
The street name and house number of an Address. |
zipCode |
xsd:string
|
The ZIP code of an Address. There are no restrictions on the ZIP code's format. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/Address/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"_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 ID
https://example.hypercontract.org/profile/Address/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"_id": {},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"_id",
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/Address/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"city",
"country",
"name",
"street",
"zipCode"
]
}
# ApiRoot
The entry point for the hypershop API.
Links
orderHistory |
OrderHistory
|
A link to the Order History. |
---|---|---|
shoppingCart |
ShoppingCart
|
A link to the Shopping Cart. |
userProfile |
UserProfile
|
A link to the UserProfile. |
Operations
searchCatalog |
SearchResults
|
Searches the catalog for Products matching a Search Query. When no Search Query is provided, all Products will be returned. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/ApiRoot/schema/application/hal+json
- Schema Type
application/schema+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": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/searchCatalog": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/SearchResults>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/shoppingCart": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCart>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/userProfile": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/UserProfile>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": []
}
- Schema ID
https://example.hypercontract.org/profile/ApiRoot/schema/application/json
- Schema Type
application/schema+json
{
"type": "object"
}
- Schema ID
https://example.hypercontract.org/profile/ApiRoot/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"@context": {
"type": [
"object",
"string"
]
},
"orderHistory": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."
},
"searchCatalog": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/SearchResults>."
},
"shoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCart>."
},
"userProfile": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/UserProfile>."
}
},
"required": [
"@id"
]
}
# BillingAddress
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.
Properties
city |
xsd:string
|
The city of an Address. |
---|---|---|
country |
xsd:string
|
The name of the country of an Address. |
name |
xsd:string
|
The first and last name of the addressee of an Address. |
street |
xsd:string
|
The street name and house number of an Address. |
zipCode |
xsd:string
|
The ZIP code of an Address. There are no restrictions on the ZIP code's format. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/BillingAddress/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/BillingAddress/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/BillingAddress/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
# NewOrder
All information necessary to place a new Order.
Properties
billingAddress |
BillingAddress
|
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. |
---|---|---|
payment |
Payment
|
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. |
shippingAddress |
ShippingAddress
|
A reference to the Shipping Address of an Order. |
shoppingCartItems |
ShoppingCartItem[]
|
A reference to Shopping Cart Items in the Shopping Cart. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/NewOrder/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shoppingCartItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/changeQuantity": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/remove": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/product": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
}
},
"required": [
"billingAddress",
"payment",
"shippingAddress",
"shoppingCartItems"
]
}
- Schema ID
https://example.hypercontract.org/profile/NewOrder/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shoppingCartItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"_id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
},
"minItems": 1
}
},
"required": [
"billingAddress",
"payment",
"shippingAddress",
"shoppingCartItems"
]
}
- Schema ID
https://example.hypercontract.org/profile/NewOrder/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shoppingCartItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
},
"@context": {
"type": [
"object",
"string"
]
},
"changeQuantity": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
},
"remove": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"@id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
},
"minItems": 1
}
},
"required": [
"billingAddress",
"payment",
"shippingAddress",
"shoppingCartItems"
]
}
# Order
An order that has been placed by the user. The Order may be in processing, already fulfilled or cancelled.
Properties
billingAddress |
BillingAddress
|
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. |
---|---|---|
cancellationReason |
xsd:string
|
A free-text reason for why the Order was or is being cancelled. |
orderDate |
xsd:date
|
The date when the Order was placed. |
orderItems |
OrderItem[]
|
The Order Items of an Order. |
orderStatus |
xsd:string
|
The status of the Order. Either "Processing", "Delivered" or "Cancelled". |
payment |
Payment
|
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. |
shippingAddress |
ShippingAddress
|
A reference to the Shipping Address of an Order. |
Operations
cancel |
Order
|
Cancels the processing of an order. The status will be set to "Cancelled". |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/Order/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"cancellationReason": {
"type": "string"
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/cancel": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
- Schema ID
https://example.hypercontract.org/profile/Order/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"_id": {},
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"cancellationReason": {
"type": "string"
}
},
"required": [
"_id",
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
- Schema ID
https://example.hypercontract.org/profile/Order/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"@context": {
"type": [
"object",
"string"
]
},
"cancellationReason": {
"type": "string"
},
"cancel": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
}
},
"required": [
"@id",
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
# OrderCancellation
All information necessary to cancel an Order.
Properties
cancellationReason |
xsd:string
|
A free-text reason for why the Order was or is being cancelled. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/OrderCancellation/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"cancellationReason": {
"type": "string"
}
},
"required": []
}
- Schema ID
https://example.hypercontract.org/profile/OrderCancellation/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"cancellationReason": {
"type": "string"
}
},
"required": []
}
- Schema ID
https://example.hypercontract.org/profile/OrderCancellation/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"cancellationReason": {
"type": "string"
}
},
"required": []
}
# OrderHistory
A list of all Orders that are currently being processed, already fulfilled or have been cancelled by the user.
Links
orders |
Order[]
|
A reference to Orders in the Order History. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/OrderHistory/schema/application/hal+json
- Schema Type
application/schema+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": {
"type": "array",
"items": {
"type": "object",
"properties": {
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"cancellationReason": {
"type": "string"
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/cancel": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
}
}
}
},
"required": []
}
- Schema ID
https://example.hypercontract.org/profile/OrderHistory/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"orders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"cancellationReason": {
"type": "string"
}
},
"required": [
"_id",
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
}
},
"required": [
"orders"
]
}
- Schema ID
https://example.hypercontract.org/profile/OrderHistory/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"orders": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"@context": {
"type": [
"object",
"string"
]
},
"cancellationReason": {
"type": "string"
},
"cancel": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
}
},
"required": [
"@id",
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
]
}
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"orders"
]
}
# OrderItem
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.
Properties
price |
xsd:decimal
|
The price per item. |
---|---|---|
productDescription |
xsd:string
|
A description of the Product's features and qualities. |
productName |
xsd:string
|
The name of the Product. |
quantity |
xsd:integer
|
The number of items ordered or to be ordered. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/OrderItem/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
}
- Schema ID
https://example.hypercontract.org/profile/OrderItem/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
}
- Schema ID
https://example.hypercontract.org/profile/OrderItem/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
}
# Payment
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.
Properties
accountOwner |
xsd:string
|
The owner of a banking account. |
---|---|---|
bic |
xsd:string
|
The BIC of a banking account. |
iban |
xsd:string
|
The IBAN of a banking account. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/Payment/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
}
- Schema ID
https://example.hypercontract.org/profile/Payment/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
}
- Schema ID
https://example.hypercontract.org/profile/Payment/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
}
# PaymentOption
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.
Properties
accountOwner |
xsd:string
|
The owner of a banking account. |
---|---|---|
bic |
xsd:string
|
The BIC of a banking account. |
iban |
xsd:string
|
The IBAN of a banking account. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/PaymentOption/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
},
"_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 ID
https://example.hypercontract.org/profile/PaymentOption/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"_id": {},
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"_id",
"accountOwner",
"bic",
"iban"
]
}
- Schema ID
https://example.hypercontract.org/profile/PaymentOption/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"accountOwner",
"bic",
"iban"
]
}
# Product
A Product that can be ordered.
Properties
price |
xsd:decimal
|
The price per item. |
---|---|---|
productDescription |
xsd:string
|
A description of the Product's features and qualities. |
productName |
xsd:string
|
The name of the Product. |
Links
image | A picture of the Product. |
---|
Operations
addToShoppingCart |
ShoppingCart
|
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. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/Product/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/image": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an image."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/addToShoppingCart": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"price",
"productDescription",
"productName"
]
}
- Schema ID
https://example.hypercontract.org/profile/Product/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"_id": {},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
}
},
"required": [
"_id",
"image",
"price",
"productDescription",
"productName"
]
}
- Schema ID
https://example.hypercontract.org/profile/Product/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
# QuantityChange
All information necessary to change the quantity of a Shopping Cart Item.
Properties
quantity |
xsd:integer
|
The number of items ordered or to be ordered. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/QuantityChange/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"quantity"
]
}
- Schema ID
https://example.hypercontract.org/profile/QuantityChange/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"quantity"
]
}
- Schema ID
https://example.hypercontract.org/profile/QuantityChange/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"quantity"
]
}
# SearchQuery
Search criteria used to search the catalog for Products.
Properties
queryString |
xsd:string
|
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. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/SearchQuery/schema/text/uri-list
- Schema Type
application/td+xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="td-00.xslt"?>
<td xmlns="urn:ietf:rfc:9999"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:rfc:9999 td-00.xsd"
hreft="https://example.hypercontract.org/products{?queryString}">
<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>
</td>
# SearchResults
A list of Products matching a Search Query.
Properties
totalResults |
xsd:integer
|
The total number of results matching the Search Query. |
---|
Links
products |
Product[]
|
A reference to Products from the catalog. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/SearchResults/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"totalResults": {
"type": "number",
"multipleOf": 1,
"minimum": 0
},
"_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": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/image": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an image."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/addToShoppingCart": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"price",
"productDescription",
"productName"
]
}
}
}
}
},
"required": [
"totalResults"
]
}
- Schema ID
https://example.hypercontract.org/profile/SearchResults/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
}
},
"required": [
"_id",
"image",
"price",
"productDescription",
"productName"
]
}
},
"totalResults": {
"type": "number",
"multipleOf": 1,
"minimum": 0
}
},
"required": [
"products",
"totalResults"
]
}
- Schema ID
https://example.hypercontract.org/profile/SearchResults/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"products": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
}
},
"totalResults": {
"type": "number",
"multipleOf": 1,
"minimum": 0
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"products",
"totalResults"
]
}
# ShippingAddress
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.
Properties
city |
xsd:string
|
The city of an Address. |
---|---|---|
country |
xsd:string
|
The name of the country of an Address. |
name |
xsd:string
|
The first and last name of the addressee of an Address. |
street |
xsd:string
|
The street name and house number of an Address. |
zipCode |
xsd:string
|
The ZIP code of an Address. There are no restrictions on the ZIP code's format. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/ShippingAddress/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/ShippingAddress/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/ShippingAddress/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
# ShoppingCart
A list of Products that the user wants to order.
Properties
totalPrice |
xsd:decimal
|
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. |
---|
Links
items |
ShoppingCartItem[]
|
The Shopping Cart Items currently in the Shopping Cart. |
---|
Operations
placeOrder |
Order
|
Places a new Order based on the provided information. The Shopping Cart will be emptied after the Order has been successfully created. |
---|
Schemas
- Schema ID
https://example.hypercontract.org/profile/ShoppingCart/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"totalPrice": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/placeOrder": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {
"https://example.hypercontract.org/profile/items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/changeQuantity": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/remove": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/product": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
}
}
}
}
},
"required": [
"totalPrice"
]
}
- Schema ID
https://example.hypercontract.org/profile/ShoppingCart/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"_id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
}
},
"totalPrice": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0
}
},
"required": [
"items",
"totalPrice"
]
}
- Schema ID
https://example.hypercontract.org/profile/ShoppingCart/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"items": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
},
"@context": {
"type": [
"object",
"string"
]
},
"changeQuantity": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
},
"remove": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"@id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
}
]
}
},
"totalPrice": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0
},
"@context": {
"type": [
"object",
"string"
]
},
"placeOrder": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."
}
},
"required": [
"@id",
"items",
"totalPrice"
]
}
# ShoppingCartItem
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.
Properties
price |
xsd:decimal
|
The price per item. |
---|---|---|
productDescription |
xsd:string
|
A description of the Product's features and qualities. |
productName |
xsd:string
|
The name of the Product. |
quantity |
xsd:integer
|
The number of items ordered or to be ordered. |
Links
product |
Product
|
A reference to a Product from the catalog. |
---|
Operations
changeQuantity |
ShoppingCart
|
Change the quantity of a Shopping Cart Item. |
---|---|---|
remove |
ShoppingCart
|
Removes a Shopping Cart Item from the Shopping Cart. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/changeQuantity": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/remove": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/product": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
}
- Schema ID
https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"_id": {},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"_id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
}
- Schema ID
https://example.hypercontract.org/profile/ShoppingCartItem/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
},
"@context": {
"type": [
"object",
"string"
]
},
"changeQuantity": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
},
"remove": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"@id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
}
# ShoppingCartItems
The list of Shopping Cart Items that have been added to the Shopping Cart
# UserProfile
Available Addresses and Payment Options of a user.
Links
addresses |
Address[]
|
A reference to all Addresses in a User Profile. |
---|---|---|
paymentOptions |
PaymentOption[]
|
A reference to all Payment Options in a User Profile. |
Schemas
- Schema ID
https://example.hypercontract.org/profile/UserProfile/schema/application/hal+json
- Schema Type
application/schema+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": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"_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"
]
},
"minItems": 1
},
"https://example.hypercontract.org/profile/paymentOptions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
},
"_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"
]
},
"minItems": 1
}
}
}
},
"required": []
}
- Schema ID
https://example.hypercontract.org/profile/UserProfile/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"_id",
"city",
"country",
"name",
"street",
"zipCode"
]
},
"minItems": 1
},
"paymentOptions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"_id",
"accountOwner",
"bic",
"iban"
]
},
"minItems": 1
}
},
"required": [
"addresses",
"paymentOptions"
]
}
- Schema ID
https://example.hypercontract.org/profile/UserProfile/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"addresses": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Address>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"city",
"country",
"name",
"street",
"zipCode"
]
}
]
},
"minItems": 1
},
"paymentOptions": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/PaymentOption>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"accountOwner",
"bic",
"iban"
]
}
]
},
"minItems": 1
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"addresses",
"paymentOptions"
]
}
Properties
# accountOwner
The owner of a banking account.
- Used by
-
Payment
PaymentOption
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/accountOwner/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/accountOwner/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/accountOwner/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# bic
The BIC of a banking account.
- Used by
-
Payment
PaymentOption
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/bic/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/bic/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/bic/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# cancellationReason
A free-text reason for why the Order was or is being cancelled.
- Used by
-
Order
OrderCancellation
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/cancellationReason/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/cancellationReason/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/cancellationReason/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# city
The city of an Address.
- Used by
-
Address
BillingAddress
ShippingAddress
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/city/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/city/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/city/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# country
The name of the country of an Address.
- Used by
-
Address
BillingAddress
ShippingAddress
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/country/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/country/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/country/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# iban
The IBAN of a banking account.
- Used by
-
Payment
PaymentOption
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/iban/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/iban/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/iban/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# name
The first and last name of the addressee of an Address.
- Used by
-
Address
BillingAddress
ShippingAddress
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/name/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/name/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/name/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# orderDate
The date when the Order was placed.
- Used by
-
Order
- Value Type
-
xsd:date
- Schema ID
https://example.hypercontract.org/profile/orderDate/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/orderDate/schema/application/json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/orderDate/schema/application/ld+json
- Schema Type
application/schema+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)$"
}
# orderStatus
The status of the Order. Either "Processing", "Delivered" or "Cancelled".
- Used by
-
Order
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/orderStatus/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
}
- Schema ID
https://example.hypercontract.org/profile/orderStatus/schema/application/json
- Schema Type
application/schema+json
{
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
}
- Schema ID
https://example.hypercontract.org/profile/orderStatus/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
}
# price
The price per item.
- Used by
-
OrderItem
Product
ShoppingCartItem
- Value Type
-
xsd:decimal
- Schema ID
https://example.hypercontract.org/profile/price/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
}
- Schema ID
https://example.hypercontract.org/profile/price/schema/application/json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
}
- Schema ID
https://example.hypercontract.org/profile/price/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
}
# productDescription
A description of the Product's features and qualities.
- Used by
-
OrderItem
Product
ShoppingCartItem
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/productDescription/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/productDescription/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/productDescription/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# productName
The name of the Product.
- Used by
-
OrderItem
Product
ShoppingCartItem
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/productName/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/productName/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/productName/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# quantity
The number of items ordered or to be ordered.
- Used by
-
AdditionToShoppingCart
OrderItem
QuantityChange
ShoppingCartItem
- Value Type
-
xsd:integer
- Schema ID
https://example.hypercontract.org/profile/quantity/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 1,
"minimum": 1
}
- Schema ID
https://example.hypercontract.org/profile/quantity/schema/application/json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 1,
"minimum": 1
}
- Schema ID
https://example.hypercontract.org/profile/quantity/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 1,
"minimum": 1
}
# queryString
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.
- Used by
-
SearchQuery
- Value Type
-
xsd:string
# street
The street name and house number of an Address.
- Used by
-
Address
BillingAddress
ShippingAddress
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/street/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/street/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/street/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# totalPrice
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.
- Used by
-
ShoppingCart
- Value Type
-
xsd:decimal
- Schema ID
https://example.hypercontract.org/profile/totalPrice/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 0.01,
"minimum": 0
}
- Schema ID
https://example.hypercontract.org/profile/totalPrice/schema/application/json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 0.01,
"minimum": 0
}
- Schema ID
https://example.hypercontract.org/profile/totalPrice/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 0.01,
"minimum": 0
}
# totalResults
The total number of results matching the Search Query.
- Used by
-
SearchResults
- Value Type
-
xsd:integer
- Schema ID
https://example.hypercontract.org/profile/totalResults/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 1,
"minimum": 0
}
- Schema ID
https://example.hypercontract.org/profile/totalResults/schema/application/json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 1,
"minimum": 0
}
- Schema ID
https://example.hypercontract.org/profile/totalResults/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "number",
"multipleOf": 1,
"minimum": 0
}
# zipCode
The ZIP code of an Address. There are no restrictions on the ZIP code's format.
- Used by
-
Address
BillingAddress
ShippingAddress
- Value Type
-
xsd:string
- Schema ID
https://example.hypercontract.org/profile/zipCode/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/zipCode/schema/application/json
- Schema Type
application/schema+json
{
"type": "string"
}
- Schema ID
https://example.hypercontract.org/profile/zipCode/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string"
}
# billingAddress
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.
- Used by
-
NewOrder
Order
- Value Type
-
BillingAddress
- Schema ID
https://example.hypercontract.org/profile/billingAddress/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/billingAddress/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/billingAddress/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
# orderItems
The Order Items of an Order.
- Used by
-
Order
- Value Type
-
OrderItem[]
- Schema ID
https://example.hypercontract.org/profile/orderItems/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
}
- Schema ID
https://example.hypercontract.org/profile/orderItems/schema/application/json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
}
- Schema ID
https://example.hypercontract.org/profile/orderItems/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
}
# payment
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.
- Used by
-
NewOrder
Order
- Value Type
-
Payment
- Schema ID
https://example.hypercontract.org/profile/payment/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
}
- Schema ID
https://example.hypercontract.org/profile/payment/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
}
- Schema ID
https://example.hypercontract.org/profile/payment/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
}
# shippingAddress
A reference to the Shipping Address of an Order.
- Used by
-
NewOrder
Order
- Value Type
-
ShippingAddress
- Schema ID
https://example.hypercontract.org/profile/shippingAddress/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/shippingAddress/schema/application/json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
- Schema ID
https://example.hypercontract.org/profile/shippingAddress/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
}
# shoppingCartItems
A reference to Shopping Cart Items in the Shopping Cart.
- Used by
-
NewOrder
- Value Type
-
ShoppingCartItem[]
- Schema ID
https://example.hypercontract.org/profile/shoppingCartItems/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/changeQuantity": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/remove": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/product": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
}
- Schema ID
https://example.hypercontract.org/profile/shoppingCartItems/schema/application/json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"_id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
},
"minItems": 1
}
- Schema ID
https://example.hypercontract.org/profile/shoppingCartItems/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
},
"@context": {
"type": [
"object",
"string"
]
},
"changeQuantity": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
},
"remove": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"@id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
},
"minItems": 1
}
Link Relation Types
# addresses
A reference to all Addresses in a User Profile.
- Used by
-
UserProfile
- Target Type
-
Address[]
- Schema ID
https://example.hypercontract.org/profile/addresses/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"_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"
]
},
"minItems": 1
}
- Schema ID
https://example.hypercontract.org/profile/addresses/schema/application/json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"_id",
"city",
"country",
"name",
"street",
"zipCode"
]
},
"minItems": 1
}
- Schema ID
https://example.hypercontract.org/profile/addresses/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Address>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"city",
"country",
"name",
"street",
"zipCode"
]
}
]
},
"minItems": 1
}
# image
A picture of the Product.
- Used by
-
Product
- Target Type
- Schema ID
https://example.hypercontract.org/profile/image/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an image."
}
},
"required": [
"href"
]
}
- Schema ID
https://example.hypercontract.org/profile/image/schema/application/json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an image."
}
- Schema ID
https://example.hypercontract.org/profile/image/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an image."
}
# items
The Shopping Cart Items currently in the Shopping Cart.
- Used by
-
ShoppingCart
- Target Type
-
ShoppingCartItem[]
- Schema ID
https://example.hypercontract.org/profile/items/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/changeQuantity": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/remove": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/product": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
}
}
- Schema ID
https://example.hypercontract.org/profile/items/schema/application/json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
},
"required": [
"_id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
}
}
- Schema ID
https://example.hypercontract.org/profile/items/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
},
"product": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
},
"@context": {
"type": [
"object",
"string"
]
},
"changeQuantity": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
},
"remove": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
},
"required": [
"@id",
"price",
"productDescription",
"productName",
"quantity",
"product"
]
}
]
}
}
# orderHistory
A link to the Order History.
- Used by
-
ApiRoot
- Target Type
-
OrderHistory
- Schema ID
https://example.hypercontract.org/profile/orderHistory/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/orderHistory/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."
}
# orders
A reference to Orders in the Order History.
- Used by
-
OrderHistory
- Target Type
-
Order[]
- Schema ID
https://example.hypercontract.org/profile/orders/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"cancellationReason": {
"type": "string"
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/cancel": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
}
- Schema ID
https://example.hypercontract.org/profile/orders/schema/application/json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"cancellationReason": {
"type": "string"
}
},
"required": [
"_id",
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
}
- Schema ID
https://example.hypercontract.org/profile/orders/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"orderDate": {
"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)$"
},
"orderStatus": {
"type": "string",
"enum": [
"Processing",
"Delivered",
"Cancelled"
]
},
"orderItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"quantity": {
"type": "number",
"multipleOf": 1,
"minimum": 1
}
},
"required": [
"price",
"productDescription",
"productName",
"quantity"
]
},
"minItems": 1
},
"payment": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"accountOwner",
"bic",
"iban"
]
},
"billingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"shippingAddress": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zipCode": {
"type": "string"
}
},
"required": [
"city",
"country",
"name",
"street",
"zipCode"
]
},
"@context": {
"type": [
"object",
"string"
]
},
"cancellationReason": {
"type": "string"
},
"cancel": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
}
},
"required": [
"@id",
"orderDate",
"orderStatus",
"orderItems",
"payment",
"billingAddress",
"shippingAddress"
]
}
]
}
}
# paymentOptions
A reference to all Payment Options in a User Profile.
- Used by
-
UserProfile
- Target Type
-
PaymentOption[]
- Schema ID
https://example.hypercontract.org/profile/paymentOptions/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
},
"_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"
]
},
"minItems": 1
}
- Schema ID
https://example.hypercontract.org/profile/paymentOptions/schema/application/json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
}
},
"required": [
"_id",
"accountOwner",
"bic",
"iban"
]
},
"minItems": 1
}
- Schema ID
https://example.hypercontract.org/profile/paymentOptions/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/PaymentOption>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"accountOwner": {
"type": "string"
},
"bic": {
"type": "string"
},
"iban": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
}
},
"required": [
"@id",
"accountOwner",
"bic",
"iban"
]
}
]
},
"minItems": 1
}
# product
A reference to a Product from the catalog.
- Used by
-
AdditionToShoppingCart
ShoppingCartItem
- Target Type
-
Product
- Schema ID
https://example.hypercontract.org/profile/product/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/product/schema/application/json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
}
- Schema ID
https://example.hypercontract.org/profile/product/schema/application/ld+json
- Schema Type
application/schema+json
{
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
}
# products
A reference to Products from the catalog.
- Used by
-
SearchResults
- Target Type
-
Product[]
- Schema ID
https://example.hypercontract.org/profile/products/schema/application/hal+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"_links": {
"type": "object",
"properties": {
"self": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "A unique identifier."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/image": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an image."
}
},
"required": [
"href"
]
},
"https://example.hypercontract.org/profile/addToShoppingCart": {
"type": "object",
"properties": {
"href": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"href"
]
}
},
"required": [
"self"
]
},
"_embedded": {
"type": "object",
"properties": {}
}
},
"required": [
"price",
"productDescription",
"productName"
]
}
}
- Schema ID
https://example.hypercontract.org/profile/products/schema/application/json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
}
},
"required": [
"_id",
"image",
"price",
"productDescription",
"productName"
]
}
}
- Schema ID
https://example.hypercontract.org/profile/products/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Product>."
},
{
"type": "object",
"properties": {
"@id": {
"type": "string",
"$comment": "A unique identifier."
},
"image": {
"type": "string",
"$comment": "Value is a URI for an image."
},
"price": {
"type": "number",
"multipleOf": 0.01,
"minimum": 0.01
},
"productDescription": {
"type": "string"
},
"productName": {
"type": "string"
},
"@context": {
"type": [
"object",
"string"
]
},
"addToShoppingCart": {
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
},
"required": [
"@id",
"image",
"price",
"productDescription",
"productName"
]
}
]
}
}
# shoppingCart
A link to the Shopping Cart.
- Used by
-
ApiRoot
- Target Type
-
ShoppingCart
- Schema ID
https://example.hypercontract.org/profile/shoppingCart/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/shoppingCart/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCart>."
}
# userProfile
A link to the UserProfile.
- Used by
-
ApiRoot
- Target Type
-
UserProfile
- Schema ID
https://example.hypercontract.org/profile/userProfile/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/userProfile/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/UserProfile>."
}
Operations
# addToShoppingCart
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.
- Method
-
POST
- Used by
-
Product
- Target Type
-
ShoppingCartItems
- Expected Query
- none
- Expected Body
-
AdditionToShoppingCart
- Returned Type
-
ShoppingCart
- Schema ID
https://example.hypercontract.org/profile/addToShoppingCart/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/addToShoppingCart/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItems>."
}
# cancel
Cancels the processing of an order. The status will be set to "Cancelled".
Precondition An Order can only be cancelled if the order status is still in "Processing".
- Method
-
PATCH
- Used by
-
Order
- Target Type
-
Order
- Expected Query
- none
- Expected Body
-
OrderCancellation
- Returned Type
-
Order
- Schema ID
https://example.hypercontract.org/profile/cancel/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/cancel/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/Order>."
}
# changeQuantity
Change the quantity of a Shopping Cart Item.
- Method
-
PATCH
- Used by
-
ShoppingCartItem
- Target Type
-
ShoppingCartItem
- Expected Query
- none
- Expected Body
-
QuantityChange
- Returned Type
-
ShoppingCart
- Schema ID
https://example.hypercontract.org/profile/changeQuantity/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/changeQuantity/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
# placeOrder
Places a new Order based on the provided information. The Shopping Cart will be emptied after the Order has been successfully created.
Precondition An Order can only be placed if there is at least one Shopping Cart Item in the Shopping Cart.
- Method
-
POST
- Used by
-
ShoppingCart
- Target Type
-
OrderHistory
- Expected Query
- none
- Expected Body
-
NewOrder
- Returned Type
-
Order
- Schema ID
https://example.hypercontract.org/profile/placeOrder/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/placeOrder/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/OrderHistory>."
}
# remove
Removes a Shopping Cart Item from the Shopping Cart.
- Method
-
DELETE
- Used by
-
ShoppingCartItem
- Target Type
-
ShoppingCartItem
- Expected Query
- none
- Expected Body
- none
- Returned Type
-
ShoppingCart
- Schema ID
https://example.hypercontract.org/profile/remove/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/remove/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/ShoppingCartItem>."
}
# searchCatalog
Searches the catalog for Products matching a Search Query. When no Search Query is provided, all Products will be returned.
- Method
-
GET
- Used by
-
ApiRoot
- Target Type
-
SearchResults
- Expected Query
-
SearchQuery
- Expected Body
- none
- Returned Type
-
SearchResults
- Schema ID
https://example.hypercontract.org/profile/searchCatalog/schema/application/hal+json
- Schema Type
application/schema+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 ID
https://example.hypercontract.org/profile/searchCatalog/schema/application/ld+json
- Schema Type
application/schema+json
{
"type": "string",
"$comment": "Value is a URI for an instance of type <https://example.hypercontract.org/profile/SearchResults>."
}