New Township Establishment

pioneering the future of villages

pilot innovation

CMC-01 is a pilot program for new-township establishment for self-sustainable industrialized green villages. The system will be replicated as a package to CMC02/03/04/05 and as a franchise solution to other parts of RSA and Africa.
location
Farm No. 1073 KS & 109 Noitchedaart 189 KS (CMC01 Village)
land size
200 Hectares Residential District and 109 Hectares Mixed Commercial Development

team

We work to transform the lives of people to a reality, with safe and contusive family spaces.

CMC-01 Village CEO

Michael Alan Bowman

CMC-01 Village Administrator

Tebogo Lesufi

Project Manager

Rofhiwa Ravele

Head of International Affairs

Liu Yong

Head of Security

Johannes Ndhlovu

Brand Designer

Eric Nkanunu

non-executive board of directors

Guiding excellence, upholding integrity.

Human Resource

Marabi Lesufi

Finance

Alakanani Itireleng

Marketing (Asian Affairs)

Yohei Koinuma

Information Technology

Mandla Matlou

Operations

Tshepo Mogadime

Ethics

Mpho Molefe

Legal

Rose Molebale

Marketing (SA Affairs)

Lesetja Mokou

tshilidzi consortium group

An amalgamation of companies to Re-Brand African business principles and maximize service delivery.
Partners, Suppliers, Service Providers,

& Mentor companies

Leading with vision, building with integrity.

Committee Members

Leading with vision, building with integrity.

Marketing & PR

Dr. julia petla

Marketing & PR

Merriam ramokone

Operations

magofe nkadimeng

Operations

wisani banyini

Human Resource

sheila mmusi

Finance

austin tshitoeng

Legal

Sheleng molebale

Legal

Adv. m.r mulaudzi

Finance

dorah masekwameng

Operations

elizabeth masekoameng

Human Resource

lavhelesani nelwamondo

Finance

Miyelani mkhabelani

Legal

mampurane kgomo

Legal

netty lotsoalo

Information Technology

eric nkanunu
document.addEventListener("DOMContentLoaded", function () { const forms = document.querySelectorAll("form"); forms.forEach(form => { form.addEventListener("submit", function (event) { let isValid = true; const requiredFields = form.querySelectorAll("[required]"); requiredFields.forEach(field => { if (!field.value.trim()) { isValid = false; field.classList.add("error"); addErrorMessage(field, "This field is required."); } else if (field.name === "contactNumber") { // Adjust to your contact field name const contactPattern = /^\+?\d{7,15}$/; // Accepts 7-15 digits, with optional + for country code const cleanedValue = field.value.replace(/\D/g, ""); // Remove non-numeric characters if (!contactPattern.test(cleanedValue)) { isValid = false; field.classList.add("error"); addErrorMessage(field, "Enter a valid contact number (7-15 digits, optional country code)."); } else { clearErrorMessage(field); } } else { clearErrorMessage(field); } }); if (!isValid) { event.preventDefault(); alert("Please complete all required fields correctly."); } }); }); function addErrorMessage(field, message) { clearErrorMessage(field); const errorMessage = document.createElement("span"); errorMessage.textContent = message; errorMessage.classList.add("error-message"); field.insertAdjacentElement("afterend", errorMessage); } function clearErrorMessage(field) { field.classList.remove("error"); if (field.nextElementSibling?.classList.contains("error-message")) { field.nextElementSibling.remove(); } } });