{
  "openapi": "3.0.4",
  "info": {
    "title": "SquirrelApi/Integration.Universal (1.0.1014.2)",
    "version": "v1"
  },
  "servers": [
    {
      "url": "/api/integration/universal"
    }
  ],
  "paths": {
    "/store/{storeIdentifier}/timeCards": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "TimeCards",
        "description": "Gets the time cards for the employees in the specified store, departments and time range or business dates. If business dates and a time range are provided, then the business dates supersede.",
        "operationId": "get-time-cards",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Comma separated list of department ids.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessDateIds",
            "in": "query",
            "description": "Optional. Comma separated list of business date ids; If business dates and a time range are provided, then the business dates supersede. Only time cards for closed business dates are returned. Use the time range to retrieve time cards for open business dates.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Optional. The value defines the beginning of a time range; It is ignored when businessDateIds are provided; ISO 8601 Date and time format; Coordinated Universal Time (UTC). Example: 2017-09-27T15:54:47",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Optional. The value defines the end of a time range; it is ignored when businessDateIds are provided; ISO 8601 Date and time format; Coordinated Universal Time (UTC). Example: 2017-09-27T15:54:47",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeCardResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeCardResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeCardResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/health": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "Health Check",
        "description": "Health check endpoint to verify that the API is running.",
        "operationId": "get-health",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/store/{storeIdentifier}/salesTickets": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "SalesTickets",
        "description": "Gets the paid (closed) receipts for the specified store, departments, and time range or business dates. If business dates and a time range are provided, then the business dates supersede.",
        "operationId": "get-sales-tickets",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "departmentIds",
            "in": "query",
            "description": "Comma separated list of department ids.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessDateIds",
            "in": "query",
            "description": "Optional. Comma separated list of business date ids; If business dates and a time range are provided, then the business dates supersede.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Optional. The value defines the beginning of a time range; It is ignored when businessDateIds are provided; ISO 8601 Date and time format; Coordinated Universal Time (UTC). Example: 2017-09-27T15:54:47",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Optional. The value defines the end of a time range; it is ignored when businessDateIds are provided; ISO 8601 Date and time format; Coordinated Universal Time (UTC). Example: 2017-09-27T15:54:47",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesTicketResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesTicketResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesTicketResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/salesDetails": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "SalesDetails",
        "description": "Gets the sales details for the specified store and receipt ids.",
        "operationId": "get-sales-details",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "receiptIds",
            "in": "query",
            "description": "Comma separated list of receipt ids.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesDetailsResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesDetailsResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesDetailsResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/salesPayments": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "SalesPayments",
        "description": "Gets the payments for the specified store and receipt ids.",
        "operationId": "get-sales-payments",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "receiptIds",
            "in": "query",
            "description": "Comma separated list of receipt ids.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesPaymentResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesPaymentResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesPaymentResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/totalTaxes": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "TotalTaxes",
        "description": "Gets the total tax amount for the specified store and across all receipt ids. Result is grouped by the tax name.",
        "operationId": "get-total-taxes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "receiptIds",
            "in": "query",
            "description": "Comma separated list of receipt ids.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TotalTaxesResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TotalTaxesResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TotalTaxesResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/departments": {
      "get": {
        "tags": [
          "Store"
        ],
        "summary": "Departments",
        "description": "Gets the departments for the specified store.",
        "operationId": "get-departments",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepartmentResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/employees": {
      "get": {
        "tags": [
          "Store"
        ],
        "summary": "Employees",
        "description": "Gets the employees for the specified store.",
        "operationId": "get-employees",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/jobs": {
      "get": {
        "tags": [
          "Store"
        ],
        "summary": "Jobs",
        "description": "Gets the jobs for the specified store.",
        "operationId": "get-jobs",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/businessDates": {
      "get": {
        "tags": [
          "Store"
        ],
        "summary": "BusinessDates",
        "description": "Gets the business dates for the specified store and time range.",
        "operationId": "get-business-dates",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "The value defines the beginning of a time range; ISO 8601 Date and time format; Coordinated Universal Time (UTC). Example: 2017-09-27T15:54:47",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Optional. The value defines the end of a time range; ISO 8601 Date and time format; Coordinated Universal Time (UTC). Example: 2017-09-27T15:54:47",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessDateResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessDateResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessDateResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/categories": {
      "get": {
        "tags": [
          "Store"
        ],
        "summary": "Categories",
        "description": "Gets the categories for the specified store.",
        "operationId": "get-categories",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CategoryResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CategoryResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CategoryResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/store/{storeIdentifier}/barcodeTypes": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Barcode Types",
        "description": "Gets the barcode types for the specified store.",
        "operationId": "get-barcodeTypes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BarcodeTypeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BarcodeTypeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BarcodeTypeResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/store/{storeIdentifier}/chargeTypes": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Charge Types",
        "description": "Gets the charge types for the specified store.",
        "operationId": "get-chargeTypes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChargeTypeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChargeTypeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChargeTypeResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/store/{storeIdentifier}/itemTypes": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Item Types",
        "description": "Gets the item types for the specified store.",
        "operationId": "get-itemTypes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemTypeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemTypeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemTypeResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/store/{storeIdentifier}/paymentTypes": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Payment Types",
        "description": "Gets the payment types for the specified store.",
        "operationId": "get-paymentTypes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentTypeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentTypeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentTypeResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/store/{storeIdentifier}/payTypes": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Pay Types",
        "description": "Gets the pay types for the specified store.",
        "operationId": "get-payTypes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayTypeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayTypeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PayTypeResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/store/{storeIdentifier}/promoTypes": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Promo Types",
        "description": "Gets the promo types for the specified store.",
        "operationId": "get-promoTypes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PromoTypeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PromoTypeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PromoTypeResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/store/{storeIdentifier}/revenueTypes": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Revenue Types",
        "description": "Gets the revenue types for the specified store.",
        "operationId": "get-revenueTypes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RevenueTypeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RevenueTypeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RevenueTypeResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/store/{storeIdentifier}/ticketTypes": {
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Ticket Types",
        "description": "Gets the ticket types for the specified store.",
        "operationId": "get-ticketTypes",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketTypeResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketTypeResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketTypeResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/store/{storeIdentifier}/employeeJobs": {
      "get": {
        "tags": [
          "Employee"
        ],
        "summary": "EmployeeJobs",
        "description": "Gets the employee jobs for the specified store.",
        "operationId": "get-employee-jobs",
        "parameters": [
          {
            "name": "storeIdentifier",
            "in": "path",
            "description": "The identifier for the store. It is configured in the back of house (BoH).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeJobsResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeJobsResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeJobsResponseDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "BarcodeTypeResponseDto": {
        "type": "object",
        "properties": {
          "barCodeTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "barCodeTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BusinessDateResponseDto": {
        "type": "object",
        "properties": {
          "businessDateId": {
            "type": "integer",
            "format": "int32"
          },
          "openTimestamp": {
            "type": "string",
            "format": "date-time"
          },
          "closeTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "dateSequence": {
            "type": "integer",
            "format": "int32"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CategoryResponseDto": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "parentCategoryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChargeTypeResponseDto": {
        "type": "object",
        "properties": {
          "chargeTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "chargeTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DepartmentResponseDto": {
        "type": "object",
        "properties": {
          "departmentId": {
            "type": "integer",
            "format": "int32"
          },
          "departmentName": {
            "type": "string",
            "nullable": true
          },
          "revenueType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "revenueTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "revenueTypeName": {
            "enum": [
              "Checks",
              "Tables",
              "Takeout"
            ],
            "type": "string",
            "format": "int32"
          },
          "revenueName": {
            "type": "string",
            "nullable": true
          },
          "storeName": {
            "type": "string",
            "nullable": true
          },
          "externalDepartmentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "externalStoreId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EmployeeJobsDetailsResponseDto": {
        "type": "object",
        "properties": {
          "jobCode": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "jobTitle": {
            "type": "string",
            "nullable": true
          },
          "payRate": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "payType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "payTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "payTypeName": {
            "enum": [
              "Hourly",
              "SalaryExempt",
              "SalaryNonExempt"
            ],
            "type": "string",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "EmployeeJobsResponseDto": {
        "type": "object",
        "properties": {
          "employeeId": {
            "type": "integer",
            "format": "int32"
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmployeeJobsDetailsResponseDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EmployeeResponseDto": {
        "type": "object",
        "properties": {
          "employeeId": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "hireDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isEmployed": {
            "type": "boolean"
          },
          "externalEmployeeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ItemTypeResponseDto": {
        "type": "object",
        "properties": {
          "itemTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "itemTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JobResponseDto": {
        "type": "object",
        "properties": {
          "jobTitle": {
            "type": "string",
            "nullable": true
          },
          "jobCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PayTypeResponseDto": {
        "type": "object",
        "properties": {
          "payTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "payTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaymentTypeResponseDto": {
        "type": "object",
        "properties": {
          "paymentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "paymentTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PromoTypeResponseDto": {
        "type": "object",
        "properties": {
          "promoTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "promoTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RevenueTypeResponseDto": {
        "type": "object",
        "properties": {
          "revenueTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "revenueTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsBarcodesResponseDto": {
        "type": "object",
        "properties": {
          "barcodeType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "barcodeTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "barcodeTypeName": {
            "enum": [
              "UPC",
              "EAN",
              "Code39",
              "Code93",
              "Code128",
              "ITF",
              "DataMatrix",
              "PDF417",
              "Aztec",
              "QR",
              "Custom",
              "PLU"
            ],
            "type": "string",
            "format": "int32"
          },
          "barcode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsGroupedTaxesResponseDto": {
        "type": "object",
        "properties": {
          "totalTaxAmount": {
            "type": "number",
            "format": "double"
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsTotalTaxResponseDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsMandatoryChargesDto": {
        "type": "object",
        "properties": {
          "chargeName": {
            "type": "string",
            "nullable": true
          },
          "chargeType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "chargeTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "chargeTypeName": {
            "enum": [
              "Service",
              "House"
            ],
            "type": "string",
            "format": "int32"
          },
          "chargeAmount": {
            "type": "number",
            "format": "double"
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsTaxesResponseDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsMenuItemResponseDto": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "integer",
            "format": "int32"
          },
          "itemName": {
            "type": "string",
            "nullable": true
          },
          "itemType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "itemTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "itemTypeName": {
            "enum": [
              "Item",
              "Modifier",
              "AddOn",
              "NonRevenueItem",
              "GiftCard"
            ],
            "type": "string",
            "format": "int32"
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "amount": {
            "type": "number",
            "format": "double",
            "deprecated": true
          },
          "itemAmount": {
            "type": "number",
            "format": "double"
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "void": {
            "type": "boolean"
          },
          "voidReason": {
            "type": "string",
            "nullable": true
          },
          "seat": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "receiptItemId": {
            "type": "integer",
            "format": "int32"
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsTaxesResponseDto"
            },
            "nullable": true
          },
          "mandatoryCharges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsMandatoryChargesDto"
            },
            "nullable": true
          },
          "itemPromos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsPromoResponseDto"
            },
            "nullable": true
          },
          "subItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsMenuItemResponseDto"
            },
            "nullable": true
          },
          "barCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsBarcodesResponseDto"
            },
            "nullable": true
          },
          "priceLookupCodes": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsPromoResponseDto": {
        "type": "object",
        "properties": {
          "promoName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "deprecated": true
          },
          "percent": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "deprecated": true
          },
          "promoType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "promoTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "promoTypeName": {
            "enum": [
              "ByMenuEntry",
              "BySeat",
              "ByCheck"
            ],
            "type": "string",
            "format": "int32"
          },
          "promoAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "promoReason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsResponseDto": {
        "type": "object",
        "properties": {
          "receiptId": {
            "type": "integer",
            "format": "int32"
          },
          "serviceCharge": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalAmount": {
            "type": "number",
            "format": "double"
          },
          "totalTaxes": {
            "type": "number",
            "format": "double"
          },
          "totalPromos": {
            "type": "number",
            "format": "double"
          },
          "groupedTaxes": {
            "$ref": "#/components/schemas/SalesDetailsGroupedTaxesResponseDto"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsMenuItemResponseDto"
            },
            "nullable": true
          },
          "checkPromos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsPromoResponseDto"
            },
            "nullable": true
          },
          "seatPromos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDetailsSeatPromoResponseDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsSeatPromoResponseDto": {
        "type": "object",
        "properties": {
          "promoName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "deprecated": true
          },
          "percent": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "deprecated": true
          },
          "promoType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "promoTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "promoTypeName": {
            "enum": [
              "ByMenuEntry",
              "BySeat",
              "ByCheck"
            ],
            "type": "string",
            "format": "int32"
          },
          "promoAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "promoReason": {
            "type": "string",
            "nullable": true
          },
          "seat": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsTaxesResponseDto": {
        "type": "object",
        "properties": {
          "taxName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "deprecated": true
          },
          "taxAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SalesDetailsTotalTaxResponseDto": {
        "type": "object",
        "properties": {
          "taxName": {
            "type": "string",
            "nullable": true
          },
          "taxAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SalesPaymentDetailsResponseDto": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "paymentType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "paymentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "paymentTypeName": {
            "enum": [
              "Cash",
              "CreditCard",
              "DebitCard",
              "Room",
              "CityLedger",
              "Regular",
              "Account",
              "Online",
              "PreAuth",
              "GiftCard",
              "Group"
            ],
            "type": "string",
            "format": "int32"
          },
          "paymentName": {
            "type": "string",
            "nullable": true
          },
          "cardName": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "deprecated": true
          },
          "paymentAmount": {
            "type": "number",
            "format": "double"
          },
          "tipAmount": {
            "type": "number",
            "format": "double"
          },
          "feeAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SalesPaymentResponseDto": {
        "type": "object",
        "properties": {
          "receiptId": {
            "type": "integer",
            "format": "int32"
          },
          "totalPayments": {
            "type": "number",
            "format": "double"
          },
          "totalTips": {
            "type": "number",
            "format": "double"
          },
          "totalFees": {
            "type": "number",
            "format": "double"
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesPaymentDetailsResponseDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesTicketResponseDto": {
        "type": "object",
        "properties": {
          "receiptId": {
            "type": "integer",
            "format": "int32"
          },
          "receiptNumber": {
            "type": "string",
            "nullable": true
          },
          "receiptName": {
            "type": "string",
            "nullable": true
          },
          "departmentId": {
            "type": "integer",
            "format": "int32"
          },
          "departmentName": {
            "type": "string",
            "nullable": true
          },
          "openDate": {
            "type": "string",
            "format": "date-time"
          },
          "closeDate": {
            "type": "string",
            "format": "date-time"
          },
          "employeeId": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfGuests": {
            "type": "integer",
            "format": "int32"
          },
          "revenueType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "revenueTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "revenueTypeName": {
            "enum": [
              "Checks",
              "Tables",
              "Takeout"
            ],
            "type": "string",
            "format": "int32"
          },
          "revenueName": {
            "type": "string",
            "nullable": true
          },
          "ticketType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "ticketTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "ticketTypeName": {
            "enum": [
              "Sale",
              "PayIn",
              "PayOut"
            ],
            "type": "string",
            "format": "int32"
          },
          "void": {
            "type": "boolean"
          },
          "isAdjustment": {
            "type": "boolean"
          },
          "originalReceiptId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "businessDateId": {
            "type": "integer",
            "format": "int32"
          },
          "totalAmount": {
            "type": "number",
            "format": "double"
          },
          "totalTaxes": {
            "type": "number",
            "format": "double"
          },
          "totalPromos": {
            "type": "number",
            "format": "double"
          },
          "totalPayments": {
            "type": "number",
            "format": "double"
          },
          "totalTips": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "TicketTypeResponseDto": {
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "ticketTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TimeCardDetailResponseDto": {
        "type": "object",
        "properties": {
          "jobTitle": {
            "type": "string",
            "nullable": true
          },
          "departmentId": {
            "type": "integer",
            "format": "int32"
          },
          "departmentName": {
            "type": "string",
            "nullable": true
          },
          "startTime": {
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "payCode": {
            "type": "integer",
            "format": "int32"
          },
          "payRate": {
            "type": "number",
            "format": "double"
          },
          "payType": {
            "type": "integer",
            "format": "int32",
            "deprecated": true
          },
          "payTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "payTypeName": {
            "enum": [
              "Hourly",
              "SalaryExempt",
              "SalaryNonExempt"
            ],
            "type": "string",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TimeCardResponseDto": {
        "type": "object",
        "properties": {
          "employeeId": {
            "type": "integer",
            "format": "int32"
          },
          "times": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeCardDetailResponseDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TotalTaxesResponseDto": {
        "type": "object",
        "properties": {
          "totalTaxAmount": {
            "type": "number",
            "format": "double"
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TotalTaxesTaxesResponseDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TotalTaxesTaxesResponseDto": {
        "type": "object",
        "properties": {
          "taxName": {
            "type": "string",
            "nullable": true
          },
          "taxAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "oauth2",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://login.microsoftonline.com/27b9fe6b-fff4-46d9-8cbb-cdec6cb22a17/oauth2/v2.0/authorize",
            "scopes": {
              "14537d62-5fe4-45f2-b674-ddc3ab96a914/user_impersonation": "user_impersonation"
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "Employee"
    },
    {
      "name": "Health"
    },
    {
      "name": "Sales"
    },
    {
      "name": "Store"
    },
    {
      "name": "Types"
    }
  ]
}