It is the basic requirement of any client that request should be approved by one user/group then it should be approved by second user/group (only after first approval).
Solution > I am taking example of TWO Level Approval. You can extend the same as per your requirement.
1. Go to Design Console > Process Definition
2. Give name of Process Definition say Resource Approval, select your object name from the list and type should be ‘Approval’ and Save
3. Add one task say “First Level Approval”. It should be Non Conditional and required for completion.
4. You’ll be able to see two responses ‘Approve’ and ‘Reject’ under Responses tab. You can ignore UNKNOWN
5. Go to Assignment tab and select user in the User tab. If you want to assign to group then Select Group Name but if you select Group name then Type should be Group there. By Default it is user and user is XELSYSADM. Save it
6. Add one more task “Second Level Approval”. It should be Conditional and required for Completion. Now follow step 4 and 5 for this task.
7. Go to First Level Approval task and Go to ‘Responses’ tab and select Response ‘Approve’ and at the bottom in Task to Generate click Assign and select ‘Second Level Approval’ there. Now if you select Response ‘Approve’ then you can see ‘Second Level Approval’ at the bottom. Save it and Close.
8. You are done.