1. is not gramatically correct. 2 and 3 are grammatically correct. Main difference between 2 and 3, is that should've is past tense, and supposed to, is future tense.
2 is talking about an event that has not happened and 3 is talking about an event that is in the future.