Rentals at MMC from the Cradle to the Grave

A call (or email) comes in for a proposed rental.

Fill out a Proposal

During the conversation with the person requesting a rental you will record the details in a Proposal. First choose Rentals from the top menu. Then choose the Proposals link. Then Add. Note the required fields marked with a red asterisk *. This is the place where you record the particular needs of the Rental to help evaluate whether the center can accomodate them - or not.

Several multiline text fields have a fancy editor for Word-like formatting:

After submitting the entry you see the list of all proposals. They are listed in order of program meeting date. Only current or future ones are shown. You can search for others by the group's name. For a wildcard you can use asterisk '*'. You can edit/update/delete them as usual.

The Program Office meeting then happens and decisions are made to Approve or Deny the proposals. The decision depends on what else is happening at the center, whether a meeting space is available, and many other factors. The Calendar is an effective tool to help make the decision. Perhaps an alternate date is better for the center. This is negotiated with the rental's Contact Person.

Deny

If the decision is to Deny, Choose Edit, check 'Denied' and possibly put a reason in Miscellaneous Notes. Save these entries. Then click 'Transmit' to move contact person (and perhaps contract signer) to People for later reference.

Approved

If Approve - click 'Approve'. This brings up a Rental creation screen (in a new window) with these fields already filled in from the information in the proposal: Note that the Rental screen has 4 tabs:
  1. Meals & Lodging
  2. Misc
  3. Finance
  4. Web
Like this:

In the discussion at the Program Meeting you probably settled on a date range that would work for this Proposal. Fill in the start and end date of the Rental and hit Submit. A rental is thus created.

The Rental's Summary is automatically created. Note that Food Service, Leader Housing, Misc Notes + Special Needs + Provisos, etc are taken directly from the Proposal and added to the Food Service, Leader Housing, and Miscellaneous Notes fields in the Summary.

The Contact Person and Contract Signer in the proposal are automatically 'transmitted' to the People table with affiliation 'Proposal Submitter' - for later marketing purposes.

After a Proposal is 'Approved' you can no longer modify it. You can go back and forth between the Proposal and the Rental with links (To Rental/To Proposal) on each screen. Similarily, after the contact person (and contract signer) have been 'Transmitted' you cannot modify them on the Proposal. Instead, you modify their info in the People screen. From the Proposal and the Rental you can get to the people screen in one click with the 'To Person' link.

Rentals can also be created directly without going through the proposal process. Choose 'Add' on the Rentals list screen. One difference is that you need to add the contact person separately in People and then retype their name after choosing 'Update' next to the Contact Person field in Rentals. Similarily for Contract Signer if not the same as the Contact Person.

Several other things need to be done to make the rental complete:

MMC Does Registration and Parallel Programs

The Rental field 'MMC Does Registration' on the Misc tab is normally unchecked.

For special rentals (like AVI, OGS, Lasater, and others) MMC does the individual registration for them but it is still a Rental - from a financial and contractual perspective. In order to do the registrations and generate a web page on which people can register online you will need to create a parallel 'Program' with the same name and the same dates as the 'Rental'. You will not be able to assign any meeting spaces or breakout spaces to this program. This program will not appear on the calendar at all - not even in the 'No Where' place. The original rental will appear.

To help you to not forget to create this parallel program, when you first check 'MMC Does Registration' on the Rental screen and then submit the Rental form, Reg will bring you to a Program creation dialog. The name and dates will be filled in from the rental. The rest of the program attributes (including the web page information) is up to you. Do not change the name or the dates! You can but you would only confuse yourself and others!

Once the parallel program is created you can easily go back and forth between the rental and its program with the 'To Program' and 'To Rental' links.

In the lists of all rentals and programs these special rentals and their parallel programs will be marked with the word 'Hybrid'.

When you click on the Summary for a parallel program you are actually seeing the Summary for its parallel rental. This makes sense, yes? We only want one Summary for this hybrid entity.

Rental Status

Each rental has a 'status' which is displayed in the 4th column in the list of rentals and also on the rental screen after the date range. It shows the progress through time of the rental: Each status has its own background color - which can be changed in Configuration > Colors. This color is prominently visible when viewing the list of rentals, each rental screen, and also as a border color in the Calendar.

The second line of menus on the Rental screen is an ordered sequence like so:

The MMC rental coordinator chooses these menu items in order - as the rental progresses through time.

Contract

Once the rental screen creation is complete you can generate a contract by simply choosing 'Contract'. Print it, sign it, and send it to the Contact Person for their signature. This is a legal document and hence needs to be examined and vetted carefully. Here is an example. For demonstration purposes, that page has been marked up with yellow highlighting on the places where information from the particular rental has been inserted into the contract template.

Double check the housing costs. Seminar House use affects the contract. Lunches do, too. Try the various combinations. Read the meal times carefully. The contract requests a deposit check. Simply generating the contract will put the current date in the 'Contract Sent' field and change the status from 'Tentative' to 'Contract Sent'.

Sometimes the Contact Person wishes to see the contract sooner rather than later. By choosing 'Email Contract' the contract will be emailed to the Contact Person. You can supply addresses to Cc if you wish.

When the signed contract is received back you can click on the menu item 'Received' to put the date the contract was received (i.e. today) in the Contract Received field. This field can also be edited manually if you wish. The deposit check should also be entered as a Payment (in the Finance tab). The rental status will then be changed to 'Contract Received'.

Arrangements

The MMC Rental Coordinator can now begin the conversation about the arrangements - all the things in the Summary. One of these is the Gate Code which should have been entered by the 'gate code keeper'.

There is a link in the menu titled 'Arrangements' and 'Email Arrangements'. This is an email sent to the Contact Person and the Contract Signer that explains many things - housing procedure, gate code, schedule, meeting space setup, sound equipment, map, food service, etc. Here is an example. Again, it has been marked up with yellow highlighting. One special paragraph is not in this particular arrangements letter has to do with the case where Seminar House rooms are used for sleeping.

There are also these 4 static documents attached to the email:

You can click the above links to view and download the documents.

After you email the arrangements letter the status of the rental is changed to 'Letter Sent'. The date it was sent is also recorded.

Housing

There is an ongoing conversation between the Contact Person and the MMC Rental Coordinator about how many people will be coming and what kind of housing they will want. This information is entered into the Meals/Lodging tab of the Rental.

Entire housing clusters can be booked (or cancelled) for a rental in one fell swoop. Choose 'Update' to the right of 'Cluster Reservations'.

When booking rooms individually you can select as many as you wish. You click on 'Add' next to a housing type (Single w/Bath, Single, Double, etc.) and then choose the houses (aka Rooms) that you wish.

Another option is to create a 'Block'. This reserves the space for the rental but doesn't (yet) add it to the actual housing pool for the rental.

You delete houses by clicking directly on the name and then confirming you wish to delete it. There is also 'Mass Delete' where you can delete more than one at a time.

When you have added/deleted all needed houses you click on the phrase 'Send to Web' (in red color next to the link 'Web Grid' on the Meals/Lodging tab). This sends the information to the global web where it is visible to the rental Contact Person. After you click on the 'Send to Web' link it disappears. Whenever you add or delete a house it will reappear. It will also appear if you change the Housing Cost type.

The DailyPic can be consulted to see what houses have been assigned and reserved for the Rental. Here's an example. 'Codspa' is a Rental.

The Grid

One very important thing in the Arrangements letter is the URL to the web grid for the rental housing. This is where the Contact Person puts the names of the people attending the rental to assign them specific rooms (aka houses) according to their preferred housing choice. Since this is on the global web rather than on Reg it is visible anywhere in the world. For a small measure of security, the Web URL contains a 6 letter secret (randomly generated and essentially unguessable) code that is unique to the specific Rental.

Note that these housing assignments are entirely the responsibility of the Contact Person, not anyone at MMC. Also note that we do not collect any demographic information at all on the people being housed. The Contact Person could simply put "John", "Mary", "Bill & Hillary", "Melissa and child", etc. in the fields for the beds in the room. They also note which nights the person will be there - they default to every day of the rental. Note that 'Darling, Flow' will leave before the last day of the rental above.

The Web Grid calculates a cost for each person and displays it in the grid after the entries are submitted. The cost depends on how many other people are in the room - and, of course, on the housing cost (which is displayed at the bottom of the grid). As an example, say person A in a Double room has a roommate (person B) for the first night. They will both pay the Double rate for that night. If person B leaves the next day, person A will pay the Single rate for the rest of the rental.

Note the difference in cost above for Carolyn, Gloria, Flow, and Shannon. The nightly costs are:

Carolyn: 136*4 = 544.
Gloria: 136*3 + 184 = 592.
Flow: 136*3 = 408.
Shannon: 155*4 = 620.

Special calculations are done when there are two people in a tent or a person has their child with them.

The costs displayed on the grid are used by the Contact Person to charge the people they housed. The total of all these housing costs is used in the Invoice to calculate the total amount due to MMC.

The MMC rental coordinator can see exactly what the Contact Person sees by clicking on the link 'Web Grid'. They shouldn't change anything there!

Every 15 minutes 24/7 a program (a cron job) runs that transfers any changes in the web housing grids (for any active Rentals) from the global web on www.mountmadonna.org to the computer that Reg runs on (for security it is behind a VPN [virtual private network]). People using Reg can then see the housing assignments by clicking on the Rental menu link 'Local Grid'. On that screen is a link 'Grab New' which can be used by those who don't want to wait for the next 15 minute transfer/checking interval.

The entries in the rental's Grid are used in the generation of the Meal List. The count from the rental can, of course, vary from day to day.

Emailing the Summary

The 'Arrangements' letter above was sent early on in the process to begin the discussion of the specific needs of the Rental. These needs are entered into the 'Summary'. It is important that the Contact Person knows exactly what the Summary contains so that they and the Center are 'on the same page'. On the Summary screen there is a menu link 'Email'. This is used to send the summary to the Contact Person and the Contract Signer. You can add Cc emails, change the Subject, and the Introductory note for the email. The email will contain the entire Summary page. The introductory note default is in Configuration > Strings.

Note: If the Summary has been updated since it was last sent there is a red asterisk next to the menu choices 'Sum' and 'Summary', and the 'Email' link is in red. This red color alerts you to the fact that changes have been made that the Contact Person does not yet know about.

Here is a rather lengthy example of the summary of a very challenging hybrid rental/program. You can see why it is important for the Contact Person to verify all the details of what they require of the Center.

Finance

The Finance tab shows Charges (other than housing) and Payments. Here's an example:

Post Rental

The Rental comes and hopefully all went well.

The coordinator can now choose 'Invoice' to get a nicely laid out and accurate invoice to print for the Contact Person. Actually, as usual, it is as accurate as the input data.

A check is made out for the unpaid balance and it is entered as a Payment on the Rental. The status of the Rental changes to 'Done'.

If the full payment was not made on the last day of the Rental the status becomes 'Due' - with its own unique color to make it stand out. This Rental will continue to be at the top of the Rentals list until the payment is made. Like so:

Here are some sample invoices:


Invoice for Aspire 7/16
July 17, 2016 to July 22, 2016

Housing Charges

Total from the web housing grid: $23,870

Extra Time Charges

The rental started at 9:00 am (before 4:00 pm) so there is an extra time charge of 7.00 hours for 37 people at $2 per hour = $518.

Total Charges

Housing23,870
Extra Start Time518
Other0
Total$24,388

Payments

Jul 17 '16 23,388
Feb 18 '15 1,000
Total $24,388

Balance

Charges24,388
Payments-24,388
Balance$0

Invoice for Ecstatic Living 7/16
July 22, 2016 to July 24, 2016

Housing Charges

Total from the web housing grid: $3,118

However, the minimum lodging cost was contractually agreed to be 3/4 times the maximum (28) at the dormitory rate of $185:

Total Charges

Housing3,885
Other384
Total$4,269

Payments

Jul 22 '16 3,002
Jan 20 '16 500
Total $3,502

Balance

Charges4,269
Payments-3,502
Balance$767



Technical Appendices

Here are some things that are of interest only to engineers working on Reg.

Proposal Schema

Proposal

When people call to ask about renting the space at MMC a Proposal is created. Information is gathered and the proposal is considered at the next Program admin meeting. Creating a proposal awkwardly creates People records.

If a proposal is approved there is an Approved link on the proposal screen that creates a Rental from the Proposal - copying the information from the proposal to the rental.

Table: proposal

addr1
coordinator address 1
addr2
coordinator address 2
checkin_time
when will they check in? default 4:00 pm
checkout_time
when will they check out? default 1:00 pm
city
coordinator city
country
coordinator country
cs_addr1
contract signer address 1
cs_addr2
contract signer address 2
cs_city
contract signer city
cs_country
contract signer country
cs_email
contract signer email address
cs_first
contract signer first name
cs_last
contract signer last name
cs_person_id
foreign key to person
cs_st_prov
contract signer state/province
cs_tel_cell
contract signer cell phone
cs_tel_home
contract signer home phone
cs_tel_work
contract signer work phone
cs_zip_post
contract signer zip/postal code
date_of_call
when did the call come in?
dates_requested
a free text field describing dates and/or date ranges
denied
was the proposal was denied?
deposit
the required deposit
email
coordinator email address
first
coordinator first name
food_service
free text describing food needs
group_name
name of the group requesting the rental
housing_space
what housing is needed?
id
unique id
last
coordinator last name
leader_housing
where will the leader be housed?
max
maximum # of people to be housed. this number is used to calculate the contractual financial obligation.
meeting_space
what kind of meeting space is needed?
min
minimum # of people to be housed.
misc_notes
free text of other notes
other_requests
free text describing other requests
other_things
free text describing miscellaneous other things
person_id
foreign key to person
program_meeting_date
when will this proposal be considered?
provisos
free text describing any provisos
rental_id
foreign key to rental
rental_type
what type of organization is requesting the rental? like psychology, yoga, sound healing, social justice, movement, etc.
special_needs
free text describing any special needs
st_prov
coordinator state/province
staff_ok
did the staff okay this proposal?
tel_cell
coordinator cell phone
tel_home
coordinator home phone
tel_work
coordinator work phone
zip_post
coordinator zip/postal code

Relations

cs_personpersonbelongs_to
personpersonbelongs_to
rentalrentalbelongs_to

Rental Schema

Rental

A rental is created when some other organization wants to rent the meeting space and housing at MMC. These events are not sponsored nor advertised by the center. Housing assignments are made by the coordinator by filling in a form on the global web. This information is brought into Reg periodically via a cron job or on demand (Grab New).

Table: rental

arrangement_sent
date that the arrangement letter was sent
arrangement_by
who sent the arrangement letter
balance
the outstanding balance
cancelled
boolean - was this rental cancelled? Set/Unset by a menu link.
color
RGB values for the DailyPic display.
comment
free text describing the rental
contract_received
date the contract was received
contract_sent
date the contract was sent out
coordinator_id
foreign key to person
counts
the number of people attending the rental each day from start to end - space separated
cs_person_id
foreign key to person
deposit
how much deposit is required?
edate
date the rental ends
email
email address for the rental to put on the little web page (if desired)
end_hour
time the rental will end (and people will leave)
expected
how many people are expected?
fch_encoded
the encoded form of fixed_cost_houses
fixed_cost_houses
lines describing houses with a fixed cost. designed specifically for economy dorms where there is only a pad on the floor.
glnum
a General Ledger number computed from the sdate
grid_code
a hard to guess code for the grid URL
grid_max
the maximum of the daily counts
grid_stale
is the web grid in need of refreshing?
housecost_id
foreign key to housecost
housing_charge
total cost from the housing grid
housing_note
free text describing any issues with the rental housing
id
unique id
linked
should this rental be included on the online Event calendar?
lunches
an encoded (essentially binary) field for when lunches are requested.
max
the maximum number of people expected. this is used to determine the financial obligation of the renter.
mmc_does_reg
will we be doing registration for this event? if so, a parallel hybrid program will be created.
name
a brief name of the rental for internal purposes
phone
phone number for the web page, if wanted
pr_alert
This rental has an effect on PRs. This column contains text to 'pop up' when a person registers for a PR whose dates overlap with this rentals's dates.
program_id
foreign key to program
proposal_id
foreign key to proposal
received_by
foreign key to user
refresh_days
what days should the bedding be refreshed? This is an encoded field similar to lunches. This is used for longer term rentals.
rental_follows
does another rental follow this one? used in generating the make up list.
sdate
date the rental starts
sent_by
foreign key to user
staff_ok
has the staff okayed this rental?
start_hour
time the rental begins
status
tentative, sent, received, due, done
subtitle
secondary description of the rental for the web
summary_id
foreign key to summary
tentative
has this rental not been confirmed yet? checked at first, unchecked automatically when a contract is sent out.
title
primary description of the rental for the web
url
a URL of the rental for the web
webdesc
a longer description of the rental for the web.

Relations

arrangement_byuserbelongs_to
blocksblockhas_many
bookingsbookinghas_many
chargesrentalchargehas_many
contract_signerpersonbelongs_to
coordinatorpersonbelongs_to
housecosthousecostbelongs_to
paymentsrentalpaymenthas_many
programprogrambelongs_to
received_byuserbelongs_to
rental_bookingsrentalbookinghas_many
sent_byuserbelongs_to
summarysummarybelongs_to


Grid Files

The first text file (for the specific rental Aspire 7/16) is sent to mountmadonna.org from Reg. The second one is gotten from mountmadonna.org after the Contact Person has filled in people's names and when they'll be coming.

ZIZPRV.txt

name Aspire  7/16
id 1203
first Carolyn
last Mollohan
sdate 20160717
edate 20160722
housecost_type Per Day
single_bath 184
single 155
dble_bath 136
dble 120
triple 109
dormitory 99
economy 89
center_tent 77
own_tent 69
own_van 69
commuting 58
fixed_cost_houses 
fch_encoded 
12|105|2|0|0|1
13|107|2|0|0|1
14|108|2|1|0|1
15|109|2|0|0|1
17|111|2|0|0|1
18|112|2|1|0|1
19|113|2|0|0|1
21|115|2|0|0|1
22|116|2|1|0|1
23|117|2|0|0|1
24|118|2|1|0|1
33|211|2|0|0|1
34|212|2|1|0|1
36|214|2|1|0|1
38|216|2|1|0|1
40|218|2|1|0|1
50|OAKS 15|2|0|1|0
118|OC 2|2|0|0|1
120|OC 4|2|0|0|1
121|OC 5|2|0|0|1
122|OC 6|2|0|0|1
124|OC 8|2|0|0|1

ZIZPRV-data.txt

12|1|Kahlenberg, Ondrea|1|1|1|1|1|775
12|2||0|0|0|0|0|0
13|1|Hamilton, Lynne|1|1|1|1|1|775
13|2||0|0|0|0|0|0
14|1|DeLillo, Carol|1|1|1|1|1|680
14|2|Mollohan,Carolyn|1|1|1|1|1|680
15|1|Fidel, Coco|1|1|1|1|1|775
15|2||0|0|0|0|0|0
17|1|Chamblee, Johnny|1|1|1|1|1|600
17|2|Merritt, Dan|1|1|1|1|1|600
18|1|Brumfield, Sally|1|1|1|1|1|680
18|2|Hacker, Susan|1|1|1|1|1|680
19|1||0|0|0|0|0|0
19|2|Gehlen, Doris|1|1|1|1|1|775
21|1|Gavin, Shannon|1|1|1|1|1|775
21|2||0|0|0|0|0|0
22|1|Darling, Flow|1|1|1|1|1|680
22|2|Hughes, Gloria|1|1|1|1|1|680
23|1|Weaver, Vicki|1|1|1|1|1|600
23|2|King, Paula|1|1|1|1|1|600
24|1|Eidsmoe, Anne|1|1|1|1|1|680
24|2|Eidsmoe, Mike|1|1|1|1|1|680
29|1||0|0|0|0|0|0
29|2||0|0|0|0|0|0
29|3||0|0|0|0|0|0
29|4||0|0|0|0|0|0
33|1|Tarquinio, Al|1|1|1|1|1|775
33|2||0|0|0|0|0|0
34|1|Shaw, Michael|1|1|1|1|1|680
34|2|Shaw, Gloria|1|1|1|1|1|680
36|1|Loftin, Wendy|1|1|1|1|1|680
36|2|Waller, Lois|1|1|1|1|1|680
38|1|Baker, Greg|1|1|1|1|1|680
38|2|Baker, Haley|1|1|1|1|1|680
40|1|Penn, Greg ~ Teacher|1|1|1|1|1|920
40|2||0|0|0|0|0|0
50|1|Bisson, Emil|1|1|1|1|1|385
50|2||0|0|0|0|0|0
118|1|Roos, Mary|1|1|1|1|1|775
118|2||0|0|0|0|0|0
120|1|Rodriguez, Maria|1|1|1|1|1|775
120|2||0|0|0|0|0|0
121|1|White, Laurie|1|1|1|1|1|775
121|2||0|0|0|0|0|0
122|1|Smith, Nancy Jo|1|1|1|1|1|600
122|2|McGriff, Pat|1|1|1|1|1|600
124|1|Gardner, Jack|1|1|1|1|1|600
124|2|Gardner, Teresa|1|1|1|1|1|600
1001|1|Wilkins, Alfreida|1|1|1|1|1|345
1001|2|Capson, Sherman|1|1|1|1|1|345
1001|3||0|0|0|0|0|0
1001|4||0|0|0|0|0|0
1001|5||0|0|0|0|0|0
1002|1|Bugalski, Sheri|1|1|1|1|1|290
1002|2|Roderick, Ron|1|1|1|1|1|290
1002|3||0|0|0|0|0|0
1002|4||0|0|0|0|0|0
1002|5||0|0|0|0|0|0