Which one is correct and what's the difference?:
I was in a shop yesterday.
I was at a shop yesterday.
Which one is correct and what's the difference?:
I was in a shop yesterday.
I was at a shop yesterday.
Both are grammatical.
"At the shop" tells the listener you are in or close enough to the shop to be considered on the premises.
"In the shop" is more specific and tells the listener you are within the walls of the shop.
Using at puts you at that location.
Using in puts you within the location and is a more specific description of your current location.
The answers by CDM and in How do I answer “Where do you work?” inspire me. You can say "I am sitting at the table" because you are actually close to the table. You can say "I work in a bank" because you are working in the building of a bank. You can also say "I get some money at a bank" because some ATMs are not in a bank.
I think it's reasonable to say "I am waiting in the departure lounge" or "I am at the airport". So it depends on what you want to emphasize.