Hi @Nikunj,
You could use multiple TokenTimelocks: https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#TokenTimelock
Otherwise you would need to create your own.
There was a TokenVesting contract but it was removed:
You may want to look at what some of the token based projects used for vesting.
Any solution should be appropriately tested and audited.
When creating token timelocks you should also consider: Bypassing Smart Contract Timelocks