Skip to content

Service providers schema

This schema defines the format for synchronizing service providers associated with custom places. Each provider has a unique ID, a dataset identifier, a label, and optional custom data for integrator-specific use. The main property, providers, is an array of these provider definitions.

{
  "$schema": "https://json-schema.org/draft-07/schema",
  "id": "CustomPlacesServiceProvidersV1_0",
  "title": "Custom Places Service Provider Sync Format",
  "type": "object",
  "properties": {
    "providers": {
      "type": "array",
      "description": "Collection of Servcice Providers for an Integrator",
      "items": {
        "$ref": "#/$defs/provider"
      }
    }
  },
  "$defs": {
    "provider": {
      "type": "object",
      "description": "Service Provider Definition",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the provider. Primarily used for Provider management. Must follow RFC 4122 GUID standard (see https://www.ietf.org/rfc/rfc4122.txt)"
        },
        "dataset": {
          "type": "string",
          "description": "Unique identifier of dataset this Provider belongs to."
        },
        "label": {
          "type": "string",
          "description": "String label of the Service Provider, used to identify it across Places.",
          "minLength": 1
        },
        "data": {
          "type": "array",
          "description": "Custom data for the Provider. Sygic services do not interpret this data. Instead, they are passed to the integrator, 
          where they can be processed as needed.",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "key",
              "values"
            ]
          }
        }
      },
      "required": [
        "id",
        "dataset",
        "label"
      ]
    }
  }
}