Use GSB_KYK_DORM when your integration expects a KYK dorm or accommodation certificate.

This is a document-specific verification path. It verifies authenticity first, then applies the KYK dorm extraction and decision rules.

Request shape

Pass the document type at verification creation time:

{
  "document_type": "GSB_KYK_DORM",
  "process_type": "async",
  "external_reference_id": "dorm-12345",
  "original_filename": "belge.pdf",
  "file_size_bytes": 160585
}

The same signed-upload flow still applies:

  1. create the verification
  2. upload the PDF to the signed URL
  3. call upload-complete
  4. wait for webhook delivery or fetch the verification result

What is verified

Current product behavior is authenticity-first:

  • the worker validates the uploaded bytes
  • the platform performs authenticity checks through its configured authority adapter
  • the dorm-specific extraction path runs only after authenticity succeeds

If the uploaded file does not pass authenticity checks, do not trust the extracted accommodation data.

Structured data fields

The shipped schema version is 1.1.0.

Current normalized payload fields:

  • name
  • last_name
  • father_name
  • mother_name
  • birth_date
  • city
  • county
  • dorm_name
  • registered_date
  • student_in_dorm

Integration note:

  • student_in_dorm is the key business field for this document type
  • when student_in_dorm is true, the validation rules require city, county, dorm_name, and a valid registered_date
  • when the certificate states the person is not currently accommodated, those dorm-specific values can be less informative even though the document itself may still be authentic

Expected result behavior

GSB_KYK_DORM can currently finish in three different terminal shapes:

verified

The document finishes as verified when:

  • authenticity is verified
  • structured data exists and can be decoded
  • schema validation passes
  • confidence is above the automatic verification threshold
  • student_in_dorm is true

Terminal reason code:

  • verified_gsb_kyk_dorm

review_required

The document falls back to review_required when the dorm-specific extraction path is incomplete or unreliable.

Current review-oriented reason codes:

  • gsb_kyk_dorm_structured_data_missing
  • gsb_kyk_dorm_payload_invalid
  • gsb_kyk_dorm_schema_invalid
  • gsb_kyk_dorm_low_confidence

rejected

The document can finish as rejected when authenticity succeeds but the certificate says the person is not currently accommodated in a KYK dorm.

Terminal reason code:

  • gsb_kyk_dorm_not_accommodated

General authenticity failures can still occur before those dorm-specific outcomes, for example:

  • source_verification_failed
  • authenticity_missing_qrcode
  • authenticity_source_missing
  • authenticity_hash_mismatch
  • authenticity_lookup_failed

Example normalized payload

{
  "name": "Jane",
  "last_name": "Customer",
  "father_name": "Mehmet",
  "mother_name": "Ayse",
  "birth_date": "2002-04-18",
  "city": "Ankara",
  "county": "Cankaya",
  "dorm_name": "Example KYK Dorm",
  "registered_date": "2023-09-20",
  "student_in_dorm": true
}

Integration guidance

  • Persist reason_code together with top-level status.
  • Treat student_in_dorm as the business outcome field for downstream workflows.
  • Handle rejected separately from review_required; they mean different things.
  • Keep authenticity failures distinct from dorm-status failures in your support tooling.
  • Use separate sandbox and production apps, keys, and webhook URLs.

Related docs