A method of tracking baggage on a cruise ship, comprising the steps of: for an item of baggage associated with a passenger, generating and associating a unique baggage identifier with a unique passenger identifier to form a combination identifier, the passenger identifier being retrieved from a reservation system, the combination identifier comprising an indication of the cruise line and a unique reference number for the item of baggage, the name of the passenger, a cruise voyage number, voyage date, arrival or departure indicator, and cabin number; generating and storing a baggage message including the combination identifier; generating a baggage tag including the combination identifier and affixing the baggage tag to the bag; prior to embarkation of the passenger onto the cruise ship: scanning the baggage tag with a scanning device to read the combination identifier, validating the combination identifier against the stored baggage message to enable check-in of the baggage and updating the baggage message; on delivery of the baggage to a passenger's cabin: scanning a location identifier in the region of the cabin with a scanning device and notifying the passenger via a mobile application stored on the passenger's mobile device that the baggage has been delivered to their cabin, and updating the baggage message with the status of the bag; prior to arrival at a destination port: scanning the baggage tag and updating the status of the baggage message; loading the baggage into a baggage container, scanning a baggage container identifier and associating the baggage container identifier with the baggage and sending an updated baggage message including the association; on unloading of the baggage containers at a port: for a given item of baggage, scanning the baggage container identifier in which the item of luggage is held and the baggage tag of the item of baggage with a scanning device, retrieving the associated baggage container identifier for the item of baggage and determining whether the retrieved identity matches the scanned baggage container identifier; on departure of the passenger from the port: scanning the item of baggage and updating the status of the baggage in the baggage message to indicate that the baggage has left the port. prior to embarkation of the passenger onto the cruise ship: scanning the baggage tag with a scanning device to read the combination identifier, validating the combination identifier against the stored baggage message to enable check-in of the baggage and updating the baggage message; on delivery of the baggage to a passenger's cabin: scanning a location identifier in the region of the cabin with a scanning device and notifying the passenger via a mobile application stored on the passenger's mobile device that the baggage has been delivered to their cabin, and updating the baggage message with the status of the bag; prior to arrival at a destination port: scanning the baggage tag and updating the status of the baggage message; loading the baggage into a baggage container, scanning a baggage container identifier and associating the baggage container identifier with the baggage and sending an updated baggage message including the association; on unloading of the baggage containers at a port: for a given item of baggage, scanning the baggage container identifier in which the item of luggage is held and the baggage tag of the item of baggage with a scanning device, retrieving the associated baggage container identifier for the item of baggage and determining whether the retrieved identity matches the scanned baggage container identifier; on departure of the passenger from the port: scanning the item of baggage and updating the status of the baggage in the baggage message to indicate that the baggage has left the port.