Käsitteet
Aikavyöhykkeet
Ajanhetket ovat ISO 8601 -muodossa UTC-aikana. Kun aikaa luetaan ihmiselle, sen vieressä on tapahtumapaikan paikallinen aika ja tapahtuman aikavyöhyke.
Kaksi aikatyyppiä
Ajanhetket kertovat, milloin jotain tapahtui tai tapahtuu: ilmoittautuminen, maksu, saapuminen, ohjelmaosuuden alku. Ne ovat ISO 8601 -muodossa UTC-aikana millisekunteineen ja Z-päätteineen, ja niiden nimet päättyvät Utc:
"checkedInUtc": "2026-11-12T07:58:12.000Z"Paikalliset ajat ovat sitä, mitä tapahtumapaikalla oleva ihminen lukee ohjelmasta. Ohjelmaosuuksilla, vuoroilla, alennuskoodeilla ja myyntiajoilla ne ovat ajanhetken vieressä, tapahtumapaikan omassa ajassa ilman aikavyöhykettä, ja niiden nimet päättyvät Local:
{
"title": "Opening keynote: software that finds its way",
"startsUtc": "2026-11-12T08:30:00.000Z",
"startsLocal": "2026-11-12T09:30",
"timeZone": "Europe/Amsterdam"
}Tapahtuma ilmoittaa tapahtumapaikan IANA-aikavyöhykkeen kentässä timeZone. Sen startDate ja endDate ovat pelkkiä päivämääriä tapahtumapaikalla.
Kumpaa käyttää
- Vertailuun, lajitteluun, tallentamiseen ja laskentaan: ajanhetki UTC-aikana.
- Ajan näyttämiseen jollekulle: paikallinen aika sellaisenaan tai ajanhetki muunnettuna tapahtuman
timeZone-aikavyöhykkeeseen. Ei koskaan palvelimesi aikavyöhykkeeseen: Amsterdamissa klo 9.30 alkava ohjelmaosuus alkaa klo 9.30 jokaiselle osallistujalle, olipa hänen kannettavansa missä tahansa. - Kellonsiirrot on jo otettu huomioon: lokakuun viimeisen sunnuntain ohjelmaosuudella on paikallista aikaansa vastaava oikea UTC-ajanhetki.
Aikojen lähettäminen
Lähettämäsi ajanhetket (salesEndUtc, endsUtc) luetaan UTC-aikana sisällöstä riippumatta: siirtymä, kuten +01:00, huomioidaan, ja aika ilman siirtymää on UTC, ei koskaan palvelimen aikavyöhyke. Sama koskee updatedSince-parametria.
Uuden ohjelmaosuuden ajan voi antaa paikallisena aikana (startsLocal, endsLocal), jolloin AttendBeacon muuntaa sen tapahtuman aikavyöhykkeellä, tai UTC-aikana (startsUtc, endsUtc). Paikallinen aika on yleensä se, mikä sinulla on: siitä puhujan kanssa sovittiin.
curl -X POST "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sessions" \
-H "Authorization: Bearer $ATTENDBEACON_KEY" \
-H "Content-Type: application/json" \
-d '{ "title": "Closing keynote: what we learned", "kind": "keynote", "startsLocal": "2026-11-13T16:30", "endsLocal": "2026-11-13T17:15" }'await fetch(`${base}/events/${eventId}/sessions`, {
method: "POST",
headers: { Authorization: `Bearer ${key}`, "Content-Type": "application/json" },
body: JSON.stringify({ title: "Closing keynote: what we learned", kind: "keynote", startsLocal: "2026-11-13T16:30", endsLocal: "2026-11-13T17:15" })
});Päivät yhteenvedoissa
Kun rajapinta laskee päiväkohtaisesti (myyntitahti), päivät ovat tapahtumapaikan päiviä sen aikavyöhykkeellä, joten Amsterdamissa klo 0.30 tehty ilmoittautuminen lasketaan sille päivälle eikä UTC-ajan mukaiselle edelliselle päivälle.