![Page 1: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/1.jpg)
Parramatta Citymeals on wheels (MOW)
Brian ShaughnessyLighthouse Consulting & Design
www.lcdservices.biz
![Page 2: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/2.jpg)
background district/region of Sydney provides services to the residents CiviCRM used extensively for back-office
supporto meals on wheels
![Page 3: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/3.jpg)
meals on wheels serves elderly citizens of the district delivers meals at discounted prices M-F provides various options
o chilled/frozen mealso soupso saladso juiceo dessert
![Page 4: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/4.jpg)
meals on wheels creative use of CiviCRM architecture allows full integration with other services
managed through the site required extensive customization, but also
relies heavily on the core data structures
![Page 5: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/5.jpg)
activity record clients place orders on a weekly basis order details
o week/year [one order per week/year; future only]o exceptions [skipped by bulk generator]
custom data set for M-F with fields for each meal type
dietary details stored in custom data attached to contact record
![Page 6: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/6.jpg)
![Page 7: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/7.jpg)
payment record separated order (activity) from financial
obligation (contribution) modeled after event/membership structure
o link activity to contribution o orders_activity_payment (activity_id, contribution_id)
added support for > 1 payment per order
![Page 8: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/8.jpg)
payment record auto-created with activity order calculates total due based on standard meal
rateso constants defined in codeo eventually place in option values
detail the order in contribution record record changes to the order
o adjustment to contribution recordo order history through notes (>1 per contrib)
![Page 9: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/9.jpg)
![Page 10: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/10.jpg)
![Page 11: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/11.jpg)
![Page 12: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/12.jpg)
bulk order generation clients place orders on a weekly basis most orders are exactly the same from one
week to the next needed to develop method for quickly
generating future-week activity records based on prior week
![Page 13: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/13.jpg)
bulk order generation manually triggered, but options locked down log table tracks bulk order history
o determine last week runo log order counts and activity IDs
![Page 14: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/14.jpg)
![Page 15: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/15.jpg)
bulk order: special handling order exceptions
o skipped by bulk order generatoro most immediate prior non-exception order used
account for existing orders for a given week/year
on-holdo hold start date/hold end dateo if any overlap, skip bulk generation
![Page 16: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/16.jpg)
bulk order: special handling third party payer
o soft credit to cliento payment to TPP entityo handled with relationship defining when TPP
begins/ends
admin feeo system default; contact override
direct deposito set contrib status = completedo else = pending
![Page 17: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/17.jpg)
stock management set starting values update when order is
created/updated/deleted special contact: Parramatta Stock Manager stock adjustment activity types dashlet report to summarize current levels summary data handled in stock_log table
o tracks current levels
line item stored as activities
![Page 18: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/18.jpg)
![Page 19: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/19.jpg)
reporting ughhhh… originally planned to use
reporting frameworko specs required many unique
calculationso unique data handling
(field criteria interaction)o too many options
most reports built (or rebuilt) as purely custom implementations
![Page 20: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/20.jpg)
packaging labels generate by week number/year calculate number of packages based on
meal/salad/soup/dessert combo track frozen/chilled
![Page 21: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/21.jpg)
packaging labels
![Page 22: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/22.jpg)
full delivery run sheet used by delivery staff each contact is assigned a run number
(geographic assignment) MS Word export (scalability/easy to modify)
![Page 23: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/23.jpg)
full delivery run sheet
![Page 24: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/24.jpg)
order invoices generate invoices for pending payments or by
date range
![Page 25: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/25.jpg)
order invoices
![Page 26: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/26.jpg)
order statements filter by payment status, contact, date range calculate balance based on various criteria
![Page 27: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/27.jpg)
order statement
![Page 28: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/28.jpg)
other stuff active services
o custom data groupo other data groups dependent on active status
![Page 29: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/29.jpg)
quarterly stats report generate calculations per service for a variety
of stats
![Page 30: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/30.jpg)
quarterly stats report
![Page 31: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/31.jpg)
what I’d do differently… torture by custom field proliferation… move as much as possible into dedicated CRM
path spend more time working through data model
with client better method for classifying meal field types spend more time developing specs. for report
requirements (much time was spent, but it always seems like more is needed)
![Page 32: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/32.jpg)
challenges deciding what to lock down to prevent user-
created failures date-model (week/year): effective for the
situation, but required some "translation" for end users
end of year wrap-around a pain mission-critical system with constantly
evolving specs
![Page 33: Parramatta City meals on wheels (MOW) Brian Shaughnessy Lighthouse Consulting & Design](https://reader035.vdocument.in/reader035/viewer/2022062417/5516e37355034603568b4610/html5/thumbnails/33.jpg)
project status core system in production for approx. 1 year ongoing report/statement/invoice tweaking
for quite some time currently wrapping up final adjustments for
reports and closing the project