Prenotazione dal link magico (area gestione del cliente)
package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://example.com/api/public/v1/example/manage/example"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://example.com/api/public/v1/example/manage/example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/public/v1/example/manage/exampleSpec 12.4. Il token (256 bit, salvato come hash, valido fino alla fine della prenotazione + 30 giorni, revocabile) identifica una sola prenotazione. Token sconosciuto, scaduto o revocato → 404 senza distinguere i casi. Il percorso contiene il token: i log di accesso lo mascherano. Cache-Control: no-store, Referrer-Policy: no-referrer.
Parameters
Sezione intitolata “Parameters”Path Parameters
Sezione intitolata “Path Parameters”Token del link magico (256 bit, base64url).
Responses
Sezione intitolata “Responses”Prenotazione
object
Stato della prenotazione (spec 10.2).
object
Codice prenotazione (presente dalla conferma).
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Fasce prenotate: mattina, pomeriggio o giorno intero.
Formula di durata.
object
Testo localizzato lingua → testo (es. {“it”: “Prima fila”}); si ricade sulla lingua predefinita.
object
Testo localizzato lingua → testo (es. {“it”: “Prima fila”}); si ricade sulla lingua predefinita.
object
Assente finché una riga di una zona zone non è assegnata (assegnazione automatica, spec 7.5).
object
Testo localizzato lingua → testo (es. {“it”: “Prima fila”}); si ricade sulla lingua predefinita.
object
object
Testo localizzato lingua → testo (es. {“it”: “Prima fila”}); si ricade sulla lingua predefinita.
object
Importo in centesimi di euro (IVA inclusa).
Importo in centesimi di euro (IVA inclusa).
Importo in centesimi di euro (IVA inclusa).
Importo in centesimi di euro (IVA inclusa).
object
object
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Ultimo giorno con rimborso pieno, se previsto dalla policy.
Stato del rimborso visibile al cliente nell’area gestione (nessun dettaglio del provider).
object
Pending: riservato, in attesa di invio (o di nuovo tentativo); processing: inviato al provider, in attesa di conferma; succeeded: confermato dal provider (riga refund nel registro pagamenti); failed: tentativi esauriti, serve un intervento (notifica al gestore); cancelled: annullato dal gestore (rimborso fatto altrove).
Importo in centesimi di euro (IVA inclusa).
object
Importo in centesimi di euro (IVA inclusa).
Importo in centesimi di euro (IVA inclusa).
object
object
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Fascia: mattina o pomeriggio.
Importo in centesimi di euro (IVA inclusa).
object
Proposed: prenotazione held in prelazione; accepted: accettata, in attesa di pagamento (pending_payment); converted: prenotazione confermata (nuovo abbonamento); declined: rifiutata, postazione liberata; expired: prelazione scaduta o campagna chiusa, postazione liberata.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Fasce prenotate: mattina, pomeriggio o giorno intero.
Importo in centesimi di euro (IVA inclusa).
Importo in centesimi di euro (IVA inclusa).
Importo in centesimi di euro (IVA inclusa).
Importo in centesimi di euro (IVA inclusa).
Importo in centesimi di euro (IVA inclusa).
Versione corrente delle condizioni da accettare.
object
Importo in centesimi di euro (IVA inclusa).
Versione per la concorrenza ottimistica; coincide con l’ETag.
Example
{ "status": "draft", "summary": { "slots": "AM", "formula": "half_day", "lines": [ { "assignment": "assigned" } ] }, "refund": { "status": "pending" }, "cancellation_preview": { "as": "refund", "tier": { "as": "refund" } }, "releases": [ { "slot": "AM" } ], "renewal": { "status": "proposed", "slots": "AM" }}Headers
Sezione intitolata “Headers”Versione della risorsa ("<version>"), da reinviare in If-Match.
Risorsa inesistente
Errore RFC 9457 (application/problem+json).
object
Slug stabile del tipo di errore. I client devono basarsi su questo
valore, mai sul testo di title o detail.
Secondi da attendere (solo per rate_limited).
object
Versione corrente della risorsa (solo per version_conflict).
Postazioni con allocazioni future (solo per spot_has_future_allocations).
Vincoli violati (solo per policy_violation).
object
Codice stabile (es. lead_time_too_short).
object
Mezze giornate non disponibili (solo per spot_unavailable, pool_exhausted, quota_exceeded).
Mezza giornata non disponibile per una risorsa (spec 7.2), restituita in Problem.conflicts e nelle anteprime.
object
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Fascia: mattina o pomeriggio.
Stato della prenotazione (spec 10.2).
Cliente già presente con la stessa email o telefono (solo per conflict su createCustomer).
Periodo del soggiorno e data odierna dello stabilimento (solo per booking_outside_period).
object
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Example
{ "type": "bad_request", "conflicts": [ { "slot": "AM", "reason": "spot_unavailable" } ], "current_status": "draft"}Troppe richieste
Errore RFC 9457 (application/problem+json).
object
Slug stabile del tipo di errore. I client devono basarsi su questo
valore, mai sul testo di title o detail.
Secondi da attendere (solo per rate_limited).
object
Versione corrente della risorsa (solo per version_conflict).
Postazioni con allocazioni future (solo per spot_has_future_allocations).
Vincoli violati (solo per policy_violation).
object
Codice stabile (es. lead_time_too_short).
object
Mezze giornate non disponibili (solo per spot_unavailable, pool_exhausted, quota_exceeded).
Mezza giornata non disponibile per una risorsa (spec 7.2), restituita in Problem.conflicts e nelle anteprime.
object
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Fascia: mattina o pomeriggio.
Stato della prenotazione (spec 10.2).
Cliente già presente con la stessa email o telefono (solo per conflict su createCustomer).
Periodo del soggiorno e data odierna dello stabilimento (solo per booking_outside_period).
object
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Example
{ "type": "bad_request", "conflicts": [ { "slot": "AM", "reason": "spot_unavailable" } ], "current_status": "draft"}Headers
Sezione intitolata “Headers”Secondi da attendere
Operazione non ancora disponibile (not_implemented)
Errore RFC 9457 (application/problem+json).
object
Slug stabile del tipo di errore. I client devono basarsi su questo
valore, mai sul testo di title o detail.
Secondi da attendere (solo per rate_limited).
object
Versione corrente della risorsa (solo per version_conflict).
Postazioni con allocazioni future (solo per spot_has_future_allocations).
Vincoli violati (solo per policy_violation).
object
Codice stabile (es. lead_time_too_short).
object
Mezze giornate non disponibili (solo per spot_unavailable, pool_exhausted, quota_exceeded).
Mezza giornata non disponibile per una risorsa (spec 7.2), restituita in Problem.conflicts e nelle anteprime.
object
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Fascia: mattina o pomeriggio.
Stato della prenotazione (spec 10.2).
Cliente già presente con la stessa email o telefono (solo per conflict su createCustomer).
Periodo del soggiorno e data odierna dello stabilimento (solo per booking_outside_period).
object
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Data di calendario YYYY-MM-DD nel fuso dello stabilimento.
Example
{ "type": "bad_request", "conflicts": [ { "slot": "AM", "reason": "spot_unavailable" } ], "current_status": "draft"}
