# Checklist

# 1. Integration scheme

# 1.1. Overview

Zamna Client provides Checklist API for Airline own applications/touch-points to interact with:

High-level architecture diagram

# 1.2. API docs

Zamna Checklist API utilises OpenAPI standard: Zamna Checklist OpenAPI specification (opens new window), which can be used to auto generate native API clients across a variety of platforms (OpenAPI generator (opens new window)).

Swagger (opens new window) and redoc (opens new window) documentation is also available.

# 1.3. Authentication model

Checklist API is intended to stay within Airline own infrastructure and used within private Network only - as such, no authentication model is in place.

# 2. Flow

# 2.1. Init

Call /start endpoint (swagger (opens new window), redoc (opens new window)) to initiate a session.

Note

checklist_id is an optional parameter - if not provided, Zamna will create a new checklist and auto generate its id.

When checklist_id is provided, Zamna will try to locate existing checklist and return its current state - otherwise, a new checklist will be created with this checklist_id.

This is useful when different touch-points and Airline systems interact with checklist of the same passenger - booking_id + passenger_key from DCS can be used to generate deterministic checklist_id.

Endpoint will return current state of the Checklist.

# 2.2. Get checklist

At any point, current state of the Checklist can be retrieved with /checklist/{checklist_id} endpoint (swagger (opens new window), redoc (opens new window)).

Localisations - for UI

Zamna Client API provides all necessary localisations for names, titles and descriptions for supported languages (Accept-Language header is supported by all relevant endpoints)

# 2.3. Set nationality, birthdate - if required

If nationality or birthdate are required, Checklist's status will be REQUIRES_NATIONALITY_OR_BIRTHDATE and no questions or checklist items will be present.

Checklist's has_nationality_question and has_birthdate_question, as well as nationality and birthdate properties indicate which data have to be collected from the passenger.

Collected nationality and/or birthdate may be then set with /checklist/{checklist_id}/answers endpoint (swagger (opens new window), redoc (opens new window)). It will also return updated Checklist, which may include questions.

# 2.4. Read questions, provide answers

If any relevant questions are still remain unanswered, Checklist's status will be REQUIRES_ANSWERS.

No checklist items will be present, as checklist has to be formed and requires certain answers from passenger.

Questions can be read from Checklist and presented in UI (or to an agent), eg:

Sample UI, questions

Localisations - for UI

All titles and descriptions are localised and returned by Zamna Client API (Accept-Language header is supported by all relevant endpoints)

Sample images for questions

For key questions, API returns sample image URLs (eg document samples, like in the screenshot above)

Answers to questions can be provided with /checklist/{checklist_id}/answers endpoint (swagger (opens new window), redoc (opens new window)). It will also return updated Checklist, which may include items in Checklist (once formed).

# 2.5. Read checklist items and requirements

If nationality and/or birthdate were already provided, and all required questions were answered, Checklist's status will be FORMED.

Checklist's resolution_status will indicate ENTRY_NOT_ALLOWED, ONLY_TRAVEL_DOCUMENT_REQUIRED, or MORE_THAN_TRAVEL_DOCUMENT_REQUIRED.

Checklist will also contain a list of Checklist items for the passenger to satisfy in order to become Ready To Fly.

Localisations - for UI

Zamna Client API provides all necessary localisations for names, titles and descriptions for all supported languages

For each checklist item, API provides a list of requirements for each field of the document that requires a check from an agent (eg "expiryDate >= 2025-10-27....").

# 3. Main models and statuses

# 3.1. Checklist

  • id - checklist id

  • status - checklist status

    Status Description
    ON_HOLD Checklist is currently on hold. Temporary status: usually, happens during rules updates
    REQUIRES_NATIONALITY_OR_BIRTHDATE To continue, nationality and/or birthdate have to be provided
    REQUIRES_ANSWERS To continue, answers for required questions have to be provided
    FORMED Checklist is formed, look for resolution_status and items
    FINALIZED Checklist is finalised (usually 4 hours post departure), no more edits allowed
  • resolution_status - checklist resolution status

    Resolution status Description
    UNKNOWN Checklist was not yet formed
    ENTRY_NOT_ALLOWED Given provided answers, entry is not allowed for this passenger according to rules. Passenger may change answers to proceed
    ONLY_TRAVEL_DOCUMENT_REQUIRED Only travel document is required to travel for this passenger, check items to identify document requirements
    MORE_THAN_TRAVEL_DOCUMENT_REQUIRED Extra documents in addition to travel document are required to travel for this passenger, check items to identify document requirements
  • has_nationality_question - true if nationality affects rules - require from passenger, unless nationality is not null (was provided already)

  • has_birthdate_question - true if birthdate affects rules - require from passenger, unless birthdate is not null (was provided already)

  • questions - list of questions to present to passenger (this blocks presenting items, if not all questions are answered)

  • items - list of checklist items

# 3.2. Question

  • type - discriminator for question type (yes-no-question, have-document-question, pick-from-list)

  • id - question id to sent answers with

  • answer - nullable answer

  • title - question title and subtitle (localised)

    Localisations - for UI

    All titles and descriptions are localised and returned by Zamna Client API (Accept-Language header is supported by all relevant endpoints)

  • sample_image_url - optional sample image to go with the question (eg document example image)

# 3.3. Answer

  • question_id - question id to answer

  • value - answer to question

# 3.4. Checklist item

  • id - checklist item id

  • item_type - checklist item type

  • title - title (localised)

  • description - description (localised)

    Localisations - for UI

    All titles and descriptions are localised and returned by Zamna Client API (Accept-Language header is supported by all relevant endpoints)

  • is_info - whether item is INFO

  • requirements - list of requirements for each relevant field of the document (eg "expiryDate >= 2025-10-27")