10
🤝

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