Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

Saudi National Address provides an authoritative, reusable source of
Saudi Arabia's administrative geography — regions → cities →
districts
— with full Arabic/English translations, ready-to-use dependent
address fields, and a single service that centralises all address logic.

Data is sourced from the
yasseralsamman/saudi-national-address
package and imported into three translatable taxonomy vocabularies
(sna_region, sna_city, sna_district) via a Drush
command or an admin UI.

Key features

  • Bilingual taxonomy: ~13 regions, ~4,500 cities and thousands
    of districts, with English (default) and Arabic translations.
  • Dependent address fields: attach standard entity reference
    fields to any entity and get a cascading region → city → district experience:
    choosing a region filters the city options, and choosing a city filters the district
    options. A custom selection handler also rejects, on submit, any child that does not
    belong to the selected parent.
  • AddressResolver service: the single source of address logic.
    Resolve a full hierarchy from an 11-digit district ID, look up regions/cities/districts
    by their National Address ID, navigate the hierarchy, run typeahead searches, work with
    geo coordinates (nearest city/region, distance), and validate hierarchies. Returns typed,
    language-aware value objects.
  • Idempotent importer: seed or refresh the data with
    drush sna:import (or from Configuration » Regional » Saudi
    National Address
    ), using the Batch API so large datasets do not time out.

Requirements

  • Drupal 10+
  • PHP 8.1+
  • The yasseralsamman/saudi-national-address Composer package composer require yasseralsamman/saudi-national-address

For installation steps, the full AddressResolver API, and instructions on
wiring up dependent fields, see the README.md file of the module.

Activity

Total releases
1
First release
Jun 2026
Latest release
22 hours ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.0-alpha1 Pre-release Jun 2, 2026