Guadeloupe Phone Numbers: Format, Area Code & Validation Guide
This guide provides a deep dive into Guadeloupe's phone number system, offering essential information for developers and system administrators. We'll cover number formats, validation, dialing procedures, best practices, number portability, network infrastructure, and database implementation considerations.
Background
Guadeloupe, a French overseas territory, utilizes a telecommunications system regulated by ARCEP (Autorité de Régulation des Communications Électroniques et des Postes). This system adheres to French regulations while incorporating adaptations specific to the Caribbean region. Guadeloupe's telecommunications infrastructure has seen significant modernization, particularly in the mobile sector, with ongoing efforts to expand 4G LTE and 5G coverage. Several operators, including Orange, Digicel, Free Caraïbe, and Outremer Telecom, compete in the market, driving innovation and improved services. Number portability is also a key feature, promoting competition and allowing users to switch carriers seamlessly.
Number Formats
Understanding Guadeloupe's phone number structure is crucial for proper handling and validation.
Structure Breakdown
Numbers follow a predictable pattern, making them easy to parse and validate:
- International Format:
+590 XXX XX XX XX
(Example: +590 690 12 34 56) - National Format:
0XXX XX XX XX
(Example: 0690 12 34 56)
Best Practice: Always store phone numbers in the international format (+590) for maximum compatibility and to avoid ambiguity. This practice simplifies integration with international systems and reduces the risk of errors when dialing from different locations.
Number Types
Number Type | Format | Example | Usage Context |
---|---|---|---|
Landline | +590 590 XX XX XX | +590 590 27 12 34 | Fixed location services |
Mobile | +590 690 XX XX XX | +590 690 12 34 56 | Mobile services |
Toll-Free | +590 800 XX XX XX | +590 800 12 34 56 | Free calls for the caller |
Premium Rate | +590 89X XX XX XX | +590 891 23 45 67 | Services with higher charges |
Dialing Procedures
Domestic Calls
Dialing within Guadeloupe is straightforward:
- Dial
0
(National Prefix) - Dial the area code (if different from your own)
- Dial the local number
International Calls
- Outbound from Guadeloupe: Dial
00
(International Prefix) followed by the country code and the number. - Inbound to Guadeloupe: Dial
+590
followed by the local number (without the leading0
).
Key Point: Always omit the leading 0
when dialing a Guadeloupe number from outside the country.
Validation
Robust validation is essential for data integrity. Here's how to implement effective validation using regular expressions:
const validateGuadeloupeNumber = (number) => {
const cleanedNumber = number.replace(/\s/g, ''); // Remove whitespace
const regex = /^\+590(590|690|800|89\d)\d{6}$/;
return regex.test(cleanedNumber);
};
// Example usage
console.log(validateGuadeloupeNumber('+590 690 12 34 56')); // true
console.log(validateGuadeloupeNumber('0690123456')); // false (missing +590)
This improved regex handles all valid number formats and ensures that only correctly formatted numbers are accepted.
Number Portability
Guadeloupe adheres to French regulations regarding number portability, ensuring a smooth transition between operators. The process is designed to be efficient, with a maximum completion window of 10 business days. Key features include:
- Universal Coverage: Both landline and mobile numbers are portable.
- Automated Validation: Real-time systems prevent unauthorized transfers.
- Service Continuity: Operators synchronize to minimize downtime during the transition.
Developer Integration
You can integrate with portability check APIs to verify number eligibility and status:
async function checkPortability(number) {
const response = await fetch(`/api/v1/portability/check`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ phone_number: number })
});
return await response.json();
}
Implementation Note: Replace /api/v1/portability/check
and API_TOKEN
with your specific API endpoint and authentication token.
Network Coverage and Infrastructure
Guadeloupe benefits from modern telecommunications infrastructure, with widespread 4G LTE coverage reaching approximately 95% of the population. 5G deployment is expanding in major cities, offering significantly higher speeds. Fixed-line infrastructure, primarily in urban areas, also provides high-speed connectivity.
Network Monitoring
Integrating network status checks into your application can enhance user experience:
async function getNetworkStatus(latitude, longitude) {
const response = await fetch(`${API_ENDPOINT}/network/status`, {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}` },
body: JSON.stringify({ latitude, longitude })
});
return await response.json();
}
Implementation Note: Replace API_ENDPOINT
and API_KEY
with your provider's details. Consider adding error handling and fallback mechanisms for network unavailability.
Database Implementation
Efficient database design is crucial for managing phone number data. Here's an example schema:
CREATE TABLE phone_numbers (
id SERIAL PRIMARY KEY,
number VARCHAR(20) NOT NULL UNIQUE CHECK (number ~ '^\+590(590|690|800|89\d)\d{6}$'), -- Enforced [E.164 format](https://www.sent.dm/resources/e164-phone-format) and validation
type VARCHAR(20) CHECK (type IN ('landline', 'mobile', 'toll_free', 'premium_rate')),
carrier_id INTEGER REFERENCES carriers(id),
ported BOOLEAN DEFAULT FALSE,
porting_date TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
This schema enforces the E.164 format, includes a type field for categorization, and tracks porting status. Consider adding indexes for optimized querying.
Testing and Quality Assurance
Thorough testing is paramount. Implement unit tests to validate your number formatting, validation, and integration with external APIs. End-to-end tests should cover the entire phone number lifecycle, from input to storage and retrieval.
// Example using Jest
const { validateGuadeloupeNumber } = require('./phone-utils');
describe('Guadeloupe Phone Number Validation', () => {
it('should validate a correctly formatted mobile number', () => {
expect(validateGuadeloupeNumber('+590690123456')).toBe(true);
});
it('should reject an invalid number format', () => {
expect(validateGuadeloupeNumber('59069012345')).toBe(false);
});
});
This example demonstrates a basic validation test. Expand your test suite to cover edge cases and potential error scenarios.