12
🤝

Collaborations & Partnerships — Forms

Partner institutions · joint programs · MOUs

Forms — Collaborations & Partnerships

Module: collaborations (Module #10) · See blueprint: docs/blueprints/collaborations.md

All forms below are internal (admin / module-admin login required). The partnership ledger reads often, writes rarely; UI tone follows aayojana_framework.html — two-column form-grid with a Sanskrit-friendly textbox treatment and section breaks via <h3> blocks.


Section A — Partner Directory

Form 2.1 — Partner Institution Profile

Purpose: Register a peer institution we have a relationship with — sister mathas, mandirs, schools, universities, gurukulas, sister NGOs, government bodies. This is the master record from which MOUs, joint programs, visits, and shared resources hang. Who fills: Module-admin (Collaborations) · once per partner; updated rarely.

Field Type Required Options / Validation Default Help
Institution Name (English) text yes 5-255 chars — "Sringeri Sharada Peetham"
Institution Name (Sanskrit / Devanagari) text no TEXT, VijayaDV PUA preserved — Use VijayaDV font, never normalise
Slug text yes lowercase + hyphen; unique per tenant (auto from name) URL-safe; auto-generated, editable
Kind select yes matha / mandir / school / university / gurukula / trust / ngo / government_body matha Filter dimension
Parampara text no 2-120 chars; auto-complete — "Sringeri", "Ahobila", "Pejavara", "SGS"
Sampradaya select no smarta / vaishnava / shaiva / madhva / shakta / other — Optional taxonomy
Primary Contact Name text no 3-160 chars — "Sri Brahmasri X"
Primary Contact Role text no 3-120 chars — "Manager", "Pradhana Acharya"
Primary Contact Email email no RFC-5322 — —
Primary Contact Phone phone no E.164 preferred — "+91 98XXXXXXXX"
Address textarea no up to 1000 chars — Postal address
City text no 2-120 chars — —
State text no 2-120 chars — —
Country text yes ISO English name India —
Website url no https:// — —
Relationship History textarea no up to 4000 chars — When + how the relationship began, who introduced
Relationship Status select yes active / dormant / estranged / historical active "Historical" = pre-Aayojana, archival
Notes textarea no up to 4000 chars — Free-form

Submit action: Inserts partner_institutions row. If Country != India, flags the record so any joint-program funding goes through the FCRA-aware Vitta path. If Slug collides, suggests a numbered suffix. Related forms: Form 2.2 (record a joint program with this partner), Form 2.3 (MOU), Form 2.4 (visit), Form 2.5 (shared resource).


Section B — Joint Programs

Form 2.2 — Joint Program Entry

Purpose: Log a co-organised event — festival, scholarly conference, workshop, pilgrimage, exchange, fundraiser — done with a partner. One row per program. Who fills: Module-admin or program coordinator · within 14 days of program end.

Field Type Required Options / Validation Default Help
Partner FK select (partners) yes active partners — Type-ahead by name/parampara
Program Name text yes 5-255 chars — "Sringeri-Mysuru Vedanta Sammelanam 2026"
Kind select yes festival / conference / workshop / pilgrimage / exchange / fundraiser conference Filter
Program Date (start) date yes not future > 1 yr — First day
End Date date no ≥ program_date — Multi-day programs
Venue text no 3-255 chars — "Mysuru Ashrama Sabha-Bhavana"
Venue Branch FK select (branches) no our branches — If hosted at our premises
Our Contribution textarea no up to 2000 chars — "Hosted, fed 200, provided audio team"
Their Contribution textarea no up to 2000 chars — "Sent 4 acharyas, supplied kit"
Outcome textarea no up to 2000 chars — What was achieved + follow-up
Attendees (count) number no ≥ 0 — Estimate

Submit action: Inserts joint_programs row. If Kind = fundraiser, prompts a Vitta cross-link so income/expenses can be tagged to this program. Related forms: Form 2.4 (visit, if a partner acharya came), Form 1.4 in Outreach (if it was also a public lecture).


Section C — MOUs

Form 2.3 — MOU Entry

Purpose: Record a formal Memorandum of Understanding with a partner — signed PDF, scope, validity period, signatories, auto-renewal flag — for legal-weight institutional memory. Who fills: Trustee or module-admin (Collaborations) · once per MOU; renewals create a new row, not an edit.

Field Type Required Options / Validation Default Help
Partner FK select yes active partners — The other party
MOU Title text yes 5-255 chars — "MOU on Vedic Curriculum Exchange"
Scope (text) textarea yes 50-4000 chars — What does this cover?
Scanned Document (PDF) file yes pdf only; max 30 MB — Stored as MediaAsset
Document External URL url no https:// — Alternative if file already in Drive
Valid From date yes — — First day of effect
Valid To date no ≥ valid_from — NULL = open-ended
Auto-Renews checkbox no — false If true, comms reminder T-30 to confirm renewal
Our Signatory FK select (users) no trustees — Internal signatory record
Their Signatory Name text no 3-160 chars — Free-text
Status select yes draft / active / expired / terminated draft Manual flip; cron auto-flips active→expired on valid_to
Notes textarea no up to 4000 chars — Negotiation context, side-letters

Submit action: Inserts mous row + uploads PDF as MediaAsset(kind='pdf') and links via document_media_id. Audit module records as legal_weight=True. If auto_renews=true and valid_to is set, schedules T-90 / T-30 / T-7 reminders through Comms. Related forms: Form 4.4 in Comms (template editor — mou_renewal_t30 is the template used), Form 5.1 in Reports (run collaborations_active_mous).


Section D — Inter-Institutional Visits

Form 2.4 — Inter-Institutional Visit

Purpose: Schedule and record a visiting acharya / swami / scholar from a partner institution — accommodation, travel, programme schedule, pickup logistics. Who fills: Visit-coordinator or module-admin · created at least 7 days before arrival; updated through the visit.

Field Type Required Options / Validation Default Help
Visitor Name text yes 3-255 chars — "Sri Swami X"
Visitor Role select no acharya / swami / pandit / professor / jeeyar / scholar / other acharya Honorific dimension
Visitor (existing Member) FK select (members) no members.id — If we already have them as a member; auto-fills name
From Partner FK select (partners) no active partners — Their home institution
Arrival Date date yes not past > 30d — First date on site
Departure Date date no ≥ arrival_date — NULL = open / TBD
Purpose textarea yes 10-2000 chars — "Lecture series + advisory on curriculum"
Accommodation Room FK select (rooms) no available rooms — From Asset Management; checks for conflicts
Accommodation Notes textarea no up to 1000 chars — "Vegetarian-only kitchen attached"
Travel Arranged By select no us / them / shared them Who books tickets
Pickup Arranged checkbox no — false Tick when station/airport pickup confirmed
Linked Joint Program FK select no joint_programs.id — If visit is around a co-program
Notes textarea no up to 2000 chars — Dietary, security, follow-up

Submit action: Inserts inter_institutional_visits row. If Accommodation Room is set, attempts to reserve the room in Asset Management for the period; if conflict, returns a friendly error and prompts an alternate room. If Pickup Arranged=true, optionally creates a Comms reminder to the driver-staff segment 1 day prior. Related forms: Form 2.5 (if visiting acharya is on lend / borrow basis), Form 4.1 in Comms (welcome message, day-before reminder, post-visit thank-you).


Section E — Shared Resources (Lend / Borrow)

Form 2.5 — Shared Resource Lend / Borrow

Purpose: Record an item, vehicle, staff member, archaka, library item, or samagri lent to or borrowed from a partner — accountability trail with expected return date and condition. Who fills: Custodian or module-admin · at the moment of handover.

Field Type Required Options / Validation Default Help
Partner FK select yes active partners — The other party
Direction select yes lent (we → them) / borrowed (them → us) lent —
Resource Kind select yes equipment / vehicle / staff / archaka / library_item / samagri equipment —
Asset (registered) FK select (assets) conditional required if kind ∈ {equipment, vehicle, library_item} — From Asset Mgmt
Staff Member FK select (members) conditional required if kind ∈ {staff, archaka} — From Members
Description (free-text) textarea no up to 1000 chars — Use only when no registered asset/member fits
From Date date yes — today Handover date
To Date date no ≥ from_date — Actual end (filled on return)
Expected Return Date date yes ≥ from_date — Used for overdue alerts
Actual Return Date date no ≥ from_date — Filled at return time via Form 2.6
Condition at Lending select yes as-issued / minor-wear / damaged / cosmetic-only as-issued Photo upload encouraged
Estimated Value (₹) number no ≥ 0 — Above tenant threshold triggers two-key
Custodian FK select (users) yes active staff current user Who hands it over
Status select yes active / returned / overdue / written_off active Auto-flips active→overdue if past expected_return_date
Notes textarea no up to 2000 chars — Accessories, instructions

Submit action: Inserts shared_resources row. If direction=lent and Asset is set, calls Asset Management to set asset status to on-loan. If Estimated Value > ₹50,000, requires Audit two-key approval before commit. Schedules an overdue-reminder cron via Comms (T-3 days before expected return, then T+1, T+7, T+30 if not returned). Related forms: Form 2.6 (record return), Form 4.4 in Comms (template editor — shared_resource_overdue template).


Form 2.6 — Shared Resource Return

Purpose: Mark a lent/borrowed resource as returned, with condition and any notes. Closes the loop opened on Form 2.5. Who fills: Custodian or module-admin · at the moment of return.

Field Type Required Options / Validation Default Help
Shared Resource FK select yes active or overdue rows (URL-resolved) Pre-filled when arriving from a row
Actual Return Date date yes ≥ from_date today —
Condition Returned select yes as-issued / minor-wear / damaged / lost as-issued "lost" prompts written-off workflow
Damage / Loss Notes textarea conditional required if condition ∈ {damaged, lost} — Description for valuation claim
Photos (returned) file (multi) no jpg/png; max 10 MB each, 6 max — Optional but recommended
Notes textarea no up to 2000 chars — —

Submit action: Updates shared_resources row: sets actual_return_date, condition_returned, status → returned (or written_off if lost). Releases the asset back to available in Asset Management. If condition=damaged and estimated_value was set, prompts an Insurance / Compliance follow-up ticket. Related forms: Form 5.1 in Reports (run collaborations_lent_outstanding to see remaining open rows).


Workflow notes