Varaukset

Kalenterivaraukset (reservation) -rajapinta sisältää yksittäisten huonetilojen ja opintojaksototeutusten varaukset. Varaus sisältää perustiedot varauksesta kuten sen ajankohdan sekä lisäksi listan ”resursseja”, jotka voivat olla esimerkiksi tiloja tai opintojaksototeutuksia.

Rajapinnan osoite: https://opendata.tamk.fi/r1/reservation
Katso API-dokumentaatio Swagger UI:lla

Varauksiin liittyy myös tällä sivulla kuvattu rakennukset ja huonetilat (building) -metodi, jolla saa listattua kampusten rakennusten ja huonetilojen tietoja.

Varaus

Kenttä Tyyppi Kuvaus
id numero Varauksen yksilöllinen id
modifiedDate pvm Koska varausta on viimeksi muokattu
subject teksti Varauksen otsikko
description teksti Mahdollinen varauksen lisätieto
startDate pvm Varauksen alkamisajankohta
endDate pvm Varauksen päättymisajankohta
resources lista Varaukseen linkitetyt resurssit

Varauksen resurssi

Kenttä Tyyppi Kuvaus
id numero Resurssin yksilöllinen id
type teksti Resurssin tyyppi:
realization: opintojakson toteutus
student_group: ryhmä
scheduling_group: opetusryhmä
room: huonetila
building: rakennus, josssa huonetila sijaitsee
code teksti Resurssin koodi
name teksti Resurssin nimi

Varausten haku

Käytettävissä olevat hakukentät.

Kenttä Tyyppi Kuvaus
subject teksti Vapaa tekstihaku otsikosta
startDate pvm Varauksen alkuajankohdan pitää olla sama tai suurempi kuin annettu arvo
endDate pvm Varauksen päättymisajankohdan pitää olla sama tai pienempi kuin annettu arvo.
rangeStart pvm Varauksen alkuajankohta on annettuna ajankohtana tai sen jälkeen. Varaus osuu välille rangeStart – rangeEnd. Molemmat parametrit pitää antaa, jos toinen on annettu.
rangeEnd pvm Varauksen loppuajankohta on ennen annettua ajankohtaa
realization lista Varaus koskee annettua opintojaksototeutusta (opintojaksototeutuksen koodi)
studentGroup lista Varaus koskee annettua ryhmää (ryhmän koodi).
room lista Varaus on annetussa tilassa (tilan koodi)
building lista Varaus on tilassa joka sijaitsee annetussa rakennuksessa (rakennuksen koodi)
from numero Palauta hakutulokset annetusta numerosta eteenpäin. Oletus 0.
size numero Palautettavien tulosten maksimimäärä. Oletus 1000.

Haku on ”JA”-haku eri kenttien välillä. Lista-tyyppisten kenttien parametrit käyttävät ”TAI”-ehtoa saman listan sisällä olevien elementtien välillä.

Yksittäisen varauksen tietojen hakeminen

Kun varauksen tunniste on tiedossa, voidaan käyttää yksinkertaista GET-kyselyä:

curl -u "<API-avain>:" https://opendata.tamk.fi/r1/reservation/180733

Varausten laajempi haku

Huomaa että opintojaksototeutuksen varaukset voivat olla merkitty joko pelkästään opintojaksototeutukselle tai ryhmälle, tai sitten varauksella voi olla molemmat tiedot asetettuna.

Varauksiin tallennetaan yleensä sekä ryhmätieto että toteutus, jota varaus koskee. Jos siis haluat kaikki tietyn ryhmän opetustapahtumat, voit hakea varauksia pelkällä ryhmällä.

Voit tarkistaa, onko tietty aika vapaa tai mitä varauksia on käynnissä kyseisenä ajankohtana käyttämällä aikavälihakua (rangeStartrangeEnd).

Esimerkki: tiettyjen toteutusten varausten haku

curl -u "<API-avain>:" -X POST https://opendata.tamk.fi/r1/reservation/search -d '{
   "realization":["4-AOT5-3002", "4-ATV10-3002"]
}'

Esimerkki: tietyn ryhmän varausten haku

Huomaa, että et voi samassa pyynnössä hakea sekä toteutusten että ryhmien varauksia, koska hakuehto eri kenttien välillä on ”JA”.

curl -u "<API-avain>:" -X POST https://opendata.tamk.fi/r1/reservation/search -d '{
   "studentGroup":["13TIKOOT"]
}'

Esimerkki: hae kaikki varaukset, jotka ovat voimassa kello 9:n ja 10:n välillä annetussa rakennuksessa

Varaus on siis voinut alkaa ennen kello 9:ää, ja se voi jatkua kello 10:n jälkeen.

curl -u "<API-avain>:" -X POST https://opendata.tamk.fi/r1/reservation/search -d '{
   "rangeStart": "2014-10-22T09:00",
   "rangeEnd": "2014-10-22T10:00",
   "building": ["C-talo"]
}'

Esimerkki: hae mitä opetusta on tiettynä ajankohtana

Voit hakea varaukset, jotka alkavat tietyn ajankohdan jälkeen. Vastauksesta voit kerätä yksilölliset opintojaksototeutukset ja luokkahuoneet, joissa opetus järjestetään. Voit lisätä vielä hakuehdon rakennukselle, jos haluat vain tietyn toimipisteen opetustapahtumat.

curl -u "<API-avain>:" -X POST https://opendata.tamk.fi/r1/reservation/search -d '{
   "startDate": "2014-10-27T09:00",
   "endDate": "2014-10-27T15:00",
   "building": ["A-talo"]
}'

Esimerkki: tietyn huonetilan varaukset tietyllä aikavälillä

Huonetilat saa selvitettyä rakennukset ja huonetilat (building) -metodilla.

curl -u "<API-avain>:" -X POST https://opendata.tamk.fi/r1/reservation/search -d '{
   "startDate":"2014-10-27T08:00",
   "endDate":"2014-10-27T18:00",
   "room":["C4-12"]
}'

Haun vastaus

Kenttä Kuvaus
status Tieto onnistuiko pyyntö vai oliko mahdollisia virheitä. ”success”, ”warn”, ”error”
message Mahdollinen tarkentava viesti esimerkiksi virhetilanteissa.
reservations Lista varauksia

Edellisen esimerkkihaun vastaus:

{
  "reservations": [
    {
      "description": "",
      "resources": [
        {
          "name": "Atk-luokka, Tradenomikoulutus",
          "parent": {
            "name": "C-talo  Building C",
            "code": "C-talo",
            "type": "building",
            "id": "8"
          },
          "code": "C4-12",
          "type": "room",
          "id": "61"
        },
        {
          "name": "Open Source -käyttöjärjestelmän palvelut",
          "code": "4-ATV10-3002",
          "type": "realization",
          "id": "30363"
        },
        {
          "name": "13TIKOTV",
          "code": "13TIKOTV",
          "type": "student_group",
          "id": "29174"
        }
      ],
      "endDate": "2014-10-27T12:00",
      "startDate": "2014-10-27T08:00",
      "modifiedDate": "2014-09-24T17:01",
      "subject": "Open Source -käyttöjärjestelmän palvelut 4-ATV10-3002",
      "id": "207223"
    },
    {
      "description": "",
      "resources": [
        {
          "name": "Atk-luokka, Tradenomikoulutus",
          "parent": {
            "name": "C-talo  Building C",
            "code": "C-talo",
            "type": "building",
            "id": "8"
          },
          "code": "C4-12",
          "type": "room",
          "id": "61"
        },
        {
          "name": "Graafisen käyttöliittymän ohjelmointi",
          "code": "4-AOT5-3002",
          "type": "realization",
          "id": "30372"
        },
        {
          "name": "13TIKOOT",
          "code": "13TIKOOT",
          "type": "student_group",
          "id": "29164"
        }
      ],
      "endDate": "2014-10-27T17:00",
      "startDate": "2014-10-27T12:30",
      "modifiedDate": "2014-09-24T17:01",
      "subject": "Graafisen käyttöliittymän ohjelmointi 4-AOT5-3002",
      "id": "207240"
    }
  ],
  "status": "success"
}

Rakennukset ja huonetilat

Aloita listaamalla kaikki rakennukset yksinkertaisella kyselyllä rajapintaan:

curl -u "<API-avain>:" https://opendata.tamk.fi/r1/reservation/building

Tämän jälkeen voit hakea kaikki tietyn rakennuksen huonetilat:

curl -u "<API-avain>:" https://opendata.tamk.fi/r1/reservation/building/8

Tämä rajapinta ei mahdollista monimutkaisempia hakuja.