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 (rangeStart, rangeEnd).
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.