Thermal printer: Thermal Printer - COM-14970 - SparkFun Electronics
GPS receivers are pretty mature; TTL serial is standard and there are gobs of them on the market. There are a few boards out there that have an I2C interface which allows you to skip over all of the NMEA data parsing, but in your case it doesn't sound like you'd need that added horsepower. The USB GPS module you have linked would be difficult to deal with.
https://store.diydrones.com/category_s/10.htm
GPS library: TinyGPS | Arduiniana
I haven't seen much on barcode scanners and Arduino aside from a few examples using a CueCat. Do you have any details on that MT700 module (pricing)?