{
  "openapi": "3.0.1",
  "info": {
    "title": "Grubbrr API",
    "version": "v1"
  },
  "paths": {
    "/api/admin/company": {
      "get": {
        "tags": [
          "Admin"
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Admin.Models.CompanyListItemVM"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Admin.Models.CompanyListItemVM"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Admin.Models.CompanyListItemVM"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/admin/user": {
      "post": {
        "tags": [
          "Admin"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/admin/user/deactivate": {
      "post": {
        "tags": [
          "Admin"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/admin/users": {
      "get": {
        "tags": [
          "Admin"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.AdminUserVM"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/company/{companyId}/location/parents": {
      "get": {
        "tags": [
          "CompanyLocation"
        ],
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationVM"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationVM"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationVM"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/organization/{organizationId}/failed-barcode-scans": {
      "get": {
        "tags": [
          "FailedBarcodeScan"
        ],
        "summary": "Get a paged list of failed barcode scan records for display or export.\r\nUse for Event Monitor \"View Report\" table and for Download CSV/PDF (client can request large pageSize or page through).",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization (company) id.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "description": "Optional location filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Optional start of date range (UTC ISO8601 or date).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Optional end of date range (UTC ISO8601 or date).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "barcodeIds",
            "in": "query",
            "description": "Optional list of barcode IDs to filter by (return only records matching any of these).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Page size (default 50, use e.g. 5000 for full export).",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "continuationToken",
            "in": "query",
            "description": "Token from previous response for next page.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.FailedBarcodeScansResponseVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.FailedBarcodeScansResponseVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.FailedBarcodeScansResponseVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/health": {
      "get": {
        "tags": [
          "Health"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Core.Health.HealthCheckResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Core.Health.HealthCheckResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Core.Health.HealthCheckResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/company/{companyId}/image/upload": {
      "post": {
        "tags": [
          "Image"
        ],
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/image/upload": {
      "post": {
        "tags": [
          "Image"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/image/uploadEncoded": {
      "post": {
        "tags": [
          "Image"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/image/uploads": {
      "post": {
        "tags": [
          "Image"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/image/{fileName}": {
      "post": {
        "tags": [
          "Image"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/image/url": {
      "post": {
        "tags": [
          "Image"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.ImageUrlRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.ImageUrlRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.ImageUrlRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.ImageUrlRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/dataset/{datasetId}/image/upload": {
      "post": {
        "tags": [
          "Image"
        ],
        "summary": "This endpoint will be used to upload a list of images for a dataset.",
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/dataset/{datasetId}/image/uploads": {
      "post": {
        "tags": [
          "Image"
        ],
        "summary": "Uploads a receipt logo for a dataset (ECM level), converting the source image into every\r\nsupported format and storing each as a separate asset. This is the ECM-level counterpart of\r\nthe location-level M:GRUBBRR.Web.UI.Controllers.ImageController.UploadReceiptLogo(System.String) endpoint introduced for the multi-format\r\nreceipt-logo feature; all other dataset image uploads keep using M:GRUBBRR.Web.UI.Controllers.ImageController.UploadDatasetImage(System.String).",
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/kiosk-dataset/{datasetId}/organization/{locationId}/raw": {
      "get": {
        "tags": [
          "KioskDataset"
        ],
        "parameters": [
          {
            "name": "datasetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/kiosk-dataset/names": {
      "post": {
        "tags": [
          "KioskDataset"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Common.GetNamesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Common.GetNamesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Common.GetNamesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Common.GetNamesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/kiosk/{kioskId}/details": {
      "get": {
        "tags": [
          "KioskDetails"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metricsHours",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 24
            }
          },
          {
            "name": "sampleSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/kiosk/{kioskId}/details": {
      "get": {
        "tags": [
          "KioskDetails"
        ],
        "summary": "Resolves kiosk details using kioskId alone via a tiered lookup:\r\n  Tier 1 - registered-devices point-read as a locationId hint (fast path).\r\n  Tier 2 - cross-partition query on the authoritative location container.\r\nThe final answer is always read from the location container (source of truth),\r\nso a stale or missing registered-devices row never produces a wrong NOT_FOUND.",
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metricsHours",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 24
            }
          },
          {
            "name": "sampleSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/kiosk/names": {
      "post": {
        "tags": [
          "KioskNames"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Common.GetNamesRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Common.GetNamesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Common.GetNamesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Common.GetNamesRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/kiosks/{kioskId}/commands/{commandId}/ack": {
      "post": {
        "tags": [
          "KioskSentinelAckService"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commandId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/kiosks/{kioskId}/commands": {
      "post": {
        "tags": [
          "KioskSentinelCommand"
        ],
        "parameters": [
          {
            "name": "kioskId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/staff": {
      "get": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationStaffVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationStaffVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationStaffVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/staff/{staffId}": {
      "get": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "staffId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "put": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "staffId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "staffId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationStaffVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationStaffVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationStaffVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/printer": {
      "post": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/printer/{id}": {
      "put": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/configuration": {
      "get": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.GetLocationConfigurationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.GetLocationConfigurationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.GetLocationConfigurationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/activeExperiments": {
      "get": {
        "tags": [
          "Location"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Services.ABTestingHandler.SearchExperimentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Services.ABTestingHandler.SearchExperimentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Services.ABTestingHandler.SearchExperimentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/loyalty": {
      "get": {
        "tags": [
          "LocationLoyalty"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "LocationLoyalty"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/menuSyncSchedule": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.MenuSyncScheduleVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/proxycode": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosProxyAgentCodeVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosProxyAgentCodeVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosProxyAgentCodeVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/agentlogs/{agentName}": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Grubbrr.Core.Repository.BlobReference"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Grubbrr.Core.Repository.BlobReference"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Grubbrr.Core.Repository.BlobReference"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/agentlogs/{agentName}/export/{logName}": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "logName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/sync": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/{posConnectorConfigurationId}/sync": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "posConnectorConfigurationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/syncstatus": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryPosStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryPosStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryPosStatusResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/synchistory": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 5
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/pos/order-types": {
      "get": {
        "tags": [
          "LocationPos"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.PosOrderTypesVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.PosOrderTypesVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.PosOrderTypesVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/locations/configurations": {
      "post": {
        "tags": [
          "Locations"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.GetLocationConfigurationResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.GetLocationConfigurationResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.GetLocationConfigurationResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/locations/export": {
      "post": {
        "tags": [
          "Locations"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.ExportLocationQueryResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.ExportLocationQueryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.ExportLocationQueryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/locations/import": {
      "post": {
        "tags": [
          "Locations"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "locationId": {
                  "style": "form"
                },
                "file": {
                  "style": "form"
                },
                "forceImport": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.ImportLocationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.ImportLocationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.ImportLocationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/locations/import/jobs": {
      "post": {
        "tags": [
          "Locations"
        ],
        "summary": "Starts a background location import and returns a job id for progress polling (portal UI).",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "locationId": {
                  "style": "form"
                },
                "file": {
                  "style": "form"
                },
                "forceImport": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.StartImportLocationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.StartImportLocationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.StartImportLocationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/locations/import/jobs/{referenceId}/status": {
      "get": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "referenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.LocationImportJobStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.LocationImportJobStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.LocationImportJobStatus"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/qr/location/qr-location-detail": {
      "post": {
        "tags": [
          "Locations"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.LocationInputDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.LocationInputDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.LocationInputDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.LocationInputDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.LocationOutputDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.LocationOutputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.LocationOutputDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/qr/location/splash-screen-detail": {
      "get": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "locationUri",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.SplashScreenOutputDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.SplashScreenOutputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.SplashScreenOutputDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/qr/location/tips-detail": {
      "get": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "locationUri",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.TipDetailsOutputDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.TipDetailsOutputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.TipDetailsOutputDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/qr/location/pdf-proxy": {
      "get": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/location/{locationId}/menu/item86": {
      "get": {
        "tags": [
          "Menu"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.QueryItem86ListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.QueryItem86ListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.QueryItem86ListResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/menu/item86/{itemId}": {
      "post": {
        "tags": [
          "Menu"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.Item86Response"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.Item86Response"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.Item86Response"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Menu"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.Item86Response"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.Item86Response"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.MenuApi.Item86Response"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/history": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AfterTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "BeforeTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "continuation",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isAscending",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordsVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordsVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordsVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderHistoryRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderHistoryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderHistoryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderHistoryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordsVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordsVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordsVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/{orderId}": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.CaptureTransaction"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.CaptureTransaction"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.CaptureTransaction"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/{orderId}/paymentUpdate": {
      "post": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.PaymentTransaction"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.PaymentTransaction"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.PaymentTransaction"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.PaymentTransaction"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdatePaymentCaptureResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdatePaymentCaptureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdatePaymentCaptureResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/{orderId}/refund": {
      "post": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.Order"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.Order"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.Order"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/{orderId}/refund/byamount": {
      "post": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            "application/json": {
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            "text/json": {
              "schema": {
                "type": "number",
                "format": "double"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "number",
                "format": "double"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.Order"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.Order"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.Order"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/{orderId}/refund/byitem": {
      "post": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/export": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AfterTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "BeforeTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "xlsx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/summary": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AfterTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "BeforeTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Common.Classes.OrderSummaryResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Common.Classes.OrderSummaryResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Common.Classes.OrderSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/location/{locationId}/orders/upsellreportdata": {
      "get": {
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "AfterTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "BeforeTime",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Common.Classes.UpsellReportData"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Common.Classes.UpsellReportData"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Common.Classes.UpsellReportData"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/orders/order-identity": {
      "post": {
        "tags": [
          "Order"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportItem"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/kiosk/settlement-report/location/{locationId}/device/{deviceId}/upload": {
      "post": {
        "tags": [
          "PaymentDevice"
        ],
        "parameters": [
          {
            "name": "locationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deviceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/App.Kiosk.PaymentDevice.UploadReconciliationReportsResponseItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/App.Kiosk.PaymentDevice.UploadReconciliationReportsResponseItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/App.Kiosk.PaymentDevice.UploadReconciliationReportsResponseItem"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/proxy/forward": {
      "post": {
        "tags": [
          "Proxy"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Models.ProxyRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Models.ProxyRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Models.ProxyRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Kiosk.Models.ProxyRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/pusher/auth": {
      "post": {
        "tags": [
          "Pusher"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/qr/location/qr-location-menu": {
      "post": {
        "tags": [
          "QrMenu"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuInputDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuInputDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuInputDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuInputDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuOutputDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuOutputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuOutputDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/qr/location/qr-location-menu-item": {
      "post": {
        "tags": [
          "QrMenu"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuItemInputDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuItemInputDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuItemInputDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuItemInputDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuItemOutputDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuItemOutputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrMenuItemOutputDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/qr/location/qr-location-nested-modifier": {
      "post": {
        "tags": [
          "QrMenu"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrNestedModifierInputDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrNestedModifierInputDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrNestedModifierInputDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrNestedModifierInputDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrNestedModifierOutputDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrNestedModifierOutputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrNestedModifierOutputDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/qr/location/qr-location-upsell-items-by-item": {
      "post": {
        "tags": [
          "QrMenu"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByItemInputDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByItemInputDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByItemInputDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByItemInputDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByItemOutputDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByItemOutputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByItemOutputDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/qr/location/qr-location-upsell-items-by-order": {
      "post": {
        "tags": [
          "QrMenu"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByOrderInputDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByOrderInputDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByOrderInputDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByOrderInputDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByOrderOutputDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByOrderOutputDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/App.QROrdering.Models.QrUpsellItemsByOrderOutputDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/settlement/transactions": {
      "post": {
        "tags": [
          "Settlement"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/settlement/transactions/update": {
      "post": {
        "tags": [
          "Settlement"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/sms/acs-delivery": {
      "post": {
        "tags": [
          "SmsDelivery"
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/system/pos": {
      "post": {
        "tags": [
          "System"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.AddPosReply"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.AddPosReply"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.AddPosReply"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosTypeVM"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosTypeVM"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosTypeVM"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/pos/definition": {
      "get": {
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/pos/definitions": {
      "get": {
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Grubbrr.Pos.Data.IntegrationDefinitionDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Grubbrr.Pos.Data.IntegrationDefinitionDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Grubbrr.Pos.Data.IntegrationDefinitionDto"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/pos/{posTypeName}": {
      "delete": {
        "tags": [
          "System"
        ],
        "parameters": [
          {
            "name": "posTypeName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/locales": {
      "get": {
        "tags": [
          "System"
        ],
        "parameters": [
          {
            "name": "countryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/sms-countries": {
      "get": {
        "tags": [
          "System"
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.Integrations.SMS.InternationalSmsCountries.CountryStatusFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/loyalty": {
      "get": {
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.SystemApi.Models.LoyaltyProviderVM"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.SystemApi.Models.LoyaltyProviderVM"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.SystemApi.Models.LoyaltyProviderVM"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/pos/{posTypeId}": {
      "get": {
        "tags": [
          "System"
        ],
        "parameters": [
          {
            "name": "posTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosTypeVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosTypeVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PosTypeVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/payment/provider/{paymentProviderName}": {
      "get": {
        "tags": [
          "System"
        ],
        "parameters": [
          {
            "name": "paymentProviderName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PaymentIntegrationVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PaymentIntegrationVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Api.PaymentIntegrationVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/payment/provider": {
      "get": {
        "tags": [
          "System"
        ],
        "parameters": [
          {
            "name": "channel",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.PaymentIntegrationVM"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.PaymentIntegrationVM"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GRUBBRR.Application.Api.PaymentIntegrationVM"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/organizations/sync": {
      "post": {
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.SystemApi.Commands.SyncOrganizationAndUsersReply"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.SystemApi.Commands.SyncOrganizationAndUsersReply"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.SystemApi.Commands.SyncOrganizationAndUsersReply"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/build-version": {
      "get": {
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/system/debug/organization-locale-changed": {
      "post": {
        "tags": [
          "System"
        ],
        "summary": "Debug endpoint: invokes OrganizationLocaleChangedMessageHandler with the provided payload.\r\nUse this to simulate a GOU organization-locale-changed event and debug the handler (kiosk localization sync + translation trigger).\r\nPOST body: { \"organizationId\", \"localeCode\", \"previousLocaleCode\" (optional), \"languageCode\" (optional) }.",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.SystemController.DebugOrganizationLocaleChangedRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.SystemController.DebugOrganizationLocaleChangedRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.SystemController.DebugOrganizationLocaleChangedRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GRUBBRR.Web.UI.Controllers.SystemController.DebugOrganizationLocaleChangedRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/user/me": {
      "get": {
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Models.UserDetailsVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Models.UserDetailsVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.Models.UserDetailsVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/user/access/{companyId}": {
      "get": {
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.User.Queries.RbacAccess"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.User.Queries.RbacAccess"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.User.Queries.RbacAccess"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/user/pylon-identity": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Email + HMAC hash for Pylon chat widget identity verification (NG-4247).\r\n204 when Pylon identity verification isn't configured for this environment.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.User.Queries.PylonIdentityVM"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.User.Queries.PylonIdentityVM"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GRUBBRR.Application.User.Queries.PylonIdentityVM"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    },
    "/api/user/reset-password": {
      "post": {
        "tags": [
          "User"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "oauth2": [
              "api1"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "App.Kiosk.PaymentDevice.UploadReconciliationReportsResponseItem": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "uploadedSuccessfully": {
            "type": "boolean"
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.FilterItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "type": "string",
            "nullable": true
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.ItemModifier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          },
          "posData": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "descriptionLocalized": {
            "type": "string",
            "nullable": true
          },
          "selectedImagePath": {
            "type": "string",
            "nullable": true
          },
          "listingImagePath": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "barcode": {
            "type": "string",
            "nullable": true
          },
          "calorieText": {
            "type": "string",
            "nullable": true
          },
          "itemModifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.ItemModifierGroup"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.ItemModifierGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          },
          "posData": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "type": "string",
            "nullable": true
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "minSelection": {
            "type": "integer",
            "format": "int32"
          },
          "maxSelection": {
            "type": "integer",
            "format": "int32"
          },
          "freeModifierCount": {
            "type": "integer",
            "format": "int32"
          },
          "incrementStep": {
            "type": "integer",
            "format": "int32"
          },
          "modifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.ItemModifier"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationAppearance": {
        "type": "object",
        "properties": {
          "textColor": {
            "type": "string",
            "nullable": true
          },
          "backgroundColor": {
            "type": "string",
            "nullable": true
          },
          "highlightColor": {
            "type": "string",
            "nullable": true
          },
          "highlightedTextColor": {
            "type": "string",
            "nullable": true
          },
          "smallTextColor": {
            "type": "string",
            "nullable": true
          },
          "primaryColor": {
            "type": "string",
            "nullable": true
          },
          "accentColor": {
            "type": "string",
            "nullable": true
          },
          "boldTextColor": {
            "type": "string",
            "nullable": true
          },
          "secondaryColor": {
            "type": "string",
            "nullable": true
          },
          "borderColor": {
            "type": "string",
            "nullable": true
          },
          "positiveButtonColor": {
            "type": "string",
            "nullable": true
          },
          "positiveButtonTextColor": {
            "type": "string",
            "nullable": true
          },
          "negativeButtonColor": {
            "type": "string",
            "nullable": true
          },
          "negativeButtonTextColor": {
            "type": "string",
            "nullable": true
          },
          "qrOrderingPrimaryColor": {
            "type": "string",
            "nullable": true
          },
          "qrOrderingPositiveButtonColor": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationInputDto": {
        "type": "object",
        "properties": {
          "locationUri": {
            "type": "string",
            "nullable": true
          },
          "isQrScan": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationMediaAsset": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "displayUrl": {
            "type": "string",
            "nullable": true
          },
          "storagePath": {
            "type": "string",
            "nullable": true
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationOutputDto": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "locationName": {
            "type": "string",
            "nullable": true
          },
          "uri": {
            "type": "string",
            "nullable": true
          },
          "localeConfig": {
            "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Gou.OrganizationLocaleConfig"
          },
          "appearance": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationAppearance"
          },
          "setting": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationSetting"
          },
          "visualAssets": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationVisualAssets"
          },
          "textOverride": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationTextOverride"
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationSetting": {
        "type": "object",
        "properties": {
          "extraFee": {
            "type": "number",
            "format": "double"
          },
          "currencySymbol": {
            "type": "string",
            "nullable": true
          },
          "pickupEnabled": {
            "type": "boolean"
          },
          "deliveryEnabled": {
            "type": "boolean"
          },
          "curbsideEnabled": {
            "type": "boolean"
          },
          "onlineOrderPaused": {
            "type": "boolean"
          },
          "paymentByNuveiEnabled": {
            "type": "boolean"
          },
          "paymentByAuthorizeEnabled": {
            "type": "boolean"
          },
          "concessionaireFlowEnabled": {
            "type": "boolean"
          },
          "googlePayEnabled": {
            "type": "boolean"
          },
          "applePayEnabled": {
            "type": "boolean"
          },
          "freedomPayEnabled": {
            "type": "boolean"
          },
          "merchantId": {
            "type": "string",
            "nullable": true
          },
          "tableOrderingEnabled": {
            "type": "boolean"
          },
          "futureOrderEnabled": {
            "type": "boolean"
          },
          "collapsedCategoryEnabled": {
            "type": "boolean"
          },
          "showPicturesForModifiersAndVariationEnabled": {
            "type": "boolean"
          },
          "showCustomerNameForEachItemEnabled": {
            "type": "boolean"
          },
          "tipEnabled": {
            "type": "boolean"
          },
          "timeZone": {
            "type": "string",
            "nullable": true
          },
          "daylightNameTimeZone": {
            "type": "string",
            "nullable": true
          },
          "specialRequestEnabled": {
            "type": "boolean"
          },
          "allowForMarketingCommunicationEnabled": {
            "type": "boolean"
          },
          "marketingOptInText": {
            "type": "string",
            "nullable": true
          },
          "addTermsConditionsEnabled": {
            "type": "boolean"
          },
          "termsConditionsFile": {
            "type": "string",
            "nullable": true
          },
          "alcoholLegalAge": {
            "type": "string",
            "nullable": true
          },
          "payAtTableSkipMenuEnabled": {
            "type": "boolean"
          },
          "showOrderUpsellMultipleTimesEnabeld": {
            "type": "boolean"
          },
          "showFiltersOnCategoryPageEnabeld": {
            "type": "boolean"
          },
          "maximumTimesToShowOrderUpsell": {
            "type": "integer",
            "format": "int32"
          },
          "storeDisclaimerTextEnabeld": {
            "type": "boolean"
          },
          "onlineOrderEnabeld": {
            "type": "boolean"
          },
          "byPassPaymentEnabeld": {
            "type": "boolean"
          },
          "splashScreenEnabeld": {
            "type": "boolean"
          },
          "showCharityCustomAmountOptionEnabeld": {
            "type": "boolean"
          },
          "showCharityPopupEnabeld": {
            "type": "boolean"
          },
          "splitPayEnabled": {
            "type": "boolean"
          },
          "languageId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationTextOverride": {
        "type": "object",
        "properties": {
          "homePageHeaderText": {
            "type": "string",
            "nullable": true
          },
          "homePageHeaderTextLang": {
            "type": "string",
            "nullable": true
          },
          "homePageSubHeaderText": {
            "type": "string",
            "nullable": true
          },
          "homePageSubHeaderTextLang": {
            "type": "string",
            "nullable": true
          },
          "tipHeaderText": {
            "type": "string",
            "nullable": true
          },
          "tipHeaderTextLang": {
            "type": "string",
            "nullable": true
          },
          "storeDisclaimerText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationVisualAssetVM": {
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.LocationVisualVM"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationVisualAssets": {
        "type": "object",
        "properties": {
          "screensavers": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationVisualAssetVM"
          },
          "charityImage": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationMediaAsset"
          },
          "headerImage": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationMediaAsset"
          },
          "ageVerificationImage": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationMediaAsset"
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.LocationVisualVM": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "displayUrl": {
            "type": "string",
            "nullable": true
          },
          "storagePath": {
            "type": "string",
            "nullable": true
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "durationInSeconds": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.MenuCategory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          },
          "posData": {
            "type": "string",
            "nullable": true
          },
          "parentId": {
            "type": "string",
            "nullable": true
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "type": "string",
            "nullable": true
          },
          "headerImage": {
            "type": "string",
            "nullable": true
          },
          "selectedImage": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "descriptionLocalized": {
            "type": "string",
            "nullable": true
          },
          "showCategoryNameInHeader": {
            "type": "string",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.MenuItem"
            },
            "nullable": true
          },
          "combos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.MenuCombo"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.MenuCombo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          },
          "posData": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "descriptionLocalized": {
            "type": "string",
            "nullable": true
          },
          "sizeLabel": {
            "type": "string",
            "nullable": true
          },
          "localizedSizeLabel": {
            "type": "string",
            "nullable": true
          },
          "selectedDisplayName": {
            "type": "string",
            "nullable": true
          },
          "selectedImagePath": {
            "type": "string",
            "nullable": true
          },
          "listingImagePath": {
            "type": "string",
            "nullable": true
          },
          "startingPrice": {
            "type": "number",
            "format": "double"
          },
          "basePrice": {
            "type": "number",
            "format": "double"
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "calorieText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.MenuItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          },
          "posData": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "descriptionLocalized": {
            "type": "string",
            "nullable": true
          },
          "selectedImagePath": {
            "type": "string",
            "nullable": true
          },
          "listingImagePath": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "maxQtyPerCart": {
            "type": "integer",
            "format": "int32"
          },
          "barcode": {
            "type": "string",
            "nullable": true
          },
          "isAlcoholic": {
            "type": "boolean"
          },
          "calorieText": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrMenuInputDto": {
        "type": "object",
        "properties": {
          "locationUri": {
            "type": "string",
            "nullable": true
          },
          "isCatering": {
            "type": "boolean"
          },
          "searchText": {
            "type": "string",
            "nullable": true
          },
          "tagName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrMenuItemInputDto": {
        "type": "object",
        "properties": {
          "locationUri": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrMenuItemOutputDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          },
          "posData": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "descriptionLocalized": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "selectedImage": {
            "type": "string",
            "nullable": true
          },
          "itemModifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.ItemModifierGroup"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrMenuOutputDto": {
        "type": "object",
        "properties": {
          "categoryCount": {
            "type": "integer",
            "format": "int32"
          },
          "menuCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.MenuCategory"
            },
            "nullable": true
          },
          "filterItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.FilterItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrNestedModifierInputDto": {
        "type": "object",
        "properties": {
          "locationUri": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrNestedModifierOutputDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "posId": {
            "type": "string",
            "nullable": true
          },
          "posData": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "type": "string",
            "nullable": true
          },
          "displayOrder": {
            "type": "integer",
            "format": "int32"
          },
          "minSelection": {
            "type": "integer",
            "format": "int32"
          },
          "maxSelection": {
            "type": "integer",
            "format": "int32"
          },
          "freeModifierCount": {
            "type": "integer",
            "format": "int32"
          },
          "incrementStep": {
            "type": "integer",
            "format": "int32"
          },
          "modifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.ItemModifier"
            },
            "nullable": true
          },
          "parentId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrUpsellItemsByItemInputDto": {
        "type": "object",
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrUpsellItemsByItemOutputDto": {
        "type": "object",
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrUpsellItemsByOrderInputDto": {
        "type": "object",
        "additionalProperties": false
      },
      "App.QROrdering.Models.QrUpsellItemsByOrderOutputDto": {
        "type": "object",
        "additionalProperties": false
      },
      "App.QROrdering.Models.SplashScreenOutputDto": {
        "type": "object",
        "properties": {
          "screensavers": {
            "$ref": "#/components/schemas/App.QROrdering.Models.LocationVisualAssetVM"
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.TipDetailsOutputDto": {
        "type": "object",
        "properties": {
          "enableTips": {
            "type": "boolean"
          },
          "showCalculatedTip": {
            "type": "boolean"
          },
          "customTipEnabled": {
            "type": "boolean"
          },
          "applyBeforeTaxes": {
            "type": "boolean"
          },
          "tipOutputDtos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/App.QROrdering.Models.TipOutputDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "App.QROrdering.Models.TipOutputDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "isPercentage": {
            "type": "boolean"
          },
          "isDefault": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "FilePrinterConfigurationVM": {
        "type": "object",
        "properties": {
          "fileNamePrefix": {
            "type": "string",
            "nullable": true
          },
          "printerType": {
            "$ref": "#/components/schemas/FilePrinterType"
          },
          "googleDriveConfiguration": {
            "$ref": "#/components/schemas/FilePrinterGoogleDriveConfigurationVM"
          }
        },
        "additionalProperties": false
      },
      "FilePrinterGoogleDriveConfigurationVM": {
        "type": "object",
        "properties": {
          "secret": {
            "type": "string",
            "nullable": true
          },
          "path": {
            "type": "string",
            "nullable": true
          },
          "fileExtension": {
            "type": "string",
            "nullable": true
          },
          "fileTemplate": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FilePrinterType": {
        "enum": [
          0
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Application.Admin.Models.CompanyListItemVM": {
        "type": "object",
        "properties": {
          "companyId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.CompanyId"
          },
          "companyName": {
            "type": "string",
            "nullable": true
          },
          "companyPhone": {
            "type": "string",
            "nullable": true
          },
          "countryName": {
            "type": "string",
            "nullable": true
          },
          "companyEmail": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.AddPosReply": {
        "type": "object",
        "properties": {
          "posType": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition"
          },
          "valdiationErrors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.AdminUserVM": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.AccessControl.GrubbrrAdminRole"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.MenuSyncScheduleVM": {
        "type": "object",
        "properties": {
          "syncTimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.Location.MenuSyncTimeVM"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderHistoryRequest": {
        "type": "object",
        "properties": {
          "afterTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "beforeTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "continuationToken": {
            "type": "string",
            "nullable": true
          },
          "orderBy": {
            "type": "string",
            "nullable": true
          },
          "isAscending": {
            "type": "boolean",
            "nullable": true
          },
          "search": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "kioskSessionId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "orderDate": {
            "type": "string",
            "format": "date-time"
          },
          "invoiceNo": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.LocationId"
          },
          "totals": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderTotals"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderItemVM"
            },
            "nullable": true
          },
          "comboSelections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderComboSelectionVM"
            },
            "nullable": true
          },
          "paymentDetails": {
            "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderPaymentDetailsVM"
          },
          "paymentTransactionDeatils": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderPaymentDetailsVM"
            },
            "nullable": true
          },
          "orderIdentity": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderIdentity"
          },
          "isUpChargeCard": {
            "type": "boolean"
          },
          "upChargeAmountCard": {
            "type": "number",
            "format": "double"
          },
          "isPercentageCard": {
            "type": "boolean"
          },
          "percentageOrAmountCard": {
            "type": "number",
            "format": "double"
          },
          "orderType": {
            "type": "string",
            "nullable": true
          },
          "orderTypeLabel": {
            "type": "string",
            "nullable": true
          },
          "refundTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "adjustedTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderDiscountVM"
            },
            "nullable": true
          },
          "discountsTotal": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "refunds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRefundRecordVM"
            },
            "nullable": true
          },
          "redeemedRewards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.RedeemedRewardVM"
            },
            "nullable": true
          },
          "kioskSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.KioskSource"
          },
          "channel": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.ChannelType"
          },
          "testOrder": {
            "type": "boolean"
          },
          "concepts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderConceptsVM"
            },
            "nullable": true
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          },
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "localCurrencyDetails": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.LocalCurrencyDetails"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM.OrderComboComponentSelectionVM": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "item": {
            "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderItemVM"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderItemVM"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM.OrderComboSelectionVM": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "categoryId": {
            "type": "string",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "comboId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "componentSelections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderComboComponentSelectionVM"
            },
            "nullable": true
          },
          "totalPriceCents": {
            "type": "number",
            "format": "double"
          },
          "unitPriceCents": {
            "type": "number",
            "format": "double"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "specialRequest": {
            "type": "string",
            "nullable": true
          },
          "upsellSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemUpsellSourceInformation"
          },
          "rewardSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemRewardSourceInformation"
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          },
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "pickupLocation": {
            "type": "string",
            "nullable": true
          },
          "isScanned": {
            "type": "boolean",
            "nullable": true
          },
          "useSmartModifier": {
            "type": "boolean",
            "nullable": true
          },
          "sourceVirtualMenuRecordId": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordDisplayName": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordMode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM.OrderConceptsVM": {
        "type": "object",
        "properties": {
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM.OrderDiscountVM": {
        "type": "object",
        "properties": {
          "discountId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "discountType": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.Discounts.DiscountTypeParent"
          },
          "discountLevel": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.Discounts.DiscountLevel"
          },
          "discountCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "mode": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.Discounts.DiscountApplicationMode"
          },
          "posDiscountId": {
            "type": "string",
            "nullable": true
          },
          "discountAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM.OrderItemDiscountSourceInformationVM": {
        "type": "object",
        "properties": {
          "discountId": {
            "type": "string",
            "nullable": true
          },
          "isHiddenOnReceipt": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM.OrderItemVM": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "categoryId": {
            "type": "string",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "itemId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemOption"
            },
            "nullable": true
          },
          "totalPrice": {
            "type": "number",
            "format": "double"
          },
          "totalTax": {
            "type": "number",
            "format": "double"
          },
          "itemPrice": {
            "type": "number",
            "format": "double"
          },
          "unitPrice": {
            "type": "number",
            "format": "double"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "specialRequest": {
            "type": "string",
            "nullable": true
          },
          "upsellSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemUpsellSourceInformation"
          },
          "rewardSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemRewardSourceInformation"
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderDiscountVM"
            },
            "nullable": true
          },
          "discountSource": {
            "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM.OrderItemDiscountSourceInformationVM"
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          },
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "pickupLocation": {
            "type": "string",
            "nullable": true
          },
          "isScanned": {
            "type": "boolean",
            "nullable": true
          },
          "useSmartModifier": {
            "type": "boolean",
            "nullable": true
          },
          "sourceVirtualMenuRecordId": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordDisplayName": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordMode": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordBaseItem": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM.OrderPaymentDetailsVM": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "orderSuccessPaymentId": {
            "type": "string",
            "nullable": true
          },
          "paymentProvider": {
            "type": "string",
            "nullable": true
          },
          "retref": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationLabel": {
            "type": "string",
            "nullable": true
          },
          "tender": {
            "type": "string",
            "nullable": true
          },
          "paymentCardName": {
            "type": "string",
            "nullable": true
          },
          "paymentCardNumber": {
            "type": "string",
            "nullable": true
          },
          "isAmazonOnePayment": {
            "type": "boolean"
          },
          "vendorSpecificData": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.VendorSpecificInfo"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordVM.RedeemedRewardVM": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRecordsVM": {
        "type": "object",
        "properties": {
          "orderRecords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Api.OrderRecordVM"
            },
            "nullable": true,
            "readOnly": true
          },
          "continuationToken": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "moreRecords": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.OrderRefundRecordVM": {
        "type": "object",
        "properties": {
          "orderDate": {
            "type": "string",
            "format": "date-time"
          },
          "invoiceNo": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "refundDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "refundTransactionId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "refundType": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Payment.RefundType"
          },
          "itemIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.PaymentIntegrationVM": {
        "type": "object",
        "properties": {
          "paymentIntegrationId": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Payment.PaymentIntegrationId"
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "orderChannels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.Enums.OrderChannel"
            },
            "nullable": true
          },
          "paymentMethod": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Payment.PaymentMethod"
          },
          "locationFields": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/GRUBBRR.Core.Common.FormFieldType"
            },
            "nullable": true
          },
          "kioskFields": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/GRUBBRR.Core.Common.FormFieldType"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.PosProxyAgentCodeVM": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Api.PosTypeVM": {
        "type": "object",
        "properties": {
          "posIntegrationId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "vendor": {
            "type": "string",
            "nullable": true
          },
          "integrationVersion": {
            "type": "string",
            "nullable": true
          },
          "isCloudIntegration": {
            "type": "boolean"
          },
          "tenders": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "webhookIdField": {
            "type": "string",
            "nullable": true
          },
          "webhookRecordName": {
            "type": "string",
            "nullable": true
          },
          "assemblyName": {
            "type": "string",
            "nullable": true
          },
          "integrationUrls": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Common.Classes.OrderSummaryResponse": {
        "type": "object",
        "properties": {
          "highestTicket": {
            "type": "number",
            "format": "double"
          },
          "averageTicket": {
            "type": "number",
            "format": "double"
          },
          "lowestTicket": {
            "type": "number",
            "format": "double"
          },
          "totalOrders": {
            "type": "integer",
            "format": "int32"
          },
          "grossSales": {
            "type": "number",
            "format": "double"
          },
          "taxes": {
            "type": "number",
            "format": "double"
          },
          "tips": {
            "type": "number",
            "format": "double"
          },
          "discount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "netSales": {
            "type": "number",
            "format": "double"
          },
          "totalSales": {
            "type": "number",
            "format": "double"
          },
          "totalReceipts": {
            "type": "number",
            "format": "double"
          },
          "totalPayments": {
            "type": "number",
            "format": "double"
          },
          "totalCharityAmount": {
            "type": "number",
            "format": "double"
          },
          "receiptDifferential": {
            "type": "number",
            "format": "double"
          },
          "serviceCharges": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Common.Classes.UpsellReportData": {
        "type": "object",
        "properties": {
          "upsellReportDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.Common.Classes.UpsellReportDetail"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Common.Classes.UpsellReportDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "standardPrice": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "orderDate": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Commands.Image.ImageEncodedResponse": {
        "type": "object",
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.ExportLocationQueryResponse": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.GetLocationConfigurationResponse": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "posConnectorConfigurationId": {
            "type": "string",
            "nullable": true
          },
          "catalogId": {
            "type": "string",
            "nullable": true
          },
          "menuId": {
            "type": "string",
            "nullable": true
          },
          "hasEcmEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.ImportLocationResponse": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.LocationImportJobState": {
        "enum": [
          "Queued",
          "Running",
          "Completed",
          "Failed"
        ],
        "type": "string"
      },
      "GRUBBRR.Application.LocationApi.LocationImportJobStatus": {
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.LocationImportJobState"
          },
          "percentComplete": {
            "type": "integer",
            "format": "int32"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "error": {
            "type": "string",
            "nullable": true
          },
          "updatedAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.ImageVM": {
        "type": "object",
        "properties": {
          "displayUrl": {
            "type": "string",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.LocationStaffVM": {
        "type": "object",
        "properties": {
          "staff": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.StaffVM"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.LocationVM": {
        "type": "object",
        "properties": {
          "locationId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.LocationId"
          },
          "companyId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.CompanyId"
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "storageRegion": {
            "type": "string",
            "nullable": true
          },
          "homeScreenLogo": {
            "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.ImageVM"
          },
          "logo": {
            "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.ImageVM"
          },
          "footer": {
            "type": "string",
            "nullable": true
          },
          "tagLine": {
            "type": "string",
            "nullable": true
          },
          "ownerInfo": {
            "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationVM.OwnerInfoVM"
          },
          "contactInfo": {
            "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationVM.LocationContactInfoVM"
          },
          "storeLocation": {
            "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.LocationVM.StoreLocationVM"
          },
          "workingDays": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "locationInheritance": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.LocationInheritance"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.LocationVM.LocationContactInfoVM": {
        "type": "object",
        "properties": {
          "contactNo": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.System.PhoneNumber"
          },
          "customerSupportno": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.System.PhoneNumber"
          },
          "locationEmail": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.System.EmailAddress"
          },
          "customerSupportEmail": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.System.EmailAddress"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.LocationVM.OwnerInfoVM": {
        "type": "object",
        "properties": {
          "ownerEmail": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.System.EmailAddress"
          },
          "ownerCompanyName": {
            "type": "string",
            "nullable": true
          },
          "ownerName": {
            "type": "string",
            "nullable": true
          },
          "ownerContactNo": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.System.PhoneNumber"
          },
          "ownerProfilePic": {
            "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.Models.ImageVM"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.LocationVM.StoreLocationVM": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ValueObjects.Address"
          },
          "countryName": {
            "type": "string",
            "nullable": true
          },
          "locationCoordinates": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ValueObjects.LatLong"
          },
          "timeZoneId": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.LoyaltySettingVM": {
        "type": "object",
        "properties": {
          "loyaltyProvider": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "settings": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.PrinterSettingsVM": {
        "type": "object",
        "properties": {
          "locationId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.LocationId"
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "ipAddress": {
            "type": "string",
            "nullable": true
          },
          "macAddress": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "invoicePrinter": {
            "type": "boolean"
          },
          "tokenPrinter": {
            "type": "boolean"
          },
          "kitchenPrinter": {
            "type": "boolean"
          },
          "stickyPrinter": {
            "type": "boolean"
          },
          "kdsPrinter": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "filePrinterConfiguration": {
            "$ref": "#/components/schemas/FilePrinterConfigurationVM"
          },
          "orderRouting": {
            "$ref": "#/components/schemas/PrinterOrderRoutingVM"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Models.StaffVM": {
        "required": [
          "accessCode",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "accessCode": {
            "maxLength": 4,
            "minLength": 4,
            "type": "string"
          },
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.OrderTypeVM": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "supportsTips": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportItem": {
        "type": "object",
        "properties": {
          "orderToken": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "tableTent": {
            "type": "string",
            "nullable": true
          },
          "posOrderToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.Pos.OrderIdentityReportRequest": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.PosOrderTypesVM": {
        "type": "object",
        "properties": {
          "orderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.OrderTypeVM"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.PosSyncRecordVM": {
        "type": "object",
        "properties": {
          "posConnectorConfigurationId": {
            "type": "string",
            "nullable": true
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "runStartTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Menu.Domain.Aggregates.MenuSyncStatus"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "snapshotId": {
            "type": "string",
            "nullable": true
          },
          "summary": {
            "type": "string",
            "nullable": true
          },
          "syncType": {
            "type": "string",
            "nullable": true
          },
          "menuChangeRecords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.Menu.MenuChangeRecord"
            },
            "nullable": true
          },
          "menuSyncStatus": {
            "$ref": "#/components/schemas/Menu.Domain.Aggregates.MenuSyncStatus"
          },
          "posSyncStatus": {
            "$ref": "#/components/schemas/Menu.Domain.Aggregates.MenuSyncStatus"
          },
          "syncBy": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Menu.MenuSyncBy"
          },
          "syncSource": {
            "$ref": "#/components/schemas/Grubbrr.Pos.Service.Client.Models.SnapshotSource"
          },
          "validationSummaryDto": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Menu.PosSnapshotGroupValidationSummaryDto"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryRequest": {
        "type": "object",
        "properties": {
          "locationId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.LocationId"
          },
          "posConnectorConfigurationId": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32"
          },
          "continuationToken": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.QueryMenuSyncHistoryResponse": {
        "type": "object",
        "properties": {
          "syncRecords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.LocationApi.PosSyncRecordVM"
            },
            "nullable": true
          },
          "moreAvailable": {
            "type": "boolean"
          },
          "continuationToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.QueryPosStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "lastSynced": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.LocationApi.StartImportLocationResponse": {
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.MenuApi.Item86Response": {
        "type": "object",
        "additionalProperties": false
      },
      "GRUBBRR.Application.MenuApi.QueryItem86ListResponse": {
        "type": "object",
        "properties": {
          "item86": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Menu.Domain.Aggregates.MenuItemId"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Models.UserDetailsVM": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "nullable": true
          },
          "profilePicture": {
            "type": "string",
            "nullable": true
          },
          "companyIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "isAdmin": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.Sentinel.SentinelAckStatus": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Application.SystemApi.Commands.SyncOrganizationAndUsersReply": {
        "type": "object",
        "additionalProperties": false
      },
      "GRUBBRR.Application.SystemApi.Models.LoyaltyProviderVM": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "loyaltyProvider": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "companyFields": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/GRUBBRR.Core.Common.FormFieldType"
            },
            "nullable": true
          },
          "locationFields": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/GRUBBRR.Core.Common.FormFieldType"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.User.Queries.PylonIdentityVM": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "emailHash": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.User.Queries.RbacAccess": {
        "type": "object",
        "properties": {
          "roleAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Application.User.Queries.RbacRoleAssignment"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Application.User.Queries.RbacRole": {
        "type": "object",
        "additionalProperties": false
      },
      "GRUBBRR.Application.User.Queries.RbacRoleAssignment": {
        "type": "object",
        "properties": {
          "scopeId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.ScopeId"
          },
          "role": {
            "$ref": "#/components/schemas/GRUBBRR.Application.User.Queries.RbacRole"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Core.Common.FormFieldType": {
        "type": "object",
        "properties": {
          "defaultValue": {
            "nullable": true
          },
          "minLength": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "maxLength": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "minValue": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "maxValue": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/GRUBBRR.Core.Common.FormFieldValueType"
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "dependsOn": {
            "type": "string",
            "nullable": true
          },
          "dependsOnValue": {
            "nullable": true
          },
          "toolTip": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "nullable": true
          },
          "optionHaveDefaultBlank": {
            "type": "boolean",
            "nullable": true
          },
          "invisible": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Core.Common.FormFieldValueType": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.ABTesting.Model.Experiment": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.ExperimentId"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "organizationId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.OrganizationId"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "activatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "completedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.ExperimentStatus"
          },
          "variantA": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.ExperimentVariant"
          },
          "variantB": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.ExperimentVariant"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "nullable": true
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedBy": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.ABTesting.Model.ExperimentDevice": {
        "type": "object",
        "properties": {
          "kioskId": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.KioskId"
          },
          "kioskName": {
            "type": "string",
            "nullable": true
          },
          "addedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.ABTesting.Model.ExperimentId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.ABTesting.Model.ExperimentSnapshot": {
        "type": "object",
        "properties": {
          "snapshotId": {
            "type": "string",
            "nullable": true
          },
          "snapshotName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.ABTesting.Model.ExperimentStatus": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.ABTesting.Model.ExperimentVariant": {
        "type": "object",
        "properties": {
          "variantId": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.ExperimentVariantId"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "menuSnapshot": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.ExperimentSnapshot"
          },
          "kioskSnapshot": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.ExperimentSnapshot"
          },
          "samplePercentage": {
            "type": "integer",
            "format": "int32"
          },
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.ExperimentDevice"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.ABTesting.Model.ExperimentVariantId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.AccessControl.GrubbrrAdminRole": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.ComboItem": {
        "type": "object",
        "properties": {
          "orderItemId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.OrderItemId"
          },
          "categoryId": {
            "type": "string",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "categoryPosId": {
            "type": "string",
            "nullable": true
          },
          "comboId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "comboPosId": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.LocalizedStringSet"
          },
          "componentSelections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderComboComponentSelection"
            },
            "nullable": true
          },
          "unitPriceCents": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalPriceCents": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "specialRequest": {
            "type": "string",
            "nullable": true
          },
          "upsellSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemUpsellSourceInformation"
          },
          "rewardSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemRewardSourceInformation"
          },
          "itemSessionId": {
            "type": "string",
            "nullable": true
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          },
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "isScanned": {
            "type": "boolean",
            "nullable": true
          },
          "useSmartModifier": {
            "type": "boolean",
            "nullable": true
          },
          "sourceVirtualMenuRecordId": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordDisplayName": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordMode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.Item": {
        "type": "object",
        "properties": {
          "orderItemId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.OrderItemId"
          },
          "categoryId": {
            "type": "string",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "categoryPosId": {
            "type": "string",
            "nullable": true
          },
          "menuItemId": {
            "$ref": "#/components/schemas/Menu.Domain.Aggregates.MenuItemId"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "menuItemPosId": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.LocalizedStringSet"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemOption"
            },
            "nullable": true
          },
          "itemPrice": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "totalPrice": {
            "type": "number",
            "format": "double"
          },
          "unitPriceCents": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "totalPriceCents": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "specialRequest": {
            "type": "string",
            "nullable": true
          },
          "upsellSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemUpsellSourceInformation"
          },
          "rewardSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemRewardSourceInformation"
          },
          "itemSessionId": {
            "type": "string",
            "nullable": true
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderDiscount"
            },
            "nullable": true
          },
          "discountSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemDiscountSourceInformation"
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          },
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "isScanned": {
            "type": "boolean",
            "nullable": true
          },
          "useSmartModifier": {
            "type": "boolean",
            "nullable": true
          },
          "sourceVirtualMenuRecordId": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordDisplayName": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordMode": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordBaseItem": {
            "type": "boolean",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Enums.OrderStatus"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.LocalCurrencyDetails": {
        "type": "object",
        "properties": {
          "totals": {
            "type": "number",
            "format": "double"
          },
          "totalsCents": {
            "type": "number",
            "format": "double"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "additionalInfo": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.Order": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.OrderEventId"
          },
          "kioskSessionId": {
            "type": "string",
            "nullable": true
          },
          "adjustedTotal": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "refundTotal": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "discountsTotal": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "orderDate": {
            "type": "string",
            "format": "date-time"
          },
          "orderId": {
            "type": "string",
            "nullable": true
          },
          "isTestOrder": {
            "type": "boolean"
          },
          "status": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Enums.OrderStatus"
          },
          "totals": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderTotals"
          },
          "totalsCents": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderTotalsCents"
          },
          "orderIdentity": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderIdentity"
          },
          "paymentTransactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderPaymentTransaction"
            },
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.Item"
            },
            "nullable": true
          },
          "comboItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.ComboItem"
            },
            "nullable": true
          },
          "orderType": {
            "type": "string",
            "nullable": true
          },
          "orderTypeLabel": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.LocationId"
          },
          "redeemedRewards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.RedeemedReward"
            },
            "nullable": true
          },
          "rewards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.LoyaltyReward"
            },
            "nullable": true
          },
          "loyaltyProviderTransactionId": {
            "type": "string",
            "nullable": true
          },
          "loyaltyProviderPaymentTransactionId": {
            "type": "string",
            "nullable": true
          },
          "loyaltyUser": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderLoyaltyUser"
          },
          "refundedOrderItemIds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Grubbrr.Core.Scope.OrderItemId"
            },
            "nullable": true,
            "readOnly": true
          },
          "refunds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderRefundEvent"
            },
            "nullable": true,
            "readOnly": true
          },
          "kioskSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.KioskSource"
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderDiscount"
            },
            "nullable": true
          },
          "localCurrencyDetails": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.LocalCurrencyDetails"
          },
          "rewardsTotal": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "giftCardTotal": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "channel": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.ChannelType"
          },
          "concepts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderConcepts"
            },
            "nullable": true
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          },
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "isFailedToSendToPOS": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderFees": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "feeId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.CaptureDetails": {
        "type": "object",
        "properties": {
          "resultCode": {
            "type": "string",
            "nullable": true
          },
          "resultMessage": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.ChannelType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.KioskSource": {
        "type": "object",
        "properties": {
          "kioskId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "kioskMode": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.KioskMode"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderComboComponentSelection": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "componentPosId": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.LocalizedStringSet"
          },
          "item": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItem"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderConcepts": {
        "type": "object",
        "properties": {
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderDiscount": {
        "type": "object",
        "properties": {
          "discountId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "discountType": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.Discounts.DiscountTypeParent"
          },
          "discountLevel": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.Discounts.DiscountLevel"
          },
          "discountCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "mode": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.Discounts.DiscountApplicationMode"
          },
          "posDiscountId": {
            "type": "string",
            "nullable": true
          },
          "discountAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderIdentity": {
        "type": "object",
        "properties": {
          "orderToken": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "phoneCountryCode": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "tableTent": {
            "type": "string",
            "nullable": true
          },
          "posOrderToken": {
            "type": "string",
            "nullable": true
          },
          "guestOptInToSmsMarketing": {
            "type": "boolean"
          },
          "randomlyGeneratedFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderIdentityField"
            },
            "nullable": true
          },
          "deviceImei": {
            "type": "string",
            "nullable": true
          },
          "stateId": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderIdentityField": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItem": {
        "type": "object",
        "properties": {
          "orderItemId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.OrderItemId"
          },
          "categoryId": {
            "type": "string",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "categoryPosId": {
            "type": "string",
            "nullable": true
          },
          "menuItemId": {
            "$ref": "#/components/schemas/Menu.Domain.Aggregates.MenuItemId"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "menuItemPosId": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.LocalizedStringSet"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemOption"
            },
            "nullable": true
          },
          "itemPrice": {
            "type": "number",
            "format": "double"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "totalPrice": {
            "type": "number",
            "format": "double"
          },
          "unitPriceCents": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "totalPriceCents": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "specialRequest": {
            "type": "string",
            "nullable": true
          },
          "upsellSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemUpsellSourceInformation"
          },
          "rewardSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemRewardSourceInformation"
          },
          "itemSessionId": {
            "type": "string",
            "nullable": true
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderDiscount"
            },
            "nullable": true
          },
          "discountSource": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemDiscountSourceInformation"
          },
          "conceptId": {
            "type": "string",
            "nullable": true
          },
          "conceptName": {
            "type": "string",
            "nullable": true
          },
          "isScanned": {
            "type": "boolean",
            "nullable": true
          },
          "useSmartModifier": {
            "type": "boolean",
            "nullable": true
          },
          "sourceVirtualMenuRecordId": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordDisplayName": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordMode": {
            "type": "string",
            "nullable": true
          },
          "sourceVirtualMenuRecordBaseItem": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemDiscountSourceInformation": {
        "type": "object",
        "properties": {
          "discountId": {
            "type": "string",
            "nullable": true
          },
          "isHiddenOnReceipt": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemOption": {
        "type": "object",
        "properties": {
          "modifierGroupId": {
            "$ref": "#/components/schemas/Menu.Domain.Aggregates.ModifierGroupId"
          },
          "modifierGroupPosId": {
            "type": "string",
            "nullable": true
          },
          "modifierId": {
            "type": "string",
            "nullable": true
          },
          "modifierPosId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "localizedName": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.LocalizedStringSet"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "unitPrice": {
            "type": "number",
            "format": "double"
          },
          "totalPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "unitPriceCents": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "totalPriceCents": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemOption"
            },
            "nullable": true
          },
          "isInvisible": {
            "type": "boolean"
          },
          "isDefault": {
            "type": "boolean"
          },
          "freeQuantity": {
            "type": "integer",
            "format": "int32"
          },
          "modifierCode": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemOptionModifierCode"
          },
          "modifierGroupName": {
            "type": "string",
            "nullable": true
          },
          "localizedModifierGroupName": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.LocalizedStringSet"
          },
          "isScanned": {
            "type": "boolean",
            "nullable": true
          },
          "useSmartModifier": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemOptionModifierCode": {
        "type": "object",
        "properties": {
          "modifierCodeId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "integer",
            "format": "int32"
          },
          "modifierCodeBehavior": {
            "$ref": "#/components/schemas/Grubbrr.Menu.Service.Data.ResolvedModifierCodeBehaviorDto"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemRewardSourceInformation": {
        "type": "object",
        "properties": {
          "rewardExternalId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderItemUpsellSourceInformation": {
        "type": "object",
        "properties": {
          "upsellId": {
            "type": "string",
            "nullable": true
          },
          "upsellLevel": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.UpsellLevelType"
          },
          "upsellPromptItemId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderLoyaltyUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "posOrderId": {
            "type": "string",
            "nullable": true
          },
          "integrationMetadata": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.OrderPaymentTransaction": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "paymentIntegrationId": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Payment.PaymentIntegrationId"
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationLabel": {
            "type": "string",
            "nullable": true
          },
          "tenderId": {
            "type": "string",
            "nullable": true
          },
          "paymentCardName": {
            "type": "string",
            "nullable": true
          },
          "paymentCardNumber": {
            "type": "string",
            "nullable": true
          },
          "isAmazonOnePayment": {
            "type": "boolean"
          },
          "paymentMethod": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Payment.PaymentMethod"
          },
          "tenderInfo": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentTenderInfo"
          },
          "vendorSpecificData": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.VendorSpecificInfo"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "captureDetails": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.CaptureDetails"
          },
          "settlementDetails": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.SettlementDetails"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentAurusData": {
        "type": "object",
        "properties": {
          "receiptLines": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentBacData": {
        "type": "object",
        "properties": {
          "transactionType": {
            "type": "string",
            "nullable": true
          },
          "terminalId": {
            "type": "string",
            "nullable": true
          },
          "authorizationNumber": {
            "type": "string",
            "nullable": true
          },
          "referenceNumber": {
            "type": "string",
            "nullable": true
          },
          "systemTraceNumber": {
            "type": "string",
            "nullable": true
          },
          "invoice": {
            "type": "string",
            "nullable": true
          },
          "entryMode": {
            "type": "string",
            "nullable": true
          },
          "hostDate": {
            "type": "string",
            "nullable": true
          },
          "hostTime": {
            "type": "string",
            "nullable": true
          },
          "maskedPan": {
            "type": "string",
            "nullable": true
          },
          "applicationLabel": {
            "type": "string",
            "nullable": true
          },
          "printTags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentDojoData": {
        "type": "object",
        "properties": {
          "terminalId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentGivexData": {
        "type": "object",
        "properties": {
          "cardNumber": {
            "type": "string",
            "nullable": true
          },
          "transactionCode": {
            "type": "string",
            "nullable": true
          },
          "preAuthRef": {
            "type": "string",
            "nullable": true
          },
          "capturedAmount": {
            "type": "integer",
            "format": "int32"
          },
          "remainingBalance": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentTenderCardInfo": {
        "type": "object",
        "properties": {
          "cardType": {
            "type": "string",
            "nullable": true
          },
          "lastFour": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          },
          "processorAuthCode": {
            "type": "string",
            "nullable": true
          },
          "expirationMonth": {
            "type": "string",
            "nullable": true
          },
          "expirationYear": {
            "type": "string",
            "nullable": true
          },
          "maskedCardNumber": {
            "type": "string",
            "nullable": true
          },
          "availableBalance": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentTenderInfo": {
        "type": "object",
        "properties": {
          "cardInfo": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentTenderCardInfo"
          },
          "storedValueInfo": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentTenderStoredValueInfo"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentTenderStoredValueInfo": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "integrationMetadata": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentTroveData": {
        "type": "object",
        "properties": {
          "entryMode": {
            "type": "string",
            "nullable": true
          },
          "credential": {
            "type": "string",
            "nullable": true
          },
          "stan": {
            "type": "integer",
            "format": "int32"
          },
          "approvalCode": {
            "type": "string",
            "nullable": true
          },
          "terminalId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.RedeemedReward": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "double"
          },
          "posDiscountId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.SettlementDetails": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "resultMessage": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.UpsellLevelType": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.VendorSpecificInfo": {
        "type": "object",
        "properties": {
          "orderPaymentTroveData": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentTroveData"
          },
          "orderPaymentGivexData": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentGivexData"
          },
          "orderPaymentDojoData": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentDojoData"
          },
          "orderPaymentBacData": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentBacData"
          },
          "orderPaymentAurusData": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderPlacedEvent.PaymentAurusData"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderRefundEvent": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.OrderEventId"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.LocationId"
          },
          "orderId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.OrderId"
          },
          "orderDate": {
            "type": "string",
            "format": "date-time"
          },
          "refundTransactionId": {
            "type": "string",
            "nullable": true
          },
          "refundedAmount": {
            "type": "number",
            "format": "double"
          },
          "refundType": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Payment.RefundType"
          },
          "rawResponse": {
            "type": "string",
            "nullable": true
          },
          "originalTransactionId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderTax": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "taxId": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderTotals": {
        "type": "object",
        "properties": {
          "subTotal": {
            "type": "number",
            "format": "double"
          },
          "tax": {
            "type": "number",
            "format": "double"
          },
          "tip": {
            "type": "number",
            "format": "double"
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "discount": {
            "type": "number",
            "format": "double"
          },
          "reward": {
            "type": "number",
            "format": "double"
          },
          "serviceCharge": {
            "type": "number",
            "format": "double"
          },
          "charityAmount": {
            "type": "number",
            "format": "double"
          },
          "fees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderFees"
            },
            "nullable": true
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderTax"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.CompanyDomain.OrderTotalsCents": {
        "type": "object",
        "properties": {
          "subTotal": {
            "type": "integer",
            "format": "int32"
          },
          "tax": {
            "type": "integer",
            "format": "int32"
          },
          "tip": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "discount": {
            "type": "integer",
            "format": "int32"
          },
          "reward": {
            "type": "integer",
            "format": "int32"
          },
          "serviceCharge": {
            "type": "integer",
            "format": "int32"
          },
          "fees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.CompanyDomain.OrderFees"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Enums.OrderChannel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Enums.OrderStatus": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Integrations.SMS.InternationalSmsCountries.CountryStatusFilter": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.Location.Discounts.DiscountApplicationMode": {
        "enum": [
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.Location.Discounts.DiscountLevel": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.Location.Discounts.DiscountTypeEnum": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.Location.Discounts.DiscountTypeParent": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.Discounts.DiscountTypeEnum"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Location.KioskId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Location.KioskMode": {
        "enum": [
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.Location.LocalizedStringSet": {
        "type": "object",
        "properties": {
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Location.LocationInheritance": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "readOnly": true
          },
          "parentLocationId": {
            "$ref": "#/components/schemas/Grubbrr.Core.Scope.LocationId"
          },
          "inheritMenu": {
            "type": "boolean"
          },
          "inheritTheme": {
            "type": "boolean"
          },
          "inheritKioskSettings": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Location.MenuSyncTimeVM": {
        "type": "object",
        "properties": {
          "daysOfTheWeek": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.DayOfWeek"
            },
            "nullable": true
          },
          "scheduleHour": {
            "type": "integer",
            "format": "int32"
          },
          "scheduleHourQuarter": {
            "type": "integer",
            "format": "int32"
          },
          "isFixedTime": {
            "type": "boolean"
          },
          "syncInterval": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Location.PosSyncInterval"
          },
          "snapshotTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.Location.SyncSnapshotType"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Location.PosSyncInterval": {
        "type": "object",
        "properties": {
          "startTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "intervalMinutes": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Location.SyncSnapshotType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.Menu.MenuChangeRecord": {
        "type": "object",
        "properties": {
          "changesetName": {
            "type": "string",
            "nullable": true
          },
          "posLinkedEntitiesToUpsertCount": {
            "type": "integer",
            "format": "int32"
          },
          "entitiesCreated": {
            "type": "integer",
            "format": "int32"
          },
          "entitiesUpdated": {
            "type": "integer",
            "format": "int32"
          },
          "entitiesDeActivate": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Menu.MenuSyncBy": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "GRUBBRR.Domain.Menu.PosSnapshotGroupValidationSummaryDto": {
        "type": "object",
        "properties": {
          "warningsCount": {
            "type": "integer",
            "format": "int32"
          },
          "errorsCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Payment.PaymentIntegrationId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Payment.PaymentMethod": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Payment.RefundType": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinition": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinitionId"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "partitionKey": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "vendor": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "integrationVersion": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "isCloudIntegration": {
            "type": "boolean",
            "readOnly": true
          },
          "requiredTenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.Pos.Tenders.TenderTypeId"
            },
            "nullable": true
          },
          "requiresOrderTypeMapping": {
            "type": "boolean"
          },
          "webhookIdField": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "webhookRecordName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "webhooksSupported": {
            "type": "boolean",
            "readOnly": true
          },
          "assemblyName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "integrationUrls": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Pos.Integrations.PosIntegrationDefinitionId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.Pos.Tenders.TenderTypeId": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.System.EmailAddress": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.System.PhoneNumber": {
        "type": "object",
        "properties": {
          "formattedNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "number": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.ValueObjects.Address": {
        "type": "object",
        "properties": {
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "countryISO": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Domain.ValueObjects.LatLong": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "string",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Kiosk.Models.ProxyRequest": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          },
          "method": {
            "type": "string",
            "nullable": true
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandRequest": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/GRUBBRR.Application.Sentinel.SentinelAckStatus"
          },
          "ackedAt": {
            "type": "string",
            "format": "date-time"
          },
          "failureReason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Kiosk.Services.AckCommandResponse": {
        "type": "object",
        "properties": {
          "commandId": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "isDuplicate": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.FailedBarcodeScanItemVM": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "kioskId": {
            "type": "string",
            "nullable": true
          },
          "kioskName": {
            "type": "string",
            "nullable": true
          },
          "barcodeIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "scannedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "View model for a single failed barcode scan record (display and report download).\r\nIncludes all stored fields so report/export has full data."
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.FailedBarcodeScansResponseVM": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.FailedBarcodeScanItemVM"
            },
            "nullable": true
          },
          "continuationToken": {
            "type": "string",
            "nullable": true
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "moreRecords": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Paged response for failed barcode scans list (display and download)."
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandRequest": {
        "type": "object",
        "properties": {
          "commandType": {
            "type": "string",
            "nullable": true
          },
          "payload": { }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.IssueCommandResponse": {
        "type": "object",
        "properties": {
          "commandId": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsConfiguration": {
        "type": "object",
        "properties": {
          "printerCount": {
            "type": "integer",
            "format": "int32"
          },
          "paymentIntegrationCount": {
            "type": "integer",
            "format": "int32"
          },
          "taxComplianceIntegrationCount": {
            "type": "integer",
            "format": "int32"
          },
          "hasScannerConfiguration": {
            "type": "boolean"
          },
          "hasLightsConfiguration": {
            "type": "boolean"
          },
          "builtInPrinterDisabled": {
            "type": "boolean",
            "nullable": true
          },
          "builtInScannerDisabled": {
            "type": "boolean",
            "nullable": true
          },
          "dieboldLightsEnabled": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsDatasetEntry": {
        "type": "object",
        "properties": {
          "planId": {
            "type": "string",
            "nullable": true
          },
          "snapshotId": {
            "type": "string",
            "nullable": true
          },
          "snapshotName": {
            "type": "string",
            "nullable": true
          },
          "activatedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsDatasets": {
        "type": "object",
        "properties": {
          "kioskDataset": {
            "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsDatasetEntry"
          },
          "menuDataset": {
            "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsDatasetEntry"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsDeviceInfo": {
        "type": "object",
        "properties": {
          "appVersion": {
            "type": "string",
            "nullable": true
          },
          "deviceType": {
            "type": "string",
            "nullable": true
          },
          "serialNumber": {
            "type": "string",
            "nullable": true
          },
          "lastLoginTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "testMode": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsKiosk": {
        "type": "object",
        "properties": {
          "kioskId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "kioskHardwareId": {
            "type": "string",
            "nullable": true
          },
          "operatingSystem": {
            "type": "string",
            "nullable": true
          },
          "kioskMode": {
            "type": "string",
            "nullable": true
          },
          "kioskLogging": {
            "type": "string",
            "nullable": true
          },
          "screenOrientation": {
            "type": "string",
            "nullable": true
          },
          "activated": {
            "type": "boolean"
          },
          "kioskActivation": {
            "type": "string",
            "nullable": true
          },
          "macAddress": {
            "type": "string",
            "nullable": true
          },
          "isGhostKiosk": {
            "type": "boolean",
            "nullable": true
          },
          "deviceDetails": {
            "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsDeviceInfo"
          },
          "activatedDatasets": {
            "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsDatasets"
          },
          "lastSync": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastRequestTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsLocation": {
        "type": "object",
        "properties": {
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "locationName": {
            "type": "string",
            "nullable": true
          },
          "companyId": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "storageRegion": {
            "type": "string",
            "nullable": true
          },
          "posConnectorConfigurationId": {
            "type": "string",
            "nullable": true
          },
          "posConnectorConfigurationIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "menuId": {
            "type": "string",
            "nullable": true
          },
          "catalogId": {
            "type": "string",
            "nullable": true
          },
          "loyaltyConfigurationId": {
            "type": "string",
            "nullable": true
          },
          "snapshotSyncStrategy": {
            "type": "string",
            "nullable": true
          },
          "availableLanguageCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "hasEcmEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsOrderMetrics": {
        "type": "object",
        "properties": {
          "windowStart": {
            "type": "string",
            "format": "date-time"
          },
          "windowEnd": {
            "type": "string",
            "format": "date-time"
          },
          "totalOrders": {
            "type": "integer",
            "format": "int32"
          },
          "lastOrderDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "submittedCount": {
            "type": "integer",
            "format": "int32"
          },
          "failedCount": {
            "type": "integer",
            "format": "int32"
          },
          "pendingCount": {
            "type": "integer",
            "format": "int32"
          },
          "failureRate": {
            "type": "number",
            "format": "double"
          },
          "recentOrders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsOrderSample"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsOrderSample": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "nullable": true
          },
          "orderDate": {
            "type": "string",
            "format": "date-time"
          },
          "orderType": {
            "type": "string",
            "nullable": true
          },
          "orderTypeLabel": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "posSubmissionStatus": {
            "type": "string",
            "nullable": true
          },
          "isTestOrder": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsResponse": {
        "type": "object",
        "properties": {
          "kiosk": {
            "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsKiosk"
          },
          "configuration": {
            "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsConfiguration"
          },
          "location": {
            "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsLocation"
          },
          "orderMetrics": {
            "$ref": "#/components/schemas/GRUBBRR.Web.UI.Areas.Portal.Models.KioskDetailsOrderMetrics"
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Areas.Portal.Services.ABTestingHandler.SearchExperimentResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GRUBBRR.Domain.ABTesting.Model.Experiment"
            },
            "nullable": true
          },
          "continuationToken": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Controllers.ImageController.ImageUrlRequest": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Controllers.ImageController.UploadResponse": {
        "type": "object",
        "properties": {
          "displayUrl": {
            "type": "string",
            "nullable": true
          },
          "storagePath": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GRUBBRR.Web.UI.Controllers.SystemController.DebugOrganizationLocaleChangedRequest": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "localeCode": {
            "type": "string",
            "nullable": true
          },
          "previousLocaleCode": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request body for debug endpoint that invokes OrganizationLocaleChangedMessageHandler."
      },
      "Google.Protobuf.WellKnownTypes.NullValue": {
        "enum": [
          0
        ],
        "type": "integer",
        "format": "int32"
      },
      "Grubbrr.Core.Repository.BlobReference": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Core.Scope.CompanyId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Core.Scope.LocationId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Core.Scope.OrderEventId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Core.Scope.OrderId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Core.Scope.OrderItemId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Core.Scope.OrganizationId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Core.Scope.ScopeId": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.Discount": {
        "type": "object",
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.EarnedBalance": {
        "type": "object",
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.EarnedPoint": {
        "type": "object",
        "properties": {
          "discountApplied": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.LoyaltyReward": {
        "type": "object",
        "properties": {
          "redeemablePoint": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.RedeemablePoint"
          },
          "redeemableBalance": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.RedeemableBalance"
          },
          "earnedPoint": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.EarnedPoint"
          },
          "earnedBalance": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.EarnedBalance"
          },
          "discount": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.Discount"
          },
          "percentDiscount": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.PercentDiscount"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "integrationMetadata": {
            "type": "string",
            "nullable": true
          },
          "level": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.LoyaltyReward.Types.RewardLevel"
          },
          "monetaryValue": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.OptionalMonetaryValue"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "entityType": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.LoyaltyRewardEntityType"
          },
          "applicationMode": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.LoyaltyRewardApplicationMode"
          },
          "associatedCartItem": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.LoyaltyRewardAssociatedCartItem"
          },
          "rewardImage": {
            "type": "string",
            "nullable": true
          },
          "posDiscountId": {
            "type": "string",
            "nullable": true
          },
          "loyaltyRewardId": {
            "type": "string",
            "nullable": true
          },
          "fullDescription": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "rewardCase": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.LoyaltyReward.RewardOneofCase"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.LoyaltyReward.RewardOneofCase": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          10,
          12
        ],
        "type": "integer",
        "format": "int32"
      },
      "Grubbrr.LoyaltyService.Protos.LoyaltyReward.Types.RewardLevel": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "Grubbrr.LoyaltyService.Protos.LoyaltyRewardApplicationMode": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Grubbrr.LoyaltyService.Protos.LoyaltyRewardAssociatedCartItem": {
        "type": "object",
        "properties": {
          "posMenuItemId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.LoyaltyRewardEntityType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "Grubbrr.LoyaltyService.Protos.Money": {
        "type": "object",
        "properties": {
          "currencyIsoCode": {
            "type": "integer",
            "format": "int32"
          },
          "amount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.OptionalMonetaryValue": {
        "type": "object",
        "properties": {
          "null": {
            "$ref": "#/components/schemas/Google.Protobuf.WellKnownTypes.NullValue"
          },
          "value": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.Money"
          },
          "kindCase": {
            "$ref": "#/components/schemas/Grubbrr.LoyaltyService.Protos.OptionalMonetaryValue.KindOneofCase"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.OptionalMonetaryValue.KindOneofCase": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Grubbrr.LoyaltyService.Protos.PercentDiscount": {
        "type": "object",
        "properties": {
          "percentage": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.RedeemableBalance": {
        "type": "object",
        "properties": {
          "discountApplied": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.LoyaltyService.Protos.RedeemablePoint": {
        "type": "object",
        "properties": {
          "discountApplied": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Menu.Service.Data.ResolvedModifierCodeBehaviorDto": {
        "enum": [
          "None",
          "Negative",
          "Extra",
          "Add"
        ],
        "type": "string"
      },
      "Grubbrr.Platform.Contracts.Common.GetNamesRequest": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Gou.OrganizationLocaleConfig": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "currencySymbol": {
            "type": "string",
            "nullable": true
          },
          "currencyPlacement": {
            "$ref": "#/components/schemas/Grubbrr.Platform.Core.Monetary.CurrencyPlacement"
          },
          "decimalSeparator": {
            "type": "string",
            "nullable": true
          },
          "thousandsSeparator": {
            "type": "string",
            "nullable": true
          },
          "decimalDigits": {
            "type": "integer",
            "format": "int32"
          },
          "localeCode": {
            "type": "string",
            "nullable": true
          },
          "localeName": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.CaptureDetails": {
        "type": "object",
        "properties": {
          "resultCode": {
            "type": "string",
            "nullable": true
          },
          "resultMessage": {
            "type": "string",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.CaptureTransaction": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "paymentTransactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.PaymentTransaction"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsRequest": {
        "type": "object",
        "properties": {
          "settlementDate": {
            "type": "string",
            "nullable": true
          },
          "provider": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.GetSettlementTransactionsResponse": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.SettlementTransaction"
            },
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          },
          "settlementDate": {
            "type": "string",
            "nullable": true
          },
          "provider": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.PaymentTransaction": {
        "type": "object",
        "properties": {
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "paymentMethod": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "captureDetails": {
            "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.CaptureDetails"
          },
          "settlementDetails": {
            "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.SettlementDetails"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.SettlementDetails": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "resultMessage": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.SettlementTransaction": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "kioskId": {
            "type": "string",
            "nullable": true
          },
          "businessDate": {
            "type": "string",
            "format": "date-time"
          },
          "orderDate": {
            "type": "string",
            "format": "date-time"
          },
          "paymentTransactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.PaymentTransaction"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.UpdatePaymentCaptureResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsRequest": {
        "type": "object",
        "properties": {
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Grubbrr.Platform.Contracts.Nge.SettlementTransaction"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Contracts.Nge.UpdateSettlementTransactionsResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Core.Common.Version.VersionResponse": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "nullable": true
          },
          "productVersion": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Core.Health.HealthCheckResponse": {
        "type": "object",
        "properties": {
          "healthReport": {
            "$ref": "#/components/schemas/Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport"
          },
          "version": {
            "$ref": "#/components/schemas/Grubbrr.Platform.Core.Common.Version.VersionResponse"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Platform.Core.Monetary.CurrencyPlacement": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "Grubbrr.Pos.Data.IntegrationDefinitionDto": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "vendor": {
            "type": "string",
            "nullable": true
          },
          "integrationVersion": {
            "type": "string",
            "nullable": true
          },
          "isCloudIntegration": {
            "type": "boolean",
            "nullable": true
          },
          "requiredTenderTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "requiresOrderTypeMapping": {
            "type": "boolean",
            "nullable": true
          },
          "webhookIdField": {
            "type": "string",
            "nullable": true
          },
          "webhookRecordName": {
            "type": "string",
            "nullable": true
          },
          "assemblyName": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "isAgentIntegration": {
            "type": "boolean",
            "nullable": true
          },
          "defaultPosSyncSettings": {
            "$ref": "#/components/schemas/Grubbrr.Pos.Data.PosSyncSettingConfig"
          },
          "defaultKioskPushSettings": {
            "$ref": "#/components/schemas/Grubbrr.Pos.Data.KioskPushSettingConfig"
          },
          "connectorConfigFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Pos.Data.KioskPushSettingConfig": {
        "type": "object",
        "properties": {
          "kioskPriceUpdate": {
            "type": "boolean"
          },
          "kioskFullMenuUpdate": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Pos.Data.PosSyncSettingConfig": {
        "type": "object",
        "properties": {
          "menuItemOverrides": {
            "type": "boolean"
          },
          "menuCategoryOverrides": {
            "type": "boolean"
          },
          "modifierGroupOverrides": {
            "type": "boolean"
          },
          "modifierOverrides": {
            "type": "boolean"
          },
          "upsellOverrides": {
            "type": "boolean"
          },
          "discountOverrides": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Grubbrr.Pos.Service.Client.Models.SnapshotSource": {
        "enum": [
          "Unknown",
          "ManualSync",
          "Webhook",
          "DailySync"
        ],
        "type": "string"
      },
      "Menu.Domain.Aggregates.MenuItemId": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Menu.Domain.Aggregates.MenuSyncStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "Menu.Domain.Aggregates.ModifierGroupId": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.AspNetCore.Mvc.ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "Microsoft.Extensions.Diagnostics.HealthChecks.HealthReport": {
        "type": "object",
        "properties": {
          "entries": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry"
            },
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus"
          },
          "totalDuration": {
            "$ref": "#/components/schemas/System.TimeSpan"
          }
        },
        "additionalProperties": false
      },
      "Microsoft.Extensions.Diagnostics.HealthChecks.HealthReportEntry": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "$ref": "#/components/schemas/System.TimeSpan"
          },
          "exception": {
            "$ref": "#/components/schemas/System.Exception"
          },
          "status": {
            "$ref": "#/components/schemas/Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "OrderRoutingRuleType": {
        "enum": [
          0
        ],
        "type": "integer",
        "format": "int32"
      },
      "PrinterOrderRoutingRuleVM": {
        "type": "object",
        "properties": {
          "ruleType": {
            "$ref": "#/components/schemas/OrderRoutingRuleType"
          },
          "entityId": {
            "type": "string",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PrinterOrderRoutingVM": {
        "type": "object",
        "properties": {
          "allOrders": {
            "type": "boolean"
          },
          "routingRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrinterOrderRoutingRuleVM"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "System.DayOfWeek": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Exception": {
        "type": "object",
        "properties": {
          "targetSite": {
            "$ref": "#/components/schemas/System.Reflection.MethodBase"
          },
          "message": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "data": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true,
            "readOnly": true
          },
          "innerException": {
            "$ref": "#/components/schemas/System.Exception"
          },
          "helpLink": {
            "type": "string",
            "nullable": true
          },
          "source": {
            "type": "string",
            "nullable": true
          },
          "hResult": {
            "type": "integer",
            "format": "int32"
          },
          "stackTrace": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.IntPtr": {
        "type": "object",
        "additionalProperties": false
      },
      "System.ModuleHandle": {
        "type": "object",
        "properties": {
          "mdStreamVersion": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.Assembly": {
        "type": "object",
        "properties": {
          "definedTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.TypeInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "exportedTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          },
          "codeBase": {
            "type": "string",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "entryPoint": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "imageRuntimeVersion": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "isDynamic": {
            "type": "boolean",
            "readOnly": true
          },
          "location": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "reflectionOnly": {
            "type": "boolean",
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "isFullyTrusted": {
            "type": "boolean",
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "escapedCodeBase": {
            "type": "string",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "manifestModule": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "modules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.Module"
            },
            "nullable": true,
            "readOnly": true
          },
          "globalAssemblyCache": {
            "type": "boolean",
            "readOnly": true,
            "deprecated": true
          },
          "hostContext": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "securityRuleSet": {
            "$ref": "#/components/schemas/System.Security.SecurityRuleSet"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.CallingConventions": {
        "enum": [
          1,
          2,
          3,
          32,
          64
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.ConstructorInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.MethodAttributes"
          },
          "methodImplementationFlags": {
            "$ref": "#/components/schemas/System.Reflection.MethodImplAttributes"
          },
          "callingConvention": {
            "$ref": "#/components/schemas/System.Reflection.CallingConventions"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructor": {
            "type": "boolean",
            "readOnly": true
          },
          "isFinal": {
            "type": "boolean",
            "readOnly": true
          },
          "isHideBySig": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isStatic": {
            "type": "boolean",
            "readOnly": true
          },
          "isVirtual": {
            "type": "boolean",
            "readOnly": true
          },
          "isAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyAndAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyOrAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "methodHandle": {
            "$ref": "#/components/schemas/System.RuntimeMethodHandle"
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.CustomAttributeData": {
        "type": "object",
        "properties": {
          "attributeType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "constructor": {
            "$ref": "#/components/schemas/System.Reflection.ConstructorInfo"
          },
          "constructorArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeTypedArgument"
            },
            "nullable": true,
            "readOnly": true
          },
          "namedArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeNamedArgument"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.CustomAttributeNamedArgument": {
        "type": "object",
        "properties": {
          "memberInfo": {
            "$ref": "#/components/schemas/System.Reflection.MemberInfo"
          },
          "typedValue": {
            "$ref": "#/components/schemas/System.Reflection.CustomAttributeTypedArgument"
          },
          "memberName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "isField": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.CustomAttributeTypedArgument": {
        "type": "object",
        "properties": {
          "argumentType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "value": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.EventAttributes": {
        "enum": [
          0,
          512,
          1024
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.EventInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.EventAttributes"
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "addMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "removeMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "raiseMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "isMulticast": {
            "type": "boolean",
            "readOnly": true
          },
          "eventHandlerType": {
            "$ref": "#/components/schemas/System.Type"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.FieldAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          16,
          32,
          64,
          128,
          256,
          512,
          1024,
          4096,
          8192,
          32768,
          38144
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.FieldInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.FieldAttributes"
          },
          "fieldType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isInitOnly": {
            "type": "boolean",
            "readOnly": true
          },
          "isLiteral": {
            "type": "boolean",
            "readOnly": true
          },
          "isNotSerialized": {
            "type": "boolean",
            "readOnly": true,
            "deprecated": true
          },
          "isPinvokeImpl": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isStatic": {
            "type": "boolean",
            "readOnly": true
          },
          "isAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyAndAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyOrAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "fieldHandle": {
            "$ref": "#/components/schemas/System.RuntimeFieldHandle"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.GenericParameterAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          8,
          16,
          28
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.ICustomAttributeProvider": {
        "type": "object",
        "additionalProperties": false
      },
      "System.Reflection.MemberInfo": {
        "type": "object",
        "properties": {
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.MemberTypes": {
        "enum": [
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          191
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.MethodAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          1024,
          2048,
          4096,
          8192,
          16384,
          32768,
          53248
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.MethodBase": {
        "type": "object",
        "properties": {
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.MethodAttributes"
          },
          "methodImplementationFlags": {
            "$ref": "#/components/schemas/System.Reflection.MethodImplAttributes"
          },
          "callingConvention": {
            "$ref": "#/components/schemas/System.Reflection.CallingConventions"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructor": {
            "type": "boolean",
            "readOnly": true
          },
          "isFinal": {
            "type": "boolean",
            "readOnly": true
          },
          "isHideBySig": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isStatic": {
            "type": "boolean",
            "readOnly": true
          },
          "isVirtual": {
            "type": "boolean",
            "readOnly": true
          },
          "isAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyAndAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyOrAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "methodHandle": {
            "$ref": "#/components/schemas/System.RuntimeMethodHandle"
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.MethodImplAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          4096,
          65535
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.MethodInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.MethodAttributes"
          },
          "methodImplementationFlags": {
            "$ref": "#/components/schemas/System.Reflection.MethodImplAttributes"
          },
          "callingConvention": {
            "$ref": "#/components/schemas/System.Reflection.CallingConventions"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructor": {
            "type": "boolean",
            "readOnly": true
          },
          "isFinal": {
            "type": "boolean",
            "readOnly": true
          },
          "isHideBySig": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isStatic": {
            "type": "boolean",
            "readOnly": true
          },
          "isVirtual": {
            "type": "boolean",
            "readOnly": true
          },
          "isAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyAndAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isFamilyOrAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethod": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "methodHandle": {
            "$ref": "#/components/schemas/System.RuntimeMethodHandle"
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "returnParameter": {
            "$ref": "#/components/schemas/System.Reflection.ParameterInfo"
          },
          "returnType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "returnTypeCustomAttributes": {
            "$ref": "#/components/schemas/System.Reflection.ICustomAttributeProvider"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.Module": {
        "type": "object",
        "properties": {
          "assembly": {
            "$ref": "#/components/schemas/System.Reflection.Assembly"
          },
          "fullyQualifiedName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "mdStreamVersion": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "moduleVersionId": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "scopeName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "moduleHandle": {
            "$ref": "#/components/schemas/System.ModuleHandle"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.ParameterAttributes": {
        "enum": [
          0,
          1,
          2,
          4,
          8,
          16,
          4096,
          8192,
          16384,
          32768,
          61440
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.ParameterInfo": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.ParameterAttributes"
          },
          "member": {
            "$ref": "#/components/schemas/System.Reflection.MemberInfo"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "parameterType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "position": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isIn": {
            "type": "boolean",
            "readOnly": true
          },
          "isLcid": {
            "type": "boolean",
            "readOnly": true
          },
          "isOptional": {
            "type": "boolean",
            "readOnly": true
          },
          "isOut": {
            "type": "boolean",
            "readOnly": true
          },
          "isRetval": {
            "type": "boolean",
            "readOnly": true
          },
          "defaultValue": {
            "nullable": true,
            "readOnly": true
          },
          "rawDefaultValue": {
            "nullable": true,
            "readOnly": true
          },
          "hasDefaultValue": {
            "type": "boolean",
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.PropertyAttributes": {
        "enum": [
          0,
          512,
          1024,
          4096,
          8192,
          16384,
          32768,
          62464
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.PropertyInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "propertyType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.PropertyAttributes"
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "canRead": {
            "type": "boolean",
            "readOnly": true
          },
          "canWrite": {
            "type": "boolean",
            "readOnly": true
          },
          "getMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          },
          "setMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodInfo"
          }
        },
        "additionalProperties": false
      },
      "System.Reflection.TypeAttributes": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          16,
          24,
          32,
          128,
          256,
          1024,
          2048,
          4096,
          8192,
          16384,
          65536,
          131072,
          196608,
          262144,
          264192,
          1048576,
          12582912
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Reflection.TypeInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isInterface": {
            "type": "boolean",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "namespace": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "assemblyQualifiedName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "assembly": {
            "$ref": "#/components/schemas/System.Reflection.Assembly"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "isNested": {
            "type": "boolean",
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "declaringMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodBase"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "underlyingSystemType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isTypeDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "isArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isByRef": {
            "type": "boolean",
            "readOnly": true
          },
          "isPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericType": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericTypeParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericType": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericTypeDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "isSZArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isVariableBoundArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isByRefLike": {
            "type": "boolean",
            "readOnly": true
          },
          "isFunctionPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "isUnmanagedFunctionPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "hasElementType": {
            "type": "boolean",
            "readOnly": true
          },
          "genericTypeArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          },
          "genericParameterPosition": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "genericParameterAttributes": {
            "$ref": "#/components/schemas/System.Reflection.GenericParameterAttributes"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.TypeAttributes"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isImport": {
            "type": "boolean",
            "readOnly": true
          },
          "isSealed": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamANDAssem": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamORAssem": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isNotPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isAutoLayout": {
            "type": "boolean",
            "readOnly": true
          },
          "isExplicitLayout": {
            "type": "boolean",
            "readOnly": true
          },
          "isLayoutSequential": {
            "type": "boolean",
            "readOnly": true
          },
          "isAnsiClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isAutoClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isUnicodeClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isCOMObject": {
            "type": "boolean",
            "readOnly": true
          },
          "isContextful": {
            "type": "boolean",
            "readOnly": true
          },
          "isEnum": {
            "type": "boolean",
            "readOnly": true
          },
          "isMarshalByRef": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrimitive": {
            "type": "boolean",
            "readOnly": true
          },
          "isValueType": {
            "type": "boolean",
            "readOnly": true
          },
          "isSignatureType": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "structLayoutAttribute": {
            "$ref": "#/components/schemas/System.Runtime.InteropServices.StructLayoutAttribute"
          },
          "typeInitializer": {
            "$ref": "#/components/schemas/System.Reflection.ConstructorInfo"
          },
          "typeHandle": {
            "$ref": "#/components/schemas/System.RuntimeTypeHandle"
          },
          "guid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "baseType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isSerializable": {
            "type": "boolean",
            "readOnly": true,
            "deprecated": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "isVisible": {
            "type": "boolean",
            "readOnly": true
          },
          "genericTypeParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredConstructors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.ConstructorInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredEvents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.EventInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.FieldInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.MemberInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.MethodInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredNestedTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.TypeInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "declaredProperties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.PropertyInfo"
            },
            "nullable": true,
            "readOnly": true
          },
          "implementedInterfaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Runtime.InteropServices.LayoutKind": {
        "enum": [
          0,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.Runtime.InteropServices.StructLayoutAttribute": {
        "type": "object",
        "properties": {
          "typeId": {
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "$ref": "#/components/schemas/System.Runtime.InteropServices.LayoutKind"
          }
        },
        "additionalProperties": false
      },
      "System.RuntimeFieldHandle": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/System.IntPtr"
          }
        },
        "additionalProperties": false
      },
      "System.RuntimeMethodHandle": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/System.IntPtr"
          }
        },
        "additionalProperties": false
      },
      "System.RuntimeTypeHandle": {
        "type": "object",
        "properties": {
          "value": {
            "$ref": "#/components/schemas/System.IntPtr"
          }
        },
        "additionalProperties": false
      },
      "System.Security.SecurityRuleSet": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "System.TimeSpan": {
        "type": "object",
        "properties": {
          "ticks": {
            "type": "integer",
            "format": "int64"
          },
          "days": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "hours": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "milliseconds": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "microseconds": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "nanoseconds": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "minutes": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "seconds": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "totalDays": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "totalHours": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "totalMilliseconds": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "totalMicroseconds": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "totalNanoseconds": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "totalMinutes": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "totalSeconds": {
            "type": "number",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "System.Type": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "customAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Reflection.CustomAttributeData"
            },
            "nullable": true,
            "readOnly": true
          },
          "isCollectible": {
            "type": "boolean",
            "readOnly": true
          },
          "metadataToken": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isInterface": {
            "type": "boolean",
            "readOnly": true
          },
          "memberType": {
            "$ref": "#/components/schemas/System.Reflection.MemberTypes"
          },
          "namespace": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "assemblyQualifiedName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "fullName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "assembly": {
            "$ref": "#/components/schemas/System.Reflection.Assembly"
          },
          "module": {
            "$ref": "#/components/schemas/System.Reflection.Module"
          },
          "isNested": {
            "type": "boolean",
            "readOnly": true
          },
          "declaringType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "declaringMethod": {
            "$ref": "#/components/schemas/System.Reflection.MethodBase"
          },
          "reflectedType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "underlyingSystemType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isTypeDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "isArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isByRef": {
            "type": "boolean",
            "readOnly": true
          },
          "isPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "isConstructedGenericType": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericTypeParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericMethodParameter": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericType": {
            "type": "boolean",
            "readOnly": true
          },
          "isGenericTypeDefinition": {
            "type": "boolean",
            "readOnly": true
          },
          "isSZArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isVariableBoundArray": {
            "type": "boolean",
            "readOnly": true
          },
          "isByRefLike": {
            "type": "boolean",
            "readOnly": true
          },
          "isFunctionPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "isUnmanagedFunctionPointer": {
            "type": "boolean",
            "readOnly": true
          },
          "hasElementType": {
            "type": "boolean",
            "readOnly": true
          },
          "genericTypeArguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/System.Type"
            },
            "nullable": true,
            "readOnly": true
          },
          "genericParameterPosition": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "genericParameterAttributes": {
            "$ref": "#/components/schemas/System.Reflection.GenericParameterAttributes"
          },
          "attributes": {
            "$ref": "#/components/schemas/System.Reflection.TypeAttributes"
          },
          "isAbstract": {
            "type": "boolean",
            "readOnly": true
          },
          "isImport": {
            "type": "boolean",
            "readOnly": true
          },
          "isSealed": {
            "type": "boolean",
            "readOnly": true
          },
          "isSpecialName": {
            "type": "boolean",
            "readOnly": true
          },
          "isClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedAssembly": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamANDAssem": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamily": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedFamORAssem": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedPrivate": {
            "type": "boolean",
            "readOnly": true
          },
          "isNestedPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isNotPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isPublic": {
            "type": "boolean",
            "readOnly": true
          },
          "isAutoLayout": {
            "type": "boolean",
            "readOnly": true
          },
          "isExplicitLayout": {
            "type": "boolean",
            "readOnly": true
          },
          "isLayoutSequential": {
            "type": "boolean",
            "readOnly": true
          },
          "isAnsiClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isAutoClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isUnicodeClass": {
            "type": "boolean",
            "readOnly": true
          },
          "isCOMObject": {
            "type": "boolean",
            "readOnly": true
          },
          "isContextful": {
            "type": "boolean",
            "readOnly": true
          },
          "isEnum": {
            "type": "boolean",
            "readOnly": true
          },
          "isMarshalByRef": {
            "type": "boolean",
            "readOnly": true
          },
          "isPrimitive": {
            "type": "boolean",
            "readOnly": true
          },
          "isValueType": {
            "type": "boolean",
            "readOnly": true
          },
          "isSignatureType": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecuritySafeCritical": {
            "type": "boolean",
            "readOnly": true
          },
          "isSecurityTransparent": {
            "type": "boolean",
            "readOnly": true
          },
          "structLayoutAttribute": {
            "$ref": "#/components/schemas/System.Runtime.InteropServices.StructLayoutAttribute"
          },
          "typeInitializer": {
            "$ref": "#/components/schemas/System.Reflection.ConstructorInfo"
          },
          "typeHandle": {
            "$ref": "#/components/schemas/System.RuntimeTypeHandle"
          },
          "guid": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "baseType": {
            "$ref": "#/components/schemas/System.Type"
          },
          "isSerializable": {
            "type": "boolean",
            "readOnly": true,
            "deprecated": true
          },
          "containsGenericParameters": {
            "type": "boolean",
            "readOnly": true
          },
          "isVisible": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "oauth2": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://prod-grubbrr-identity.us.auth0.com/authorize?audience=grubbrr-nge-api",
            "tokenUrl": "https://prod-grubbrr-identity.us.auth0.com/oauth/token",
            "scopes": {
              "openid": "openid",
              "profile": "profile",
              "email": "email"
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "oauth2": [
        "openid",
        "profile",
        "email"
      ]
    }
  ]
}