Ho una strana situazione in cui un cliente vorrebbe uno script che imposta automaticamente migliaia di appuntamenti per diversi giorni. La parte più delicata è che gli appuntamenti riguardano una varietà di fusi orari negli Stati Uniti e devo tenere conto del fuso orario locale del consumatore quando si generano date e orari degli appuntamenti per ciascun record.
Regole per gli appuntamenti:
-
Gli appuntamenti devono essere impostati dalle 8:00 alle 20:00, ora internazionale orientale, con pause da 12P-2P e 4P-6P. Questo lascia un totale di 8 ore al giorno disponibili per l'impostazione degli appuntamenti.
-
Gli appuntamenti dovrebbero essere programmati a 5 minuti di distanza l'uno dall'altro. 8 ore di intervalli di 5 minuti significa 96 appuntamenti al giorno.
-
Ci saranno 5 utenti alla volta che gestiscono gli appuntamenti. 96 appuntamenti al giorno moltiplicati per 5 utenti equivalgono a 480, quindi il numero massimo di appuntamenti che è possibile impostare al giorno è 480.
-
Ora il difficile requisito: gli appuntamenti sono limitati alle 8:00 alle 20:00 nel fuso orario locale del consumatore . Ciò significa che il primo orario consentito per ciascun appuntamento è diverso a seconda del fuso orario del consumatore:
- Orientale: 8A
- Centrale: 9A
- Montagna: 10A
- Pacific: 11A
- Alaska: 12P
- Hawaii o non definito: 2P
- Arizona: 10A o 11A in base all'ora legale corrente
Supponendo che un set di dati possa essere diverse migliaia di record e ogni record conterrà un valore di fuso orario, esiste un algoritmo che potrei usare per determinare una data e un'ora per ogni record che corrisponde alle regole sopra?