Pretoria, South AfricaTraining venue Kigali, RwandaTraining venue Nairobi, KenyaTraining venue Accra, GhanaTraining venue Kampala, UgandaTraining venue Dubai, United Arab EmiratesTraining venue

Training Events by Venue

Choose a training event and apply directly. Browse upcoming face-to-face training opportunities and apply directly for your preferred course.

Kigali, Rwanda

October 2026

Pretoria, South Africa

October 2026

Nairobi, Kenya

October 2026

Dubai, United Arab Emirates

October 2026

Zanzibar, Tanzania

October 2026

Kampala, Uganda

October 2026

Accra, Ghana

October 2026

Port Louis, Mauritius

October 2026

Livingstone, Zambia

October 2026

Vic Falls, Zimbabwe

October 2026

Debug

sql: SELECT COUNT(*) FROM `userlevels` WHERE `userlevelid` = -2, executionMS: 0.00036811828613281

sql: SELECT `userlevelid`, `userlevelname` FROM `userlevels`, executionMS: 0.00023484230041504

sql: SELECT COUNT(*) FROM `userlevelpermissions` WHERE `userlevelid` = -2, executionMS: 0.0005190372467041

sql: SELECT `tablename`, `userlevelid`, `permission` FROM `userlevelpermissions` WHERE `userlevelid` IN (-2), executionMS: 0.0019450187683105

sql: SELECT a.Course_Title AS CourseID, COALESCE(c.Course_Title, CONCAT('Course #', a.Course_Title)) AS CourseName, c.Course_Code, c.Short_Description, a.Training_Dates, a.Month AS MonthID, COALESCE(m.Month, '') AS MonthName, a.Year, a.Venue AS VenueID, COALESCE(v.Venue, CONCAT('Venue #', a.Venue)) AS VenueName, a.Duration AS DurationID, CASE WHEN a.Duration = 1 THEN '1 Week' WHEN a.Duration = 2 THEN '2 Weeks' WHEN a.Duration IS NULL OR a.Duration = 0 THEN 'Duration Pending' ELSE CONCAT(a.Duration, ' Week(s)') END AS DurationName, COUNT(a.Application_ID) AS Applications, SUM(IFNULL(NULLIF(a.delegates,0),1)) AS Delegates, SUM(CASE WHEN a.Status = 1 THEN 1 ELSE 0 END) AS PendingApps, SUM(CASE WHEN a.Status = 2 THEN 1 ELSE 0 END) AS QuotedApps, SUM(CASE WHEN a.Status = 3 THEN 1 ELSE 0 END) AS MaybeApps, SUM(CASE WHEN a.Status = 4 THEN 1 ELSE 0 END) AS AttendingApps, SUM(CASE WHEN a.Status = 5 THEN 1 ELSE 0 END) AS PaidApps, SUM(CASE WHEN a.Status = 4 THEN IFNULL(NULLIF(a.delegates,0),1) ELSE 0 END) AS AttendingDelegates, SUM(CASE WHEN a.Status = 5 THEN IFNULL(NULLIF(a.delegates,0),1) ELSE 0 END) AS PaidDelegates, MIN(a.Application_ID) AS SampleApplicationID, MAX(a.Application_ID) AS LatestApplicationID, MAX(a.Created_Date) AS LatestAppliedDate FROM apply a LEFT JOIN courses c ON c.id = a.Course_Title LEFT JOIN venues v ON v.id = a.Venue LEFT JOIN months m ON m.Month_ID = a.Month WHERE a.TrainingType = 2 AND a.Course_Title IS NOT NULL AND a.Course_Title > 0 AND a.Venue IS NOT NULL AND a.Venue > 0 AND a.Venue <> 7 AND (a.Training_Dates IS NOT NULL AND TRIM(a.Training_Dates) <> '') AND a.Month = 10 AND a.Year = 2026 GROUP BY a.Course_Title, a.Training_Dates, a.Month, a.Year, a.Venue, a.Duration ORDER BY a.Year ASC, a.Month ASC, v.Venue ASC, c.Course_Title ASC, a.Training_Dates ASC, executionMS: 0.13473796844482

sql: SELECT v.id, v.Venue, COUNT(a.Application_ID) AS Applications, SUM(IFNULL(NULLIF(a.delegates,0),1)) AS Delegates FROM apply a INNER JOIN venues v ON v.id = a.Venue WHERE a.TrainingType = 2 AND v.id <> 7 GROUP BY v.id, v.Venue ORDER BY Applications DESC, Delegates DESC, v.Venue ASC, executionMS: 0.13136196136475

sql: SELECT DISTINCT m.Month_ID, m.Month FROM apply a LEFT JOIN months m ON m.Month_ID = a.Month WHERE a.TrainingType = 2 AND a.Venue <> 7 AND a.Month IS NOT NULL ORDER BY m.Month_ID ASC, executionMS: 0.10363507270813

sql: SELECT DISTINCT a.Year FROM apply a WHERE a.TrainingType = 2 AND a.Venue <> 7 AND a.Year IS NOT NULL ORDER BY a.Year ASC, executionMS: 0.10681009292603

sql: SELECT v.id, v.Venue AS VenueName, COUNT(a.Application_ID) AS Applications, SUM(IFNULL(NULLIF(a.delegates,0),1)) AS Delegates FROM apply a INNER JOIN venues v ON v.id = a.Venue WHERE a.TrainingType = 2 AND a.Venue <> 7 GROUP BY v.id, v.Venue ORDER BY Applications DESC, Delegates DESC, v.Venue ASC LIMIT 6, executionMS: 0.15527105331421