Programs
Object with the following properties:
- pre
 - program
 - days
 - variants
 - stats
 
Days
Entry
- id
 - cardColor
 - cardImage: attachment
 - gradientStart
 - gradientEnd
 - singleTitle
 - groupTitle
 - single: day object array
 - grouped: day object array
 
Day object
- title
 - subtitle
 - variant
 - count
 - over: allow |
 - cronMask: optional; cron expression to match
 - taskIcon
 - taskIconComplete
 - taskImage: attachment
 
Program
- lock
 - lockFor: everyone | users
 - startFrom: number for minimum day; default is -5
 - dashboard
- primary
 - diet
 
 - markupMarker
- prep
 
 
Variants
- handle
 - description
 - filter: string array
 - dataSource
 - tracker
 - dateMatch
 - lock: match__, period__
 - action:
 - count: week counts
 
Stats
- trackers: handle list
 - title
 - icon
 
Pre
- singleTitle
 - groupTitle
 - single: day object array
 - grouped: day object array
 
Diet rules
marker.rules.{rule, action}
Program object
- baseName
 - baseHandle
 - cohortId
 - cohortName
 - programGroup
 - programKind
 - name
 - mode
 - jsonBase
 - duration: Integer
 - meta
- date: YYYY-MM-DD
 - future: boolean
 - isCompleted: boolean
 - isPreprogram: boolean
 - programDay: the viewed day
 - todayIs: today's day
 - id
 - active: is this program currently active
 - viewingIsFuture: (added for diet)
 - viewingDay: (viewed day for diet)