XUND API Documentation

GET /v1/services/filters

Get filters endpoint is used to get available filters at a location or country. Its response can be used to build the search form and send the user selected filter values back to the server.

Request

Additional Header parameters:

Parameter name

Parameter type

Parameter description

language

ClientLanguage

The expected language of the response

Additional Query parameters:

Parameter name

Parameter type

Parameter description

specializationTypes

GenericSpecializationType[]?

Default value includes all supported types.

The specialization types the filters should be filtering. Filters might differ in case of different selected types, eg. HOSPITAL type has no gender. In this case the filter will be omitted.

countryCode

CountryCode?

A country code supported by XUND

location

Location?

An object of latitude-longitude pair

Exactly one of countryCode or location parameters is mandatory.

Response

Property list:

See Filters and Filter object documentation and the example response for a more comprehensible explanation

Any filter key except name is, or might be optional in the future.

Property name

Property type

Property description

name

https://xund.atlassian.net/wiki/spaces/PUB/pages/142442599/Filter#TEXT

Filter used to search in names of Medical Services

genders

https://xund.atlassian.net/wiki/spaces/PUB/pages/142442599/Filter#MULTISELECT

Filter gender of the Medical Services

Only filters services with GenericSpecializationType DOCTOR. All other services will not be affected and will be returned.

specializations

https://xund.atlassian.net/wiki/spaces/PUB/pages/142442599/Filter#MULTISELECT

Filter for specialization types of the service.

openingHours

https://xund.atlassian.net/wiki/spaces/PUB/pages/142442599/Filter#FILTER_LIST

Filter for opening hours of the service.

insurers

https://xund.atlassian.net/wiki/spaces/PUB/pages/142442599/Filter#MULTISELECT

Filter for supported insurers of the service.

location

https://xund.atlassian.net/wiki/spaces/PUB/pages/142442599/Filter#LOCATION

Filter for location of the service.

Example response

See filter value usage at POST /v1/services/filters/apply endpoint documentation.

JSON
{
    "name": {
        "text": "Name",
        "type": "TEXT"
    },
    "genders": {
        "text": "Genders",
        "type": "MULTISELECT",
        "values": [
            {
                "value": "80e5d6f2-d486-45c7-8e3e-7e73e3dd0519",
                "code": "FEMALE",
                "text": "Female"
            },
            {
                "value": "b23eb6b5-fc24-4a49-bf7d-ab695c8f04a1",
                "code": "MALE",
                "text": "Male"
            }
        ]
    },
    "specializations": {
        "type": "MULTISELECT",
        "text": "Specializations",
        "values": [
            {
                "text": "Pharmacy",
                "value": "f68591e1-b5cd-45bb-aa75-9f8ff880d0e7",
                "code": "PHARMACY"
            },
            {
                "text": "Hospital",
                "value": "f82a81ed-e186-4bc7-a19f-307acd5aaf83",
                "code": "HOSPITAL"
            },
            {
                "text": "Nephrology",
                "value": "fa5255f0-5be1-4bbe-a86a-a0215146c314",
                "code": "DOCTOR"
            },
            {
                "text": "Medical performance physiology",
                "value": "fc9b2fd1-257f-4cf0-abf5-8581bb24356a",
                "code": "DOCTOR"
            },
            {
                "text": "Internal Medicine and Pneumology",
                "value": "fcad69cb-0b30-491b-b3f8-088b1723eaae",
                "code": "DOCTOR"
            }
        ],
        "selectionLimit": 15
    },
    "openingHours": {
        "text": "Opening Hours",
        "type": "FILTER_LIST",
        "filters": {
            "mon": {
                "type": "MULTISELECT",
                "text": "Monday",
                "shortText": "Mon",
                "values": [
                    {
                        "value": "9f609b60-ab5a-42f9-8038-b1b8291f54db",
                        "code": "FORENOON",
                        "text": "Forenoon"
                    },
                    {
                        "value": "a806eb0f-8746-4b9c-a930-98e10efa7dfd",
                        "code": "AFTERNOON",
                        "text": "Afternoon"
                    }
                ]
            },
            "tue": {
                "type": "MULTISELECT",
                "text": "Tuesday",
                "shortText": "Tue",
                "values": [
                    {
                        "value": "9f609b60-ab5a-42f9-8038-b1b8291f54db",
                        "code": "FORENOON",
                        "text": "Forenoon"
                    },
                    {
                        "value": "a806eb0f-8746-4b9c-a930-98e10efa7dfd",
                        "code": "AFTERNOON",
                        "text": "Afternoon"
                    }
                ]
            },
            "wed": {
                "type": "MULTISELECT",
                "text": "Wednesday",
                "shortText": "Wed",
                "values": [
                    {
                        "value": "9f609b60-ab5a-42f9-8038-b1b8291f54db",
                        "code": "FORENOON",
                        "text": "Forenoon"
                    },
                    {
                        "value": "a806eb0f-8746-4b9c-a930-98e10efa7dfd",
                        "code": "AFTERNOON",
                        "text": "Afternoon"
                    }
                ]
            },
            "thu": {
                "type": "MULTISELECT",
                "text": "Thursday",
                "shortText": "Thu",
                "values": [
                    {
                        "value": "9f609b60-ab5a-42f9-8038-b1b8291f54db",
                        "code": "FORENOON",
                        "text": "Forenoon"
                    },
                    {
                        "value": "a806eb0f-8746-4b9c-a930-98e10efa7dfd",
                        "code": "AFTERNOON",
                        "text": "Afternoon"
                    }
                ]
            },
            "fri": {
                "type": "MULTISELECT",
                "text": "Friday",
                "shortText": "Fri",
                "values": [
                    {
                        "value": "9f609b60-ab5a-42f9-8038-b1b8291f54db",
                        "code": "FORENOON",
                        "text": "Forenoon"
                    },
                    {
                        "value": "a806eb0f-8746-4b9c-a930-98e10efa7dfd",
                        "code": "AFTERNOON",
                        "text": "Afternoon"
                    }
                ]
            },
            "sat": {
                "type": "MULTISELECT",
                "text": "Saturday",
                "shortText": "Sat",
                "values": [
                    {
                        "value": "9f609b60-ab5a-42f9-8038-b1b8291f54db",
                        "code": "FORENOON",
                        "text": "Forenoon"
                    },
                    {
                        "value": "a806eb0f-8746-4b9c-a930-98e10efa7dfd",
                        "code": "AFTERNOON",
                        "text": "Afternoon"
                    }
                ]
            },
            "sun": {
                "type": "MULTISELECT",
                "text": "Sunday",
                "shortText": "Sun",
                "values": [
                    {
                        "value": "9f609b60-ab5a-42f9-8038-b1b8291f54db",
                        "code": "FORENOON",
                        "text": "Forenoon"
                    },
                    {
                        "value": "a806eb0f-8746-4b9c-a930-98e10efa7dfd",
                        "code": "AFTERNOON",
                        "text": "Afternoon"
                    }
                ]
            }
        }
    },
    "location": {
        "text": "Location",
        "type": "LOCATION"
    }
}

The resulting filter data should be sent to POST /v1/services/filters/apply endpoint.