Is Survival Analysis useful in my case? I want your thoughts of using Survival Analysis and Survival Regression model for the following use-case (in travel industry) :


*

*How long before departure date (and after booked date) is ideal to promoting certain types of extras?


Here the "duration" is fixed ie Gap between Booking and Departure Date and the "birth" can be considered the booking of main product and "death" can be considered booking the "extra"  (Correct me if I am wrong) 
"Censorship" (and observed=0) happens: 
(A) when no "extra" is booked and the customer travels without it
(B) when customer cancels the entire booking before departure date
I want your thoughts on the following:


*

*Does it make sense to see how the survival function pans out for the population? You think i could use the median survival time to get a ideal time for promoting extras? How else could I use the survival analysis function?

*Can I use a survival regression model to predict at a customer level what would be their median survival time and then use it for customized promotions?


One thing to note that the dataset is biased towards Observed=0 (% of customers booking extras is quite less than who book extras).. Will it break any assumptions? 
Should I balance the dataset by selecting dataset with extras and without extras?
 A: In classic survival analysis, we want to derive stuff about a world without censoring based on partly censored (incomplete) data. In your setting, the world without censoring is probably less important than reality. Another reason against using classic tools from survival analysis is the certainly violated "uninformative censoring" assumption. 
One of many ways to tackle your research questions could look as follows: 


*

*Investigate the (binary or count) variable "extras booked"  descriptively, and if interested, with tools such as logistic or count regression.

*Among customers with extras booked, analyze the booking time of the extras (e.g. time since booking, time to departure or some proportion like "after x% of time between booking and departure") again descriptively and, if interested, by some regression model.
Together with a nice and clear description of the data set, you will find out quite some relevant info.
A: First of all, if you're interested in assesing when should you promote the extras, the definition of "time" considering the booking of main product as the beginning of survival time may be misleading. I'll show you with an example:
A customer books his flight two months before his departure, and another one does it two weeks ahead of his flight. Both of them buy the extra three days before the flight date, but the subjects will have different survival times according to your scenario, because of their booking dates.
Another disadvantage of applying survival analysis is the violation of censorships assumptions, as Michael M stated.
I suggest using classification techniques, using the binary outcome 1 = buys extra, 0 = does not buy. Random Forest, Gradient Boost or simple classification trees for binary outcomes will probably help you identify the best combination of customers profiles and time that maximizes the chance of the event. Regarding time, I'd use "days before the flight" to make the model output easier to understand. The best part of using machine learning techniques is that you don't worry about assumptions, censorships or model distributions, and with classification trees the output is very easy to understand.
A glimpse of random forest and classification tree in Quick R. 
A (more complex) guide to work with gradient boost in R, gbm package 
