Files
kafka-producer/schemas/store.avsc
2026-04-07 12:44:18 +02:00

415 lines
8.1 KiB
JSON

{
"type": "record",
"name": "StoreAvro",
"namespace": "com.decathlon.onestore.avro",
"fields": [
{
"name": "thirdType",
"type": "int"
},
{
"name": "thirdNum",
"type": "int"
},
{
"name": "name",
"type": "string"
},
{
"name": "country",
"type": [
"null",
{
"type": "record",
"name": "CountryAvro",
"fields": [
{
"name": "countryCode",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "countryName",
"type": [
"null",
"string"
],
"default": null
}
]
}
],
"default": null
},
{
"name": "fiscalCompanyNumber",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "eanCode",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "address",
"type": {
"type": "record",
"name": "AddressAvro",
"fields": [
{
"name": "street",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "addressComplement",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "zipCode",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "city",
"type": "string"
},
{
"name": "administrativeAreaLevel1",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "administrativeAreaLevel2",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "administrativeAreaLevel3",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "administrativeAreaLevel4",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "administrativeAreaLevel5",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "latitude",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "longitude",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "timezone",
"type": [
"null",
"string"
],
"default": null
}
]
}
},
{
"name": "phones",
"type": {
"type": "record",
"name": "PhonesAvro",
"fields": [
{
"name": "phone1",
"type": {
"type": "record",
"name": "PhoneAvro",
"fields": [
{
"name": "label",
"type": "string"
},
{
"name": "index",
"type": [
"null",
"int"
],
"default": null
},
{
"name": "number",
"type": "string"
}
]
}
},
{
"name": "phone2",
"type": "PhoneAvro"
}
]
}
},
{
"name": "genericStoreType",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "category",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "language",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "status",
"type": "string"
},
{
"name": "franchised",
"type": "boolean",
"default": false
},
{
"name": "openingDate",
"type": [
"null",
{
"type": "int",
"logicalType": "date"
}
],
"default": null
},
{
"name": "workingHours",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "WorkingHourAvro",
"fields": [
{
"name": "day",
"type": "string"
},
{
"name": "status",
"type": "string"
},
{
"name": "opens",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "closes",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "dividedCloses",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "dividedOpens",
"type": [
"null",
"string"
],
"default": null
}
]
}
},
"default": []
},
{
"name": "leader",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "socialMedias",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "SocialMediaAvro",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "link",
"type": "string"
}
]
}
},
"default": []
},
{
"name": "publishOnEcommerce",
"type": "boolean"
},
{
"name": "picture",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "welcomeMessages",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "WelcomeMessageAvro",
"fields": [
{
"name": "language",
"type": "string"
},
{
"name": "message",
"type": "string"
}
]
}
},
"default": []
},
{
"name": "exceptionalHours",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "ExceptionalHourAvro",
"fields": [
{
"name": "date",
"type": "string"
},
{
"name": "status",
"type": "string"
},
{
"name": "opens",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "closes",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "dividedCloses",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "dividedOpens",
"type": [
"null",
"string"
],
"default": null
}
]
}
},
"default": []
}
]
}