# 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_HOLD
Checklist is currently on hold. Temporary status: usually, happens during rules updates REQUIRES_NATIONALITY_OR_BIRTHDATE
To continue, nationality
and/orbirthdate
have to be providedREQUIRES_ANSWERS
To continue, answers for required questions have to be provided FORMED
Checklist is formed, look for resolution_status
anditems
FINALIZED
Checklist is finalised (usually 4 hours post departure), no more edits allowed resolution_status
- checklist resolution statusResolution 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 requirementsMORE_THAN_TRAVEL_DOCUMENT_REQUIRED
Extra documents in addition to travel document are required to travel for this passenger, check items
to identify document requirementshas_nationality_question
-true
if nationality affects rules - require from passenger, unlessnationality
is not null (was provided already)has_birthdate_question
-true
if birthdate affects rules - require from passenger, unlessbirthdate
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 withanswer
- nullable answertitle
- 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 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-Language
header is supported by all relevant endpoints)is_info
- whether item isINFO
requirements
- list of requirements for each relevant field of the document (eg "expiryDate >= 2025-10-27")