Descripciòn de la Asignaciòn Automàtica
Que php-residence
puede asignar automaticamente las reservas significa que se puede
insertar una reserva dàndole una lista de apartamentos,
màs bien que uno fijo, y php-residence le asignarà un
apartamento de la lista considerando las caracterìsticas de los
apartamentos y maximizando la disponibilidad.
La caracterìsticas de los apartamentos que son
consideradas son el màximo nùmero de personas que puede
acoger y la prioridad, valores que son insertados a la creaciòn
de la base de datos y pueden ser modificados desde la tabla con todos
los apartamentos. El màximo nùmero de personas es
considerado en que no puede ser màs bajo del nùmero de
personas de la reserva. Se puede igualmente insertar una reserva con
màs personas del màximo del apartamento en el que es
insertada utilizando un coste añadido que sea considerado como
nùmero de camas extras. La prioridad es considerada en que los
apartmentos que tengan la màs baja son asignados los primeros.
Por ùltimo, si se insertan màs reservas
contemporaneamente, se pueden insertar en apartamentos cercanos entre
ellos.
Para maximizar la disponibilidad php-residence desplazarà
las reservas entre sus apartamentos asignados si es necesario para
liberar un apartamento en el perìodo pedido. Asumamos por
ejemplo que tenemos esta situaciòn en una residencia con 4
apartamentos:
| 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 | |||||||||
donde por simplicidad hay solo reservas que pueden ser asignadas a
cualquiera de los 4 apartamentos, en verde, y reservas que son
asignadas a un solo apartamento fijo, en rojo. Si ahora se inserta una
nueva reserva, la nùmero 14, en el perìodo desde el
dìa 8 al 10, php-residence moverà las reservas 10, 1, 2 y
7 para liberar un apartamento y esta serà la nueva
situaciòn:
| 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 | ||||||||
Si se hubiese intentado insertar la reserva 14 en un apartamento
diferente del nùmero 3 php-residence habrìa respondido
que no era posible insertar la reserva en los apartamentos pedidos.
Naturalmente las reservas que ya han empezado no seràn movidas
del apartamento donde estàn, a menos que no se las desplaze
manualmente una por una. Asì en el ejemplo anterior si hoy fuese
el dìa 2 no se habrìa podido insertar la reserva 14 a
menos que no se hubiese desplazado antes la reserva 10 en el
apartamento 4.
Al insertar una reserva se puede escoger la lista de
apartamentos directamente, especificando los nùmeros o las
caracterìsticas (casa, piso, nùmero de personas), o
escogiendo la tarifa con la regla de asignaciòn 2. Esta regla
asigna a cada tarifa una lista de apartamentos que son automaticamente
seleccionados cuando se escoge la tarifa y no se dà otra lista
directamente. Con la regla de asignaciòn 2 se puede por ejemplo
asociar la tarifa "doble" a todos los apartamentos que pueden acoger 2
personas.
La regla de asignaciòn 1 en cambio se puede utilizar para
reservar algunos perìodos de un apartamento a agencias. De esta
manera php-residence intentarà no utilizar estos perìodos
hasta que no sea necesario, y entonces avisarà antes de insertar
una reserva en uno de ellos.