```json
{
  "sym_variables": [
    ("x0", "hours worked by Jean"),
    ("x1", "hours worked by Hank"),
    ("x2", "hours worked by Bobby"),
    ("x3", "hours worked by Peggy"),
    ("x4", "hours worked by Bill")
  ],
  "objective_function": "6.6 * x0 + 7.62 * x1 + 8.55 * x2 + 6.91 * x3 + 7.67 * x4",
  "constraints": [
    "1*x0 + 7*x1 + 3*x2 + 4*x3 + 8*x4 <= 146",
    "2*x0 + 8*x1 + 6*x2 + 1*x3 + 2*x4 <= 164",
    "8*x0 + 1*x1 + 7*x2 + 8*x3 + 1*x4 <= 82",
    "x0 + x1 + x4 >= 20",
    "x0 + x2 + x3 >= 20",
    "x0 + x1 + x3 >= 20",
    "x0 + x2 + x4 >= 20",
    "x0 + x3 + x4 >= 20",
    "x0 + x1 + x2 >= 20",
    "x0 + x1 + x4 >= 27",
    "x0 + x2 + x3 >= 27",
    "x0 + x1 + x3 >= 27",
    "x0 + x2 + x4 >= 27",
    "x0 + x3 + x4 >= 27",
    "x0 + x1 + x2 >= 27",
    "x0 + x1 + x4 >= 29",
    "x0 + x2 + x3 >= 29",
    "x0 + x1 + x3 >= 29",
    "x0 + x2 + x4 >= 29",
    "x0 + x3 + x4 >= 29",
    "x0 + x1 + x2 >= 29",
    "x0 + x1 + x4 >= 14",
    "x0 + x2 + x3 >= 14",
    "x0 + x1 + x3 >= 14",
    "x0 + x2 + x4 >= 14",
    "x0 + x3 + x4 >= 14",
    "x0 + x1 + x2 >= 14",
    "x0 + x1 + x4 >= 16",
    "x0 + x2 + x3 >= 16",
    "x0 + x1 + x3 >= 16",
    "x0 + x2 + x4 >= 16",
    "x0 + x3 + x4 >= 16",
    "x0 + x1 + x2 >= 16",
    "2*x0 + 8*x1 >= 18",
    "6*x2 + 1*x3 + 2*x4 >= 18",
    "2*x0 + 8*x1 + 2*x4 >= 18",
    "6*x2 + 1*x3 + 2*x4 >= 27",
    "2*x0 + 8*x1 + 2*x4 >= 27",
    "8*x0 + 1*x4 >= 5",
    "7*x2 + 8*x3 >= 9",
    "7*x2 + 1*x4 >= 8",
    "8*x0 + 8*x3 >= 7",
    "x0 + x3 <= 90",
    "x0 + x1 <= 89",
    "x1 + x2 <= 144",
    "x2 + x3 <= 29",
    "x0 + x1 + x2 <= 138",
    "x0 + x1 + x3 <= 125",
    "x1 + x3 + x4 <= 81",
    "x0 + x1 + x4 <= 134",
    "x1 + x2 + x4 <= 117",
    "x0 + x1 + x2 + x3 + x4 <= 117",
    "8*x1 + 1*x3 <= 87",
    "6*x2 + 1*x3 <= 103",
    "8*x1 + 6*x2 <= 117",
    "2*x0 + 1*x3 <= 41",
    "2*x0 + 6*x2 <= 116",
    "8*x1 + 2*x4 <= 159",
    "2*x0 + x3 + 2*x4 <= 112",
    "2*x0 + 8*x1 + 6*x2 + x3 + 2*x4 <= 112",
    "8*x0 + 7*x2 <= 26",
    "x1 + 8*x3 <= 67",
    "8*x0 + x1 <= 50",
    "8*x0 + x4 <= 26",
    "x1 + 7*x2 <= 50",
    "8*x0 + 8*x3 <= 76",
    "7*x2 + 8*x3 <= 75",
    "8*x0 + x1 + 8*x3 <= 20",
    "8*x0 + 7*x2 + x4 <= 61",
    "8*x0 + 8*x3 + x4 <= 30",
    "8*x0 + 7*x2 + 8*x3 <= 25",
    "8*x0 + x1 + x4 <= 55",
    "x1 + 7*x2 + 8*x3 <= 34",
    "8*x0 + x1 + 7*x2 + 8*x3 + x4 <= 34",
    "x0, x1, x2, x3, x4 >= 0",
    "x0, x1, x2, x3, x4 == int"


  ]
}
```

```python
from gurobipy import Model, GRB

# Create a new model
model = Model("Employee_Scheduling")

# Create variables
jean = model.addVar(vtype=GRB.INTEGER, name="jean")
hank = model.addVar(vtype=GRB.INTEGER, name="hank")
bobby = model.addVar(vtype=GRB.INTEGER, name="bobby")
peggy = model.addVar(vtype=GRB.INTEGER, name="peggy")
bill = model.addVar(vtype=GRB.INTEGER, name="bill")


# Set objective function
model.setObjective(6.6 * jean + 7.62 * hank + 8.55 * bobby + 6.91 * peggy + 7.67 * bill, GRB.MAXIMIZE)

# Add constraints
model.addConstr(jean + 7 * hank + 3 * bobby + 4 * peggy + 8 * bill <= 146, "r0")
model.addConstr(2 * jean + 8 * hank + 6 * bobby + peggy + 2 * bill <= 164, "r1")
model.addConstr(8 * jean + hank + 7 * bobby + 8 * peggy + bill <= 82, "r2")

# ... (rest of the constraints from the JSON "constraints" field)
# Example:
model.addConstr(jean + hank + bill >= 20, "c1")
# ... add all other constraints similarly

# Optimize model
model.optimize()

# Print results
if model.status == GRB.OPTIMAL:
    print('Obj: %g' % model.objVal)
    print('Jean:', jean.x)
    print('Hank:', hank.x)
    print('Bobby:', bobby.x)
    print('Peggy:', peggy.x)
    print('Bill:', bill.x)

elif model.status == GRB.INFEASIBLE:
    print("Model is infeasible")
else:
    print(f"Optimization ended with status {model.status}")

```