This is a html view of the json schema please take the json schema as reference DOWNLOAD THE JSON SCHEMA

Facility


a facility is a place, building, piece of equipment etc. with a particular purpose. It can be a Branch, CDC, LOCAL, NATIONAL LOCKER...

logisticMethods required for LOGISTIC capability

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: array
No Additional Items

At least one of the items must be:

Type: object

logisticMethods is required when capabilities include LOGISTIC

The following properties are required:

  • logisticMethods

SERVICE_CENTER capability can be used for BRANCH or HUB

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: array
No Additional Items

At least one of the items must be:

Type: const
Specific value: [ "SERVICE_CENTER" ]
Type: object

Type: enum (of string)

Must be one of:

  • "BRANCH"
  • "HUB"

parent required for all LOGISTIC capabilities other then `CDC`

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: enum (of string)

Must be one of:

  • "BRANCH"
  • "LOCAL_LOCKER"
  • "NATIONAL_LOCKER"
Type: object

parent is now required

The following properties are required:

  • parent

Type: object

This object is used to describe some technical meta information related to the event


Example:

{
    "source": "SPARK",
    "version": "v1"
}

Type: enum (of string)

If the event header is not sent then by default it is produced by the opco and should be consumed both by Spark CX and Spark AX, but if the event source is SPARK, it will be consumed by Spark AX only

Must be one of:

  • "SPARK"
  • "SPARK_AX"
  • "OPCO"

Type: enum (of string)

The version of the json format event

Must be one of:

  • "v1"

Type: string

this field is intended to be the operating company's identifier of the facility


Example:

"B01234567"

Type: enum (of string)

This field allows to distinguish the different type of facilities: 1. CDC - the central distribution center, neither displayed nor could be selected on SPARK, 2. Branch - A store or a physical shop where PICK_UP could be done, In SPARK every account has a default branch and customer can change his branch, 3. National Locker - Have an independent address and could be selected as a facility on Spark and the fulfillment always is done from a CDC, 4. Local Locker - Attached to a branch and could not be selected as facility and the fulfillment could be done by both Branch and CDC

Must be one of:

  • "BRANCH"
  • "CDC"
  • "LOCAL_LOCKER"
  • "NATIONAL_LOCKER"
  • "HUB"

Example:

"BRANCH"

Type: array of string

The list of organizations to which this ficility can be associated. Needed by OpCo organised with a regional model or commercial organisation. It will be used to filter store locator.

No Additional Items

Each item of this array must be:

Type: string

Example:

[
    "org123",
    "SNE",
    "OVCA"
]

Multilingual Object

Type: object

name of the Facility


Example:

{
    "fr-BE": "Marché de gros Sonepar Connect Paris",
    "nl-BE": "Groothandelsmarkt Sonepar Connect Parijs"
}

Each additional property must conform to the following schema

Type: string

Multilingual Object

Type: object

the description of the facility


Example:

{
    "fr-BE": "Marché de gros Sonepar Connect avec service de coupe de câbles",
    "nl-BE": "Sonepar Connect-groothandelsmarkt met kabelknipservice"
}

Each additional property must conform to the following schema

Type: string

ContactInfo

Type: object

A sub object that regroup contact informations


Example:

{
    "phoneNumber": "01 44 52 03 41",
    "faxNumber": "01 44 52 03 41",
    "email": "contact@example.com"
}

Type: string

this field is intended to be the phone of the facility


Example:

"01 44 52 03 41"

Type: string

this field is intended to be the fax of the facility


Example:

"01 44 52 03 41"

Type: stringFormat: email

this field is intended to be the email of the facility


Example:

"contact@example.com"

Address

Type: object

The address of a facility.


Example:

{
    "addressLine1": {
        "fr-BE": "Viale dell'Artigianato, 14",
        "nl-BE": "14 straat de la République"
    },
    "postalcode": "12051",
    "city": {
        "fr-BE": "Bruges",
        "nl-BE": "Brugge"
    },
    "region": {
        "fr-BE": "Grand-Bigard",
        "nl-BE": "Groot-Bijgaarden"
    },
    "country": "BEL"
}

Multilingual Object

Type: object

According to ISO 19060, this field contains one third of the address. In most cases this usually contains the whole addres though.


Example:

{
    "fr-BE": "14 rue de la République",
    "nl-BE": "14 straat de la République"
}

Each additional property must conform to the following schema

Type: string

Multilingual Object

Type: object

According to ISO 19060, this field contains one third of the address. This is an optional field.


Example:

{
    "de-CH": "ein Text in Schweizerdeutsch",
    "fr-CH": "un texte en français suisse"
}

Each additional property must conform to the following schema

Type: string

Multilingual Object

Type: object

According to ISO 19060, this field contains one third of the address. This is an optional field.


Example:

{
    "de-CH": "ein Text in Schweizerdeutsch",
    "fr-CH": "un texte en français suisse"
}

Each additional property must conform to the following schema

Type: string

Type: string

The postal code


Example:

"V7P 1E2"

Multilingual Object

Type: object

The city in which the street address is, and which is in the adminDevison(region)


Example:

{
    "fr-BE": "Bruges",
    "nl-BE": "Brugge"
}

Each additional property must conform to the following schema

Type: string

Multilingual Object

Type: object

The region in which the locality is, and which is in the country.


Example:

{
    "fr-BE": "Grand-Bigard",
    "nl-BE": "Groot-Bijgaarden"
}

Each additional property must conform to the following schema

Type: string

Type: string

department


Example:

"JURA"

Type: string

The ISO 3166-1 alpha-3 of the country


Example:

"CAN"

Location

Type: object

Geo coordinates of a facility


Example:

{
    "latitude": -33.866651,
    "longitude": 151.195827
}

Type: number

The latitude of a location


Example:

-33.866651

Type: number

The longitude of a location


Example:

151.195827

Type: string

The Global Location Number (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations.

Type: array

A list of service available for this facility

No Additional Items

Each item of this array must be:

Service

Type: object

A service that available at the facility

Type: string

An unique identifier of the service


Example:

"PURCHASE_ADVICE"

Multilingual Object

Type: object

A human readable service title. Should be translated into all available languages of the OpCo


Example:

{
    "fr-BE": "conseils d'achat",
    "nl-BE": "Kaufberatung"
}

Each additional property must conform to the following schema

Type: string

Example:

[
    {
        "serviceCode": "PURCHASE_ADVICE",
        "serviceTitle": {
            "fr-BE": "conseils d'achat",
            "nl-BE": "Kaufberatung"
        }
    },
    {
        "serviceCode": "SELF_SERVICE",
        "serviceTitle": {
            "fr-BE": "libre service",
            "nl-BE": "Selbstbedienung"
        }
    }
]

Type: array

this field is intended to be the opening hours of the facility

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object

Type: enum (of string)

The day of the week

Must be one of:

  • "MONDAY"
  • "TUESDAY"
  • "WEDNESDAY"
  • "THURSDAY"
  • "FRIDAY"
  • "SATURDAY"
  • "SUNDAY"

Example:

"MONDAY"

OpeningInfo

Type: object

The opening facility info line

Type: boolean

True if the facility is open, false otherwise


Example:

true

Type: array

Opening period of time

No Additional Items

Each item of this array must be:

Period

Type: object

Period of time

Type: string

The opening time may contain a time of day in 24-hour hhmm format. Values are in the range 0000–2359. The time will be reported in the place’s time zone.


Example:

"07:00"

Type: string

The closing time (hh:mm)


Example:

"13:00"

Example:

[
    {
        "openTime": "06:30",
        "closeTime": "12:00"
    },
    {
        "openTime": "13:00",
        "closeTime": "17:00"
    }
]

Example:

[
    {
        "dayOfWeek": "MONDAY",
        "isOpen": true,
        "periods": [
            {
                "openTime": "06:30",
                "closeTime": "12:00"
            },
            {
                "openTime": "13:00",
                "closeTime": "17:00"
            }
        ]
    },
    {
        "dayOfWeek": "TUESDAY",
        "isOpen": true,
        "periods": [
            {
                "openTime": "06:30",
                "closeTime": "12:00"
            },
            {
                "openTime": "13:00",
                "closeTime": "17:00"
            }
        ]
    }
]

Type: array

A list of exceptional opening or closing hours to override the default opening hours

No Additional Items

Each item of this array must be:


OpeningInfo

Type: object

The opening facility info line

Type: boolean

True if the facility is open, false otherwise


Example:

true

Type: array

Opening period of time

No Additional Items

Each item of this array must be:

Period

Type: object

Period of time

Type: string

The opening time may contain a time of day in 24-hour hhmm format. Values are in the range 0000–2359. The time will be reported in the place’s time zone.


Example:

"07:00"

Type: string

The closing time (hh:mm)


Example:

"13:00"

Example:

[
    {
        "openTime": "06:30",
        "closeTime": "12:00"
    },
    {
        "openTime": "13:00",
        "closeTime": "17:00"
    }
]

Example:

[
    {
        "date": "25-12-2020",
        "isOpen": false
    },
    {
        "date": "01-01-2020",
        "isOpen": true,
        "periods": [
            {
                "openTime": "06:30",
                "closeTime": "12:00"
            }
        ]
    }
]

Type: array of object

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

A logistic method is a high level proposition of fulfiment of the order by the supplier. It translates into an expected notion of service (including standard delivery promise and cut off tine)

Type: enum (of string)

The code of the logistic method

Must be one of:

  • "DELIVERY"
  • "PICK_UP"

Example:

"DELIVERY"

Type: array of object

the standard values of cutOffTime, leadTime, preparationTime, averageDeliveryTime by day of the week

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object

Type: enum (of string)

The day of the week

Must be one of:

  • "MONDAY"
  • "TUESDAY"
  • "WEDNESDAY"
  • "THURSDAY"
  • "FRIDAY"
  • "SATURDAY"
  • "SUNDAY"

Example:

"MONDAY"
Type: object

Group details about logisticMethod like cutOffTime, leadTime, preparationTime, averageDeliveryTime (required in case of delivery from cdc)

Type: string

Cutoff Time is used to define what time orders stop dispatched next day.


Example:

"15:30"

Type: number

How much hours CDC take to deliver stock to Branch or how much time suppliers take to deliver to CDC


Example:

48

Type: number

The average amount of time need to prepare a product in minutes


Example:

30

Type: number

The average delivery time to customer from a CDC for mvp scope, Only true in case of delivery to customer, Required to compute the delivery promise, Keeping it optional as same could be used for delivery from branch for some opcos if the facility type is branch


Example:

48

The following properties are required:

  • dayOfWeek

Type: array of object

the exceptional values of cutOffTime, leadTime, preparationTime and averageDeliveryTime for spicial dates

No Additional Items

Each item of this array must be:


Type: object

Group details about logisticMethod like cutOffTime, leadTime, preparationTime, averageDeliveryTime (required in case of delivery from cdc)

Type: string

Cutoff Time is used to define what time orders stop dispatched next day.


Example:

"15:30"

Type: number

How much hours CDC take to deliver stock to Branch or how much time suppliers take to deliver to CDC


Example:

48

Type: number

The average amount of time need to prepare a product in minutes


Example:

30

Type: number

The average delivery time to customer from a CDC for mvp scope, Only true in case of delivery to customer, Required to compute the delivery promise, Keeping it optional as same could be used for delivery from branch for some opcos if the facility type is branch


Example:

48

Example:

[
    {
        "mode": "DELIVERY",
        "standardDays": [
            {
                "dayOfWeek": "MONDAY",
                "cutOffTime": "15:30",
                "leadTime": "48",
                "preparationTime": "30",
                "averageDeliveryTime": "48"
            },
            {
                "dayOfWeek": "TUESDAY",
                "cutOffTime": "15:30",
                "leadTime": "48",
                "preparationTime": "30",
                "averageDeliveryTime": "36"
            },
            {
                "dayOfWeek": "WEDNESDAY",
                "cutOffTime": "15:30",
                "leadTime": "48",
                "preparationTime": "30",
                "averageDeliveryTime": "24"
            },
            {
                "dayOfWeek": "THURSDAY",
                "cutOffTime": "15:30",
                "leadTime": "48",
                "preparationTime": "30",
                "averageDeliveryTime": "48"
            },
            {
                "dayOfWeek": "FRIDAY",
                "cutOffTime": "11:30",
                "leadTime": "48",
                "preparationTime": "30",
                "averageDeliveryTime": "36"
            }
        ],
        "exceptionalDays": [
            {
                "date": "2020-12-24",
                "cutOffTime": "10:30",
                "leadTime": "48",
                "preparationTime": "30",
                "averageDeliveryTime": "48"
            }
        ]
    },
    {
        "mode": "PICK_UP",
        "standardDays": [
            {
                "dayOfWeek": "MONDAY",
                "cutOffTime": "15:30",
                "leadTime": "48",
                "preparationTime": "30"
            },
            {
                "dayOfWeek": "TUESDAY",
                "cutOffTime": "15:30",
                "leadTime": "48",
                "preparationTime": "30"
            },
            {
                "dayOfWeek": "WEDNESDAY",
                "cutOffTime": "15:30",
                "leadTime": "48",
                "preparationTime": "30"
            },
            {
                "dayOfWeek": "THURSDAY",
                "cutOffTime": "15:30",
                "leadTime": "48",
                "preparationTime": "30"
            },
            {
                "dayOfWeek": "FRIDAY",
                "cutOffTime": "11:30",
                "leadTime": "48",
                "preparationTime": "30"
            }
        ],
        "exceptionalDays": [
            {
                "date": "2020-12-24",
                "cutOffTime": "10:30",
                "leadTime": "48",
                "preparationTime": "30"
            }
        ]
    }
]

Type: string

Parent child relation to another facility. Mandatory when facility type is Branch or Locker. This will be used to represent for example the relation - branch to CDC and locker to branch.


Example:

"CDC1"

Type: stringFormat: date-time

The activation date of the facility. Optional field used to schedule the activation of future facility. If is not set the facility is considered as active


Example:

"2021-10-12T08:30:22.804Z"

Type: stringFormat: date-time

The deactivation date of the facility. Optional field used to schedule the deactivation facility. If is not set the facility is considered as active


Example:

"2022-10-12T08:30:22.804Z"

Type: array of string

The list of facility IDs that are linked with this facility for extended delivery (multi-CDC)

No Additional Items

Each item of this array must be:


Example:

[
    "3A1",
    "CDC2",
    "AF2"
]

Type: array of enum (of string) Default: ["LOGISTIC"]

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "SERVICE_CENTER"
  • "LOGISTIC"