{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "General configuration",
    "name": "General",
    "description": "Definition of configuration for general global settings",
    "type": "object",
    "properties": {
        "General": {
            "type": "object",
            "properties": {
                "GDPRConsent": {
                    "type": "object",
                    "properties": {
                        "display": {
                            "type": "boolean"
                        },
                        "isRequired": {
                            "type": "boolean"
                        }
                    }
                },
                "dateTimeFormat": {
                    "type": "object",
                    "properties": {
                        "datePicker": {
                            "type": "string"
                        },
                        "displayTimezone": {
                            "type": "boolean"
                        },
                        "timezoneFormat": {
                            "type": "string"
                        },
                        "day": {
                            "type": "string"
                        },
                        "date": {
                            "type": "string"
                        },
                        "time": {
                            "type": "string"
                        },
                        "shortString": {
                            "type": "string"
                        },
                        "longString": {
                            "type": "string"
                        }
                    }
                },
                "app": {
                    "type": "object",
                    "properties": {
                        "scrollOffset": {
                            "type": "number"
                        },
                        "updateDocumentTitle": {
                            "type": "boolean"
                        },
                        "updateBasketErrorSuppressModal": {
                            "type": "boolean"
                        },
                        "bookingExport": {
                            "type": "object",
                            "properties": {
                                "layout": {
                                    "type": "string",
                                    "enum": [
                                        "column",
                                        "row"
                                    ]
                                }
                            }
                        },
                        "suppressChildCompanies": {
                            "type": "boolean",
                            "description": "If true the company search will be shown on login and the API will be told not to return the children in the login response."
                        },
                        "childCompanyLimit": {
                            "type": "number",
                            "description": "v5+ of the API does not return children by default so this value is used as a threshold for whether we should retrieve the children automatically or show the company search during login."
                        },
                        "useClassicFeatures": {
                            "type": "boolean",
                            "description": "This config option exists to enable the team to dark launch features. Used for showing and hiding UIs built to replace the classic application features. This includes iframes embeded into Studio as well as removing the need for going into Classic to carry out some tasks. Eventually classic features will be completely phased out... but not forgotten #foreverclassic"
                        }
                    }
                },
                "placeholder": {
                    "type": "object",
                    "properties": {
                        "distanceUnit": {
                            "type": "string",
                            "enum": [
                                "locale",
                                "mile",
                                "kilometre",
                                "kilometer"
                            ]
                        }
                    }
                },
                "pusher": {
                    "type": "object",
                    "properties": {
                        "enabled": {
                            "type": "boolean"
                        },
                        "appKey": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    }
}
