An official developer portal of the Government of the Republic of Zambia · Test environmentVerify a certificate
Pamodzi Developer HubBuild, integrate and learn the e-Services framework
LGD · Department of Local Government

Building Permit

FormWorkflowOutputsE2E testDocs
PassedPassedPassedPassedPassed
End-to-end test
7/7 passed 2026-10-22 (mihud, combined)
Documentation
13 steps, 44 images · Download the DOCX
Who can apply
Organization, Individual
Catalogue ID
647

Output documents

Test evidence

Building Permit

Service documentation · Republic of Zambia · GSB e-Services

OwnerDepartment of Local Government
Service keyLGD/building-permit
Versionservice v1, platform a4ce8843
Date2026-10-22

Generated automatically by the service's end-to-end test run. Every screenshot shows synthetic test data on a local test installation, never real personal data.

This document describes the Building Permit service of Department of Local Government as the platform runs it today. It is generated by the service's end-to-end test: every step below was performed by the test, and every screenshot was taken during that run with synthetic data. Regenerate it with npm run docs:services in the e2e suite; do not edit it by hand.

1. Service summary

ItemDetail
ServiceBuilding Permit
Owner (MDA)Department of Local Government (LGD)
PurposeThis permit is issued by a planning authority to individuals and organizations seeking to undertake construction or make significant changes to buildings (and affected land), ensuring the project aligns with approved spatial plans, zoning laws, safety standards, and promotes orderly urban development according to the Urban and Regional Planning Act of 2015.
Who can applyOrganization; Individual
How to applyOnline on the national e-Services portal, signed in with ZamPass; pay with ZamPay.
FeesApplication and permit fees: (table)
Plan scrutiny fee (by floor area): (table)
Plan scrutiny fee (by floor area) (renewal): (table)
Plan scrutiny fee (by site area): (table)
Plan scrutiny fee (by building perimeter): (table)
Plan scrutiny fee (fixed): (table)
Fees per proposed building: (table)
Building inspection fee: (table)
Building inspection fee (renewal): (table)
Wall fence scrutiny fee (by fence length): (table)
Wall fence scrutiny fee (by fence length) (renewal): (table)
Wall fence fees: (table)
Wall fence fees (renewal): (table)
Express permit and multiple residence fees: (table)
Amendment and inspection fee: (table)
TurnaroundIf major development - within 90 calendar days Any other development - within 28 calendar days
Validity of the outputThe validity of the permit depends on the status of the land: If no development has started on the land, the permit is valid for 1 year and 6 months from the date of issuance If development has already started, the permit remains valid until the construction of the proposed structure is completed Note: the permit may be revoked by the Local Authority at any time, in accordance with applicable regulations.
Required documentsArchitectural drawings (plans, sections, elevations) - PDF (required) - Signed by the professional of record. PDF only.
Site plan - PDF (required) - The plot with its boundaries, the building and the distances to the boundaries. PDF only.
Structural drawings and calculations - PDF (optional) - For buildings of more than one storey or of more than 200 m2. PDF only.
Services drawings (drainage, water, electrical) - PDF (optional) - PDF only.
Proof of land ownership or the owner's consent (required) - Title deed, lease or offer letter; or the registered owner's signed consent with a copy of their title.
Applicant/Representative Identity Document (required) - Taken from the applicant's verified identity / registration where available (legacy automatic document).
Applicant/Representative Certificate of Registration (required) - Taken from the applicant's verified identity / registration where available (legacy automatic document).
Valid Structural Engineers Certificate (optional)
Receipts for development charges/beaconing (optional)
Occupancy License (optional)
Valid Building Permit (amendment) (required) - Taken from the applicant's verified identity / registration where available (legacy automatic document).
Occupancy License (amendment) (optional) - For an amendment.
Output documentsGS-1 Application for a Government Service
GS-2 Notice of Government Action
Building Permit
Building Permit (amendment)

2. Application process, step by step

The process as configured in the back office:

StepRoleTaskType
1ApplicantApplyform
2Case OfficerReviewreview
3Case OfficerReviewreview
4Case OfficerGenerate Paymentgenerate-payment
5ApplicantPaymentpayment
6Case OfficerVerify Paymentverify-payment
7ExecutiveDecisiondecision
8SystemGenerate Documentgenerate-document
9SystemNotify Clientnotify

Who takes part in this journey: Citizen, Case Officer, Case Officer (another officer, for the departments), Plans committee (chair: Executive), Anyone (public).

Step 1. Find the service and read its page

Citizen · National e-Services portal

The citizen finds "Building Permit" in the national directory: the council it is offered at, the drawings and documents to have ready (architectural drawings and site plan as PDF, proof of ownership) and how the fee is worked out (approved rates per m2 of floor area).

Find the service and read its page (desktop) Find the service and read its page (375 px phone)

Step 2. Apply with the drawings

Citizen · National e-Services portal (sent through the API the portal uses in the test run: no screenshot)

The citizen answers the form (the plot by its parcel number E2E/BC/38 with its position, use, floor area 180 m2, two storeys, the architect and their registration number, and the imported form's own questions about the building) and uploads the architectural drawings, the site plan and the proof of ownership as PDF. The server checks the plot against the parcel register (a parcel it does not know is refused) and reads every drawing with the platform's strict PDF reader (damaged, encrypted or scripted files are refused). Application LGD-BP/00001/10-22-26 is received; development BC-2026-00001 is in the register as "Applied for".

Step 3. Take the application on

Case Officer · Back office (done through its case API in the test run: no screenshot)

The Case Officer takes the new application on (assigned to them). The case moves from "Submitted" to "CO Review".

Step 4. The development, its plot and the checks

Case Officer · Back office

Ministry functions -> Building control -> the development: what is built, the plot outline from the parcel register on a map, the plot / title / zoning checks (here: a current parcel; the land register is not on this installation, so the title is checked from the documents), the professional of record with the registration number to check, the referrals and the drawings.

The development, its plot and the checks (desktop)

Step 5. Refer the application to departments

Case Officer · Back office

The officer refers the application to the departments concerned (the council's list: planning, structures, fire, public health, roads, utilities). The application cannot move on until each department has answered.

Refer the application to departments (desktop)

Step 6. The departments answer

Case Officer (another officer, for the departments) · Back office

Another officer answers for each department with a recommendation (no objection, with conditions, objection) and comments. The officer who sent a referral cannot answer it (the server refuses it).

The departments answer (desktop)

Step 7. Refer to the departments and collect their answers

Case Officer · Back office (done through its case API in the test run: no screenshot)

The Case Officer completes "Refer to the departments and collect their answers". The case moves from "CO Review" to "CO Generate Payment".

Step 8. Set the fee (approved rates per m2 of floor area)

Case Officer · Back office (done through its case API in the test run: no screenshot)

The officer sets the fee the system worked out from the council's approved building control rates: Building permit (ZMW 15.00 per m2 x 180 m2 + ZMW 500.00), ZMW 3200.00. The citizen is invoiced.

Step 9. Pay the permit fee

Citizen · National e-Services portal

The application waits for the payment in My Workplace, with a Pay button (ZamPay: mobile money or bank card).

Pay the permit fee (desktop) Pay the permit fee (375 px phone)

Step 10. Verify Payment

Case Officer · Back office (done through its case API in the test run: no screenshot)

The Case Officer completes "Verify Payment". The case moves from "CO Verify Payment" to "EX Decision".

Step 11. The plans committee decides

Plans committee (chair: Executive) · Back office (done through its case API in the test run: no screenshot)

The chair puts the application on the agenda of a meeting of the plans committee (PCE/2026/1 in this run), records who attended (the quorum is checked) and the resolution "approve" with its reasons, and closes the meeting. Closing it decides the application; deciding it by hand is refused.

Step 12. The permit in My permits

Citizen · National e-Services portal

The building permit is listed in "My permits and licences" with the development, the plot (and its outline on a small map), the stage reached and the next stage to notify - a generic block any permit can show - and a download of the sealed PDF. The sealed approved drawings are in the application's documents.

The permit in My permits (desktop) The permit in My permits (375 px phone)

Step 13. Verify the permit

Anyone (public) · Public verification page

The QR code on the permit opens the public verification page: genuine and current, whether the electronic seal is valid, and the plot (parcel number and its outline on a map). No owner details are shown.

Verify the permit (desktop) Verify the permit (375 px phone)

3. Payment

ItemIn the test run
FeeZMW 3,200.00: approved rate ZMW 15.00 per m2 x 180 m2 of floor area + ZMW 500.00, worked out by the system from the development on record
When it is paidAfter the checks and the referrals, before the plans committee
Invoice number4795597004648115
Paid throughZamPay (the ZamPay test double in this run)

On screen: step 9 (Pay the permit fee) in section 2.

4. Output documents

Building permit (sealed PDF)

The permit issued when the plans committee approves: the development (reference, works, use, floor area, storeys), the plot, the stages to notify for inspection and the commencement deadline as its conditions; sealed with the platform's electronic seal. The approved drawings are sealed the same way.

Building permit (sealed PDF)

The issued PDF has 2 pages; the image shows the first.

Fields

FieldValue in the test run
Document titleBuilding permit
Permit / licence numberLGD-BP-2026-00001
HolderChanda Mwila
Valid from2026-10-22
Valid until2028-04-22
Statusactive
Verification code (printed with a QR code)SA4H-5ZKP-H6

Seal

ItemDetail
Seal statussealed
Signature levelPAdES-B-T
Sealed bythe platform seal (development key in the test run)
Signed at2026-10-22T02:51:10.821Z
Trusted time-stamp2026-10-22T02:51:10.816Z (time-stamping authority)
Document fingerprint (SHA-256)dfbc84ed3bf89ca3...

Verification

ItemDetail
WhereThe public verification page of the national portal, <portal>/verify/<verification code>, opened by scanning the QR code on the document.
What it showsWhether the document is genuine and current, its holder and validity, and whether the electronic seal is valid and who sealed it.
Checking a copyAnyone can upload a PDF they were given; the page says whether it is exactly the document that was issued. A changed copy is reported as not matching.

On screen: step 12 (The permit in My permits), step 13 (Verify the permit) in section 2.

5. Notifications

WhenChannelToMessageDelivery
Application receivedin-app (portal bell)the applicantApplication LGD-BP/00001/10-22-26 received - Your application LGD-BP/00001/10-22-26 for Building Permit has been received by Department of Local Government.shown
Status changedin-app (portal bell)the applicantUpdate on application LGD-BP/00001/10-22-26 - LGD-BP/00001/10-22-26 (Building Permit) is now: With the office - being reviewed.shown
Payment due (invoice raised)in-app (portal bell)the applicantPayment due for application LGD-BP/00001/10-22-26 - The fee of ZMW 3200.00 for Building Permit (LGD-BP/00001/10-22-26) is now due. Invoice 4795597004648115.shown
Payment receivedin-app (portal bell)the applicantPayment received for LGD-BP/00001/10-22-26 - Your payment of ZMW 3200.00 for LGD-BP/00001/10-22-26 (Building Permit) has been received. Receipt: <ZamPay>/pdf?documentType=receipt&invoiceNumber=4795597004648115shown
Licence / permit issuedin-app (portal bell)the applicantYour Building Permit document has been issued - LGD-BP-2026-00001 has been issued for Building Permit and is valid until 23/04/2028.shown
Invitation to rate the servicein-app (portal bell)the applicantHow was Building Permit? - How was Building Permit? Tell us in about a minute.shown
Decision: approvedin-app (portal bell)the applicantApplication LGD-BP/00001/10-22-26 completed - LGD-BP/00001/10-22-26 (Building Permit) is complete. Your documents are ready.shown
Application receivedsms+260 97* *** 567Application LGD-BP/00001/10-22-26 for Building Permit has been received. Track it: <portal>/my-workplacedelivered
Application receivedemaile2e.c***@example.testApplication LGD-BP/00001/10-22-26 receivedskipped
Status changedsms+260 97* *** 567delivered
Payment due (invoice raised)emaile2e.c***@example.testPayment due for application LGD-BP/00001/10-22-26skipped
Payment due (invoice raised)sms+260 97* *** 567Fee of ZMW 3200.00 due for LGD-BP/00001/10-22-26. Invoice 4795597004648115. Pay: <ZamPay>/pay-for-service/get-invoice/4795597004648115delivered
Payment receivedsms+260 97* *** 567delivered
Invitation to rate the servicesms+260 97* *** 567skipped
Licence / permit issuedemaile2e.c***@example.testYour Building Permit document has been issuedskipped
Invitation to rate the serviceemaile2e.c***@example.testHow was Building Permit?skipped
Licence / permit issuedsms+260 97* *** 567delivered
Decision: approvedemaile2e.c***@example.testApplication LGD-BP/00001/10-22-26 completedskipped
Decision: approvedsms+260 97* *** 567delivered

Delivery: shown = in the portal's notification bell; delivered = the SMS gateway (a test double in this run) reported the text delivered; skipped = not sent on that channel (e-mail is not configured on the test installation, and some notices go out on one channel only); sent by the national portal = a ministry node handed the notice to the national portal, which texts and e-mails the citizen under its own name and the citizen's preferences. Addresses written <portal>, <ZamPay> stand for the national portal and ZamPay.

6. Legacy mapping

ItemDetail
ReplacesBuilding Permit in the legacy ZIGS e-Services directory (ZIGS_Services)
Legacy service id647
Legacy providerDepartment of Local Government (LGD) under Ministry of Local Government and Rural Development
Legacy processnot recorded
Fee in the legacy systemnone
Fee taken before submissionyes (as in ZIGS)
Time to issue (legacy)not recorded
Legacy output templatesGS-1 Application for a Government Service: ZIGS_Forms_ZDA / GS1
GS-2 Notice of Government Action: ZIGS_Forms_Notices / GS-2.NoticeOfAction
Building Permit: / BuildingPermit.GS3
Building Permit (amendment): / BuildingPermitAmendment.GS3
Legacy addresshttps://ecouncils.gsb.gov.zm
How it was brought overImported by the platform's legacy catalogue importer (zcm-backend scripts/zigs/importLegacy.js) from the ZIGS snapshot: form, case types, fees, documents, process and output templates, then served by the new platform.

7. Version and date

ItemDetail
Document versionservice v1, platform a4ce8843
Generated2026-10-22T02:52:08Z (by the end-to-end run, not edited by hand)
Service versionnot versioned (configured directly)
Platform snapshotbackend a4ce8843
portal f14fd24
back office 7887a35
Test suitee2e d7c2863; one installation (combined); seed profile mihud
Journeys38-building-permit-stage-inspections.spec.js: citizen: finds the service and applies for a building permit with the drawings - passed
38-building-permit-stage-inspections.spec.js: officer: plot checks and the architect confirmed, referrals answered; the fee from the approved rates - passed
38-building-permit-stage-inspections.spec.js: citizen pays; the plans committee approves; the permit is issued with the drawings sealed - passed
38-building-permit-stage-inspections.spec.js: citizen: the permit in My permits with the plot; sealed; verifies with the plot's map - passed
38-building-permit-stage-inspections.spec.js: foundation: notified; planned from the queue; recorded off site - held, refused; on site - verified, signed off - passed
38-building-permit-stage-inspections.spec.js: slab, roof and final: each verified on site and signed off; the map follows the stage reached - passed
38-building-permit-stage-inspections.spec.js: occupancy certificate: once, after the final stage; paid; sealed; the development completed - passed
Result7 of 7 journey tests passed
DataSynthetic test data on a local test installation; provider test doubles for ZamPass, ZamPay, SMS and signing.