---
# System prepended metadata

title: IQ API Documentation

---

# IQ API Documentation


## **API BASE URL**
	https://ole.iq2u.net/API/

## **AUTHENTICATION**

    ?key=[API-KEY]
#
	Example:
	https://ole.iq2u.net/API/GetCamps/?key=2A!wGvhrVA!W47-aFx-
	EDQixywhCtM@LAfYJN8BmaU4Zc934oaZmjRY!wvo8FD7dpVHfu9J.VcpzVLrdLDpomomfWBwNHvj3PrU
	
## **METHODS**
>1. GetCamps
>2. GetLocations
>3. GetSubcamps

### 1. GetCamps

Fetch Camp Dates

	https://ole.iq2u.net/API/GetCamps/

Fetches all camp dates
	

#### Result
```json
{
  "Camps": [
  {
    "CampName": "",
    "OskarId": "C21HAXX01",
    "Year": 2021,
    "Season": "Summer",
    "WeekNo": 1,
    "Start": "2021-06-07T00:00:00",
    "End": "2021-06-13T00:00:00",
    "Price": 250.0,
    "Discount": {
      "Title": "Geschwisterabatt",
      "Price": 25.0
    }
  },
  {
    "CampName": "",
      [...]
  }
]
}
```

#### Arguments

**year**
Fetch all Dates of a defined year
<span style="color:green;">Optional</span> (if not specified the current year will be used)

`https://ole.iq2u.net/API/GetCamps/?year=2021`


**id**
Fetch all Dates of a defined subcamp
<span style="color:green;">Optional</span> (if not specified all camps will be returned)

`https://ole.iq2u.net/API/GetCamps/?id=C21HAXX01`


**location**
Fetch all Dates of a defined location
<span style="color:green;">Optional</span> (if not specified dates of all locations will be returned)

`https://ole.iq2u.net/API/GetCamps/?location=Schloss%20Boitzenburg`

### 2. GetLocations

	https://ole.iq2u.net/API/GetLocations/

Fetches all locations

#### Result 
```json
{
"Locations": [
  {
    "Name": "Burg Rieneck",
    "OskarId": "LOC-ID",
    "Region": "Bayern",
    [fields have to be defined]
  },
  [...]
]
}
```
	
### 3. GetSubcamps

	https://ole.iq2u.net/API/GetSubcamps/

Fetches all subcamps

#### Result 
```json=
{
"subCamps": [
	{
		"Name": "FilmCamp Burg Rieneck",
		"OskarId": "CAMP-ID",
		"Location": "LOC-ID"
	},
	
]
}
```

&nbsp;
___
&nbsp;

## **BOOKING**
Send booking to IQ and receive a validated response.

    https://ole.iq2u.net/API/Booking/

**The booking process:**
1. The user collects camps in his/ her shopping cart

2. On the checkout page, the user enters his/ her personal, payment and insurance information and adds the travel and participants information.

3. By clicking on "continue" the [booking information will be send to IQ](#Data-sent-to-be-validated-by-IQ).
```https://ole.iq2u.net/API/Booking/validate/```

4. IQ responds with a validation state (success || error) and a validated response, which contains the [complete summary of the booking](#Validated-response-from-IQ).

5. By clicking on "Book Now" the form will finally send the booking to IQ
```https://ole.iq2u.net/API/Booking/complete/```


#### Data sent to be validated by IQ

[![](https://cloud.seitenmacher.media/index.php/s/j67j44WcPCBRr9E/preview)](https://cloud.seitenmacher.media/index.php/s/j67j44WcPCBRr9E)



```json=
{
  "booking": {
    "customer": {
      "firstName":    "Wolfgang",
      "lastName":     "Beims",
      "birthDate":    "1976-07-12",
      "street":       "Lauterstraße",
      "streetnumber": "21",
      "zipcode":      "12159",
      "addressLine2": "",
      "city":         "Berlin",
      "country":      "DE",
      "type":         "[parent,family,...???]",
      "email":        "w.beims@oskar-lernt-englisch.de",
      "phone":        "030-33937940",
      "mobile":       "0178-9509108"
    },
    "payment": {
      "accountHolder": "Wolfgang Beims",
      "iban":          "DE09500105172407868623"
    },
    "camps": [
      {
        "campId":             "C20ALF01",
        "name":               "FilmCamp Schloss Boitzenburg",
        "arrival":            "2022-04-09",
        "departure":          "2022-04-15",
        "collectionTransfer": {
          "name": "Berlin",
          "one-way": "no"
        },
        "insurance": {
          "id":   "1",
          "name": "Reiserücktrittkostenversicherung"
        },
        "participants":       [
          {
            "firstName":    "Max",
            "lastName":     "Beims",
            "birthDate":    "2011-07-12",
            "gender":       "m",
            "sibling":      "no"
          },
          {
            "firstName":    "Maxime",
            "lastName":     "Beims",
            "birthDate":    "2014-07-12",
            "gender":       "f",
            "sibling":      "yes"
          },
          {...more participants... }
        ]
      },
      {
        "campId":             "C20AGL02",
        "name":               "Reitcamp Born",
        "arrival":            "2022-04-09",
        "departure":          "2022-04-15",
        "collectionTransfer": "no",
        "insurance": {
          "id":   "2",
          "name": "Reiserücktrittkosten- und Reiseabbruchversicherung"
        },
        "participants":       [
          {
            "firstName":    "Hugo",
            "lastName":     "Montoya",
            "birthDate":    "20011-07-12",
            "gender":       "m",
            "sibling":      "no"
          },
          {
            "firstName":    "Felix",
            "lastName":     "Bergles",
            "birthDate":    "2009-08-19",
            "gender":       "m",
            "sibling":      "no",
          }
          {...more participants... }
        ]
      },
      {...more camps... }
    ]
    
  }
}
```

#### Validated response from IQ

[![](https://cloud.seitenmacher.media/index.php/s/cAQs3rsbZCgfBMd/preview)](https://cloud.seitenmacher.media/index.php/s/cAQs3rsbZCgfBMd)

```json=
{
  "booking": {
    "customer": {
      "firstName":    "Wolfgang",
      "lastName":     "Beims",
      "birthDate":    "1976-07-12",
      "street":       "Lauterstraße",
      "streetnumber": "21",
      "zipcode":      "12159",
      "addressLine2": "",
      "city":         "Berlin",
      "country":      "DE",
      "type":         "[parent,family,...???]",
      "email":        "w.beims@oskar-lernt-englisch.de",
      "phone":        "030-33937940",
      "mobile":       "0178-9509108"
    },
    "payment": {
      "accountHolder": "Wolfgang Beims",
      "iban":          "DE09500105172407868623"
    },
    "priceTotal":      "2154.80",
    "camps": [
      {
        "campId":             "C20ALF01",
        "arrival":            "2022-04-09",
        "departure":          "2022-04-15",
        "collectionTransfer": {
          "name":   "Berlin",
          "price":  "59.00"
        },
        "price":              "599.00",
        "priceTotal":        "1350.80",
        "participants":       [
          {
            "firstName":    "Max",
            "lastName":     "Beims",
            "birthDate":    "2011-07-12",
            "gender":       "m",
            "sibling":      "no",
            "price":        "687.90",
            "discount":     "no",
            "insurance": {
              "id":     "1",
              "name":   "Reiserücktrittkostenversicherung",
              "price":  "29.90"
            },
          },
          {
            "firstName":    "Maxime",
            "lastName":     "Beims",
            "birthDate":    "20014-07-12",
            "gender":       "f",
            "sibling":      "yes",
            "price":        "662.90",
            "discount":     {
              "name":  "Geschwisterrabatt",
              "price": "25.00"
            },
            "insurance": {
              "id":     "1",
              "name":   "Reiserücktrittkostenversicherung",
              "price":  "29.90"
            },
          }
        ]
      },
      {
        "campId":             "C20AGL02",
        "arrival":            "2022-04-09",
        "departure":          "2022-04-15",
        "collectionTransfer": "no",
        "price":              "399.00",
        "priceTotal":        "857.80",
        "participants":       [
          {
            "firstName":    "Max",
            "lastName":     "Beims",
            "birthDate":    "20011-07-12",
            "gender":       "m",
            "sibling":      "no",
            "price":        "428.90",
            "discount":     "no",
            "insurance": {
              "id":     "1",
              "name":   "Reiserücktrittkostenversicherung",
              "price":  "29.90"
            },
          },
          {
            "firstName":    "Felix",
            "lastName":     "Bergles",
            "birthDate":    "2009-08-19",
            "gender":       "m",
            "sibling":      "no",
            "price":        "428.90",
            "discount":     "no",
            "insurance": {
              "id":     "1",
              "name":   "Reiserücktrittkostenversicherung",
              "price":  "29.90"
            },
          }
        ]
      }
    ] 
  }
}
```