Prezzo e policy di una selezione (nessuna scrittura)
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://example.com/api/public/v1/example/quote"
payload := strings.NewReader("{ \"starts_on\": \"2026-04-15\", \"ends_on\": \"2026-04-15\", \"slots\": \"AM\", \"formula\": \"half_day\", \"lines\": [ { \"pack_id\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"zone_id\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"spot_id\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"quantity\": 1, \"extras\": [ { \"extra_id\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"quantity\": 1 } ] } ], \"extras\": [ { \"extra_id\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"quantity\": 1 } ], \"promo_code\": \"example\" }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
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/quote';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"starts_on":"2026-04-15","ends_on":"2026-04-15","slots":"AM","formula":"half_day","lines":[{"pack_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","zone_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","spot_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","quantity":1,"extras":[{"extra_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","quantity":1}]}],"extras":[{"extra_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","quantity":1}],"promo_code":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/public/v1/example/quote \ --header 'Content-Type: application/json' \ --data '{ "starts_on": "2026-04-15", "ends_on": "2026-04-15", "slots": "AM", "formula": "half_day", "lines": [ { "pack_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "zone_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "spot_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "quantity": 1, "extras": [ { "extra_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "quantity": 1 } ] } ], "extras": [ { "extra_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "quantity": 1 } ], "promo_code": "example" }'Chiamata dal riepilogo sempre visibile con debounce (spec 12.3 passo 3). Canale online: policy online, quota online, pack ed extra con canale online. Un codice promozionale non valido non è un errore: promo.status = invalid. Conta come lettura per i limiti (60/min per IP).
Parameters
Sezione intitolata “Parameters”Path Parameters
Sezione intitolata “Path Parameters”Request Bodyrequired
Sezione intitolata “Request Bodyrequired”Selezione del cliente (date, fascia, formula, righe, extra, codice promozionale).
object
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.
Una riga della selezione. zone seat: spot_id; zone zone: zone_id; zone quantity: zone_id e quantity.
object
Default 1 (unità per le zone quantity).
object
Extra della prenotazione (attach_to = booking).
object
Responses
Sezione intitolata “Responses”Preventivo
object
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.
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
Pack, extra o codice promozionale di riferimento.
Testo localizzato lingua → testo (es. {“it”: “Prima fila”}); si ricade sulla lingua predefinita.
object
Importo in centesimi di euro (IVA inclusa).
object
Codice stabile (es. lead_time_too_short).
object
object
Come si paga secondo la policy online: tutto online, acconto online e saldo dopo, alla cassa (nessun pagamento online), su approvazione del gestore.
Example
{ "conflicts": [ { "slot": "AM", "reason": "spot_unavailable" } ], "items": [ { "kind": "line" } ], "promo": { "status": "applied" }, "payment_plan": "online_full"}Richiesta non valida
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"}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"}Richiesta valida ma non elaborabile (no_price, policy_violation, email_template_invalid)
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"}
