Appointments

How to list, create, update and cancel appointments

List appointments

GET https://api.daslab.app/locations/:id/appointments

Path Parameters

NameTypeDescription

id

string

ID of your location

Query Parameters

NameTypeDescription

date

string

15/04/2021

offset

string

These come 20 at a time, so use the offset to get several pages

Headers

NameTypeDescription

x-api-key

string

Authentication token

[]

Create an appointment

POST https://api.daslab.app/appointments

Attention: An appointment will get cancelled after 15 minutes if not paid for. You must create a transaction and add patients before you can add a sample.

Headers

NameTypeDescription

x-api-key

string

Request Body

NameTypeDescription

newUser.phoneNumber

string

Required if not for your own user

newUser.email

string

Required if not for your own user

productId

number

Id of product appointment is for

people

number

Number of customers eg: 1, min: 1 max: 6

locationId

number

Location id of sampling station

datetime

string

Javascript date of slot eg "2021-07-06T09:00:00.000Z"

Appointment object see get an appointment

Get an appointments

GET https://api.daslab.app/appointments/:id

Path Parameters

NameTypeDescription

id

string

Headers

NameTypeDescription

x-api-key

string

{
    "id": 10000,
    "userId": 1000,
    "orgId": 1000,
    "locationId": 1000,
    "datetime": "2021-05-05T07:00:00.000Z",
    "slotRef": "05/05/21-07:00",
    "people": 1,
    "status": "scheduled",
    "sandbox": false,
    "paymentStatus": "accepted",
    "paymentMethod": "code",
    "createdAt": "2021-04-30T15:58:22.114Z",
    "updatedAt": "2021-04-30T15:58:44.290Z",
    "products": [
        {
            "id": 1196,
            "name": "PCR-Test",
            "description": "COVID-19-Test (PCR-Test; Rachen-Abstrich)",
            "type": "covid-pcr",
            "orgId": 1215,
            "locationId": 1206,
            "published": true,
            "price": "75.00",
            "currency": "EUR",
            "latestVersion": true,
            "versionOf": null,
            "createdAt": "2021-03-05T13:10:31.245Z",
            "updatedAt": "2021-03-05T17:10:33.199Z"
        }
    ],
    "user": {
        "id": 3,
        "uid": "vdI8SCDdS1Sx2er7yhNzYC0LZI83",
        "email": "etiennea@gmail.com",
        "emailVerified": true,
        "phoneNumber": null,
        "displayName": null,
        "referenceId": null,
        "language": "en",
        "createdOnPlatform": "web",
        "createdOnTheme": "daslab",
        "createdByUserId": 0,
        "stripeUserId": "cus_J8DNns8rfgZL3e",
        "sandbox": false,
        "createdAt": "2020-10-30T12:48:35.141Z",
        "updatedAt": "2021-05-02T16:10:25.844Z"
    },
    "transactions": [
        {
            "id": 94956,
            "userId": 3,
            "appointmentId": 90794,
            "orgId": 1215,
            "locationId": 1206,
            "receiptNumber": 9999999,
            "provider": "code",
            "codeId": 1018,
            "status": "paid",
            "value": "0.00",
            "currency": "EUR",
            "tax": "0.00",
            "taxRate": "19.00",
            "euroValue": "0.00",
            "euroTax": "0.00",
            "daslabFee": "2.00",
            "sandbox": false,
            "createdAt": "2021-04-30T15:58:44.307Z",
            "updatedAt": "2021-04-30T15:58:44.307Z"
        }
    ],
    "results": [],
    "location": {
        "id": 1206,
        "orgId": 1215,
        "countryIso2": "DE",
        "type": "sampler",
        "name": "Corona Walk-In Düsseldorf (Labor ZOTZ|KLIMAS)",
        "lat": "51.22125",
        "lng": "6.79198",
        "addressLine1": "Immermannstr. 65D",
        "addressLine2": "",
        "city": "Düsseldorf",
        "postcode": "40210",
        "capacity": 235344,
        "published": true,
        "contactEmail": "covid-19@zotzklimas.de",
        "contactPhone": "0211 27 101 1919",
        "supportEmail": "",
        "supportPhone": "",
        "positiveEmails": "",
        "positivePhones": "",
        "advanceBookingDays": 30,
        "acceptSymptomatics": true,
        "onlyAcceptCodes": false,
        "notes": "",
        "timezone": "Europe/Berlin",
        "data": {
            "notes": "Bitte 30 Min vor dem Test nicht Essen, Trinken oder Zähne putzen. \nKeine Termingarantie - bitte planen Sie Wartezeit ein."
        },
        "externalBookingUrl": "",
        "createdAt": "2021-03-04T16:59:56.074Z",
        "updatedAt": "2021-03-17T08:35:03.467Z"
    },
    "patients": [
        {
            "id": 130447,
            "userId": 3,
            "accountOwner": false,
            "firstName": "TestName",
            "lastName": "TestSurname",
            "data": {
                "email": "testemail@daslab.app",
                "phoneNumber": "+4412345678",
                "birthDate": "11-11-2011",
                "gender": "male",
                "addressLine1": "Street",
                "addressLine2": "",
                "addressPostcode": "12345",
                "addressCity": "Berlin",
                "addressCountry": "DE",
                "passportNumber": "PassportNum",
                "notes": "Notes",
                "bloodThinners": false,
                "covidSymptoms": false
            },
            "createdAt": "2021-05-12T10:34:24.648Z",
            "updatedAt": "2021-05-12T10:34:24.648Z"
        }
    ]
}

Reschedule an appointment

PUT https://api.daslab.app/appointments/:id

Path Parameters

NameTypeDescription

id

string

Headers

NameTypeDescription

x-api-key

string

Cancel an appointment

DELETE https://api.daslab.app/appointments/:id

Path Parameters

NameTypeDescription

id

string

Headers

NameTypeDescription

x-api-key

string

Last updated