Mah, così di getto mi verrebbe di salvare la data di partenza in una variabile ed i turni in ordine dentro un array.

Per ogni giorno del calendario fai questi conti
(giorno del calendario - giorno di partenza) = giorni trascorsi dalla partenza al giorno sul calendario
(giorni trascorsi dalla partenza al giorno sul calendario) % (numero turni) = posizione del turno dentro l'array

e stampi su ogni giorno del calendario il turno corrispondente alla posizione dell'array.

Penso che dovrebbe funzionare, al più ci sarà qualche aggiustamento da fare con i calcoli, ma l'idea dovrebbe essere valida.