# Checklist
# 1. Integration scheme
# 1.1. Overview
Zamna Client provides Checklist API for Airline own applications/touch-points to interact with:

# 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:

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 idstatus- checklist statusStatus Description ON_HOLDChecklist is currently on hold. Temporary status: usually, happens during rules updates REQUIRES_NATIONALITY_OR_BIRTHDATETo continue, nationalityand/orbirthdatehave to be providedREQUIRES_ANSWERSTo continue, answers for required questions have to be provided FORMEDChecklist is formed, look for resolution_statusanditemsFINALIZEDChecklist is finalised (usually 4 hours post departure), no more edits allowed resolution_status- checklist resolution statusResolution status Description UNKNOWNChecklist was not yet formed ENTRY_NOT_ALLOWEDGiven provided answers, entry is not allowed for this passenger according to rules. Passenger may change answers to proceed ONLY_TRAVEL_DOCUMENT_REQUIREDOnly travel document is required to travel for this passenger, check itemsto identify document requirementsMORE_THAN_TRAVEL_DOCUMENT_REQUIREDExtra documents in addition to travel document are required to travel for this passenger, check itemsto identify document requirementshas_nationality_question-trueif nationality affects rules - require from passenger, unlessnationalityis not null (was provided already)has_birthdate_question-trueif birthdate affects rules - require from passenger, unlessbirthdateis 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 withanswer- nullable answertitle- question title and subtitle (localised)Localisations - for UI
All titles and descriptions are localised and returned by Zamna Client API (
Accept-Languageheader 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 answervalue- answer to question
# 3.4. Checklist item
id- checklist item iditem_type- checklist item typetitle- title (localised)description- description (localised)Localisations - for UI
All titles and descriptions are localised and returned by Zamna Client API (
Accept-Languageheader is supported by all relevant endpoints)is_info- whether item isINFOrequirements- list of requirements for each relevant field of the document (eg "expiryDate >= 2025-10-27")