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

Health Permit

FormWorkflowOutputsE2E testDocs
PassedPassedPassedPassedPassed
End-to-end test
3/3 passed 2026-10-21 (mihud, combined)
Documentation
17 steps, 30 images · Download the DOCX
Who can apply
Organization, Individual
Catalogue ID
606

Output documents

Test evidence

Health Permit

Service documentation · Republic of Zambia · GSB e-Services

OwnerDepartment of Local Government
Service keyLGD/health-permit
Versionservice v1, platform 7eecca5c
Date2026-10-21

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 Health 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
ServiceHealth Permit
Owner (MDA)Department of Local Government (LGD)
PurposeThis is a permit that ensures that businesses are in compliance with the minimum requirements of public health regulations.
Who can applyOrganization; Individual
How to applyOnline on the national e-Services portal, signed in with ZamPass; pay with ZamPay.
FeesHealth permit (business premises): (table)
Health permit (food transportation): (table)
Application fee: (table)
Inspection fee: (table)
Late renewal fee: (table)
TurnaroundSeven (7) days
Validity of the output31 December of the current year
Required documentsApplicant/Representative Identity Document (required)
Applicant/Representative Certificate of Registration (required)
Food Handlers’ Certificate for food-related businesses (optional)
Waste Management Contract (required)
Certificate of Occupancy with the Council (optional)
Fire Certificate (optional)
Output documentsGS-1 Application for a Government Service
GS-2 Notice of Government Action
Health Permit

2. Application process, step by step

The process as configured in the back office:

StepRoleTaskType
1ApplicantApplyform
2SystemGenerate Documentgenerate-document
3Case OfficerGenerate Paymentgenerate-payment
4ApplicantPaymentpayment
5Case OfficerReviewreview
6Case OfficerInspect Siteinspection
7SupervisorApproveapprove
8SystemGenerate Documentgenerate-document
9SystemNotify Clientnotify

Who takes part in this journey: Citizen, Case Officer, Supervisor, Anyone (public).

Step 1. Find the service at the council

Citizen · National e-Services portal

The service is delivered by the local authorities: on the national e-Services portal the citizen opens Councils, chooses their council (Lusaka City Council in this run) and searches its services ("Health Permit"). The application is then registered with that council and priced with its own fees.

Find the service at the council (desktop) Find the service at the council (375 px phone)

Step 2. Read the service page

Citizen · National e-Services portal

The service page sets out what the service is for, the fee, how long it takes and the documents to have ready, and names the council the application goes to. "Start application" begins an application at Lusaka City Council (the citizen is signed in with ZamPass).

Read the service page (desktop) Read the service page (375 px phone)

Step 3. Confirm the applicant details

Citizen · National e-Services portal

The applicant details are filled in from the citizen's ZamPass account. The citizen says whom they are applying for (themself) and continues with "Proceed to Application".

Confirm the applicant details (desktop) Confirm the applicant details (375 px phone)

Step 4. Fill in the application form

Citizen · National e-Services portal

The citizen answers the service's own application form, converted from the legacy system (9 answers in this run, all synthetic), for the type of application "New". Questions marked * must be answered; some appear only after an earlier answer. Answers are saved as the citizen types, so an unfinished application can be reopened from My Workplace.

Fill in the application form (desktop) Fill in the application form (375 px phone)

Step 5. Upload the supporting documents

Citizen · National e-Services portal

Each document the service asks for has its own upload (6 in this run: Applicant/Representative Identity Document, Applicant/Representative Certificate of Registration, Food Handlers’ Certificate for food-related businesses, Waste Management Contract, Certificate of Occupancy with the Council, Fire Certificate). The files are checked and stored with the application; the page confirms each upload.

Upload the supporting documents (desktop) Upload the supporting documents (375 px phone)

Step 6. Check the answers and confirm the declaration

Citizen · National e-Services portal

Before sending, the citizen sees every answer and document on one page and can go back to change them. The declaration that the information is true and complete must be ticked.

Check the answers and confirm the declaration (desktop) Check the answers and confirm the declaration (375 px phone)

Step 7. Application sent

Citizen · National e-Services portal

The portal confirms the application with the ministry's reference number (LGD-HP/00001/10-21-26 in this run). The fee is due now: it is taken with the application, so the invoice was raised when the application was sent.

Application sent (desktop) Application sent (375 px phone)

Step 8. See that the fee is due

Citizen · National e-Services portal

The application shows "Waiting for your payment" in My Workplace with a Pay button (K5,989.50). The fee is taken with the application; the invoice was raised on ZamPay.

See that the fee is due (desktop) See that the fee is due (375 px phone)

Step 9. Pay with ZamPay

Citizen · National e-Services portal

Pay opens the invoice (K5,989.50, the amount set by the platform, never by the page) with its PDF preview; the citizen pays at ZamPay by mobile money or bank card.

Pay with ZamPay (desktop) Pay with ZamPay (375 px phone)

Step 10. Payment received

Citizen · National e-Services portal

ZamPay reports the payment; the dialog says "Paid. Thank you" and the application moves on to the ministry's officers.

Payment received (desktop) Payment received (375 px phone)

Step 11. Take the new application on

Case Officer · Back office

The application arrives in the case queue of the ministry that owns the service (Department of Local Government); only its staff see it. The officer opens it by its reference number - answers, documents and process are on the case - assigns it to themself and takes it on.

Take the new application on (desktop)

Step 12. Verify Case Eligibility / Compliance

Case Officer · Back office

The Case Officer works on "Verify Case Eligibility / Compliance" (review in the imported process), checks the application and its documents, and completes the step.

Verify Case Eligibility / Compliance (desktop)

Step 13. Prepare Inspection Report, Draft Decision

Case Officer · Back office

The Case Officer works on "Prepare Inspection Report, Draft Decision" (inspection in the imported process), checks the application and its documents, and completes the step.

Prepare Inspection Report, Draft Decision (desktop)

Step 14. Inspection: Prepare Inspection Report, Draft Decision

Case Officer · Back office

"Prepare Inspection Report, Draft Decision" is a site inspection: the case cannot move on until the findings are recorded. The officer assigns the inspection (to themself here) on the case's Reviews tab, visits the place and records each checklist item, the visit and the outcome ("passed" in this run); then completes the step.

Inspection: Prepare Inspection Report, Draft Decision (desktop)

Step 15. Decide: Review Final Decision

Supervisor · Back office

At "Review Final Decision" the Supervisor records the decision: approve, with a comment kept in the case history. Approving moves the case on; the last decision completes it and issues the document.

Decide: Review Final Decision (desktop)

Step 16. The document in My permits

Citizen · National e-Services portal

The issued document (LGD-HP-2026-00001 in this run: "Health Permit") is listed in "My permits and licences" with its validity and a download of the sealed PDF.

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

Step 17. Verify the document

Anyone (public) · Public verification page

The QR code on the document opens the public verification page: genuine and current, to whom it was issued, and whether the electronic seal is valid. No sign-in is needed.

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

3. Payment

ItemIn the test run
Fee (as published)Depends on the category and class of permit.
Invoice 18625191447781100
Amount 1ZMW 5989.50
Paid at 1with the application

On screen: step 8 (See that the fee is due), step 9 (Pay with ZamPay), step 10 (Payment received) in section 2.

4. Output documents

Health Permit (sealed PDF)

Issued when the case was approved, from the service's output configuration (service template HealthPermit.Certificate.docx), filled from the application and the decision, sealed with the platform's electronic seal and stored as the issued version. The holder downloads it from My permits; the verification page checks it.

Health Permit (sealed PDF)

The issued PDF has 1 page; the image shows the first.

Fields

FieldValue in the test run
Document titleHealth Permit
Permit / licence numberLGD-HP-2026-00001
HolderChanda Mwila
Valid from2026-10-21
Valid until2026-12-31
Statusactive
Verification code (printed with a QR code)W3QF-BT2R-QK

Seal

ItemDetail
Seal statussealed
Signature levelPAdES-B-T
Sealed bythe platform seal (development key in the test run)
Signed at2026-10-21T11:23:44.818Z
Trusted time-stamp2026-10-21T11:23:44.788Z (time-stamping authority)
Document fingerprint (SHA-256)5983eb1e9da934db...

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 16 (The document in My permits), step 17 (Verify the document) in section 2.

5. Notifications

WhenChannelToMessageDelivery
Payment due (invoice raised)in-app (portal bell)the applicantPayment due for application LGD-HP/00001/10-21-26 - The fee of ZMW 5989.50 for Health Permit (LGD-HP/00001/10-21-26) is now due. Invoice 8625191447781100.shown
Application receivedin-app (portal bell)the applicantApplication LGD-HP/00001/10-21-26 received - Your application LGD-HP/00001/10-21-26 for Health Permit has been received by Department of Local Government.shown
Payment receivedin-app (portal bell)the applicantPayment received for LGD-HP/00001/10-21-26 - Your payment of ZMW 5989.50 for LGD-HP/00001/10-21-26 (Health Permit) has been received. Receipt: <ZamPay>/pdf?documentType=receipt&invoiceNumber=8625191447781100shown
case.inspection_scheduledin-app (portal bell)the applicantInspection for application LGD-HP/00001/10-21-26 on Wednesday 21 October 2026 - Inspection for LGD-HP/00001/10-21-26 (Health Permit) on Wednesday 21 October 2026.shown
review.submittedin-app (portal bell)the applicantOpinion received on case LGD-HP/00001/10-21-26 - E2E LGD Case Officer recorded an opinion on case LGD-HP/00001/10-21-26: passed.shown
Licence / permit issuedin-app (portal bell)the applicantYour Health Permit document has been issued - LGD-HP-2026-00001 has been issued for Health Permit and is valid until 31/12/2026.shown
Invitation to rate the servicein-app (portal bell)the applicantHow was Health Permit? - How was Health Permit? Tell us in about a minute.shown
Decision: approvedin-app (portal bell)the applicantApplication LGD-HP/00001/10-21-26 completed - LGD-HP/00001/10-21-26 (Health Permit) is complete. Your documents are ready.shown
Payment due (invoice raised)sms+260 97* *** 567Fee of ZMW 5989.50 due for LGD-HP/00001/10-21-26. Invoice 8625191447781100. Pay: <ZamPay>/pay-for-service/get-invoice/8625191447781100delivered
Payment due (invoice raised)emaile2e.c***@example.testPayment due for application LGD-HP/00001/10-21-26skipped
Application receivedsms+260 97* *** 567Application LGD-HP/00001/10-21-26 for Health Permit has been received. Track it: <portal>/my-workplacedelivered
Application receivedemaile2e.c***@example.testApplication LGD-HP/00001/10-21-26 receivedskipped
Payment receivedsms+260 97* *** 567delivered
review.requestedemaile2e.c***@example.testYour opinion is requested on application LGD-HP/00001/10-21-26skipped
case.inspection_scheduledsms+260 97* *** 567delivered
case.inspection_scheduledemaile2e.c***@example.testInspection for application LGD-HP/00001/10-21-26 on Wednesday 21 October 2026skipped
review.submittedemaile2e.c***@example.testOpinion received on case LGD-HP/00001/10-21-26skipped
Invitation to rate the servicesms+260 97* *** 567skipped
Invitation to rate the serviceemaile2e.c***@example.testHow was Health Permit?skipped
Decision: approvedsms+260 97* *** 567delivered
Licence / permit issuedsms+260 97* *** 567delivered
Decision: approvedemaile2e.c***@example.testApplication LGD-HP/00001/10-21-26 completedskipped
Licence / permit issuedemaile2e.c***@example.testYour Health Permit document has been issuedskipped

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
ReplacesHealth Permit in the legacy ZIGS e-Services directory (ZIGS_Services)
Legacy service id606
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
Health Permit: ZIGS_Forms_ECouncil / HealthPermit.Certificate
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 7eecca5c
Generated2026-10-21T11:23:53Z (by the end-to-end run, not edited by hand)
Service versionnot versioned (configured directly)
Platform snapshotbackend 7eecca5c
portal 72805f0
back office 58e5946
Test suitee2e 2f82c10; one installation (combined); seed profile mihud
Journeys30-catalogue-service.spec.js: citizen finds the service, answers its form, uploads its documents and sends the application - passed
30-catalogue-service.spec.js: the case goes through every step of its process: payments by the citizen, each officer step by its role - passed
30-catalogue-service.spec.js: the grant document is issued, sealed, filled in and verifiable; the citizen has it in My permits - passed
Result3 of 3 journey tests passed
DataSynthetic test data on a local test installation; provider test doubles for ZamPass, ZamPay, SMS and signing.