# Scanning Flow ```mermaid flowchart endOfTask1(((End))) endOfTask2(((End))) endOfTask3(((End))) scan["Holder Scans a QR Code"] isConnectionLess{"Is Connetionless?"} goalCodeProvided{"Goal Code Provided?"} waitForCredentialOffer("Wait for Credential Offer") waitForProofRequest("Wait for Proof Request") wait4connection("Wait for Connection Ready") openContactDetailScreen("Open Contact Chat Screen") openCredentialOffer("Open Credential Offer Screen") openProofRequest("Open Proof Request Screen") scan --> isConnectionLess isConnectionLess -->|No|wait4connection goalCodeProvided -->|Yes, Credential Offer| waitForCredentialOffer goalCodeProvided -->|Yes, Proof Request| waitForProofRequest openContactDetailScreen --> endOfTask1 wait4connection --> goalCodeProvided goalCodeProvided -->|No|openContactDetailScreen waitForCredentialOffer --> openCredentialOffer isConnectionLess -->|Yes|openProofRequest waitForProofRequest --> openProofRequest openCredentialOffer --> endOfTask2 openProofRequest --> endOfTask3 style waitForCredentialOffer fill:#7F7F7F style openCredentialOffer fill:#7F7F7F style endOfTask2 fill:#7F7F7F ```