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.

Business Identity

3 sites Security covered
View on drupal.org

This module provides a unified interface for managing business identity information by consolidating data from various sources into a single configuration page. It allows for easy overview, definition, and export of an organization's information, making it suitable for corporate environments and streamlining data management.

Objective:

Enhance the usability and accessibility of Drupal's administrative interface to meet business client standards by creating a unified configuration page that consolidates all business-related fields representing an enterprise, organization, retail location, or similar entity.

Field Sources:

The fields on this page primarily originate from three distinct sources:

  • Drupal Core
  • Third-party/Custom Modules
  • Custom Fields (not available elsewhere in the system)

Module Objectives:

Provide a comprehensive, easily understandable overview of business identity data

Define and export the business identity of the organization promoted through the Drupal installation

Key Benefits for Business Users:

  • Single-pane view for managing all business identity information
  • Streamlined data management across multiple data sources
  • Professional presentation suitable for corporate environments
  • Export capability for sharing business identity across systems
  • Intuitive organization reducing training time for administrative staff

This approach transforms Drupal's configuration management into a business-ready solution that aligns with enterprise requirements for data consolidation and brand consistency management.

Use Cases

Museums & Cultural Institutions

- Show exhibition hours and special event timing
- Display admission prices and membership info
- Educational program information
- Donor and sponsorship details

Hotels & Hospitality

- Room rates and availability integration
- Amenities and services display
- Check-in/check-out times
- Reservation contact information

Retail & Shops

- Store hours with seasonal variations
- Multiple location management
- Product/service categories
- Promotional event scheduling

Parks & Public Spaces

- Park hours and gate times
- Facility information (restrooms, picnic areas)
- Activity schedules
- Permit and reservation details

Organizations & Offices

- Departmental contact information
- Staff directory integration
- Meeting room availability
- Public service information

Contributing

We welcome contributions with:
- Detailed issue queue
- Development documentation
- Coding standards compliance
- Automated testing suite

*******************************

Usage Examples

In PHP code:

// Get comprehensive business info

$businessInfo = \Drupal::service('business_identity.manager')->getBusinessInfo();
$primaryContact = $businessInfo->getPrimaryContact();
$locations = $businessInfo->getLocations();

// Get specific information
$manager = \Drupal::service('business_identity.manager');
$name = $manager->getBusinessName();
$address = $manager->getFormattedAddress('headquarters', 'html');
$isOpen = $manager->isOpen();
$contactMethods = $manager->getContactMethods();

// Validate business information
$validation = $manager->validateBusinessInfo();
if ($validation['is_valid']) {
  // Business info is valid
}

Twig:

{# Get contact information #}
{% set contact = business_contact() %}
<p>Email: {{ contact.email }}</p>
<p>Phone: {{ contact.phone }}</p>

{# Get formatted address #}
<div class="address">
  {{ business_address('headquarters', 'html') }}
</div>

{# Check if business is open #}
{% if business_is_open() %}
  <span class="status-open">We're open!</span>
{% else %}
  <span class="status-closed">We're closed</span>
{% endif %}

{# Get social links #}
<ul class="social-links">
  {% for platform, url in business_social_links() %}
    <li>
      <a href="{{ url }}" target="_blank">{{ platform|capitalize }}</a>
    </li>
  {% endfor %}
</ul>

In a custom module:

// Alter business locations
function mymodule_business_identity_locations_alter(array &$locations) {
  // Add a retail location
  $locations['retail_store'] = [
    'type' => 'retail_store',
    'label' => t('Retail Store'),
    'address' => [
      'address_line1' => '123 Main St',
      'locality' => 'New York',
      'administrative_area' => 'NY',
      'postal_code' => '10001',
      'country_code' => 'US',
    ],
    'primary' => FALSE,
  ];
}

// Alter operating hours
function mymodule_business_identity_operating_hours_alter(array &$hours) {
  // Extend Friday hours
  $hours['friday']['close'] = '19:00';
  
  // Add holiday hours
  $hours['christmas'] = [
    'date' => '2024-12-25',
    'open' => '',
    'close' => '',
    'note' => t('Closed for Christmas'),
  ];
}

Activity

Total releases
5
First release
Dec 2025
Latest release
5 months ago
Releases (12 mo)
5 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.0.2 Stable Feb 8, 2026
1.0.1 Stable Jan 13, 2026
1.0.0 Stable Jan 12, 2026
1.0.0-alpha1 Pre-release Dec 26, 2025
1.0.x-dev Dev Dec 23, 2025