Predefined steps

All our frameworks have predefined steps which can be easily used. Almost all steps have configs and inputs. In this section, I will describe all available steps in the current framework, their configs and will show how they look like.

Right now all steps localized in Russian and English.

Welcome step

This step might be used as intro for other steps in the chain as well as whole process. It doesn't depend on any other steps

By press on the Proceed button the user will be led to the next step if it exists

welcomeStep {
    title = "Get ready to scan your documents"
    text = "Prepare your document and move to a place with good lighting"
    image = R.drawable.img_intro
    btnProceed = "Select a document"
    nextStep = nextStep
}
  • title - title field (optional)

  • text - text field (optional)

  • image - image form you resources (optional)

  • btnProceed - text on the continue button (optional)

  • nextStep - next step (optional)

Prepare step

It might go before any other step to inform user what they will see next

By press on the Proceed button the user will be led to the next step if it exists

prepareStep {
    title = "Take selfie"
    instruction = "We will compare your photo with your document"
    criteria = criteriaList
    btnProceed = "Take a photo"
    nextStep = nextStep
}
  • title - title field (optional)

  • instruction - instruction text field (optional)

  • criteria - list of recommendation that you may provide to an user (optional)

  • image - image (optional)

  • btnProceed - text on the continue button (optional)

  • nextStep - next step (optional)

Guidance step

It is used to give recommendations to an user for the better process of verification. There is also link to the Privacy Policy, that must be accepted before continue process.

By press on the Proceed button the user will be led to the next step if it exist

guidanceStep {
    title = "Before you start ☝"
    guidance = guidanceList
    policyText = "I have read and accepted the "
    policyLinkedText = "Privacy Policy"
    policyLink = "https://www.iubenda.com/privacy-policy/25050240"
    btnProceed = "Start your verification"
    nextStep = nextStep
}
  • title - title field (optional)

  • guidance - list of recommendation that you may provide to an user (optional)

  • policyText - invitation to accept the Privacy Policy (optional)

  • policyLinkedText - linked part of the invitation (optional)

  • policyLink - link to the Privacy Policy (optional)

  • btnProceed - text on the continue button (optional)

  • nextStep - next step (optional)

val guidanceList = listOf(
    CriteriaModel(
        icon = R.drawable.ic_num_1,
        text = "Choose a place with a good lighting"
    ),
    CriteriaModel(
        icon = R.drawable.ic_num_2,
        text = "Have your ID documents ready"
    ),
    CriteriaModel(
        icon = R.drawable.ic_num_3,
        text = "Get ready to take photos of your documents and selfies with them"
    ),
    CriteriaModel(
        icon = R.drawable.ic_num_4,
        text = "Accept the policy terms below"
    ),
//...
)
  • icon - recommendation icon (required, might be 0, if you want to skip)

  • text - recommendation text (required)

Confirm step

This step may follow after anther one to confirm the data that obtained on it. It is required that step before Confirm step obtains some data (docStep, faceStep). The obtained data will be represented on the screen. If Confirm step is in chain, obtained data will be sent to server only after confirmation, otherwise directly after obtaining.

By press on the Retry button the user will be led to the previous step

By press on the Proceed button the user will be led to the next step if it exists

confirmStep {
    title = "Make sure that:"
    criteriaList = confirmCriteria
    btnRetry = "Retake"
    btnProceed = "Ready for next"
    nextStep = nextStep
}
  • title - title field (optional)

  • criteriaList - list of criteria that you may ask an user to check before continue (optional)

  • btnRetry - text on the retry button (optional)

  • btnProceed - text on the continue button (optional)

  • nextStep - next step (optional)

val confirmCriteria = listOf(
    CriteriaModel(
        icon = R.drawable.ic_confirm_criteria_1,
        text = "All the elements are clear"
    ),
    CriteriaModel(
        icon = R.drawable.ic_confirm_criteria_2,
        text = "The entire document is in the frame"
    ),
    CriteriaModel(
        icon = R.drawable.ic_confirm_criteria_3,
        text = "No light glare"
    ),
//...
)
  • icon - criteria icon (required, might be 0, if you want to skip)

  • text - criteria text (required)

Finish step

This step might be used in the end of the flow to inform the user about results of the process. It doesn't have nextStep property

By press on the Proceed button the process will finis

finishStep {
    title = "Thank you!"
    text = "The documents have been sent for verification to our employees. We will send you a notification when everything is ready."
    btnProceed = "Got it!"
    image = R.drawable.img_finish
}
  • title - title field (optional)

  • text - text field (optional)

  • image - image form you resources (optional)

  • btnProceed - text on the continue button (optional)

Last updated