Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: Video.js (HTML5 Video Player) 10.0.0-alpha1 First alpha version released for module videojs (10.0.0-alpha1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

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.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
3
Tracked since
Jun 2026
Latest release
2 months ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

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