1
Data
2
Disponibilità
3
Dati cliente
@if (currentStep === 1) {

Seleziona il tipo di prenotazione

@for (type of activeResourceTypes; track type) {

{{ type.bkrt_name }}

{{ type.bkrt_description }}

@if (selectedType?.bkrt_id === type.bkrt_id) { }
}
} @if (currentStep === 2) {
@if (isRestaurant) {

Seleziona la data

Disponibile Quasi pieno Pieno
@if (selectedDate) {

Numero ospiti

{{ booking.bkb_guests_count || 1 }}
} @if (selectedDate && timeSlots.length > 0) {

Fascia oraria

@for (slot of timeSlots; track slot) {

{{ slot.bkts_name }}

{{ slot.bkts_start_time }} - {{ slot.bkts_end_time }}

{{ getSlotFree(slot) }} / {{ totalCapacity }} posti
@if (selectedSlot?.bkts_id === slot.bkts_id) { }
}
} @if (selectedDate && selectedSlot) {
La prenotazione resterà in attesa finché il ristorante non assegna i tavoli.
Avanti
} } @if (!isRestaurant) {
@if (!isBeach && timeSlots.length > 0) {

Orario

@for (slot of timeSlots; track slot) { {{ slot.bkts_name }} ({{ slot.bkts_start_time }} - {{ slot.bkts_end_time }}) }
} @if (dateReady) {
Lista Mappa @if (resourceViewMode === 'lista') { @if (isBeach && selectedGroupY === null) { @for (g of resourceGroups; track g.fila) {

Fila {{ g.fila }} — {{ g.tipologia }}

@if (g.prezzo > 0) {

€ {{ g.prezzo | number:'1.2-2' }} • {{ giorni }} gg

}
{{ g.freeCount }} liberi / {{ g.total }}
}
} @if (!isBeach || selectedGroupY !== null) { @if (isBeach) { } Solo liberi @for (res of (isBeach ? selectedGroupResources : filteredResources); track res) {

{{ res.bkr_name }}

{{ getResourceSubtype(res) === 'PALMA' ? 'Palma' : 'Ombrellone' }}@if (getPrezzoRisorsa(res) > 0) { — € {{ getPrezzoRisorsa(res) | number:'1.2-2' }} }

@if (getPrezzoDettaglioRisorsa(res).length > 1) {

@for (v of getPrezzoDettaglioRisorsa(res); track v.label; let last = $last) { {{ v.label }} €{{ v.subtotal | number:'1.2-2' }}@if (!last) { • } }

}
{{ isBooked(res.bkr_id) ? 'Occupato' : 'Disponibile' }} @if (selectedResource?.bkr_id === res.bkr_id) { }
}
} } @if (resourceViewMode === 'mappa') { }
} }
} @if (currentStep === 3) {
@if (isRestaurant) {
{{ selectedDate | date:'EEEE d MMMM y' }}
@if (selectedSlot) {
{{ selectedSlot.bkts_name }} ({{ selectedSlot.bkts_start_time }} - {{ selectedSlot.bkts_end_time }})
}
{{ booking.bkb_guests_count || 1 }} ospiti
}

Dati del cliente

Nome * Telefono * Email @if (!isBeach) { Numero ospiti } Note @if (isBeach) { Lettini Sedie Sdraio } @if (isBeach && prezzoBase > 0) { }
Conferma prenotazione
}
@if (currentStep === 2 && isBeach && resourceViewMode === 'mappa' && filaLegend.length > 0) {
PREZZI PER FILA — {{ giorni }} GG
@if (prezziExpanded) { @for (f of filaLegendGrouped; track f.filaFrom) { }
Ombr. Palma
Fila {{ f.filaFrom }}{{ f.filaFrom !== f.filaTo ? '–' + f.filaTo : '' }} @if (f.ombrTotal !== null) { € {{ f.ombrTotal | number:'1.0-2' }} } @if (f.ombrTotal === null) { } @if (f.palmaTotal !== null) { € {{ f.palmaTotal | number:'1.0-2' }} } @if (f.palmaTotal === null) { }
@if (filaLegend[0]?.periodName) {
{{ filaLegend[0].periodName }}
}
Libero Prenotato
}
}