Generatore di file: anteprima o applicazione
package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://example.com/api/admin/v1/establishments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/maps/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/generate-rows"
payload := strings.NewReader("{ \"zone_id\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"rows\": 1, \"spots_per_row\": 1, \"origin_x\": 1, \"origin_y\": 1, \"spacing_x\": 1, \"spacing_y\": 1, \"row_label_style\": \"letters\", \"first_row_label\": \"example\", \"number_start\": 1, \"numbering\": \"per_row\", \"direction\": \"ltr\", \"label_format\": \"example\", \"kind\": \"umbrella\", \"asset\": \"example\", \"shape\": { \"type\": \"circle\", \"w\": 1, \"h\": 1 }, \"rotation\": 1, \"capacity\": { \"additionalProperty\": 1 }, \"apply\": true }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("cookie", "arenile_session=<arenile_session>") 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/admin/v1/establishments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/maps/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/generate-rows';const options = { method: 'POST', headers: { cookie: 'arenile_session=<arenile_session>', 'Content-Type': 'application/json' }, body: '{"zone_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","rows":1,"spots_per_row":1,"origin_x":1,"origin_y":1,"spacing_x":1,"spacing_y":1,"row_label_style":"letters","first_row_label":"example","number_start":1,"numbering":"per_row","direction":"ltr","label_format":"example","kind":"umbrella","asset":"example","shape":{"type":"circle","w":1,"h":1},"rotation":1,"capacity":{"additionalProperty":1},"apply":true}'};
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/admin/v1/establishments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/maps/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/generate-rows \ --header 'Content-Type: application/json' \ --cookie arenile_session=<arenile_session> \ --data '{ "zone_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "rows": 1, "spots_per_row": 1, "origin_x": 1, "origin_y": 1, "spacing_x": 1, "spacing_y": 1, "row_label_style": "letters", "first_row_label": "example", "number_start": 1, "numbering": "per_row", "direction": "ltr", "label_format": "example", "kind": "umbrella", "asset": "example", "shape": { "type": "circle", "w": 1, "h": 1 }, "rotation": 1, "capacity": { "additionalProperty": 1 }, "apply": true }'Authorizations
Sezione intitolata “Authorizations”Parameters
Sezione intitolata “Parameters”Path Parameters
Sezione intitolata “Path Parameters”Header Parameters
Sezione intitolata “Header Parameters”ETag (versione) letto in precedenza: se non coincide la richiesta fallisce con 412 version_conflict. * equivale a “qualsiasi versione”. È accettata anche la forma debole W/"3" prodotta dai proxy che comprimono le risposte (ADR 0008).
Obbligatorio per le richieste autenticate via cookie che modificano
dati: deve coincidere con il valore del cookie arenile_csrf.
Request Bodyrequired
Sezione intitolata “Request Bodyrequired”Generatore di file (spec 11.2).
object
Zona assegnata alle postazioni generate.
Coordinata x della prima postazione.
Distanza tra postazioni della stessa fila.
Distanza tra file.
Etichetta della prima fila (default A o 1).
Default 1.
Numerazione che riparte a ogni fila o continua.
Default “{row}{number}”.
Famiglia della postazione (semantica: pacchetti e regole possono richiederla). I valori sunbed, daybed, cabana e hammock coprono le famiglie prenotabili del kit mappa (ADR 0012).
Illustrazione del kit mappa (id di assets/map-kits/*/manifest.json, uguali in ogni kit; ADR 0012, 0024). Assente = illustrazione predefinita del tipo. Le postazioni accettano solo illustrazioni prenotabili.
object
Quantità per codice componente (es. {“umbrella”: 1, “sunbed”: 2}).
object
False = anteprima; true = aggiunge le postazioni alla mappa (richiede If-Match).
Responses
Sezione intitolata “Responses”Postazioni generate
object
object
ID di una postazione esistente da aggiornare; assente = nuova postazione.
Famiglia della postazione (semantica: pacchetti e regole possono richiederla). I valori sunbed, daybed, cabana e hammock coprono le famiglie prenotabili del kit mappa (ADR 0012).
Illustrazione del kit mappa (id di assets/map-kits/*/manifest.json, uguali in ogni kit; ADR 0012, 0024). Assente = illustrazione predefinita del tipo. Le postazioni accettano solo illustrazioni prenotabili.
object
Quantità per codice componente (es. {“umbrella”: 1, “sunbed”: 2}).
object
Quantità per codice componente (es. {“umbrella”: 1, “sunbed”: 2}).
object
Etichette già presenti sulla mappa.
Documento completo della mappa; la versione è anche nell’header ETag.
object
object
Testo localizzato lingua → testo (es. {“it”: “Prima fila”}); si ricade sulla lingua predefinita.
object
Sfondo opzionale della mappa (spec 11.2).
object
URL dell’immagine (type=image).
Perimetro GeoJSON (type=geojson).
object
Versione per la concorrenza ottimistica; coincide con l’ETag.
Postazione prenotabile.
object
Famiglia della postazione (semantica: pacchetti e regole possono richiederla). I valori sunbed, daybed, cabana e hammock coprono le famiglie prenotabili del kit mappa (ADR 0012).
Illustrazione del kit mappa (id di assets/map-kits/*/manifest.json, uguali in ogni kit; ADR 0012, 0024). Assente = illustrazione predefinita del tipo. Le postazioni accettano solo illustrazioni prenotabili.
object
Quantità per codice componente (es. {“umbrella”: 1, “sunbed”: 2}).
object
Quantità per codice componente (es. {“umbrella”: 1, “sunbed”: 2}).
object
Elemento decorativo non prenotabile.
object
Illustrazione del kit mappa (id di assets/map-kits/*/manifest.json, uguali in ogni kit; ADR 0012, 0024). Assente = illustrazione predefinita del tipo. Le postazioni accettano solo illustrazioni prenotabili.
Variante di colore dell’illustrazione, se l’illustrazione ne prevede (bandiera_mare: green, yellow, red).
object
Testo localizzato lingua → testo (es. {“it”: “Prima fila”}); si ricade sulla lingua predefinita.
object
Example
{ "spots": [ { "kind": "umbrella", "shape": { "type": "circle" } } ], "document": { "map": { "background": { "type": "image" }, "sea_side": "top" }, "spots": [ { "kind": "umbrella", "shape": { "type": "circle" } } ], "decorations": [ { "kind": "walkway", "shape": { "type": "circle" } } ] }}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"}Autenticazione assente o 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"}Permesso negato
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"}Conflitto con lo stato corrente
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"}Versione non aggiornata (version_conflict, con current_version)
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"}Header If-Match mancante (precondition_required)
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"}
