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": [
        {
            "birth_date": "16/07/1985",
            "height": "183",
            "weight": "72",
            "units": "metric",
            "gender": "male",
            "garment_size": "L"
        }
    ],
    "required": [
        "birth_date",
        "height",
        "weight",
        "units",
        "gender",
        "garment_size"
    ],
    "properties": {
        "birth_date": {
            "$id": "#/properties/birth_date",
            "default": "",
            "description": "The user birth date in dd/mm/yyyy format",
            "examples": [
                "16/07/1985"
            ],
            "title": "The birth_date property",
            "type": "string"
        },
        "height": {
            "$id": "#/properties/height",
            "default": "",
            "description": "User height in centimeters",
            "examples": [
                "183"
            ],
            "title": "The height property",
            "type": "string"
        },
        "weight": {
            "$id": "#/properties/weight",
            "default": "",
            "description": "User weight in kilos",
            "examples": [
                "72"
            ],
            "title": "The weight property",
            "type": "string"
        },
        "units": {
            "$id": "#/properties/units",
            "default": "",
            "description": "Unit system (metric / imperial)",
            "examples": [
                "metric",
                "imperial"
            ],
            "title": "The units property",
            "type": "string"
        },
        "gender": {
            "$id": "#/properties/gender",
            "default": "",
            "description": "User gender",
            "examples": [
                "male",
                "female"
            ],
            "title": "The gender schema",
            "type": "string"
        },
        "garment_size": {
            "$id": "#/properties/garment_size",
            "default": "",
            "description": "User preference on garment size",
            "examples": [
                "S",
                "M",
                "L",
                "XL",
                "XXL"
            ],
            "title": "The garment_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"
      }
    ]
  }]
}

Read more