Event Schema

The Json Schema contains the content of the message.

⚠️

Keys cannot start with $, except schema. Example: { $schema: "http://myschema.com", name:'my name', $ref:'my internalref '}.

Overview

ParameterOptionalDisplayed in walletDescription
$schemaRequiredNot applicableContent file
eventTypeRequiredEvent type
languageRequiredCertificate main language
titleRequiredEvent title
descriptionRequiredEvent description
externalContentsOptionalExternal links
i18nOptionalOther languages
mediasOptionalMedia integration (picture, video...)
attributesOptionalEvent-specific attribute
valuePriceOptionalEvent price
currencyPriceOptionalCurrency of the event price

Schema body

Schema file content

$Schema - URL of the Schema JSON file.

{
    "$schema": "https://cert.arianee.org/version1/ArianeeEvent-i18n.json",
...
{
  "$id": "https://cert.arianee.org/version1/ArianeeEvent-i18n.json",
  "$schema": "https://cert.arianee.org/version1/ArianeeEvent-i18n.json",
  "title": "Arianee Event",
  "description": "Describing an Arianee Event such as servicing, auction, special event ...",
  "type": "object",
  "properties": {
    "$schema": {
      "title": "$schema",
      "type": "string",
      "default": "https://cert.arianee.org/version1/ArianeeEvent-i18n.json"
    },
...  

Event type

eventType - Type of the event.

...
    "eventType": "service",
...
...
    "eventType": {
      "type": "string",
      "title": "Type",
      "description": "The type of Event.",
      "widget": {
              "id": "select"
            },
      "oneOf": [
        {
          "title": "Service",
          "description": "Service - usually issued by customer support.",
          "enum": [
            "service"
          ]
        },
        {
          "title": "Auction",
          "description": "Auction - usually issued when a financial transaction and a transfer of certificate are involved.",
          "enum": [
            "auction"
          ]
        }

      ]
    },
...  

Language

language - The main language of the NFT, displayed as the default language when the translation is unavailable.

Not displayed in the owner wallet.

...
    "language": "en-US",
...
...    
    "language": {
      "type": "string",
      "title": "Default Language",
      "widget": {
        "id": "select"
      },
      "oneOf": [
        {"enum": ["fr-FR"], "title": "French", "description": "French"},
        {"enum": ["en-US"], "title": "English (US)", "description": "English (US)"},
        {"enum": ["zh-TW"], "title": "Chinese (traditional)","description": "Chinese (traditional)"},
        {"enum": ["zh-CN"], "title": "Chinese (simplified)","description": "Chinese (simplified)"},
        {"enum": ["ko-KR"], "title":"Korean", "description": "Korean"},
        {"enum": ["ja-JP"], "title":"Japanese", "description": "Japanese"},
        {"enum": ["de-DE"], "title":"German", "description": "German"}
      ]
    },
...  

Title

title - Title of the event. First thing displayed on the owner wallet.

...
    "title": "Event title",
...
...
    "title": {
      "type": "string",
      "title": "Title",
      "description": "Event title. \n Likely to be the first thing displayed on a wallet app.",
      "default": ""
    },
...  

Description

description - Detailed description of the event.

📌

HTML format is allowed.

...
    "description": "Event description",
...
...
    "description": {
      "type": "string",
      "title": "Description",
      "description": "Description of the Event. \n A description can be stored for each language"
    },
...  

External content

externalContents - External contents links storing that your brand wishes to associate.

...
    "externalContents": [{
        "title": "Arianee Website",
        "type": "website",
        "url": "https://arianee.org"
    }],
...
...
    "externalContents": {
      "required": false,
      "type": "array",
      "title": "External Contents",
      "description": "This field is designed to store the links to external contents the Event issuer whish to introduce to the end customer in a wallet app.\n Specific external contents can be stored for each language.",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Type",
            "widget": {
              "id": "select"
            },
            "oneOf": [
              {"enum": ["website"], "title":"Website (main)", "description": "Website (main)"},
              {"enum": ["eshop"], "title":"Eshop", "description": "Eshop"},
              {"enum": ["other"], "title":"other", "description": "other"}
            ]
          },
          "title": {
            "type": "string",
            "title": "Title",
            "widget": {
              "id": "string"
            }
          },
          "url": {
            "type": "string",
            "title": "Url",
            "widget": {
              "id": "string"
            }
          },
          "order": {
            "type": "number",
            "title": "Order (number)"
          }
        }
      }
    },
...  

Localize content

i18n - International content storing.

📌

The displayed language is based on the device language. If unavailable, the main language of the certificate is displayed.

...
    "i18n":[{
        "language": "fr-FR",
        "title": "Titre d'évènement",
        "description": "Contenu d'évènement",
        "externalContents": [{
            "title": "Site web Arianee",
            "type": "website",
            "url": "https://arianee.org"
        }]
    }],
...
...
     "i18n": {
      "type": "array",
      "title": "Other languages : Title / Description / External contents",
      "description": "Events' details in languages different than the default one.",
      "items": {
        "type": "object",
        "properties": {
          "language": {
            "type": "string",
            "title": "Language",
            "widget": {
              "id": "select"
            },
            "oneOf": [
              {"enum": ["fr-FR"], "title":"French", "description": "French"},
              {"enum": ["en-US"], "title":"English (US)", "description": "English (US)"},
              {"enum": ["zh-TW"], "title":"Chinese (traditional)", "description": "Chinese (traditional)"},
              {"enum": ["zh-CN"], "title":"Chinese (simplified)", "description": "Chinese (simplified)"},
              {"enum": ["ko-KR"], "title":"Korean", "description": "Korean"},
              {"enum": ["ja-JP"], "title":"Japanese", "description": "Japanese"},
              {"enum": ["de-DE"], "title":"German", "description": "German"}
            ]
          },
          "title": {
            "type": "string",
            "title": "Title",
            "widget": {
              "id": "textarea"
            }
          },
          "description": {
            "type": "string",
            "title": "Description",
            "description": "Description of the Event. \n A description can be stored for each language",
            "widget": {
              "id": "textarea"
            }
          },

          "externalContents": {
            "required": false,
            "type": "array",
            "title": "External Contents",
            "description": "This field is designed to store the links to external contents the Event issuer whish to introduce to the end customer in a wallet app.\n Specific external contents can be stored for each language.",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "title": "Type",
                  "widget": {
                    "id": "select"
                  },
                  "oneOf": [
                    {"enum": ["website"], "title":"Website (main)", "description": "Website (main)"},
                    {"enum": ["eshop"], "title":"Eshop", "description": "Eshop"},
                    {"enum": ["other"], "title":"other", "description": "other"}
                  ]
                },
                "title": {
                  "type": "string",
                  "title": "Title",
                  "widget": {
                    "id": "string"
                  }
                },
                "url": {
                  "type": "string",
                  "title": "Url",
                  "widget": {
                    "id": "string"
                  }
                },
                "order": {
                  "type": "number",
                  "title": "Order (number)"
                }
              }
            }
          }
        }
      }
    },
...  

Medias

medias - Pictures and media are used to support the presentation of the product in the wallet.

📌

Prefer square PNG format with transparent background. Size < 1 Mo.

  • mediaType- picture, youtube
  • type - product (event media)
  • url - media url
  • order - media order

A media is an object:

...
    "medias": [{
        "mediaType": "picture",
        "type": "product",
        "url": "https://theseus.arianee.org/assets/img/[email protected]"
    }],
...
...  
    "medias": {
      "type": "array",
      "title": "Pictures & Medias",
      "description": "Pictures & Medias used to support the presentation of the Event in the wallet app.",
      "items": {
        "type": "object",
        "properties": {
          "mediaType": {
            "type": "string",
            "title": "Media Type",
            "widget": {
              "id": "select"
            },
            "oneOf": [
              {
                "enum": [
                  "picture"
                ],
                "title": "Picture (png / jpg)",
                "description": "Picture (png / jpg)"
              },
              {
                "enum": [
                  "youtube"
                ],
                "title": "Youtube video",
                "description": "Youtube video"
              }
            ]
          },
          "type": {
            "type": "string",
            "title": "Type",
            "widget": {
              "id": "select"
            },
            "oneOf": [
              {
                "enum": [
                  "product"
                ],
                "title": "Event media / picture",
                "description": "Event media / picture"
              }
            ]
          },
          "url": {
            "type": "string",
            "title": "URL",
            "widget": {
              "id": "string"
            }
          },
          "hash": {
            "type": "string",
            "title": "Media Hash",
            "widget": {
              "id": "string"
            }
          },
          "order": {
            "type": "number",
            "title": "Media Order (number)"
          }
        }
      }
    },
...  

Event attributes

attributes - Information on the specific attributes of your event.

...
    "attributes": [{
        "type": "color",
        "value": "green"
    }],
...
...  
    "attributes": {
      "type": "array",
      "title": "Specific Attributes",
      "description":"Information on the specific attributes of the Event.",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Type",
            "widget": {
              "id": "select"
            },
            "oneOf": [
              {
                "title": "Color",
                "description": "Color",
                "enum": [
                  "color"
                ]
              },
              {
                "title": "Material",
                "description": "Material",
                "enum": [
                  "material"
                ]
              },
              {
                "title": "Printed",
                "description": "Printed",
                "enum": [
                  "printed"
                ]
              }
            ]
          },
          "value": {
            "type": "string",
            "title": "Value",
            "widget": {
              "id": "string"
            }
          }
        }
      }
    },
...  

Event price

valuePrice - Price of the event.

...
    "valuePrice": "1000",
...
...
    "valuePrice": {
      "type": "string",
      "title": "Price",
      "default": "",
      "description": "Price of the service related to the event, if applicable."
    },
...  

Price currency

currencyPrice - Currency the event price.

...
    "currencyPrice": "EUR"    
...
...
    "currencyPrice": {
      "type": "string",
      "title": "Currency",
      "default": "",
      "description": "Currency",
      "widget": {
        "id": "select"
      },
      "oneOf": [
        {
          "title": "US Dollar",
          "description": "US Dollar",
          "enum": [
            "USD"
          ]
        },
        {
          "title": "Euro",
          "description": "Euro",
          "enum": [
            "EUR"
          ]
        },
        {
          "title": "Pound",
          "description": "Pound",
          "enum": [
            "GBP"
          ]
        }
      ]
    },
...  

Location

location - Location of the event.

...
    "location": "Paris",
...
...
    "location": {
      "type": "string",
      "title": "Location",
      "description": "Location related to the event, if applicable.",
      "default": ""
    }
...