UC1 Schemas

Animations Schema

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://etryon-h2020.eu/schema/uc1/animations.json",
    "type": "object",
    "title": "The root schema",
    "description": "The root schema comprises the entire JSON document.",
    "default": {},
    "examples": [
        {
            "name": "Runnning",
            "created": "1624521140042",
            "created_by": "egm9430mfg3403",
            "src": [
                {
                    "file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.abc",
                    "photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.png"
                }
            ]
        }
    ],
    "required": [
        "name",
        "created",
        "created_by",
        "src"
    ],
    "properties": {
        "name": {
            "$id": "#/properties/name",
            "default": "",
            "description": "The animation name",
            "examples": [
                "Runnning",
                "Standing",
                "Sitting",
                "Walking"
            ],
            "title": "The name property",
            "type": "string"
        },
        "created": {
            "$id": "#/properties/created",
            "default": "",
            "description": "Timestamp in milliseconds, created when submitting an animation",
            "examples": [
                "1624521140042",
				"1519129853500"
            ],
            "title": "The created property",
            "type": "string"
        },
        "created_by": {
            "$id": "#/properties/created_by",
            "type": "string",
            "title": "The created_by object",
            "description": "It includes a user Id of the user that uploaded the animation",
            "default": {},
            "examples": [
                "egm9430mfg3403"
            ]
        },
        "src": {
            "$id": "#/properties/src",
            "default": {},
            "description": "The src object contains a file and a photo property",
            "examples": [
                {
                    "file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.fbx",
                    "photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.png"
                }
            ],
            "required": [
                "file",
                "photo"
            ],
            "title": "The src object",
            "type": "object",
            "properties": {
                "file": {
                    "$id": "#/properties/src/properties/file",
                    "default": "",
                    "description": "This is a URL that points to the animation file saved in Firebase Storage",
                    "examples": [
                        "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.fbx"
                    ],
                    "title": "The file property",
                    "type": "string"
                },
                "photo": {
                    "$id": "#/properties/src/properties/photo",
                    "default": "",
                    "description": "A URL that points to a photo of the animation saved in Firebase Storage, for display purposes on the config app",
                    "examples": [
                        "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.png"
                    ],
                    "title": "The photo property",
                    "type": "string"
                }
            }
        }
    }
}

Avatars Schema

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://etryon-h2020.eu/schema/uc1/avatars.json",
    "type": "object",
    "title": "The root schema",
    "description": "The root schema comprises the entire JSON document.",
    "default": {},
    "examples": [
        {
            "name": "Male 30s Caucasian",
            "created": "1624521140042",
            "created_by": "egm9430mfg3403",
            "src": {
                "file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.fbx",
                "photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.jpg"
            }
        }
    ],
    "required": [
        "name",
        "created",
        "created_by",
        "src"
    ],
    "properties": {
        "name": {
            "$id": "#/properties/name",
            "default": "",
            "description": "The Avatar name",
            "examples": [
                "Male 30s Caucasian"
            ],
            "title": "The name property",
            "type": "string"
        },
        "created": {
            "$id": "#/properties/created",
            "default": "",
            "description": "Timestamp in milliseconds, created when submitting an avatar",
            "examples": [
                "1624521140042"
            ],
            "title": "The created property",
            "type": "string"
        },
        "created_by": {
            "$id": "#/properties/created_by",
            "default": {},
            "description": "It includes a user Id of the user that uploaded the avatar",
            "examples": [
               "egm9430mfg3403"
            ],
			"type": "string"
        },
        "src": {
            "$id": "#/properties/src",
            "default": {},
            "description": "The src object contains a file and a photo property.",
            "examples": [
                {
                    "file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.fbx",
                    "photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.png"
                }
            ],
            "required": [
                "file",
                "photo"
            ],
            "title": "The src object",
            "type": "object",
            "properties": {
                "file": {
                    "$id": "#/properties/src/properties/file",
                    "default": "",
                    "description": "This is a URL that points to the avatar file saved in Firebase Storage",
                    "examples": [
                        "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.fbx"
                    ],
                    "title": "The file property",
                    "type": "string"
                },
                "photo": {
                    "$id": "#/properties/src/properties/photo",
                    "default": "",
                    "description": "A URL that points to a photo of the avatar saved in Firebase Storage, for display purposes on the config app",
                    "examples": [
                        "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.png"
                    ],
                    "title": "The photo property",
                    "type": "string"
                }
            }
        }
    }
}

Garments Schema

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://etryon-h2020.eu/schema/uc1/garments.json",
    "type": "object",
    "title": "The root schema",
    "description": "The root schema comprises the entire JSON document.",
    "default": {},
    "examples": [
        {
            "uid": "98237483247",
            "name": "Pencil Skirt",
            "collection": [
                "F/W2020",
                "SPRING2021"
            ],
            "photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.png",
            "category": "Bottoms",
            "type": "Skirt",
            "style": "Pencil",
            "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"
                    ]
                }
            },
            "market_segment_ids": [
                "3",
                "46",
                "54"
            ],
            "created": "1624521140042",
            "created_by": "egm9430mfg3403"
        }
    ],
    "required": [
        "uid",
        "name",
        "collection",
        "photo",
        "category",
        "type",
        "style",
        "src",
        "market_segment_ids",
        "created",
        "created_by"
    ],
    "properties": {
        "uid": {
            "$id": "#/properties/uid",
            "default": "",
            "description": "A unique id for each garment configuration",
            "examples": [
                "98237483247"
            ],
            "title": "The uid property",
            "type": "string"
        },
        "name": {
            "$id": "#/properties/name",
            "default": "",
            "description": "The garment name",
            "examples": [
                "Pencil Skirt"
            ],
            "title": "The name property",
            "type": "string"
        },
        "collection": {
            "$id": "#/properties/collection",
            "default": [],
            "description": "An array of strings, denoting one or multiple fashion collections that the garment is included in.",
            "examples": [
                [
                    "F/W2020",
                    "SPRING2021"
                ]
            ],
            "title": "The collection array",
            "type": "array",
            "items": {
                "$id": "#/properties/collection/items",
                "anyOf": [
                    {
                        "$id": "#/properties/collection/items/anyOf/0",
                        "default": "",
                        "description": "A string, denoting a fashion collection that the garment is included in.",
                        "examples": [
                            "F/W2020",
                            "SPRING2021"
                        ],
                        "title": "The first anyOf property",
                        "type": "string"
                    }
                ]
            }
        },
        "photo": {
            "$id": "#/properties/photo",
            "default": "",
            "description": "A URL of a photo of the specific garment that is saved in Firebase Storage, under the UC1 subfolder",
            "examples": [
                "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.png"
            ],
            "title": "The photo property",
            "type": "string"
        },
        "category": {
            "$id": "#/properties/category",
            "default": "",
            "description": "The category the garment belongs to",
            "examples": [
                "Bottoms"
            ],
            "title": "The category property",
            "type": "string"
        },
        "type": {
            "$id": "#/properties/type",
            "default": "",
            "description": "The type of garment",
            "examples": [
                "Skirt"
            ],
            "title": "The type property",
            "type": "string"
        },
        "style": {
            "$id": "#/properties/style",
            "default": "",
            "description": "The garment style",
            "examples": [
                "Pencil"
            ],
            "title": "The style 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"
                                        ]
                                    }
                                ]
                            }
                        }
                    }
                }
            }
        },
        "market_segment_ids": {
            "$id": "#/properties/market_segment_ids",
            "default": [],
            "description": "It contains market segment Ids that the garment is associated with",
            "examples": [
                [
                    "3",
                    "46"
                ]
            ],
            "title": "The market_segment_ids array",
            "type": "array",
            "additionalItems": false,
            "items": {
                "$id": "#/properties/market_segment_ids/items",
                "anyOf": [
                    {
                        "$id": "#/properties/market_segment_ids/items/anyOf/0",
                        "default": "",
                        "description": "A market segment id string",
                        "examples": [
                            "3",
                            "46"
                        ],
                        "title": "The first anyOf property",
                        "type": "string"
                    }
                ]
            }
        },
        "created": {
            "$id": "#/properties/created",
            "default": "",
            "description": "Timestamp in milliseconds, created when submitting a garment entry",
            "examples": [
                "1624521140042"
            ],
            "title": "The created property",
            "type": "string"
        },
        "created_by": {
            "$id": "#/properties/created_by",
            "type": "string",
            "title": "The created_by property",
            "description": "An Id of the user that uploaded the specific garment",
            "default": {},
            "examples": ["egm9430mfg3403"]
        }
    }
}

Market Segments Schema

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://etryon-h2020.eu/schema/uc1/market_segments.json",
    "type": "object",
    "title": "The root schema",
    "description": "The root schema comprises the entire JSON document.",
    "default": {},
    "examples": [
        {
            "name": "Segment 1",
            "created": "1624521140042",
            "age_target": "18-24",
            "price": "200",
            "color": "white"
        }
    ],
    "required": [
        "name",
        "created",
        "age_target",
        "price",
        "color"
    ],
    "properties": {
        "name": {
            "$id": "#/properties/name",
            "default": "",
            "description": "The Market Segment name.",
            "examples": [
                "Segment 1"
            ],
            "title": "The name poperty",
            "type": "string"
        },
        "created": {
            "$id": "#/properties/created",
            "default": "",
            "description": "Timestamp in milliseconds, created when submitting a market segment entry",
            "examples": [
                "1624521140042"
            ],
            "title": "The created property",
            "type": "string"
        },
        "age_target": {
            "$id": "#/properties/age_target",
            "default": "",
            "description": "The age target property",
            "examples": [
                "18-24"
            ],
            "title": "The age_target property",
            "type": "string"
        },
        "price": {
            "$id": "#/properties/price",
            "default": "",
            "description": "The price property",
            "examples": [
                "200"
            ],
            "title": "The price property",
            "type": "string"
        },
        "color": {
            "$id": "#/properties/color",
            "default": "",
            "description": "The color property",
            "examples": [
                "white"
            ],
            "title": "The color property",
            "type": "string"
        }
    }
}

Market Segments Results Schema

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://etryon-h2020.eu/schema/uc1/market_segments.json",
    "type": "object",
    "title": "The root schema",
    "description": "The root schema comprises the entire JSON document.",
    "default": {},
    "examples": [
        {
            "name": "Segment 1",
            "created": "1624521140042",
            "age_target": "18-24",
            "price": "200",
            "color": "white"
        }
    ],
    "required": [
        "name",
        "created",
        "age_target",
        "price",
        "color"
    ],
    "properties": {
        "name": {
            "$id": "#/properties/name",
            "default": "",
            "description": "The Market Segment name.",
            "examples": [
                "Segment 1"
            ],
            "title": "The name poperty",
            "type": "string"
        },
        "created": {
            "$id": "#/properties/created",
            "default": "",
            "description": "Timestamp in milliseconds, created when submitting a market segment entry",
            "examples": [
                "1624521140042"
            ],
            "title": "The created property",
            "type": "string"
        },
        "age_target": {
            "$id": "#/properties/age_target",
            "default": "",
            "description": "The age target property",
            "examples": [
                "18-24"
            ],
            "title": "The age_target property",
            "type": "string"
        },
        "price": {
            "$id": "#/properties/price",
            "default": "",
            "description": "The price property",
            "examples": [
                "200"
            ],
            "title": "The price property",
            "type": "string"
        },
        "color": {
            "$id": "#/properties/color",
            "default": "",
            "description": "The color property",
            "examples": [
                "white"
            ],
            "title": "The color property",
            "type": "string"
        }
    }
}

User Info Schema

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://etryon-h2020.eu/schema/uc1/user_info.json",
    "type": "object",
    "title": "The root schema",
    "description": "The root schema comprises the entire JSON document.",
    "default": {},
    "examples": [
        {
            "name": "John Doe",
            "role": "designer",
            "default_segment": "1236"
        }
    ],
    "required": [
        "name",
        "role",
        "default_segment"
    ],
    "properties": {
        "name": {
            "$id": "#/properties/name",
            "default": "",
            "description": "The provided Full name of the user",
            "examples": [
                "John Doe"
            ],
            "title": "The name property",
            "type": "string"
        },
        "role": {
            "$id": "#/properties/role",
            "default": "",
            "description": "The user role",
            "examples": [
                "user",
                "designer",
                "manager"
            ],
            "title": "The role property",
            "type": "string"
        },
        "default_segment": {
            "$id": "#/properties/default_segment",
            "default": "",
            "description": "If user sets a preferred Market Segment, then it is set here as an Id. When creating a new garment entry, this default Segment will be pre-set",
            "examples": [
                "1236"
            ],
            "title": "The default_segment property",
            "type": "string"
        }
    }
}