Published
Thursday, July 22, 2010 - 02:53
Written by
A school needed an online admission application process to be developed and integrated with CiviSchool. The application form is a different workflow from the online family forms. Web Access helped convert this idea to working application as part of the CiviSchool Project. I have been working with Web Access on this project and we have completed most of it. Now seemed to be a good time to let everyone know about what we have done so far. Here is how the admission workflow is -
  • Parent account setup : A parent goes to the school site and uses a civicrm registration profile to create an account and enters the site. The account automatically gets assigned a "Applicant Parent" subtype.
  • Filling admission application forms : From the dashboard parent fills admission application forms for an applicant (child). Parent can apply for 1 or more applicants. All applicants are assigned a "Applicant" subtype.
  • Submitting a payment : Depending on whether financial aid is taken or not, parent submits a payment for an applicant. The payment is done via contribution page with contribution type - "Application Fee". Since parent is the one making the payment, to keep track of which applicant the payment is being done for, an extra argument is passed to the payment/contribution url. We using a hook to make all the checks and link the payment to the applicant.
  • Scheduling appointments : Once the application is complete and payment is made (if needed), parent can schedule a child visit or a parent interview. A school tour could be booked at any stage of the process.
Once the admission is complete, "Applicant"(s) could be converted to Student and "Applicant Parent"(s) to Parent subtypes, which allows to use rest of school module features. Shown below is the admission flow being used by the school (contributed by school )

Application Forms

Application form is composed of 5 sub-forms - Applicant Info, School Info, Family Info, Other Children, Additional Info.
  • Applicant Info captures information like name, applying grade, applying year, date of birth. Applicant which is a contact with subtype Applicant, is created along with a child / parent relationship.
  • School info captures information about current school like school, grade, dates attended, address, other school info. We using custom data to store these information.
  • Family info captures information about parents like name, address, occupation and other information like family circumstances, language, correspondence etc. The first parent info is pre filled with data available from logged in parent. The other information about family is stored in a custom table.
  • Other Children tab captures information about other children, their current school and if they applying for school or not.
  • Additional info tab captures additional information like financial aid request, referrer, source, agreement with school.

Scheduling Appointments - School Tour, Child Visit, Parent Interview

  • For parents to be able to schedule appointments admin/staff has to create slots. We have extended the conference scheduling system and made it a bit more general and using it for scheduling the appointments. So conference scheduling now also allows creating multiple slots at the same time. 2 slots for example means a maximum of 2 parent can book the same time slot.
  • Parent however always sees / can schedule only one slot.

Parent Dashboard

Parents have their own dashboard which allows doing all the work - scheduling appointments, filling application forms, making payments from the same screen.

Funding and generalising a bit further

If this project suits you interest and could be useful to you, might want to talk to Web Access to share funding and make the work-flow and the process generalised and applicable to other schools.

Comments

As an activity with custom field?

X+

extended contacts (or some specific sub-types) and relatioships

lobo

Hi Lobo,
I am interested in this feature. Is this (Civischool) a part of
CiviCRM module or anther open source module? Can we try it somewhere?

Thanks.

Jay