I built a web interface for this type of nurse scheduling optimization. Mine uses CPLEX instead of the CP-SAT solver but the Python set up is very similar.
Here's the web interface to the nurse scheduler: https://forio.com/app/showcase/nurse-scheduling/
and here are some other optimization examples: https://forio.com/products/epicenter/example-applications/