{{define "title"}}{{.Title}}{{end}}
{{define "content"}}
{{if .Data.RescheduleToken}}Pick a new time.{{else}}{{duration .Data.DurationMin}} with {{.Data.HostName}}.{{end}}{{.Data.Title}}
{{.}}
{{end}} {{if .Data.Gone}} {{template "callout" dict "Tone" "warning" "Body" "That time has just gone. The times still free are below." "Alert" true}} {{end}} {{with .Data.Error}} {{template "callout" dict "Tone" "negative" "Body" . "Alert" true}} {{end}} {{/* The zone, as a plain form. Scriptless it is a select and a button; booking.js may preselect the browser's zone when none was chosen (data-chosen says one was). */}} {{if .Data.Picked}} {{/* Step two: the slot is fixed; now who is booking it. */}}