# Piramal Seva Setu - Next Sprint Test Guide

This build keeps the public website open without login and adds operational controls around employee participation.

## Public website
- `/` - public home, latest published Seva Bhaav activities and Seva Daan causes
- `/seva-bhaav/` - public list of published volunteering activities
- `/seva-bhaav/<id>` - basic public activity detail; nomination requires employee login
- `/seva-daan/` - public list of published donation causes
- `/seva-daan/<id>` - public cause detail; donation action remains employee-only / gateway pending

Only records in `PUBLISHED` status appear publicly.

## Employee flow
1. Login as `employee@sevasetu.local`.
2. Nominate for a published activity.
3. If manager approval is required, open **My Seva** and use **Nudge Manager**. A 24-hour cooling period applies.
4. Employee can cancel before the configured cancellation cutoff. Pending manager approval becomes Withdrawn.
5. Open **Notifications** to view registration and approval messages.

## Manager flow
1. Login as `manager@sevasetu.local`.
2. Open Approval Inbox.
3. Approve or decline a request.
4. Capacity is rechecked at approval time so pending approvals cannot overbook an activity.
5. The employee receives an in-app notification.

## Admin flow
1. Login as `admin@sevasetu.local`.
2. Create/publish activities and causes as before.
3. Use **Partners** to maintain NGOs / implementing partners.
4. Use **Locations** to maintain city-specific locations.
5. Record attendance; completed attendance updates volunteer hours, Hearts and creates an employee notification.

## Database
No new tables or columns are required by this sprint. Existing Partner, Location, Notification and manager-approval fields are used.

## Payment gateway
The Seva Daan payment gateway is intentionally not wired in this build. Select the approved provider / merchant flow before implementing payment capture, webhook verification, refunds and receipt generation.
