You seem to have out of bounds.
If you rewrite
forall(i in I,j in J, t in T:t-1 in T)
con07a: //Find the maximum of two ready times and uses z to store info
z[i][j][t]*(s[i][j][t-1]-sum(p in P,h in H) X[i][j][t][h][p]*r[p])
+(1-z[i][j][t])*(sum(p in P,h in H) X[i][j][t][h][p]*r[p]-s[i][j][t-1])>=0;
forall(i in I,j in J, t in T:t-1 in T)
con07b: //The time before ambulance becomes available for the next trip
s[i][j][t]>=z[i][j][t]*s[i][j][t-1]+(1-z[i][j][t])*(sum(p in P,h in H)X[i][j][t][h][p]*r[p])+
2*sum(p in P,h in H)X[i][j][t][h][p]*d[h];
forall(p in P)
con08: //Lateness
L[p]==sum(i in I, j in J, t in T, h in H) X[i][j][t][h][p]*(v[p][i]-s[i][j][t]+d[h]);
The out of bounds should go away
Then you have to solve other issues and I attached the new file.
regards
#DecisionOptimization#OPLusingCPLEXOptimizer