Tarifs

Gestion des tarifs

Reprise de « Add rates » (post_rates) et de la copie (copy_rates). La saisie est additive : un bloc n efface rien, il recouvre les precedents sur les jours qu il couvre. Il n existe ni modification ni suppression d un bloc dans le systeme d origine, et aucune n est ajoutee ici.

Saisir un bloc tarifaire — equivaut a « Add rates »

Les deux bornes sont incluses : $end->modify('+1 day') avant le DatePeriod de gatherRateCalendar fait entrer end dans la plage. Le masque est un filtre, jamais une priorite : un bloc « samedi, dimanche » ne touche aucun lundi, meme saisi en dernier.

Copier les tarifs d une categorie vers une autre

Sans date : copie totale. Reprise de copyRatesFromVilla : chaque ligne de la source est recopiee telle quelle — bornes, masque, min stay — avec l increment ajoute au montant. L increment peut etre negatif.

Avec date_min ou date_max : copie par plage. Reprise de copyRatesFromVillaByDateRange, qui est une autre mecanique : la source est resolue jour par jour sur la plage, les jours consecutifs de meme tarif et meme min stay sont regroupes, et chaque groupe devient un bloc dont le masque est force a 1;2;3;4;5;6;7. Les deux bornes sont incluses ; une borne laissee vide prend celle de la source. Un jour que seul le tarif par defaut de l hebergement couvre n est pas copie. Rien n est efface sur la cible. S il n y a aucun tarif a copier sur la plage, la copie est refusee.

Deux ecarts assumes avec la copie totale d origine. Elle commence par CalendarRate::where('ppttypeid', $cible)->delete(), ici rien n est efface : les lignes copiees recouvrent celles de la cible la ou elles s appliquent, et les autres survivent. Elle recopie aussi default_rate_amount, ce qui n est pas fait ici.

Blocs saisis — dans l ordre d election, le dernier gagne

Grille resolue — le tarif effectif de chaque nuit, comme le Planning

tarif d un bloc saisi repli sur le tarif par defaut de l hebergement N/A aucun tarif montants en bahts par nuit · ms N = min stay