# Use Case 3.1 Obtain PID
## Overview
| Aspect | Description |
| ---------------------------- |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Summary** | The user obtains Person Identification Data (PID) by first authenticating themselves using DigiD (with ID card or driver's license),
checking the offered PID and entering their PIN to complete the process. |
| **Goal** | Obtaining the Person Identification Data (PID) to personalize the App. |
| **Preconditions** |
- The User has an instance of DigiD, activated at Level of Assurance High, on a device with an NFC scanner.
- The User has their ID card or driver's license with them.
|
| **Postconditions** | - PID is issued to and stored in the App.
- The PID issuance event is added in the history.
|
| **Triggered by** | - User completes [UC2.3 Setup remote pin and biometrics](UC2.1_SetupRemotePinAndBiometricsUnlock.md)
- User completes [UC2.3 Unlock the app](UC2.3_UnlockTheApp.md) when app is not personalized.
|
| **Additional Documentation** | - [Issuance](../../architecture/use-cases/issuance-with-openid4vci.md)
|
| **Possible errors** | - [No Internet](../errors.md#no-internet)
- [Server Unreachable](../errors.md#server-unreachable)
- [Generic Error](../errors.md#generic-error)
|
| **Logical test cases** | - [LTC1 PID issuance](../logical-test-cases.md#ltc1)
- [LTC2 Issuance fails](../logical-test-cases.md#ltc2)
- [LTC3 Authentication at auth server fails](../logical-test-cases.md#ltc3)
- [LTC4 Reject issued attributes](../logical-test-cases.md#ltc4)
|
---
## Flow
| # | Description | Next |
| -------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|
| **1** | **PRIMARY SCENARIO** | |
| **1.1** | **System displays screen 'Add cards via DigiD'**- Message: Use DigiD to prove who you are
- Actions: Open the DigiD app, Go to DigiD website, Help
| |
| 1.1a | User selects Open the DigiD app | 1.2 |
| 1.1b | User selects Go to DigiD website
→ System opens DigiD website in browser and suspends app | |
| 1.1c | User selects Help | Show placeholder 'under construction' |
| **1.2** | **System awaits DigiD response and displays screen 'Continue with DigiD'**- Message: Continue in DigiD app to get your data
- Actions: Stop
| |
| 1.2a | Event: DigiD returns control to System, authentication successful | 1.3 |
| 1.2b | Event: DigiD returns control to System, authentication failed | 2 |
| 1.2c | Event: DigiD returns control to System, login stopped or session expired | 3 |
| 1.2d | User selects Stop | 4 |
| **1.3** | **System executes PID issuance until preview**- Data is being retrieved
- Actions: Stop
- Duration: 0.1 - 1.5 seconds
| |
| 1.3a | Event: PID issuance completes successfully | 1.4 |
| 1.3b | Error: PID could not be issued successfully | Error flow: [Generic](../errors.md#generic-error) |
| 1.3c | Error: No internet | Error flow: [No Internet](../errors.md#no-internet) |
| 1.3d | Error: Server unreachable | Error flow: [Server Unreachable](../errors.md#server-unreachable) |
| **1.4** | **System displays screen 'Verify your data'**- Message: Are your details correct?
- Actions: Add, No
| |
| 1.4a | User selects Add | 1.5 |
| 1.4b | User selects No | 5 |
| **1.5** | **System executes partial flow [PF2.4 Confirm a protected action](../partial-flows/PF2.4_ConfirmProtectedAction.md)** | |
| 1.5a | Result: Confirm | 1.6 |
| 1.5b | Result: Back | 1.4 |
| **1.6** | **System executes rest of PID issuance**- Duration: 0.1 - 1.5 seconds
| |
| 1.6a | Event: PID issuance completes successfully | 1.7 |
| 1.6b | Error: No internet | Error flow: [No Internet](../errors.md#no-internet) |
| 1.6c | Error: Server unreachable | Error flow: [Server Unreachable](../errors.md#server-unreachable) |
| **1.7** | **System determines if user has a wallet that is eligable for transfer** | |
| 1.7a | Case: User has a wallet eligible for transfer | 1.8 |
| 1.7b | Case: User does not have a wallet eligible for transfer | 1.9 |
| **1.8** | **System displays screen 'Do you want to move your wallet'**- Message: You can transfer your wallet to this device
- Actions: Yes move, No create a new wallet, Help, Close
| |
| 1.8a | User selects Yes move | Go to: [UC9.10 Wallet transfer](./UC9.10_TransferWallet) |
| 1.8b | User selects No create a new wallet | 1.9 |
| 1.8c | User selects Close | 1.9 |
| 1.8d | User selects Get help | Go to: [UC9.6 Get help](UC9.6_GetHelp.md) |
| **1.9** | **System displays prompt 'Create new NL Wallet'**- Message: A new NL Wallet will be created/li>
- Actions: OK, Cancel
| |
| 1.9a | User selects OK | 1.10 |
| 1.9b | User selects Cancel | 1.8 |
| **1.10** | **System displays screen 'Wallet is ready'**- Message: Your NL Wallet is ready
- Actions: To my overview
| |
| 1.10a | User selects To my overview | Go to: [UC7.1 Show all available cards](./UC7.1_ShowAllAvailableCards) |
| **2** | **WHEN DIGID AUTHENTICATION FAILS** | |
| **2.1** | **System displays screen 'Login failed'**- Message: Login again to get data
- Actions: Login again, Go to DigiD website
| |
| 2.1a | User selects Login again | 1.2 |
| 2.2b | User selects Go to DigiD website
→ System opens DigiD website in browser and suspends app | |
| **3** | **WHEN USER ABORTS OR EXPIRES** | |
| **3.1** | **System displays screen 'Login stopped'**- Message: To continue login again
- Actions: Login again, Go to DigiD website
| |
| 3.1a | User selects Login again | Back |
| 3.1b | User selects Go to DigiD website | |
| **4** | **WHEN USER ABORTS DIGID FROM APP** | |
| **4.1** | **System displays prompt 'Are you sure?'**- Actions: Back, Stop Login
| |
| 4.1a | User selects Back | Back |
| 4.1b | User selects Stop Login | 4.2 |
| **4.2** | **System displays screen 'Login stopped'**- Actions: Login again, Go to DigiD website
| |
| 4.2a | User selects Login again | 1.2 |
| 4.2b | User selects Go to DigiD website
→ System opens browser and suspends app | |
| **5** | **WHEN USER REJECTS ISSUED PID** | |
| **5.1** | **System displays screen 'Details are incorrect'**- Message: Details Incorrect
- Actions: Stop, Back
| |
| 5.1a | User selects Stop | 1.1 |
| 5.1b | User selects Back | Back |