Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module provides a reusable administrative geography for Saudi Arabia, including regions, cities, and districts, with both Arabic and English translations. It offers dependent address fields that create a cascading selection experience for these locations and a central service to manage all address-related logic, including lookups and validation.

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. You can also do Reverse Lookup from LatLng to SNA.
  • 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
3
First release
Jun 2026
Latest release
1 month ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.0.0-alpha3 Pre-release Jun 8, 2026
1.0.0-alpha2 Pre-release Jun 4, 2026
1.0.0-alpha1 Pre-release Jun 2, 2026