Salve a tutti

avrei bisogno di gestire gli stop booking di alcuni hotel che ho su un mio portale.

Al momento inseriamo le offerte per periodi lunghi come per esempio:
Dal 01/06/2019 al 31/07/2019 prezzo 300 euro per settimanali per persona

Il che significa che chiunque prenota nel lasso di tempo tra il 1 giugno e il 31 luglio paga 300 euro a settimana.

Adesso dovrei gestire gli stop booking per alcune date.
Per esempio mi viene detto che dal 10 al 14 giugno l'hotel è completo e quindi non posso vendere direttamente.

Al momento prendo l'offerta dall'1 giugno al 31 luglio e la divido in questo modo:
dall'1 giugno al 10 giugno
dal 14 giugno al 31 luglio

Però non mi piace molto come soluzione.

Avevo pensato di creare una tabella chiamata stop_booking dove inserire l'id dell'hotel, il lasso di tempo e quindi dal 10 al 14 giugno e qualche altra informazione (tipo la data in cui abbiamo messo questo stop, ecc)

Fin qui spero di aver pensato la cosa giusta.

Adesso, ai fini della query che fa la ricerca nel database, come faccio capire al sistema che deve estrarre tutto tranne gli hotel (id hotel) che in quel periodo ha lo stop booking?

Questa è la mia query attualmente:

codice:

codice:
$query="select offerte.id_offerta, DATE_FORMAT(offerte.valida_da, '%d/%m/%Y') AS valida_da_ita, DATE_FORMAT(offerte.valida_fino, '%d/%m/%Y') AS valida_fino_ita, offerte.tipo_offerta, offerte.prezzo, offerte.prezzo_hotel, offerte.prezzo_come, offerte.trattamento, offerte.note_offerta, offerte.tipo_camera, offerte.id_albergo, offerte.incluso, offerte.supplementi_riduzioni, offerte.operativo, offerte.applica_sconto, offerte.supplemento_singola, offerte.supplemento_singola_come, offerte.terzo_letto_bambino, offerte.eta_bambini, offerte.quarto_letto_bambino, eta_quarto_letto_bambino, eta_quarto_letto_bambino_piccolo, offerte.terzo_letto_adulto, offerte.commissione_manuale, offerte.paga_in_loco, hotel.id_hotel, hotel.hotel, hotel.tipologia, hotel.stelle, hotel.zona, hotel.directory, hotel.consigliato, hotel.family, hotel.lusso, hotel.mostra_scheda from offerte INNER JOIN hotel ON offerte.id_albergo = hotel.id_hotel where attivo=\"1\" and cancellata=\"0\" and '$arrivo' between DATE_ADD(valida_da, INTERVAL -2 DAY) AND valida_fino and DATE_ADD(STR_TO_DATE('$arrivo', '%Y-%m-%d'), INTERVAL +2 DAY) <= valida_fino ";
Spero sappiate darmi qualche consiglio utile
Grazie