Assegnazione Automatica di Php-Residence

 

Descrizione dell'Assegnazione Automatica

  Che php-residence possa assegnare automaticamente le prenotazioni significa che si può inserire una prentotazione associandole una lista di appartamenti, piuttosto che uno unico fisso, e poi php-residence le assegnerà un appartamento della lista considerando le caratteristiche di tali appartamenti e massimizzando la disponibilità.
  Le caratteristiche degli appartamenti che vengono considerate sono il massimo numero di persone che si possono ospitare e la loro priorità, valori che vengono inseriti alla creazione del database e possono essere modificati dalla tabella con tutti gli appartamenti. Il numero massimo di persone è considerato in quanto non può essere più basso del numero di persone della prenotazione. Si può comunque inserire una prenotazione con più persone del massimo dell'appartamento nel quale viene inserita utilizzando un costo aggiuntivo che sia considerato come numero di letti aggiuntivi. La priorità è considerata in quanto gli appartamenti con quella più bassa sono assegnati per primi. Infine, se si inseriscono più prenotazioni in contemporanea, è possibile inserirle in appartamenti vicini tra loro.
  Per massimizzare la disponibilità php-residence sposterà le prenotazioni tra i loro appartamenti assegnati se è necessario per liberare un appartamento in un periodo richiesto. Assumiamo per esempio che abbiamo questa situazione in un residence con 4 appartamenti:

  01
---
02
02
---
03
03
---
04
04
---
05
05
---
06
06
---
07
07
---
08
08
---
09
09
---
10
10
---
11
11
---
12
12
---
13
1
10

12
   
2
11
 1  2  
4
 13 
3
  8
7

5
 
4
    9
  3    6      

dove per semplicità ci sono solo prenotazioni che possono essere assegnate a tutti e 4 gli appartamenti, in verde, e prenotazioni che sono assegnate ad un solo appartamento fisso, in rosso. Se ora viene inserita una nuova prenotazione, la numero 14, nel periodo dal giorno 8 al 10, php-residence sposterà le prenotazioni 10, 1, 2 e 7 per liberare un appartamento e questa sarà la nuova situazione:

  01
---
02
02
---
03
03
---
04
04
---
05
05
---
06
06
---
07
07
---
08
08
---
09
09
---
10
10
---
11
11
---
12
12
---
13
1     1 12    
2   11   7 4
13
3     8
  2   14 5
 
4   10 9
  3   6    

Se si fosse provato ad inserire la prenotazione 14 in un appartamento differente dal numero 3 php-residence avrebbe risposto che non era possibile inserire la prenotazione in un appartamento tra quelli richiesti. Naturalmente le prenotazioni che sono già iniziate non verranno mosse dall'appartamento in cui sono, a meno che non vengano spostate manualmente ad una ad una. Così nell'esempio precedente se oggi fosse stato il giorno 2 non si sarebbe potuto inserire la prenotazione 14 a meno di non spostare prima la prenotazione 10 nell'appartamento 4.
  Quando si inserisce una prenotazione si può scegliere la lista di appartamenti direttamente, specificando i loro numeri o le loro caratteristiche (casa, piano, numero di persone), o scegliendo la tariffa con la regola di assegnazione 2. Questa regola assegna ad ogni tariffa una lista di appartamenti che sono automaticamente selezionati quando viene scelta la tariffa e non si dà nessuna lista direttamente. Con la regola di assegnazione 2 si può per esempio associare la tariffa "camera doppia" a tutti gli appartamenti che possono ospitare 2 persone.
  La regola di assegnazione 1 invece può essere utilizzata per riservare alcuni periodi di un appartamento a delle agenzie. In questo modo php-residence proverà a non occupare questi periodi fino a quando non si renda necessario, dopodichè vi avvertirà prima di inserirvi una prenotazione.