Skip to main content

Payment Schedules & Milestones

Role Required: SOCIETY_ADMIN
Navigation: Sidebar → Settings → Milestone
Last Updated: March 2026 | Portal Version: 1.0

Overview

A Payment Schedule defines how the total booking amount is broken into milestones that the citizen must pay over time. Each milestone specifies a percentage of the total amount, a due date (calculated from booking date), and an optional grace period. The system sends automatic reminders before milestones become due and tracks overdue payments.

Payment schedules can be configured at the society level or layout level (layout overrides society).

Payment Schedules

Payment Schedule Manager

The Milestone page shows all payment schedules for your society.

Header Actions:

  • ← Back to Dashboard — Returns to admin dashboard
  • Create Default — Creates a default schedule (disabled if one already exists)
  • + New Schedule — Create a new custom payment schedule

Filter:

  • Filter by Layout — Dropdown: All Layouts (Society-wide included), or select a specific layout

Schedule Cards:

Each schedule is displayed as a card showing:

  • Schedule Name (e.g., "Standard Payment Schedule")
  • Default badge (if it is the default schedule)
  • Society-wide or layout-specific badge
  • Description — Summary of the schedule
  • Edit / Delete buttons
  • Milestone Steps — Numbered list of milestones with:
    • Milestone name (e.g., "Advance Payment", "First Installment")
    • Percentage of total amount
    • Due timeline (e.g., "Due 45 days from booking")

Payment Schedule Structure

Schedule: "Standard 4-Milestone Plan"
├── Milestone 1: Advance (10%) — Due: Booking Day — Mandatory
├── Milestone 2: First Installment (40%) — Due: 30 days — Mandatory
├── Milestone 3: Second Installment (75%) — Due: 90 days — Mandatory
└── Milestone 4: Final Payment (100%) — Due: 180 days — Mandatory

Milestone Properties

PropertyDescription
Milestone NameDisplay name (e.g., "Advance", "First Installment", "Registration")
Milestone OrderSequence number (1, 2, 3...)
Percentage TargetCumulative % of total amount due by this milestone
Days from BookingNumber of days after booking date when this milestone is due
Grace Period DaysExtra days before the milestone is considered overdue
Is MandatoryWhether this milestone must be paid (vs. optional/informational)
Cumulative Percentages

Percentage targets are cumulative, not incremental. If Milestone 1 is 10% and Milestone 2 is 40%, the citizen must have paid 40% of the total by Milestone 2 — not an additional 40%.

Creating a Payment Schedule

  1. Navigate to Settings → Payment Schedules
  2. Click Create New Schedule
  3. Enter:
    • Schedule Name: e.g., "Standard Plan", "Premium Fast-Track"
    • Description: Brief explanation of this schedule
    • Level: Society-wide or specific to a Layout
    • Is Default: Set to Yes if this should be the default schedule
  4. Add milestones:

Adding Milestones

For each milestone, enter:

FieldExampleNotes
Name"Advance"Descriptive name
Order1Determines display sequence
% Target10.00Cumulative percentage
Days from Booking00 = due on booking day
Grace Period7Extra days before overdue
MandatoryYesRequired payment

Typical Schedule Examples

Standard 4-Milestone Plan:

#MilestoneCumulative %Due AfterGrace
1Advance10%0 days0 days
2First Installment40%30 days7 days
3Second Installment75%90 days7 days
4Final Payment100%180 days14 days

Fast-Track Plan:

#MilestoneCumulative %Due AfterGrace
1Advance25%0 days0 days
2Balance Payment100%30 days7 days

Full Payment Plan:

#MilestoneCumulative %Due AfterGrace
1Full Payment100%0 days3 days

How Milestones Are Applied to Bookings

When a booking is created:

  1. The system selects the appropriate schedule: Layout-specific (if exists) → Society default
  2. Milestones from the schedule are copied to the booking as Booking Payment Schedules
  3. Each milestone's due date is calculated: Booking Date + Days from Booking
  4. The citizen sees their payment schedule in their dashboard
important

Once a booking is created, its milestones are frozen — changes to the schedule template do NOT retroactively affect existing bookings. Only new bookings use the updated schedule.

Payment Reminders

Automatic Reminders

The system sends payment reminders before milestone due dates. Reminder timing is configured per layout:

Default reminder schedule: 7 days, 3 days, and 1 day before the due date.

Each reminder sends notifications via:

  • Push notification (mobile app)
  • Email
  • SMS (if configured)

Configuring Reminder Timings

  1. Navigate to the LayoutSettingsReminder Configuration
  2. Set the reminder sequence:
SequenceDays Before DueDefault
17
23
31

You can add, remove, or change the days-before-due for each layout.

Trigger Types

TypeDescription
AUTOMATICSent by background job on the scheduled day
MANUALAdmin can manually trigger reminders from the booking detail

Manually Sending a Reminder

  1. Open the booking detail
  2. Navigate to the Payment Schedule tab
  3. Find the upcoming or overdue milestone
  4. Click Send Reminder
  5. The citizen receives a notification immediately

Monitoring Overdue Payments

A milestone becomes overdue when:

Current Date > (Milestone Due Date + Grace Period Days)

Overdue milestones are:

  • Highlighted in red in the booking detail
  • Flagged on the dashboard (overdue payments count)
  • Included in the outstanding payments report
  • Included in overdue alerts

Finding Overdue Bookings

  1. Navigate to Reports → Outstanding Payments
  2. Toggle Overdue Only filter
  3. The report shows all bookings with overdue milestones, sorted by severity

Common Scenarios

"I want to change the schedule for a layout but not affect current bookings"

Just update or create a new schedule template. Existing bookings retain their original milestones. Only new bookings will use the updated schedule.

"A citizen is asking for an extension on their due date"

Individual booking milestone dates cannot be modified directly. However:

  • The Grace Period provides some buffer
  • If further flexibility is needed, contact support to discuss options
  • The system will mark any overdue payment but does not auto-cancel bookings for non-payment

"I need a different schedule for a premium layout"

Create a Layout-specific schedule:

  1. Create Payment Schedule → Select the specific Layout
  2. Define the milestones
  3. Set as default for that layout
  4. New bookings in that layout will use this schedule instead of the society-wide one

"Reminders aren't being sent"

Check:

  1. Are reminders configured for the layout? (Settings → Reminder Configuration)
  2. Is the reminder active? (IsActive = true)
  3. Has the background job run? (Reminders are processed by a background job daily)
  4. Does the citizen have a valid email/phone for notifications?
  5. Check notification delivery logs