Altius SuiteCRM Bridge - Installation & Configuration Guide

๐Ÿ”— Altius SuiteCRM Bridge

Complete Installation & Configuration Guide

Connect Your WordPress Booking System to SuiteCRM

Bridge v2.6.0 | Connector v1.5.0 | SuiteCRM 7.14.x - 7.15

๐Ÿ“– Overview

The Altius SuiteCRM Bridge connects your WordPress appointment booking system to SuiteCRM, enabling real-time two-way synchronization and conflict detection across unlimited sites.

What This Plugin Does

  • Two-Way Sync: Appointments flow WordPress โ†” SuiteCRM automatically
  • Real-Time Conflict Detection: Prevents double-bookings across all sites
  • Automatic Contact Management: Creates and links contacts in SuiteCRM
  • Multi-Site Support: Connect unlimited WordPress sites to one CRM
  • Timezone Intelligence: Auto-calibrates and handles global timezones
  • Complete Data Sovereignty: Self-hosted, you own everything

System Architecture

WordPress Site 1  โ”€โ”€โ”
WordPress Site 2  โ”€โ”€โ”ผโ”€โ”€โ”€โ†’  SuiteCRM (Central Hub)
WordPress Site 3  โ”€โ”€โ”˜       โ†“
                        Meetings, Contacts, Users
                        (Single Source of Truth)
                    
๐Ÿ’ก Key Benefit: Book an appointment on Site 1, and Sites 2, 3, 4... all immediately know that time is unavailable. Zero double-bookings!

Version Information

Component Version Status
WordPress Bridge Plugin v2.6.0 โœ… Production
SuiteCRM Connector Plugin v1.5.0 โœ… Production
Supported SuiteCRM Versions 7.14.x - 7.15 โœ… Tested
SuiteCRM 8.x Support Coming Soon ๐Ÿ”„ Future Release
๐Ÿ“ Note: This guide is specifically for SuiteCRM 7.14.x and 7.15. Support for SuiteCRM 8.x will be added in a future update.

โœ… Requirements

WordPress Requirements

WordPress Version 5.8 or higher
PHP Version 7.4 or higher (8.0+ recommended)
Required Plugins Altius Scheduler v3.5.1+
SSL Certificate HTTPS required for OAuth2
WP-Cron Must be enabled (default)
Server Access FTP or cPanel for SuiteCRM key upload

SuiteCRM Requirements

SuiteCRM Version 7.14.x or 7.15
API Module Must be enabled (default)
Admin Access Required for OAuth setup
Server Access SSH, FTP, or cPanel access required
OpenSSL For generating RSA keys
HTTPS SSL certificate required
โš ๏ธ CRITICAL: SuiteCRM Version Compatibility

This version is ONLY compatible with SuiteCRM 7.14.x and 7.15. Do NOT use with SuiteCRM 8.x. Support for SuiteCRM 8.x will be released separately.

โš ๏ธ Important: Both WordPress and SuiteCRM must be accessible via HTTPS. OAuth2 authentication requires secure connections.

๐Ÿ”ง SuiteCRM Configuration

Complete these steps BEFORE installing the WordPress plugin.

Part 1: Install Altius Connector in SuiteCRM

1 Download Connector

Download: AltiusConnector-v1.5.0.zip

2 Upload to SuiteCRM

Go to: Admin โ†’ Module Loader

Click "Choose File" and select the Connector zip file.

3 Install Module

Click "Upload" then "Install" when the option appears.

4 Verify Installation

Go to: Admin โ†’ Altius Connector โ†’ Altius Connector Configuration

You should see the configuration page (don't configure yet - we'll do this later).

Part 2: Generate RSA Key Pair

Choose the method that works best for you:

๐Ÿ”’ SECURITY WARNING: Never Use AI to Generate Keys!

Do NOT ask ChatGPT, Gemini, Claude, or any AI chatbot to generate RSA keys for you. When you paste text into an AI, it goes to their servers and is no longer secure. RSA keys must be generated on YOUR computer or server only.

โญ Method 1: Online Key Generator (Easiest - Recommended)

1 Visit Trusted Key Generator

Go to: https://cryptotools.net/rsagen

Or search Google for: "RSA key pair generator online 2048"

2 Generate Keys

Settings:

  • Key Size: 2048 bits
  • Format: PEM
  • Click "Generate Key Pair" or similar button
3 Save Private Key

Copy the private key text (starts with -----BEGIN RSA PRIVATE KEY-----)

Save to a file named: private.key

4 Save Public Key

Copy the public key text (starts with -----BEGIN PUBLIC KEY-----)

Save to a file named: public.key

5 Upload to SuiteCRM Server - CORRECT LOCATION!

Using FTP or cPanel File Manager:

โš ๏ธ CRITICAL: Upload to This EXACT Location:
/your-suitecrm-root/Api/V8/OAuth2/private.key /your-suitecrm-root/Api/V8/OAuth2/public.key

NOT in the root directory! They MUST be in the /Api/V8/OAuth2/ subdirectory.

Step-by-step:

  1. Navigate to your SuiteCRM root directory (where index.php is)
  2. Navigate into: Api folder
  3. Navigate into: V8 folder
  4. Navigate into: OAuth2 folder
  5. Upload both private.key and public.key HERE
6 Set Correct Permissions

After uploading, set file permissions:

  • private.key: Set to 600 (Owner: Read+Write, Group: None, World: None)
  • public.key: Set to 644 (Owner: Read+Write, Group: Read, World: Read)
๐Ÿ”’ Security Note: The online generator runs in YOUR browser - keys are generated client-side using JavaScript. However, for maximum security, use Method 2 or 3 if you're comfortable with technical tools.

Method 2: cPanel Terminal (If You Have cPanel)

1 Login to cPanel

Access your hosting account's cPanel.

2 Open Terminal

Find "Terminal" in cPanel (usually under "Advanced" section)

3 Navigate to OAuth2 Directory
cd public_html/suitecrm/Api/V8/OAuth2 # Or wherever your SuiteCRM is installed # Make sure you're in the /Api/V8/OAuth2/ directory!
4 Generate Keys

Run these two commands:

openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout -out public.key
5 Set Permissions
chmod 600 private.key chmod 644 public.key
6 Verify Files Exist in Correct Location
pwd # Should show: /home/username/public_html/suitecrm/Api/V8/OAuth2 ls -la *.key # Should show both private.key (600) and public.key (644)

Method 3: Generate on Your Computer (Most Secure)

1 Install OpenSSL on Your Computer

Windows:

Mac:

  • OpenSSL is pre-installed
  • Open Terminal app (Applications โ†’ Utilities โ†’ Terminal)

Linux:

  • OpenSSL is pre-installed
  • Open your terminal
2 Create a Folder for Keys
mkdir suitecrm-keys cd suitecrm-keys
3 Generate Keys
openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout -out public.key
4 Upload to SuiteCRM Server - CORRECT LOCATION!

Using FTP client (FileZilla, Cyberduck, etc.) or cPanel File Manager:

โš ๏ธ Upload to This EXACT Path:
/your-suitecrm-root/Api/V8/OAuth2/private.key /your-suitecrm-root/Api/V8/OAuth2/public.key
  1. Connect to your server
  2. Navigate to: /your-suitecrm/Api/V8/OAuth2/
  3. Upload both private.key and public.key
  4. Set permissions: private.key = 600, public.key = 644
โœ… Keys Generated Successfully!

Whichever method you used, you now have:

  • private.key in /Api/V8/OAuth2/ with 600 permissions
  • public.key in /Api/V8/OAuth2/ with 644 permissions
  • Both files in the CORRECT location (not root directory!)
๐Ÿ”’ Important Security Reminders:
  • NEVER share your private.key file with anyone
  • NEVER paste keys into email, chat, or AI assistants
  • NEVER reuse keys from other installations
  • Each SuiteCRM instance must have unique keys
  • If private key is compromised, generate new keys immediately

Part 3: Create OAuth Consumer

1 Login to SuiteCRM

Log in to SuiteCRM as an administrator.

2 Navigate to OAuth Keys

Go to: Admin โ†’ OAuth Keys

3 Create New OAuth Key

Click "Create OAuth Key" and fill in:

Field Value
Consumer Key Name Altius Scheduler Bridge
Consumer Key (Client ID) Generate a UUID or use: altius-bridge-[random-string]
Consumer Secret (Client Secret) Generate a secure random string (16-32 characters)
Is Confidential โœ… CHECKED (very important!)
Allowed Grant Type Password Grant
โš ๏ธ CRITICAL: "Is Confidential" Must Be Checked!

Make sure to CHECK the "Is confidential" checkbox. This is required for the Bridge to work properly.

4 Save OAuth Consumer

Click "Save" and copy the Consumer Key and Consumer Secret to a safe place. You'll need these for WordPress configuration.

๐Ÿ’ก Generating Secure Keys:

Generate secure random strings using:

# Consumer Key (UUID format) uuidgen # Output: 652dc7a3-a8c5-4140-5cf3-6947b9499de4 # Consumer Secret (random string) openssl rand -base64 24 # Output: aB3xK9mP2qR5sT8wV1yZ4cD6fG7hJ0kL

Or use an online UUID generator: https://www.uuidgenerator.net/

Part 4: Create API User

1 Navigate to Users

Go to: Admin โ†’ User Management

2 Create New User

Click "Create User" and fill in:

Field Value Notes
User Name altius_api Standard naming convention
First Name Altius For identification
Last Name API User For identification
Email YOUR ACTUAL EMAIL CRITICAL: Use email of a staff member who will be mapped
Password Strong password Store securely, needed for WordPress config
Status Active Required
Admin User โœ… Yes REQUIRED for API access
โš ๏ธ Email Address Is Critical!

The API user's email address is used to map WordPress staff members to SuiteCRM users for conflict detection. Use the email address of the staff member who will be booking appointments (usually the site owner or primary staff member).

3 Save User

Click "Save" to create the API user.

โœ… SuiteCRM Configuration Complete!

You now have:

  • โœ… Altius Connector v1.5.0 installed
  • โœ… RSA key pair in /Api/V8/OAuth2/ with correct permissions
  • โœ… OAuth Consumer Key and Secret (Is Confidential = checked)
  • โœ… API user with admin privileges

๐Ÿ”Œ WordPress Installation & Configuration

Part 1: Install Altius Scheduler

1 Download Plugin

Download: altius-scheduler-v3.5.1.zip

2 Upload to WordPress

Go to: WordPress Admin โ†’ Plugins โ†’ Add New โ†’ Upload Plugin

Click "Choose File" and select the downloaded zip file.

3 Activate Plugin

Click "Activate Plugin" after installation completes.

4 Configure Scheduler

Go to: Altius Scheduler โ†’ Settings

Set up your staff members, services, and booking forms according to your needs.

๐Ÿ’ก Staff Email Addresses: When adding staff members, use the SAME email addresses as your SuiteCRM users. This is how the Bridge plugin maps WordPress staff to CRM users for conflict detection.

Part 2: Install Bridge Plugin

1 Download Bridge Plugin

Download: altius-suitecrm-bridge-v2.6.0.zip

2 Upload to WordPress

Go to: WordPress Admin โ†’ Plugins โ†’ Add New โ†’ Upload Plugin

Click "Choose File" and select the Bridge plugin zip file.

3 Activate Plugin

Click "Activate Plugin" after installation completes.

Part 3: Configure Bridge Settings

1 Navigate to Settings

Go to: WordPress Admin โ†’ Altius Bridge โ†’ Settings

2 Review Altius Ecosystem API Key

At the top of the page, you'll see your unique Altius Ecosystem API Key. This key is automatically generated and used for the Connector plugin in SuiteCRM.

Copy this key - you'll need it when configuring the Connector in SuiteCRM.

3 Enter SuiteCRM Credentials

Scroll down and fill in the configuration form:

Field Value Example
SuiteCRM URL Your SuiteCRM installation URL https://crm.yourdomain.com
Client ID OAuth Consumer Key from SuiteCRM 652dc7a3-a8c5-4140-5cf3-6947b9499de4
Client Secret OAuth Consumer Secret from SuiteCRM aB3xK9mP2qR5sT8wV1yZ4cD6fG7hJ0kL
Username API user username altius_api
Password API user password (your secure password)
API Version Auto-detect (Recommended) Leave as default - will detect V4.1 for SuiteCRM 7.x
Enable Sync โœ… Checked Must be enabled
๐Ÿ’ก API Version Auto-Detection (New in v2.6.0):

The Bridge now automatically detects your SuiteCRM version (7.x uses V4.1 API). Leave this set to "Auto-detect" unless you experience issues.

4 Save Settings

Click "Save Settings" button.

5 Test Connection

Click the "Test Connection" button.

โœ“ Success! You should see: "Connected to SuiteCRM as: Altius API User"

Below the API Version field, you should now see: โœ“ Detected: V4.1

โš ๏ธ Connection Failed?

Common issues:

  • Incorrect SuiteCRM URL (check for trailing slashes)
  • Wrong Client ID or Client Secret
  • API user credentials incorrect
  • RSA keys not in correct location (/Api/V8/OAuth2/)
  • RSA keys have wrong permissions
  • OAuth client "Is Confidential" not checked

Part 4: Configure Altius Connector in SuiteCRM

1 Navigate to Connector Configuration

In SuiteCRM, go to: Admin โ†’ Altius Connector โ†’ Altius Connector Configuration

2 Enter Configuration
Field Value
WordPress URL Your WordPress site URL (no trailing slash)
Example: https://www.yoursite.com
Altius Ecosystem API Key Paste the API key you copied from WordPress Bridge settings
Enable automatic sync โœ… Checked
3 Save Configuration

Click "Save Configuration" button.

โœ“ Success! You should see: "Configuration saved successfully!"

Status should show "Configured" and "Sync Enabled: Yes"

๐Ÿ’ก Note: The Connector v1.5.0 no longer crashes when saving! The configuration page saves and displays without any redirect errors.

Part 5: Automatic Timezone Calibration

1 Book Test Appointment

Create a test appointment using your Altius booking form. This triggers automatic timezone calibration.

2 Verify Calibration

Go to: Altius Bridge โ†’ Settings

You should see: โœ“ Timezone Calibrated: X hour offset detected

3 Verify in SuiteCRM

Log into SuiteCRM โ†’ Meetings โ†’ Check that your test appointment appears with the correct time.

๐Ÿ’ก Timezone Issues? Click the "๐Ÿ”„ Recalibrate Timezone Offset" button and book another test appointment. The system will re-detect the correct offset.

Part 6: Verify Two-Way Sync

1 Edit Meeting in SuiteCRM

In SuiteCRM, change the time of your test meeting.

2 Wait 5 Minutes

The Bridge plugin polls SuiteCRM every 5 minutes for changes.

3 Check WordPress

Go to: Altius Scheduler โ†’ Appointments

The appointment time should now match the SuiteCRM meeting time.

โœ… Setup Complete!

Your WordPress site is now fully integrated with SuiteCRM with:

  • โœ… Two-way synchronization (WP โ†” CRM)
  • โœ… Automatic timezone handling
  • โœ… Real-time conflict detection
  • โœ… Contact creation and linking
  • โœ… API version auto-detection (V4.1 for SuiteCRM 7.x)

๐ŸŒ Multi-Site Configuration

Connect multiple WordPress sites to the same SuiteCRM for centralized scheduling and conflict detection.

Architecture Overview

Site 1 (Phoenix)    โ”€โ”€โ”
Site 2 (London)     โ”€โ”€โ”ผโ”€โ”€โ”€โ†’  SuiteCRM (Central Hub)
Site 3 (Tokyo)      โ”€โ”€โ”ค       โ†“
Site 4 (New York)   โ”€โ”€โ”˜   Single Source of Truth
...unlimited sites         for All Appointments
                    
๐Ÿ’ก Key Benefit: Book Christine at 2PM on Site 1, and she's immediately unavailable at 2PM on Sites 2, 3, 4... Zero double-bookings!

Installation for Each Additional Site

1 Install Both Plugins
  • Install Altius Scheduler v3.5.1
  • Install Altius SuiteCRM Bridge v2.6.0
  • Activate both plugins
2 Configure Bridge with SAME Credentials

Use the SAME SuiteCRM credentials on all sites:

Field Value
SuiteCRM URL Same URL as Site 1
Client ID Same OAuth Consumer Key
Client Secret Same OAuth Consumer Secret
Username Same API username (altius_api)
Password Same API password
API Version Auto-detect (will detect V4.1)
3 Test Connection

Click "Test Connection" on each site to verify.

Each site should show: โœ“ Detected: V4.1

4 Configure Connector for Each Site

In SuiteCRM, you only need ONE Connector configuration, but you can add multiple WordPress sites to track them separately. Each WordPress site has its own unique Ecosystem API Key.

5 Configure Staff with MATCHING Emails

CRITICAL: Staff members on all sites must use the SAME email addresses.

Site Staff Name Email (Must Match!)
Site 1 Christine Ely christine@example.com
Site 2 Christine Ely christine@example.com โ† Same!
Site 3 Christine Ely christine@example.com โ† Same!
โš ๏ธ Email Matching is CRITICAL!

The Bridge plugin maps WordPress staff to SuiteCRM users via email address. If emails don't match exactly across all sites, conflict detection won't work properly.

How Multi-Site Conflict Detection Works

1 User Books on Site 1

Customer books Christine at 2:00 PM on December 26th via Site 1.

2 Instant Sync to SuiteCRM

Bridge plugin immediately creates meeting in SuiteCRM (within 1-2 seconds).

3 Sites 2, 3, 4 Poll SuiteCRM

Every 5 minutes, all other sites check SuiteCRM for updates.

Within 5 minutes, all sites know Christine is booked at 2:00 PM.

4 Booking Attempt on Site 2

Customer tries to book Christine at 2:00 PM on Site 2.

5 Conflict Detection Triggers

Bridge plugin:

  1. Maps staff email โ†’ SuiteCRM user ID
  2. Queries SuiteCRM for meetings at 2:00 PM
  3. Finds existing meeting from Site 1
  4. BLOCKS the booking
  5. Shows error: "This time slot conflicts with an existing meeting"
โœ… Result: Zero double-bookings across unlimited WordPress sites!

Timezone Considerations

๐Ÿ’ก Global Sites Work Automatically!

Each site independently calibrates its timezone:

  • Site 1 (Phoenix): Calibrates MST offset
  • Site 2 (London): Calibrates GMT offset
  • Site 3 (Tokyo): Calibrates JST offset

All times convert to UTC before syncing to SuiteCRM. Conflict detection works perfectly across all timezones!

Testing Multi-Site Setup

1 Book on Site 1

Create appointment for Staff Member A at 2:00 PM on specific date.

2 Verify in SuiteCRM

Check SuiteCRM Meetings module - appointment should appear within seconds.

3 Wait 5 Minutes

Allow time for Site 2 to poll SuiteCRM.

4 Try Booking Same Time on Site 2

Attempt to book Staff Member A at 2:00 PM (same time) on Site 2.

5 Verify Conflict Detection

You should see error: "This time slot conflicts with an existing meeting in the system."

6 Book Different Time on Site 2

Try booking Staff Member A at 3:00 PM (different time).

This should succeed! โœ…

๐Ÿงช Testing & Validation

Test 1: Connection Test

1 Test Bridge Connection

Go to: Altius Bridge โ†’ Settings

Click "Test Connection"

2 Verify Success

Should show:

  • โœ… Connected to SuiteCRM as: Altius API User
  • โœ“ Detected: V4.1

Test 2: Connector Save Test

1 Test Connector Configuration

In SuiteCRM: Admin โ†’ Altius Connector โ†’ Configuration

Make any change and click "Save Configuration"

2 Verify No Crash

Page should:

  • โœ… Save without error
  • โœ… Show success message
  • โœ… NOT show HTTP 500 error

Test 3: One-Way Sync (WordPress โ†’ SuiteCRM)

1 Book Appointment

Use your Altius booking form to create a test appointment.

2 Check SuiteCRM

Login to SuiteCRM โ†’ Meetings module

Your appointment should appear within 1-2 seconds.

3 Verify Details

Check the meeting details:

  • โœ… Correct date and time
  • โœ… Assigned to correct user
  • โœ… Contact created and linked
  • โœ… Description includes [ALTIUS:ID] marker

Test 4: Two-Way Sync (SuiteCRM โ†’ WordPress)

1 Edit Meeting in SuiteCRM

Change the meeting time (e.g., 2:00 PM โ†’ 3:00 PM)

2 Wait 5 Minutes

WordPress polls SuiteCRM every 5 minutes via WP-Cron.

3 Check WordPress

Go to: Altius Scheduler โ†’ Appointments

The appointment time should now match SuiteCRM (3:00 PM).

Test 5: Conflict Detection

1 Note Existing Appointment

You should have a test appointment from Test 3 (e.g., 2:00 PM Dec 26).

2 Try Booking Same Time

On your booking form, try to book the same staff member at the same time.

3 Verify Block

You should see error: "This time slot conflicts with an existing meeting in the system."

4 Book Different Time

Try booking at a different time (e.g., 3:00 PM).

This should succeed! โœ…

Test 6: Manual Conflict Testing

1 Navigate to Test Page

Go to: WordPress Admin โ†’ Altius Bridge โ†’ Conflict Test

2 Get SuiteCRM User ID

In SuiteCRM, go to Admin โ†’ Users โ†’ Click your staff user โ†’ Copy ID from URL

Example: https://crm.site.com/index.php?...id=1

3 Test Known Conflict

Enter test parameters:

  • User ID: 1 (or your staff user ID)
  • Start Time: UTC time of your test appointment
  • End Time: End time + 1 hour

Click "๐Ÿšฆ Test Availability"

4 Verify Results

You should see:

โŒ NOT AVAILABLE
Message: Staff member has 1 conflicting meeting(s)
๐Ÿ’ก Timezone Helper: The test page includes a timezone conversion reference to help you convert local times to UTC for testing.

Test 7: Verify Sync Status

1 Check Sync Dashboard

Go to: Altius Bridge โ†’ Sync Status

2 Review Recent Syncs

You should see log entries for:

  • Appointments synced to SuiteCRM
  • Recent polling operations
  • Any sync errors (should be none)
3 Trigger Manual Sync

Click "๐Ÿ”„ Sync Now" button to force an immediate sync from SuiteCRM.

This is useful for testing without waiting 5 minutes.

๐Ÿ”ง Troubleshooting Guide

Connection Issues

Problem: "Test Connection" Fails with HTTP 500 or Authentication Error

Symptoms: Error message when clicking "Test Connection" button

Solutions (Check in This Order):

1. MOST COMMON: RSA Keys in Wrong Location

The #1 cause of connection failures is keys in the wrong directory.

CORRECT Location:

/your-suitecrm/Api/V8/OAuth2/private.key (permissions: 600) /your-suitecrm/Api/V8/OAuth2/public.key (permissions: 644)

WRONG Location:

/your-suitecrm/private.key โ† WRONG! Not in root! /your-suitecrm/public.key โ† WRONG! Not in root!

Fix: Move keys from root to /Api/V8/OAuth2/ directory.

  1. Verify RSA Key Permissions
    • private.key must be 600
    • public.key must be 644
    • Files must be readable by web server
  2. Check OAuth "Is Confidential" Setting
    • Go to: SuiteCRM โ†’ Admin โ†’ OAuth Keys
    • Edit your OAuth consumer
    • Verify "Is confidential" is CHECKED โœ…
    • If not checked, check it and save
  3. Check SuiteCRM URL
    • Remove trailing slashes
    • Must be HTTPS
    • Example: https://crm.site.com (not https://crm.site.com/)
  4. Verify OAuth Credentials
    • Client ID matches OAuth Consumer Key exactly
    • Client Secret matches OAuth Consumer Secret exactly
    • No extra spaces or characters
  5. Check API User
    • Username: altius_api
    • Password is correct
    • User status is "Active"
    • User has "Admin" privileges
  6. Check SuiteCRM Error Log
    • Check: /your-suitecrm/error_log
    • Look for "Invalid key supplied" errors
    • This confirms keys are in wrong location or have wrong format

Problem: API Version Shows Wrong Version

Symptoms: Shows "Detected: V8" instead of "Detected: V4.1"

Solution:

  1. This shouldn't happen with v2.6.0 and SuiteCRM 7.x
  2. If it does, manually set API Version to "V4.1 (SuiteCRM 7.x)" in settings
  3. Save settings and test connection again

Connector Save Issues

Problem: Connector Configuration Page Crashes When Saving

Symptoms: HTTP 500 error after clicking "Save Configuration"

Solution:

  1. Verify You're Using v1.5.0:
    • Go to: Admin โ†’ Module Loader โ†’ Installed Modules
    • Check Altius Connector version
    • Must be v1.5.0 (eliminates save crashes)
  2. If Still v1.4.x:
    • Upgrade to v1.5.0
    • Admin โ†’ Module Loader โ†’ Upload โ†’ Install v1.5.0
    • Settings will be preserved
  3. Clear Browser Cache:
    • Old version might be cached
    • Try different browser or incognito mode

Timezone Issues

Problem: Appointments Show Wrong Time in SuiteCRM

Symptoms: Time in SuiteCRM doesn't match WordPress appointment

Solutions:

  1. Recalibrate Timezone
    • Go to: Altius Bridge โ†’ Settings
    • Click "๐Ÿ”„ Recalibrate Timezone Offset"
    • Book new test appointment
    • System will auto-detect correct offset
  2. Check WordPress Timezone
    • Go to: Settings โ†’ General
    • Verify correct timezone selected
    • Example: "Phoenix" or "America/Phoenix"
  3. Check SuiteCRM User Timezone
    • Login as API user
    • Check user profile timezone setting
    • Should match your local timezone

Sync Issues

Problem: Appointments Not Syncing to SuiteCRM

Symptoms: Bookings save in WordPress but don't appear in SuiteCRM

Solutions:

  1. Check Sync Status
    • Go to: Altius Bridge โ†’ Sync Status
    • Look for error messages
    • Check recent sync attempts
  2. Verify Sync is Enabled
    • Go to: Altius Bridge โ†’ Settings
    • Ensure "Enable Sync" is checked
    • Save settings if changed
  3. Check Debug Log
    • Enable WordPress debug logging in wp-config.php
    • Add: define('WP_DEBUG_LOG', true);
    • Check wp-content/debug.log for errors

Problem: Changes in SuiteCRM Not Syncing to WordPress

Symptoms: Edit meeting in SuiteCRM, doesn't update in WordPress

Solutions:

  1. Wait 5 Minutes
    • Polling happens every 5 minutes via WP-Cron
    • Changes aren't instant (CRM โ†’ WP)
  2. Check WP-Cron
    • Verify WP-Cron is enabled (default)
    • Some hosts disable it - contact support
    • Test with: Go to Sync Status โ†’ Click "๐Ÿ”„ Sync Now"
  3. Verify Description Marker
    • Open meeting in SuiteCRM
    • Check description includes [ALTIUS:50] (example ID)
    • If missing, meeting won't sync back

Conflict Detection Issues

Problem: Conflict Detection Not Working

Symptoms: Can book same time slot twice, no error shown

Solutions:

  1. Verify Email Mapping
    • WordPress: Check staff member email in Altius Scheduler
    • SuiteCRM: Check user email matches exactly
    • Emails must be identical (case-sensitive!)
  2. Test with Manual Conflict Tester
    • Go to: Altius Bridge โ†’ Conflict Test
    • Enter user ID and existing meeting time
    • Should show "NOT AVAILABLE"
    • If shows "AVAILABLE", check email mapping
  3. Verify Altius Scheduler Version
    • Must be v3.5.1 or higher
    • Earlier versions don't have conflict detection hook
  4. Clear WordPress Cache
    • If using caching plugin, clear all caches
    • Conflict detection requires fresh API calls

Multi-Site Issues

Problem: Site 2 Can Book Time Already Booked on Site 1

Symptoms: Cross-site conflict detection not working

Solutions:

  1. Wait 5 Minutes After Site 1 Booking
    • Site 1 syncs instantly (WP โ†’ CRM)
    • Site 2 polls every 5 minutes (CRM โ†’ WP)
    • 5-minute window where Site 2 doesn't know about Site 1 booking
  2. Verify Same OAuth Credentials
    • All sites must use SAME SuiteCRM URL
    • All sites must use SAME Client ID/Secret
    • All sites must use SAME API username/password
  3. Check Staff Email Consistency
    • Staff member "Christine" on Site 1: christine@example.com
    • Staff member "Christine" on Site 2: christine@example.com
    • Must be EXACTLY the same email

Enable Debug Logging

For detailed troubleshooting, enable WordPress debug logging:

1 Edit wp-config.php

Add these lines before "That's all, stop editing!":

define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
2 Trigger the Issue

Reproduce the problem (book appointment, test connection, etc.)

3 Check Debug Log

View log file at: wp-content/debug.log

Look for lines containing:

  • === ALTIUS SUITE
  • === CHECKING AVAILABILITY
  • === CONFLICT VALIDATION
  • ERROR:

Getting Support

If you're still experiencing issues after trying these solutions:

  1. Gather Information:
    • WordPress version
    • PHP version
    • SuiteCRM version (should be 7.14.x or 7.15)
    • Bridge plugin version (should be v2.6.0)
    • Connector plugin version (should be v1.5.0)
    • Scheduler plugin version
    • Relevant debug log entries
    • Screenshots of error messages
    • Confirm RSA keys are in /Api/V8/OAuth2/ with correct permissions
  2. Contact Support:
    • Email: support@altiusscheduler.com
    • Include all information from step 1
    • Describe steps to reproduce the issue

Need Help?

Our support team is here to help you get up and running.

Contact Support