Let's focus on the case where you try to figure out whether there is a way to meet the requirements without any SLA violation. This problem can be solved by solving at most 10 Hamiltonian path problems, then combining their solutions appropriately.
First, let's focus on the first time window. For each $i$ such that $D_i$ must be visited during the first window, find the shortest path that starts at $C$ and ends at $D_i$ and delivers every order that is scheduled to appear in the first window. This is a Hamiltonian path problem, so can be solved using standard methods (e.g., branch-and-bound, ILP, etc.). In particular, you build a graph with one vertex per $D_j$ such that $D_j$ must occur in the first window plus one vertex for $C$, where the length of the edge from $v$ to $w$ is equal to the time it takes to travel from $v$ to $w$, then you find the shortest Hamiltonian path from $C$ to $D_i$. Let $\ell(C,D_i)$ be the length of the shortest such path.
Next, focus on the second time window. Build a graph with one vertex for $C$ plus one vertex for each $D_j$ such that you have to deliver to $D_j$ in the second time window. Let $\ell(D_j,C)$ be the length of the shortest Hamiltonian path in this graph from $D_j$ to $C$, i.e., the shortest path that starts at $D_j$ and ends at $C$ and visits every vertex in the second graph.
Finally, we'll look at all ways to piece together a Hamiltonian path for the first graph and a Hamiltonian path for the second graph. In particular, if $D_i$ is a delivery location for the first time window and $D_j$ is a delivery location for the second time window, the cost of the shortest path $C \to \dots \to D_i \to D_j \to \dots \to C$ that visits every location will be $\ell(C,D_i) + \text{wt}(D_i,D_j) + \ell(D_j,C)$ (where $\text{wt}(D_i,D_j)$ is the time it takes to get from $D_i$ to $D_j$).
So, compute the minimum of $\ell(C,D_i) + \text{wt}(D_i,D_j) + \ell(D_j,C)$ over all $i,j$ such that $D_i$ is in the first time window and $j$ is in the second time window. This gives you the shortest path that starts at $C$, visits every delivery location once and within the right time window, and ends at $C$. In other words, it gives you the shortest path that meets all your requirements and doesn't violate any order's SLA.
Given how small each of the graphs will be, you should easily be able to solve each of those 10 Hamiltonian path problems -- it should be very fast. There are many known techniques for solving Hamiltonian path problems, from exhaustive enumeration to branch-and-bound to integer linear programming (ILP).
This only handles the case of no SLA violations, and it assumes the delivery person never needs to return to the center $C$ (his bag is large enough to store all of the boxes).
If it's not possible to solve the problem with no SLA violations, you can probably extend this to find the best solution that minimizes the number of SLA violations with a bit more work, by adapting these techniques. As a simple trick, you could check whether it's possible to solve the problem with only one SLA violation by iterating over all possibilities for which order to skip (solving the resulting problem by deleting that one order and then looking for a way to handle all the remaining orders with no other SLA violations). It's probably possible to generalize to an arbitrary number of SLA violations by a clever use of dynamic programming, but if you expect it to be rare to need to violate the SLA by more than one or two orders, it might not be necessary to develop the more sophisticated algorithms to handle the general case.