{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/flipdish/refs/heads/main/json-structure/stores-store-base-structure.json",
  "name": "StoreBase",
  "description": "Store Base",
  "type": "object",
  "properties": {
    "PhoneNumber": {
      "description": "Phone number",
      "type": "string",
      "example": "+353000000000"
    },
    "AlwaysAppearOpen": {
      "description": "True if the store always appears open",
      "type": "boolean",
      "example": true
    },
    "PreOrderEnabled": {
      "description": "True if the store accepts pre-orders",
      "type": "boolean",
      "example": true
    },
    "TakeOutEnabled": {
      "description": "True if the store accepts take-out orders",
      "type": "boolean",
      "example": true
    },
    "TableServiceEnabled": {
      "description": "True if the store has table service",
      "type": "boolean",
      "example": true
    },
    "DineInEnabled": {
      "description": "True if the store accepts dine-in orders",
      "type": "boolean",
      "example": true
    },
    "AllowPreOrdersAndTableService": {
      "description": "True if both pre-orders and talbe service can be enabled",
      "type": "boolean",
      "example": true
    },
    "PickupEnabled": {
      "description": "True if the store accepts pickup orders",
      "type": "boolean",
      "example": true
    },
    "DeliveryEnabled": {
      "description": "True if the store accepts delivery orders",
      "type": "boolean",
      "example": true
    },
    "CardOrderDeliveryEnabled": {
      "description": "True if the store accepts card payment for delivery orders",
      "type": "boolean",
      "example": true
    },
    "CashOrdersDeliveryEnabled": {
      "description": "True if the store accepts cash payment for delivery orders",
      "type": "boolean",
      "example": true
    },
    "CardOrdersPickupEnabled": {
      "description": "True if the store accepts card payment for pickup orders",
      "type": "boolean",
      "example": true
    },
    "CashOrdersPickupEnabled": {
      "description": "True if the store accepts cash payment for pickup orders",
      "type": "boolean",
      "example": true
    },
    "TipsEnabled": {
      "description": "True if the store accepts tips",
      "type": "boolean",
      "example": true
    },
    "AutomaticallyAcceptOrders": {
      "description": "True if the stores orders are automatically accepted in Flipdish",
      "type": "boolean",
      "example": true
    },
    "OpenForDelivery": {
      "description": "True if the store is open for delivery",
      "type": "boolean",
      "example": true
    },
    "OpenForPickup": {
      "description": "True if the store is open for pickup",
      "type": "boolean",
      "example": true
    },
    "MinimumPickupOrderAmount": {
      "description": "Minimum pickup order amount",
      "type": "double",
      "example": 12.5
    },
    "RequireCustomerNameForPickup": {
      "description": "True if customer name required for pickup orders",
      "type": "boolean",
      "example": true
    },
    "GdprCustomerPhoneNumbers": {
      "description": "Mask your customers phone numbers printed on receipts and reduce the amout of personally identifiable customer information that is exposed.",
      "type": "boolean",
      "example": true
    },
    "RequireCustomerNameForDelivery": {
      "description": "True if customer name required for delivery orders",
      "type": "boolean",
      "example": true
    },
    "AllowChefNotes": {
      "description": "True if the customer is allowed enter custom notes with their orders",
      "type": "boolean",
      "example": true
    },
    "EtaInPickupConfirmationSmsEnabled": {
      "description": "True if order confirmation sms includes estimated time when order will be ready for collection",
      "type": "boolean",
      "example": true
    },
    "EtaInDeliveryConfirmationSmsEnabled": {
      "description": "True if order confirmation sms includes estimated time when order will delivered",
      "type": "boolean",
      "example": true
    },
    "IsArchived": {
      "description": "Is the Store Archived",
      "type": "boolean",
      "example": true
    },
    "IsPublished": {
      "description": "Is the Store Published",
      "type": "boolean",
      "example": true
    },
    "Name": {
      "description": "Name",
      "type": "string",
      "example": "Example Name"
    },
    "EmailAddress": {
      "description": "Email address (visible to customers)",
      "maxLength": 100,
      "minLength": 0,
      "type": "string",
      "example": "owner@example.com"
    },
    "StaffLanguage": {
      "description": "Staff Language (used for communication with the staff)\r\nEmails, Printouts etc",
      "type": "string",
      "example": "string"
    },
    "SalesChannelTypes": {
      "description": "Sales Channel Types",
      "type": "array",
      "items": {
        "enum": [
          "Web",
          "App",
          "Kiosk",
          "Pos",
          "None"
        ],
        "type": "string"
      },
      "example": [
        "Web"
      ]
    },
    "InheritanceConfigTypes": {
      "description": "Inheritance Config Types",
      "type": "array",
      "items": {
        "enum": [
          "CollectionSettings"
        ],
        "type": "string"
      },
      "example": [
        "CollectionSettings"
      ]
    }
  }
}