Skip to content

Check In System

nairdo edited this page Apr 9, 2013 · 23 revisions

The Rock check-in system is a combination of a set of Blocks (that inherit CheckInBlock) that operate against a configured Workflow. From a high level the flow for a standard check-in would be as follows (as visualized by http://www.websequencediagrams.com/)

Note: Do NOT destroy this sequence diagram markup because I'm still hopeful that Github's Gollumn will begin supporting them again. In the mean time I'm manually using the tool at www.websequencediagrams.com to generate an image for the markup.

[Caption][img1] [img1]: Attachments/Checkin-System/standard-checkin-sequence.png

[Attachments/Checkin-System/s_standard-checkin-sequence.png][img1] [img1]: Attachments/Checkin-System/standard-checkin-sequence.png

    {{{{{{ vs2010
    participant User
    Welcome-->WF: SaveState()
    User->+Welcome: *press search
    Welcome->-Search: redirect
    Search->User: show phone keypad
    User->+Search: *enter phone
    Search-->WF: SaveState()
    Search->-FamilySelect: redirect
    FamilySelect-->WF: ProcessActivity("Person Search")
    FamilySelect-->WF: SaveState
    FamilySelect->User: show families
    User->+FamilySelect: *select family
    FamilySelect-->WF: SaveState()
    FamilySelect->-PersonSelect: redirect
    PersonSelect->User: show family members
    User->+PersonSelect: *select person
    PersonSelect-->WF: SaveState()
    PersonSelect->-GroupTypeSelect: redirect
    GroupTypeSelect->User: show group types (classes)
    User->+GroupTypeSelect: *select group type
    GroupTypeSelect-->WF: ProcessActivity("Location Search")
    GroupTypeSelect-->WF: SaveState()
    GroupTypeSelect->-LocationTypeSelect: redirect
    LocationTypeSelect->User: show group type locations
    User->+LocationTypeSelect: *select location
    LocationTypeSelect-->WF: ProcessActivity("Group Search")
    LocationTypeSelect-->WF: SaveState()
    LocationTypeSelect->-GroupSelect: redirect
    GroupSelect->User: show location's groups
    User->+GroupSelect: *select group
    GroupSelect-->WF: ProcessActivity("Schedule Search")
    GroupSelect-->WF: SaveState()
    GroupSelect->-TimeSelect: redirect
    TimeSelect->User: show times
    User->+TimeSelect: *select time(s)
    TimeSelect-->WF: ProcessActivity("Save Attendance")
    TimeSelect-->WF: SaveState()
    TimeSelect->-Success: redirect
    Success-->WF: SaveState()
      note over Success, User
      if printFromServer then socket print labels
      end note
    Success->User: go to person select or welcome
}}}}}}

Clone this wiki locally