SyncBooking

Përshkrim

SyncBooking turns your WordPress site into a direct-booking website: a floating booking bar, a self-contained booking page with real-time availability, and a booking-management page. Availability, rooms, prices, page content and design come from your SyncBooking account; guests complete the reservation on the SyncBooking checkout.

External Services

This plugin connects to the SyncBooking service to validate the API key, fetch availability and page content, and complete the booking, and it can embed a map on the booking page. Fonts and stylesheets are bundled: nothing about the look of the pages is downloaded.

  1. SyncBooking Availability API

    • What: returns available rooms, prices and the booking-page content as JSON
    • Data sent: structure id, selected dates, number of houses/rooms and guests, language
    • When: when the booking page loads and on each search
    • Where: https://booking.syncbooking.com/api-search
    • Provider: SyncBooking.com — Terms https://syncbooking.com/terms · Privacy https://syncbooking.com/privacy
  2. SyncBooking Email API

    • What: emails the reservation details to the guest
    • Data sent: guest email address and booking code
    • When: when the guest requests their booking on the “Manage booking” page
    • Where: https://booking.syncbooking.com/api-send-email/
    • Provider: SyncBooking.com
  3. SyncBooking Checkout

    • What: page where the guest completes the reservation
    • Data sent: selected room id, dates and price (in the redirect URL)
    • When: when the guest clicks “Select offer”
    • Where: https://booking.syncbooking.com/cart/
    • Provider: SyncBooking.com
  4. SyncBooking Account / API key

    • What: validates the API key and links the site to the structure
    • Data sent: site URL and API key
    • When: when connecting the plugin (Connect tab)
    • Where: https://admin.syncbooking.com
    • Provider: SyncBooking.com
  5. SyncBooking Hospitality theme photos

    • What: downloads the photo package of the active design and adds the photos to the Media Library (the pages and texts of the design are not downloaded: they ship inside the plugin)
    • Data sent: none (a file download)
    • When: only when the admin presses the button on the “Theme Photos” page (never automatically)
    • Where: https://syncbooking.com/clone-theme/theme-01/assets.zip, .../theme-02/assets.zip, .../theme-03/assets.zip
    • Provider: SyncBooking.com
  6. Google Maps (embed)

    • What: shows the property location in an embedded map
    • Data sent: the property coordinates (no visitor data sent by the plugin)
    • When: in the “Location & Arrival” section of the booking page
    • Where: https://www.google.com/maps
    • Provider: Google LLC

No personal data is transmitted unless triggered by an explicit user action (searching availability, requesting a booking by email, or proceeding to checkout).

Source Code

All JavaScript shipped with this plugin is custom and provided as readable (non-minified) source.

  • php/bar-sync/js/bar.js – booking bar: date-range calendar and submit. Custom, readable.
  • php/theme-sync/js/syncbooking_site.js – booking/manage page header, footer, menu, lightbox and interactions, built from window.SBTW_CONFIG. Readable.
  • php/bar-sync/js/syncbooking_bar.js – booking bar palette (applies window.syncbooking_BAR colours to CSS variables). Readable.
  • The booking and manage page scripts (date picker, modal, AJAX search, checkout redirect) are inline in the page templates and fully readable.

No build tools (npm, webpack, etc.) are required to use or extend this plugin. Developers may edit the provided source files directly.

Shqyrtime

Për këtë shtojcë s’ka shqyrtime.

Kontribues & Zhvillues

“SyncBooking” është software me burim të hapur. Në këtë shtojcë kanë dhënë ndihmesë personat vijues.

Kontribues

Regjistër ndryshimesh

1.72.85

  • The designs now carry all five languages the theme offers. French, German and Spanish hold the English words until somebody translates them, so turning one of those languages on gives you pages at the right addresses with something to translate over, instead of blank ones.
  • Installing a design no longer decides which languages this site speaks: your choice is left alone, and only the languages you have turned on are created.
  • Fixed: a restored menu pointed at the wrong language’s pages. Both the English page and the Italian one answer to “villa”, so looking a menu entry up by address alone returned the English one – the Italian menu quietly linked to English pages.
  • One button to start a site with, “Install Design & Create All Pages”, and the gap-filling moves to Maintenance as “Add a language you have just enabled”, which takes the pages from the design instead of making them empty.

1.72.84

  • The bar’s page picker no longer claims that the Home page is used when nothing is selected. It never was: the code behind that promise read an option this plugin never writes, and on the site the bar only ever appears on the pages you tick. The claim and the dead code are gone, and the card now warns you when nothing is ticked, which is what you actually needed to know.

1.72.83

  • The “Theme” line now sits directly under SyncBooking, and while that screen is open the sidebar keeps the SyncBooking menu open with Theme highlighted, instead of jumping to Appearance. The theme is untouched and its entry under Appearance still works.
  • Fixed the page counter in “Select Pages or Posts for Custom Top Bar”: it counted every published page, including the booking and manage pages the plugin generates itself, which the list below then skipped – so a site with only those two read “Pages (2)” over an empty list. The count now matches what you can tick, and when there is nothing to tick it says so instead of showing an empty box.

1.72.82

  • While a SyncBooking theme is active, the SyncBooking menu gains a “Theme” line that opens the theme’s own screen under Appearance, so everything about the site is reachable from one menu. It is a link to that screen, not a copy of it: the theme is untouched.

1.72.81

  • The Maintenance tab now lists what runs on its own: the three scheduled jobs of this plugin, what each one does in plain words, how often it runs, when it runs next, and a button to run it now without waiting.

1.72.80

  • New Maintenance tab under Backup & Settings, holding two jobs the theme is no longer allowed to do: repairing menu entries whose page was trashed (which otherwise empties the header menu on the public site), and linking existing articles to their translations by slug.
  • The daily push of the site’s colours and menu to SyncBooking is now scheduled here. The request was already made by this plugin; the theme only built the data. Any schedule the theme left behind is cleared.

1.72.79

  • Fixed installing a design on a bilingual site: the Italian pages were landing on top of the English ones, because they share a slug (villa, it/villa), so the site came out with one page of each pair instead of two.

1.72.78

  • The content of each design – its pages, articles and texts – now ships inside the plugin instead of being downloaded, so installing a design asks nothing of the network except the photos.
  • New “Create the missing pages” button on the install page: it brings back the pages and articles of the design that are not on the site – one deleted by mistake, a language just enabled – without touching any text. The theme used to do this on its own, on activation and after every update; from version 2.3.165 it does not.

1.72.77

  • The install page is no longer a line in the SyncBooking menu: it is opened by the theme’s button, and the menu keeps only the settings and Backup & Settings.

1.72.76

  • The install page says which content it is about to install – version and date of the design’s base – what this site installed and when, and whether a newer base has been published since.
  • Installing replaces the pages, texts and menus of the theme with the design’s content, which is what setting up a site means; the page says so and asks first when there is something to overwrite, and the state of the moment before is always saved.

1.72.75

  • The install page keeps only what it is for: the note pointing at the other page is gone.

1.72.74

  • Installing a design has its own page now, SyncBooking > Install design, which is what the theme’s button opens: one screen, one button, nothing else to find.
  • The other page is now “Theme Backup & Settings”: the saved versions first, then the unused photos. The old address of the photos tab redirects to the install page.

1.72.73

  • One button installs a whole design: the photos first, then the pages, the articles and the texts. The second button is now only for pulling the photos again.
  • The content comes from the design’s own base file when it is published next to the photos, and otherwise from the SyncBooking Hospitality theme, which no longer has to offer that button itself.

1.72.72

  • The Theme Assets page is now three tabs – photos of the design, unused photos, saved versions – instead of one long page.
  • A saved version no longer asks for a name: it takes the day and time it was saved.

1.72.71

  • New “Saved versions of the site” section on the Theme Assets page: one button saves everything you have written – the theme settings with all the texts and images of every language, the theme pages and articles, the menus and the WordPress settings the theme uses – into a file under uploads, which you can download.
  • A saved version can be put back with one button, and the state of the moment before is saved automatically, so a restore can be undone. A version downloaded from another site can be uploaded here, with its addresses rewritten onto this site.

1.72.70

  • The photo import now extracts only the media: the stylesheets and scripts inside the package are skipped, since the theme and the plugin load their own and those copies only filled up the uploads folder.

1.72.69

  • The plugin now always serves its own fonts and its own booking-page stylesheet, whatever the active theme is, so it is fully self-contained.
  • On a page whose theme already loads the same two font families, the booking bar no longer adds a second copy of them: the browser downloaded the same file twice.

1.72.68

  • The booking pages and the booking bar no longer download anything to look right: the fonts (Cormorant Garamond and Jost, SIL Open Font License 1.1) are bundled with the plugin, and the stylesheet of the booking and manage pages is read from the SyncBooking Hospitality theme when that theme is active, otherwise from the copy inside the plugin, now refreshed.
  • Removed the twice-daily download of CSS/JS from syncbooking.com, its admin section and its scheduled event. The photo import, on request, is the only thing left that fetches anything.

1.72.67

  • Fixed the old address of the Theme Assets page: in 1.72.66 it answered “you are not allowed to access this page” instead of opening the merged page. It now redirects to it.

1.72.66

  • One single “Theme Assets” page instead of two: section 1 the files of the booking pages, section 2 the photos of the SyncBooking Hospitality design, section 3 the photos nobody uses any more. The old address of the first page still works.

1.72.65

  • The booking bar and the booking pages now use the fonts bundled with the active theme when it has them (the SyncBooking Hospitality theme does), so those pages no longer request anything from Google Fonts. With any other theme nothing changes.

1.72.64

  • Theme Photos page: the summary now shows the real last-import figures (date, files written, photos added, errors) instead of an empty counter.

1.72.63

  • New “Theme Photos” page (SyncBooking menu, shown only when the SyncBooking Hospitality theme is active): downloads the photo package of the active design into the Media Library, in small steps so it cannot time out, and only when you press the button.
  • The same page carries the unused-photos tool: it moves photos that nothing references into uploads/cest/ keeping the folder structure, and can restore them or delete them permanently.
  • Both features used to be inside the SyncBooking Hospitality theme, which WordPress.org does not allow; they read and write the same options and files as before, so a site that already imported its photos keeps everything.

1.72.62

  • Booking page: quando i risultati sono stanze singole (richiesta di 1 casa), vengono mostrate TUTTE le stanze disponibili invece di massimo 2 per fascia di capienza. Il limite di 2 per fascia resta solo per le combinazioni multi-casa. Allineati sia il rendering PHP sia la ricerca AJAX.

1.72.61

  • Fix urgente v1.72.60: la regola .bk-gallery-more{display:none} perdeva per specificita’ CSS contro .bk-gallery-grid a{display:block} del tema, quindi le foto extra restavano visibili anche sul mosaico desktop rompendo il layout. Selettore rinforzato (.bk-gallery-grid a.bk-gallery-more) per vincere sempre.

1.72.60

  • Fix mobile: sotto i 900px il tema nasconde il bottone “All Photos” della gallery struttura, ma il mosaico mostrava solo le prime 5 foto come slide scorrevoli – le restanti erano irraggiungibili. Ora tutte le foto della gallery struttura sono slide scorrevoli anche su mobile (lazy-load), mentre il mosaico desktop resta invariato (solo le prime 5 visibili, il resto tramite “All Photos”).

1.72.59

  • Rimosso data-lightbox dall’immagine delle card “Services & Offers”: cliccandola non deve aprire la gallery, resta solo il bottone “Show details” per i dettagli.

1.72.58

  • Fix lightbox: “All Photos” della gallery struttura in alto e “All Photos” di ogni stanza/Split Booking aprivano la stessa galleria con TUTTE le foto della pagina mescolate, perche’ collectImgs() raccoglieva ogni img[data-lightbox] del documento senza distinguere le sezioni. Ora ogni galleria (struttura, singola stanza, Split Booking, singolo “Stay N”) resta isolata: si scorre solo tra le foto della propria sezione.

1.72.57

  • Rimosso il fallback della gallery struttura in alto sulla booking page: ora usa solo structure.general_gallery dalla risposta live dell’api-search, senza piu’ ripiegare sulle 5 immagini salvate nelle opzioni del sito se vuota.

1.72.56

  • Ripristinato manage.php 1:1 fedele al mockup theme01 retrieve-booking.html: il tentativo di riuso delle classi generiche del tema (v1.72.54) aveva introdotto differenze visive reali (padding, font dell’input, icona mancante nel bottone, testo centrato invece che a sinistra). Ora card/lead/campo/bottone/stato di conferma/sidebar tornano esattamente al design originale; l’unica differenza tecnica (non visiva) e’ l’uso dell’attributo nativo “hidden” al posto di una classe custom per mostrare/nascondere gli stati.

1.72.55

  • Fix: passando da .rb-field (con margine sotto) a .co-field (senza margine esterno) in manage.php si era persa la spaziatura tra il campo email e il bottone “Retrieve booking”. Bottone ora avvolto in .ci-actions, lo stesso contenitore gia’ usato altrove nel tema per lo spazio sopra le azioni del form.

1.72.54

  • manage.php: rimosso quasi tutto il CSS custom della pagina, sostituito con le classi generiche gia’ presenti nel CSS del tema (.co-page, .co-layout, .co-main, .co-block, .co-block-h/.co-num, .co-subtitle, .co-field, .co-help, .ci-btn/.ci-btn-next). Restano solo 2 regole senza equivalente nel tema (cerchio di conferma, link “usa un’altra email”). Il toggle mostra/nascondi ora usa l’attributo nativo “hidden” invece di una classe CSS custom.

1.72.53

  • Fix: manage.php impostava data-page=”manage” invece di data-page=”booking” (come nel mockup retrieve-booking.html/manage-booking.html) – il CSS del tema rende l’header solido subito SOLO per data-page=”booking”, quindi l’header su Retrieve/Manage Booking restava trasparente come sulla home invece di essere solido come sulla booking page.

1.72.52

  • Rimossa una riga di testo duplicata nella card “Booking Page Settings” (la descrizione “The plugin generates a Standard Booking Page…” compariva 2 volte).

1.72.51

  • Fix: la pagina “Retrieve/Manage Booking” (manage.php) aveva header e footer diversi dalla booking page vera e propria, perche’ costruiva menu/contatti da una fonte piu’ povera (opzione syncbooking_website_data) invece di leggerli in diretta dall’api-search come fa booking.php. Estratta la logica di costruzione dell’header/footer (syncbooking_build_sbtw_config) e della chiamata api-search (syncbooking_booking_api) in common_functions.php, condivisa da entrambe le pagine: ora manage.php mostra lo stesso identico menu, indirizzo, telefono ed email della booking page, sempre in sync anche in futuro.

1.72.50

  • Rimossa dal testo informativo della card “Booking Page Settings” la riga sul recupero prenotazione diretto su booking.syncbooking.com (ridondante ora che la pagina Retrieve Booking e’ di nuovo presente e selezionabile).

1.72.49

  • Ripristinata la pagina “Retrieve Booking” (creazione automatica + selettore/Edit in admin, rimossi in 1.72.48 per errore). Rifatto il design della pagina di recupero prenotazione (manage.php) replicando 1:1 il nuovo mockup theme01 (retrieve-booking.html v16.0): card con form email + stato di conferma “Check your inbox”, sidebar “How it works” con i 3 passaggi, nota e bottone flottante WhatsApp con il numero reale della struttura.

1.72.48

  • Rimossa la creazione automatica di una pagina “Retrieve Booking” (template Manage Booking) e il relativo select+Edit nell’admin: al suo posto un testo informativo che spiega la Standard Booking Page generata dal plugin e indica booking.syncbooking.com come punto diretto per gestire/recuperare una prenotazione esistente.

1.72.47

  • Menu search-and-book: rimosso il fallback sul menu sincronizzato/salvato altrove (syncbooking_website_data) quando il tema non e’ attivo – meglio nessun menu che uno potenzialmente disallineato. Di conseguenza l’opzione “Da SyncBooking / Tema (menu della struttura)” ora e’ selezionabile solo se il tema SyncBooking e’ installato e attivo su questo sito (altrimenti disabilitata, con nota esplicativa). Il menu “Personalizzato” ora supporta anche i sottomenu (voci con un livello di link annidati), sia nel builder admin sia nel rendering della pagina.

1.72.46

  • Fix urgente: la pagina di prenotazione self-contained (booking.php) leggeva il menu del tema chiamando direttamente sbt_load_active_data()/sbt_bootstrap_content()/sbt_build_site_config() per nome – funzioni rinominate ieri in syncthemehosp_* (vedi 1.72.45). Il controllo function_exists() falliva sempre col vecchio nome, quindi quel ramo veniva sempre saltato e il menu restava vuoto. Ora prova prima il nuovo nome, poi il vecchio come fallback.

1.72.45

  • Il tema SyncBooking Hospitality ha rinominato il proprio prefisso da sbt_ a syncthemehosp_ (richiesta della review di WordPress.org) e con esso l’azione che segnala colori/menu pronti, ora syncthemehosp_colors_menu_ready. Il plugin ascolta entrambi i nomi (il vecchio sbt_colors_menu_ready e il nuovo) cosi’ la sincronizzazione non si interrompe indipendentemente da quale dei due (tema o plugin) si aggiorna per primo su un dato sito.

1.72.44

  • Il plugin ora ascolta l’azione sbt_colors_menu_ready lanciata dal tema SyncBooking Hospitality (se attivo) e invia lui stesso, come POST separata verso admin.syncbooking.com/api-save-colors-menu, i colori e il menu reali del sito attivo che prima il tema inviava direttamente. Stessa identica richiesta di prima (marker ‘THEME_SYNCBOOKING’), semplicemente eseguita dal plugin: il tema ora costruisce solo il payload in locale e non contatta piu’ alcun servizio esterno da solo.

1.72.43

  • Rimosso lo stile inline dalla pre-search card (text-align/padding): ora usa solo lo stile gia’ definito nel tema per .bk-lead e .sbtw-btn.

1.72.42

  • Pre-search card: testo esteso per spiegare cosa serve (date del soggiorno, ospiti e numero di unita’, poi Search) e bottone “Search now” allineato a sinistra invece che centrato.

1.72.41

  • Quando l’utente non ha ancora fatto nessuna ricerca (pagina booking aperta senza date selezionate), non viene piu’ mostrata una stanza reale con date di default (oggi->domani): al suo posto una semplice card in inglese (“Set your search above to see the available accommodations”) con un bottone che scorre la pagina fino alla barra di ricerca e apre il selettore date.

1.72.40

  • Split Booking multipli: quando non c’e’ una stanza singola per l’intero periodo richiesto, ora vengono proposte TUTTE le combinazioni valide a 2 tratte (non solo l’unica che restituisce l’api-search), ordinate per prezzo totale crescente – stessa posizione/grafica di prima, semplicemente possono comparire piu’ card. Nuove funzioni server-side syncbooking_all_split_combos()/syncbooking_build_split_offer() (sync-bar.php) che esplorano tutti i punti di taglio possibili usando la disponibilita’ reale notte-per-notte, e risolvono titolo/capienza/prezzo con chiamate api-search mirate per lato (non piu’ per singola stanza). Rimossa la dipendenza dal singolo split_offer grezzo dell’api-search (che dava una sola proposta, a volte con capienza insufficiente).

1.72.39

  • Fix nell’elenco “For these dates we have only these options” (sotto “No accommodation available”): ora cerca PRIMA la disponibilita’ reale dentro il periodo esatto richiesto dall’utente (anche solo parziale, es. una singola notte), invece di saltare direttamente a finestre future lontane. Prima poteva mostrare date molto distanti (es. 4+ giorni dopo) anche quando esisteva gia’ una disponibilita’ reale (magari solo parziale, coperta dallo Split Booking) proprio nei giorni richiesti, generando un messaggio contraddittorio.

1.72.38

  • Ristrutturato il caricamento CSS di booking.php e manage.php: il CSS del tema (auto-sincronizzato) e la copia locale del plugin non vengono piu’ caricati insieme, ma il locale carica SOLO come fallback quando il tema non e’ ancora disponibile. Elimina alla radice il rischio che modifiche fatte nel CSS del tema vengano sovrascritte dalla copia del plugin.

1.72.37

  • Rimossa la copia di .bk-cap-options dalla copia locale del plugin: ora gestita direttamente nel CSS del tema (che la definisce gia’ con valori propri); caricandosi dopo, la vecchia versione del plugin la sovrascriveva sempre.

1.72.36

  • Rimosso booking-bk.css: verificato che 312 delle sue 356 regole erano gia’ duplicate nel CSS auto-sincronizzato del tema (ora caricato), e le 44 rimanenti (.sb-* della booking bar) non sono usate ne’ da booking.php ne’ da manage.php. Aggiunto anche a manage.php il caricamento del CSS del tema, per coerenza con booking.php.
  • Corretto il download degli asset del tema (Syncbooking_Theme_Assets): le richieste HTTP verso syncbooking.com/clone-theme/theme-01/assets.zip ora includono un parametro anti-cache e header no-cache, per evitare che una CDN/proxy intermedia serva una versione vecchia anche dopo che il file remoto e’ stato aggiornato davvero.

1.72.35

  • Card Split Booking: il bottone “Show more” ora mostra il testo completo del messaggio dell’offerta split stessa (spiegazione “one room for the first part…”), non piu’ la descrizione (diversa) della prima stanza.
  • Caricato anche il CSS auto-sincronizzato del tema (scaricato da syncbooking.com) in booking.php, prima della copia locale del plugin. Rimosse dalla copia locale del plugin le classi gia’ fornite dal tema (.co-subtitle, .bk-select-cell/.bk-struct-*, .bk-guests-*, .bk-room-badge, .bk-showmore, .bk-room-included/.bk-included-*), tenendo solo le classi davvero esclusive del plugin (.bk-cap-options, .co-subtitle-accommodation) e la piccola aggiunta cursor:pointer sulle foto delle stanze incluse.

1.72.34

  • Aggiunta la classe “co-subtitle-accommodation” (accanto a “co-subtitle”) sul paragrafo “No accommodation available”, per permettere uno stile CSS dedicato a questo messaggio specifico.

1.72.33

  • Card Split Booking: aggiunto il bottone “Show more” sulla descrizione (prima veniva solo troncata senza modo di leggerla tutta). Registrate anche le descrizioni delle stanze dei segmenti split nel sistema di modali, anche quando non compaiono nell’elenco principale delle stanze disponibili.

1.72.32

  • “No accommodation available”: un solo
    prima della lista (non piu’ doppio), e le date alternative sono di nuovo un elenco puntato invece di righe semplici.
  • Card Split Booking: titolo ora “Split Booking: Nome Stanza 1 + Nome Stanza 2” (con “Split Booking” in grassetto), invece del solo titolo generico dell’offerta.

1.72.31

  • Split Booking: “All Photos” ora apre la galleria con le foto di TUTTE le stanze proposte in split, non solo della prima. Le foto di ogni singola “Stay N” sono ora cliccabili e aprono la galleria a partire dalle foto di quella stanza.
  • Corretta la lightbox del tema (syncbooking_site.js): scansionava le immagini una sola volta al caricamento pagina, quindi foto aggiunte dopo (ricerca AJAX, Split Booking, combo multi-casa) non erano cliccabili o cliccavano la foto sbagliata. Ora rileva le immagini al momento del click.

1.72.30

  • “No accommodation available”: ora e’ un unico paragrafo (.co-subtitle, stile ripreso dal checkout) con le date alternative su righe separate in testo semplice, non piu’ un elenco puntato.
  • Ricerca AJAX: il messaggio e l’eventuale elenco di date alternative ora compaiono insieme, non piu’ con un ritardo di qualche secondo.
  • Le date alternative proposte non includono piu’ finestre piu’ corte del soggiorno richiesto (es. un buco di 1 notte nel mezzo del periodo scelto non genera piu’ un’opzione fuorviante).

1.72.29

  • Rimossa la regola che nascondeva la sidebar di supporto e le sezioni extra (Location, Surroundings, Good to know, Offers) quando la ricerca non trova risultati o mostra un’offerta split: ora restano sempre visibili come quando ci sono risultati.

1.72.28

  • Ricerca senza disponibilita’: “No accommodation available for the selected dates.” e “For these dates we have only these options:” ora sono sulla stessa riga/paragrafo (un unico

<

p>), non piu’ a capo su due paragrafi separati.

1.72.27

  • Ricerca senza disponibilita’: ordine dei blocchi corretto. Ora e’ sempre “No accommodation available for the selected dates.” subito seguito da “For these dates we have only these options” (se presente), e SOLO dopo l’eventuale offerta Split Booking – prima l’ordine era invertito.

1.72.26

  • Ricerca senza disponibilita’: la lista “For these dates we have only these options” ora compare sempre (quando ci sono finestre di date libere vicine), non solo quando lo Split Booking non e’ disponibile. Split Booking (se valido) e la lista si sommano, cosi’ l’utente vede sia l’opzione un click che tutte le alternative singole.

1.72.25

  • Fallback “For these dates we have only these options”: ogni finestra di date ora e’ un link cliccabile che rilancia la ricerca su quelle date esatte (1 casa, stessi ospiti richiesti), invece di essere solo testo informativo.

1.72.24

  • Split Booking: non piu’ proposto quando sono state richieste 2 o piu’ case. Lo split dell’api-search e’ sempre 1 stanza alla volta in sequenza (mai 2+ stanze contemporanee), quindi non risponde a una richiesta di piu’ stanze simultanee – in quel caso si passa direttamente al fallback “For these dates we have only these options”.

1.72.23

  • Split Booking: l’offerta di split proposta dall’api-search viene mostrata solo se OGNI singolo soggiorno (stanza) regge da solo il numero di ospiti richiesto – non basta che la somma delle capienze delle 2 stanze lo faccia. Prima poteva capitare di vedere “Split Booking” con 2 stanze da 2/3 persone anche avendo cercato 4 adulti, che pero’ occupano una stanza sola per volta durante ciascun segmento.

1.72.22

  • Ricerca senza disponibilita’: quando nessuna stanza copre l’intero periodo richiesto ma l’api-search propone gia’ uno “split” (2 soggiorni consecutivi in stanze diverse che coprono insieme tutte le date), lo mostriamo come offerta “Split Booking” prenotabile con un click, con titolo/descrizione/prezzo reali e i 2 soggiorni in dettaglio. Se nemmeno lo split e’ possibile, mostriamo le finestre di date realmente libere piu’ vicine (“For these dates we have only these options: dal X al Y abbiamo…”). In entrambi i casi il messaggio “No accommodation available for the selected dates.” resta sempre il primo a comparire.

1.72.21

  • Calendario: la restrizione “soggiorno continuo massimo” (voluta rimossa nella 1.72.20, ma il codice era rimasto attivo) e’ stata tolta per davvero da bar.js/sync-bar.php – dopo aver scelto il check-in tutte le date restano cliccabili come check-out; solo i giorni realmente sold-out (is-full) restano bloccati/sbarrati.

1.72.20

  • Calendario: rimossa la restrizione “soggiorno continuo massimo” che sbarrava le date dopo aver scelto il check-in; restano bloccati solo i giorni realmente sold-out (is-full). Nessuna limitazione basata sul numero di case/ospiti scelti.

1.72.19

  • Checkout: “Select offer” ora manda totalreal/totaltopay arrotondati a 2 decimali (es. 15.50 resta 15.50) invece che arrotondati all’intero (perdendo i centesimi dell’acconto).

1.72.18

  • Avviso capienza insufficiente: le opzioni disponibili ora sono un elenco puntato, a capo, con il testo in grassetto (es. “4 adults in 1 room”), invece di un elenco in linea separato da virgole.

1.72.17

  • Calendario: le date bloccate (sold-out o oltre il soggiorno disponibile per case/ospiti scelti) restano ora sbarrate anche dopo aver completato la selezione check-in/check-out, invece di tornare tutte cliccabili.

1.72.16

  • Avviso capienza insufficiente: ogni capienza effettivamente disponibile (es. “2 adults, 1 room”) e’ ora un link cliccabile che rilancia la ricerca gia’ impostata su quei parametri, stesse date.

1.72.15

  • Select your accommodation: se nessuna combinazione (a nessun numero di case) copre gli ospiti richiesti, invece del solo messaggio “non disponibile” vengono ora mostrate (in inglese) le stanze effettivamente disponibili con capienza inferiore, ordinate dalla piu’ capiente, con un avviso esplicativo.

1.72.14

  • Select your accommodation: se il numero di case scelto non basta per gli ospiti richiesti (es. 5 persone con 1 sola stanza), viene ora proposta automaticamente la combinazione con 1 casa in piu’ (poi 2, ecc.) che copre la richiesta, con la stessa logica di combinazioni gia’ in uso.

1.72.13

  • Calendario: le date di check-out ora tengono conto del numero di case e ospiti scelti, nascondendo (sbarrando) quelle oltre il soggiorno continuo realmente disponibile per quella combinazione (es. 1 stanza da 4 persone con solo stanze da 2/3 disponibili, o 2+ stanze con solo 1 disponibile in continuo).
  • Card “Accommodation for N units”: ora mostra il prezzo totale della combinazione e la media del prezzo/notte di tutte le stanze, non piu’ il prezzo della sola prima stanza.

1.72.12

  • Select your accommodation: le offerte multi-casa ora mostrano tutte le combinazioni uniche di stanze disponibili (mai la stessa coppia invertita), non solo blocchi consecutivi, con un limite di 2 combinazioni per ogni fascia di capienza totale per non generare troppe card. Limite di sicurezza automatico anche per proprieta’ con moltissime unita’ disponibili.

1.72.11

  • Select your accommodation: le stanze/combo ora vengono ordinate per capienza crescente ed escluse se la capienza totale del gruppo non basta per gli ospiti richiesti (es. con 4 adulti non escono piu’ le stanze da 2 posti; con 2 case e 4 adulti escono prima le coppie da 2+2 invece di quelle piu’ capienti).

1.72.10

  • Pulizia URL della barra di ricerca: rimosso il parametro “Structure” (mai usato lato server) e unificati “Guests”/”house_number” nei nomi canonici “syncbooking_guests”/”syncbooking_houses”, eliminando parametri duplicati/in conflitto dopo una ricerca. La ricerca ora applica automaticamente la selezione date anche se non si clicca esplicitamente “Apply” nel calendario.

1.72.9

  • Pagina booking: quando la ricerca richiede piu’ case (Rooms > 1), le unita’ disponibili vengono ora raggruppate in un’unica offerta combinata con badge “N Rooms”, box “This offer includes N rooms” e prenotazione unica (room_id multipli). Aggiunta anche la descrizione troncata con “Show more” su tutte le card.

1.72.8

  • Barra di ricerca della pagina booking allineata al nuovo mockup theme01: “Structure” e “Guests”/”Number of Houses” ora sono celle a tendina (popover) invece di semplici select, con “Guests” e “Rooms” uniti in un unico popover.

1.72.7

  • Calendario: i giorni oltre il soggiorno continuo massimo disponibile (dopo aver scelto il check-in) ora mostrano la stessa grafica sbarrata dei giorni sold-out, invece del solo numero sbiadito.

1.72.6

  • Appearance sync to admin.syncbooking.com now uses the agreed JSON schema: marker, website, api_key, token, colors split into “bar” and “site”, and the resolved menu as link/group items. It is sent on every Save and automatically once a day.

1.72.5

  • Connect: updated for the new api_data_wp endpoint � the popup now uses the default postMessage mode (no extra flag) and the plugin closes the popup automatically as soon as the API key is received.

1.72.4

  • “From SyncBooking / Theme” menu now matches the live site exactly: when the SyncBooking theme is active on the same site, the booking page reads the theme’s own resolved navigation (same items, submenus and URLs) instead of the structure API menu. Falls back to the API structure menu only if the theme is not present.

1.72.3

  • Admin: the search-and-book menu settings moved into the “Site Colors & Booking bar & Menu” card. You can now choose the menu source: “From SyncBooking / Theme (structure menu)” or “Custom (create the items below)”. The booking page shows the structure menu or your custom items accordingly.

1.72.2

  • Connect: the “Connect to SyncBooking” popup now opens the endpoint with cb=postmessage and reads the api_key from the returned postMessage (matching the updated SyncBooking endpoint). The admin JavaScript was re-saved as UTF-8 and is now cache-busted on the plugin version.

1.72.1

  • The search-and-book menu now comes ONLY from the items set in the plugin Menu card (no fallback to the API); the “Menu source” choice was removed � build or import the items and they are saved in the plugin and shown directly. “Import from SyncBooking” fills the builder so the items get saved on Save. Removed menu_source from the api-save-colors-menu payload.

1.72.0

  • New admin “Menu” card: choose the search-and-book menu source (from SyncBooking/theme structure menu, or a custom menu you build with label + URL rows, with a “Copy from SyncBooking” helper). The booking page uses the custom menu when selected. On Save, the appearance (Site Colors model, bar style, resolved palette and menu) is sent to admin.syncbooking.com/api-save-colors-menu.

1.71.4

  • Admin (Connect tab): the API Key field is now read-only and is unlocked only by clicking “Connect to SyncBooking”; the activation note was moved up next to the connection steps.

    …