UC3 Schemas
Garments Schema
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc3/garments.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"title": "REVOLUTION LIGHT langärmeliges Baselayer Shirt",
"eshop_link": "https://www.odlo.com/7611366000042.html",
"uid": "7611366000042",
"group_id": "391772",
"material": "100% Polyester",
"product_type": {
"full_type": "Men>Sporting Activity>Running & Trail",
"extracted_type_0": "Men",
"extracted_type_1": "Sporting Activity",
"extracted_type_2": "Running & Trail"
},
"price": "64.95",
"additional_information": {
"custom_label_0": "",
"custom_label_1": "Warm",
"custom_label_2": "",
"custom_label_3": "oekotex"
},
"gender": "male",
"size": "M",
"color": "directoire blue",
"color_code": "15700",
"photo": "https://click.cptrack.de/?rd=true&k=rXK5MERxr0OxIUPXDyoj7-2y22xETFU22pNdMFGuQXDUbYjHA_BLt09OLT8cF4k6v9egB14mTsTo9GB4eBPQwQ~~&rdlink=https%3A%2F%2Fwww.odlo.com%2Fon%2Fdemandware.static%2F-%2FSites-odlo-master-catalog%2Fdefault%2Fdw3895ef55%2Fimages%2Flarge%2F211874.jpg",
"src": {
"file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.fbx",
"texture": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/textures%shared%filename.zip",
"meta": {
"colors": [
"Light Grey",
"Black",
"Red"
]
}
},
"tryon": "false"
}
],
"required": [
"title",
"eshop_link",
"uid",
"group_id",
"material",
"product_type",
"price",
"additional_information",
"gender",
"size",
"color",
"color_code",
"photo",
"src",
"tryon"
],
"properties": {
"title": {
"$id": "#/properties/title",
"default": "",
"description": "The garment entry title",
"examples": [
"REVOLUTION LIGHT langärmeliges Baselayer Shirt"
],
"title": "The title property",
"type": "string"
},
"eshop_link": {
"$id": "#/properties/eshop_link",
"default": "",
"description": "A URL that links to the specific garment in the ODLO e-shop",
"examples": [
"https://www.odlo.com/7611366000042.html"
],
"title": "The eshop_link property",
"type": "string"
},
"uid": {
"$id": "#/properties/uid",
"default": "",
"description": "Each garment has a unique ID (EAN code)",
"examples": [
"7611366000042"
],
"title": "The uid property",
"type": "string"
},
"group_id": {
"$id": "#/properties/group_id",
"default": "",
"description": "Each garment irregardless of size and color, has a unique id which is the group id property.",
"examples": [
"391772"
],
"title": "The group_id property",
"type": "string"
},
"material": {
"$id": "#/properties/material",
"default": "",
"description": "The garment material",
"examples": [
"100% Polyester"
],
"title": "The material property",
"type": "string"
},
"product_type": {
"$id": "#/properties/product_type",
"default": {},
"description": "This is provided by ODLO as a full type. We further break it down into 3 distinct types, for advanced filtering.",
"examples": [
{
"full_type": "Men>Sporting Activity>Running & Trail",
"extracted_type_0": "Men",
"extracted_type_1": "Sporting Activity",
"extracted_type_2": "Running & Trail"
}
],
"required": [
"full_type",
"extracted_type_0",
"extracted_type_1",
"extracted_type_2"
],
"title": "The product_type object",
"type": "object",
"properties": {
"full_type": {
"$id": "#/properties/product_type/properties/full_type",
"default": "",
"description": "the full type property of a garment. It is a long string consisted of some tags",
"examples": [
"Men>Sporting Activity>Running & Trail"
],
"title": "The full_type property",
"type": "string"
},
"extracted_type_0": {
"$id": "#/properties/product_type/properties/extracted_type_0",
"default": "",
"description": "The first type term extracted from full type string",
"examples": [
"Men"
],
"title": "The extracted_type_0 property",
"type": "string"
},
"extracted_type_1": {
"$id": "#/properties/product_type/properties/extracted_type_1",
"default": "",
"description": "The seconds type term extracted from full type string",
"examples": [
"Sporting Activity"
],
"title": "The extracted_type_1 property",
"type": "string"
},
"extracted_type_2": {
"$id": "#/properties/product_type/properties/extracted_type_2",
"default": "",
"description": "The third type term extracted from full type string",
"examples": [
"Running & Trail"
],
"title": "The extracted_type_2 property",
"type": "string"
}
}
},
"price": {
"$id": "#/properties/price",
"default": "",
"description": "The garment price",
"examples": [
"64.95"
],
"title": "The price property",
"type": "string"
},
"additional_information": {
"$id": "#/properties/additional_information",
"default": {},
"description": "This object consists of four different fields that contain information that further describe the garment",
"examples": [
{
"custom_label_0": "",
"custom_label_1": "Warm",
"custom_label_2": "",
"custom_label_3": "oekotex"
}
],
"required": [
"custom_label_0",
"custom_label_1",
"custom_label_2",
"custom_label_3"
],
"title": "The additional_information object",
"type": "object",
"properties": {
"custom_label_0": {
"$id": "#/properties/additional_information/properties/custom_label_0",
"default": "",
"description": "The first field that further describes the garment item",
"examples": [
""
],
"title": "The custom_label_0 property",
"type": "string"
},
"custom_label_1": {
"$id": "#/properties/additional_information/properties/custom_label_1",
"default": "",
"description": "The second field that further describes the garment item",
"examples": [
"Warm"
],
"title": "The custom_label_1 property",
"type": "string"
},
"custom_label_2": {
"$id": "#/properties/additional_information/properties/custom_label_2",
"default": "",
"description": "The third field that further describes the garment item",
"examples": [
""
],
"title": "The custom_label_2 property",
"type": "string"
},
"custom_label_3": {
"$id": "#/properties/additional_information/properties/custom_label_3",
"default": "",
"description": "The fourth field that further describes the garment item",
"examples": [
"oekotex"
],
"title": "The custom_label_3 property",
"type": "string"
}
}
},
"gender": {
"$id": "#/properties/gender",
"default": "",
"description": "This is male or female, for the fit to tailor male or female bodies",
"examples": [
"male",
"female"
],
"title": "The gender property",
"type": "string"
},
"size": {
"$id": "#/properties/size",
"default": "",
"description": "The garment size property 'Small' to 'XXL'",
"examples": [
"S",
"M",
"L",
"XL",
"XXL"
],
"title": "The size property",
"type": "string"
},
"color": {
"$id": "#/properties/color",
"default": "",
"description": "The garment color",
"examples": [
"directoire blue"
],
"title": "The color property",
"type": "string"
},
"color_code": {
"$id": "#/properties/color_code",
"default": "",
"description": "The garment colorway code",
"examples": [
"15700"
],
"title": "The color code (colorway) property",
"type": "string"
},
"photo": {
"$id": "#/properties/photo",
"default": "",
"description": "A URL of the garment photo. The photo is hosted on ODLO server",
"examples": [
"https://click.cptrack.de/?rd=true&k=rXK5MERxr0OxIUPXDyoj7-2y22xETFU22pNdMFGuQXDUbYjHA_BLt09OLT8cF4k6v9egB14mTsTo9GB4eBPQwQ~~&rdlink=https%3A%2F%2Fwww.odlo.com%2Fon%2Fdemandware.static%2F-%2FSites-odlo-master-catalog%2Fdefault%2Fdw3895ef55%2Fimages%2Flarge%2F211874.jpg"
],
"title": "The photo property",
"type": "string"
},
"src": {
"$id": "#/properties/src",
"type": "object",
"title": "The src schema",
"description": "Inside the src object, there is a specific garment file, a texture zip and available colors. It includes a URL to Firebase Storage for the garment file, a URL for the textures zip in Firebase Storage and an array that features all colors available",
"default": {},
"examples": [
{
"file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.fbx",
"texture": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/textures%shared%filename.zip",
"meta": {
"colors": [
"Light Grey",
"Black",
"Red"
]
}
}
],
"required": [
"file",
"texture",
"meta"
],
"properties": {
"file": {
"$id": "#/properties/src/properties/file",
"type": "string",
"title": "The file property",
"description": "A Firebase Storage url that features the 3d model of the garment",
"default": "",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.fbx"
]
},
"texture": {
"$id": "#/properties/src/properties/texture",
"type": "string",
"title": "The texture property",
"description": "A Firebase Storage url that features the zip file for the textures of the garment",
"default": "",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/textures%shared%filename.zip"
]
},
"meta": {
"$id": "#/properties/src/properties/meta",
"type": "object",
"title": "The meta object",
"description": "The meta object contains metadata about the garment",
"default": {},
"examples": [
{
"colors": [
"Light Grey",
"Black",
"Red"
]
}
],
"required": [
"colors"
],
"properties": {
"colors": {
"$id": "#/properties/src/properties/meta/properties/colors",
"type": "array",
"title": "The colors array",
"description": "An array that features the colors available for the garment",
"default": [],
"examples": [
[
"Light Grey",
"Black"
]
],
"items": {
"$id": "#/properties/src/properties/meta/properties/colors/items",
"anyOf": [
{
"$id": "#/properties/src/properties/meta/properties/colors/items/anyOf/0",
"type": "string",
"title": "The first anyOf property",
"description": "A color label string",
"default": "",
"examples": [
"Light Grey",
"Black"
]
}
]
}
}
}
}
}
},
"tryon": {
"$id": "#/properties/tryon",
"default": false,
"description": "If true, the garment entry can be tried on using AR or previewed in 3D",
"examples": [
true,
false
],
"title": "The tryon property",
"type": "boolean"
}
}
}
User Info Schema
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc3/user_info.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"gender": "male",
"size": "L"
}
],
"required": [
"gender",
"garment_size"
],
"properties": {
"gender": {
"$id": "#/properties/gender",
"default": "",
"description": "User gender",
"examples": [
"male",
"female"
],
"title": "The gender schema",
"type": "string"
},
"size": {
"$id": "#/properties/size",
"default": "",
"description": "User preference on garment size",
"examples": [
"S",
"M",
"L",
"XL",
"XXL"
],
"title": "The size property",
"type": "string"
}
}
}
Favourites Schema
{
"$schema": "https://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc3/favourites.json",
"title": "Root Schema",
"type": "object",
"default": {},
"required": [
"garment_id",
"photos"
],
"properties": {
"garment_id": {
"title": "The garment_id property",
"type": "string",
"default": "",
"examples": [
"234435234"
]
},
"photos": {
"title": "The photos array",
"type": "array",
"default": [],
"items": {
"title": "Each photo entry item",
"type": "object",
"default": {},
"required": [
"photo_id",
"src"
],
"properties": {
"photo_id": {
"title": "The photo_id property",
"type": "string",
"default": "",
"examples": [
"23432"
]
},
"src": {
"title": "The src property",
"type": "string",
"default": "",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/photo%user%enK0PQ8YY0hXDICJm1MKfjYTTvu1%filename1.png"
]
}
},
"examples": [{
"photo_id": "23432",
"src": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/photo%user%enK0PQ8YY0hXDICJm1MKfjYTTvu1%filename1.png"
}]
},
"examples": [
[{
"photo_id": "23432",
"src": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/photo%user%enK0PQ8YY0hXDICJm1MKfjYTTvu1%filename1.png"
}]
]
}
},
"examples": [{
"garment_id": "234435234",
"photos": [{
"photo_id": "23432",
"src": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/photo%user%enK0PQ8YY0hXDICJm1MKfjYTTvu1%filename1.png"
},
{
"photo_id": "23445",
"src": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/photo%user%enK0PQ8YY0hXDICJm1MKfjYTTvu1%filename2.png"
}
]
}]
}