You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Tilojen ja opintojaksototeutusten varausten haku.

Oliomalli

Varaus

Varaus sisältää perustiedot varauksesta kuten sen ajankohan, ja lisäksi listan "resursseja" jotka voivat olla esimerkiksi tiloja tai opintojaksototeutuksia.

KenttäTyyppiKuvaus
idnumeroVarauksen yksilöllinen id
modifiedDatepvmKoska varausta on viimeksi muokattu

subject

tekstiVarauksen otsikko
descriptiontekstiMahdollinen varauksen lisätieto
startDatepvmVarauksen alkamisajankohta
endDatepvmVarauksen päättymisajankohta
resourceslistaVaraukseen linkitetyt resurssit
Varauksen resurssi
KenttäTyyppiKuvaus
idnumeroResurssin yksilöllinen id

type

tekstiResurssin tyyppi. realization - opintojaksototeutus, student_group - ryhmä, scheduling_group - opetusryhmä, room - tila, building - rakennus josssa tila sijaitsee
codeteksti

Resurssin koodi

nametekstiResurssin nimi

Esimerkki:

{
      "id": "838403",
      "subject": "Spanish 3 LX00AC52-3001",
      "modifiedDate": "2013-09-02T14:31",
      "startDate": "2013-11-01T08:00",
      "endDate": "2013-11-01T10:45",
      "resources": [{
         "id": "32961",
         "type": "realization",
         "code": "LX00AC52-3001",
         "name": "Spanish 3"
      }, {
         "id": "32858",
         "type": "student_group",
         "code": "LITO_VV",
         "name": "LITO_VV"
      }, {
         "id": "786",
         "type": "room",
         "code": "VTYA215",
         "name": "Teorialuokka",
         "parent": {
            "id": "764",
            "type": "building",
            "code": "VTY",
            "name": "Leiritie 1"
         }
      }]
}

Haku
KenttäTyyppiKuvaus

subject

tekstiVapaa tekstihaku otsikosta
startDatepvmVarauksen alkuajankohdan pitää olla sama tai suurempi kuin annettu arvo
endDatepvmVarauksen päättymisajankohdan pitää olla sama tai pienempi kuin annettu arvo.
rangeStartpvm

Varauksen loppu-ajankohta on annettuna ajankohtana tai sen jälkeen.

Varaus osuu rangeStart - rangeEnd päivämäärävälille. Molemmat parametrit pitää antaa jos jompi kumpi määritelty.

rangeEndpvmVarauksen alku-ajankohta on ennen annettua ajankohtaa
realizationlistaVaraus koskee annettua opintojaksototeutusta (opintojaksototeutuksen koodi)
studentGrouplistaVaraus koskee annettua ryhmää (ryhmän koodi).
roomlistaVaraus on annetussa tilassa (tilan koodi)
buildinglistaVaraus on tilassa joka sijaitsee annetussa rakennuksessa (rakennuksen koodi)
fromnumeroPalauta hakutulokset annetusta numerosta eteenpäin. Oletus 0.
sizenumeroPalautettavien tulosten maksimimäärä. Oletus 1000.

Haku on "AND" -haku kenttien välillä. Lista -tyyppiset parametrit ovat "OR" saman tyyppisen listan sisällä olevien elementtien välillä.

Esimerkiksi:

{
   "startDate": "2013-11-22T09:00",
   "endDate": "2013-11-22T10:00",
   "room": ["G201"]
}
Vastaus
KenttäKuvaus
statusTieto onnistuiko pyyntö vai oliko mahdollisia virheitä. "success", "warn", "error"
messageMahdollinen tarkentava viesti esimerkiksi virhetilanteissa.
reservationsLista varauksia.
{
   "status": "success",
   "reservations": [{
      "id": "840509",
      "subject": "G201 test",
      "modifiedDate": "2013-11-18T13:11",
      "startDate": "2013-11-22T09:00",
      "endDate": "2013-11-22T10:00",
      "resources": [{
         "id": "3",
         "type": "room",
         "code": "G201",
         "name": "Auditorio",
         "parent": {
            "id": "2",
            "type": "building",
            "code": "AGRICO",
            "name": "Agricolankatu 1-3"
         }
      }]
   }]
}

Rajapinta

Yksittäisen varauksen tietojen hakeminen
curl -u "oma_api_key:" http://opendata.metropolia.fi/r1/reservation/816121

Varausten hakeminen

Anna hakuparametriksi ylhäällä kuvattu "Haku" -olion mukainen JSON. Jokin haun kentistä pitää olla määriteltynä jotta haku palauttaisi tuloksia.

curl -u "oma_api_key:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{
   "startDate":"2013-11-22T09:00", "endDate":"2013-11-22T15:00", "room":["G205"]
}'

 

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. Näinollen jos haluat kaikki tietyn ryhmän opetustapahtumat voit hakea pelkällä ryhmällä varauksia.

Esimerkiksi:

# tiettyjen toteutusten varausten haku
curl -u "oma_api_key:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{
   "realization":["SB00AA01-2000", "SB00AA03-2000", "SB00AA04-2000", "SB00AA06-2001"]
}'
 
# tietyn ryhmän varausten haku. Huomaa että et voi samassa pyynnössä hakea sekä tiettyjen toteutusten 
# että ryhmien varauksia koska hakuehto eri tyyppisten kenttien välillä on AND
 curl -u "oma_api_key:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{
   "studentGroup":["SB13K2"]
}'

 

Alla oleva esimerkki hakee kaikki varaukset joiden alku-ajankohta on ennen klo 10.00, ja loppu-ajankohta on klo. 9.00 tai sen jälkeen, annetussa toimipisteessä.

curl -u "oma_api_key:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{
   "rangeStart": "2013-11-22T09:00",
   "rangeEnd": "2013-11-22T10:00",
   "building": ["AGRICO"]
}'

 

Jos haluat hakea esimerkiksi mitä opetusta on tiettynä ajankohtana, voit hakea varaukset jotka alkavat tietyn ajankohdan jälkeen. Vastaukesta 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 "oma_api_key:" -X POST http://opendata.metropolia.fi/r1/reservation/search -d '{
   "startDate": "2013-11-22T09:00",
   "endDate": "2013-11-22T15:00",
   "building": ["AGRICO"]
}'

Rakennusten ja tilojen listaaminen
curl -u "oma_api_key:" http://opendata.metropolia.fi/r1/reservation/building
curl -u "oma_api_key:" http://opendata.metropolia.fi/r1/reservation/building/373

Esimerkki vastauksesta:

 

{
  "status": "success",
  "building": {
    "id": "373",
    "type": "building",
    "code": "Test",
    "name": "Test Street 3 D",
    "places": 0
  },
  "resources": [{
    "id": "374",
    "type": "room",
    "code": "Testroom1",
    "name": "ATK-luokka",
    "resourceType": "ATK-luokka",
    "description": "Vain testikäytössä oleva virtuaalinen tila, jolla ei ole fyysisessä maailmassa vastinetta.",
    "places": 22
  }, {
    "id": "375",
    "type": "room",
    "code": "Testroom2",
    "name": "Opetustila",
    "resourceType": "Opetustila",
    "description": "Vain testikäytössä oleva virtuaalinen tila, jolla ei ole fyysisessä maailmassa vastinetta.\r\n",
    "places": 30
  }]
}

  • No labels
You must log in to comment.