Problem statement - I have to construct an invoice (having line-items, legal details, payment details etc) using booking and payment information of a hotel booking. There are two sources for these two data points (payment+booking) - a third party tool that gives you both and an in-house application that gives you the same but in a different structure. The reason being - lifecycle of some of the bookings are managed by the external tool and the rest by the in-house application.
The resulting invoice has a fixed structure and schema. I am thinking of using strategy pattern for the same as it looks like an obvious choice at the first instance. Any other specific design patterns that would suit this use case?
EDIT - Other design patterns that come to my mind - Factory, Adapter