How much time in advance should users be informed of an upcoming maintenance on app?

I'm desiging the UX on how to handle planned maintenance of a travel booking app. During this time frame, some services won't able available. I've decided that there will be messaging in the app as well as using push notifications.

My question is, how much in advance should users be informed of upcoming maintenance on the app? what should I consider for this time window? will it be a fixed time or will it be based on the services that would be affected?