Maritime voyage duration is a critical but uncertain input to routing, scheduling, and downstream digital twin models for oil and gas transportation. This capstone develops a general framework for forecasting voyage duration under uncertainty using historical voyage data, vessel-status information, and weather proxies. The framework is demonstrated on Aframax tanker voyages along the Houston-to-Rotterdam trans-Atlantic crude oil route. Records are cleaned through deduplication, multi-terminal merging, and timestamp validation. Each voyage is decomposed into five sequential legs using Kpler and Signal Ocean port-call and vessel-status data. These legs are origin waiting time, origin loading time, open-ocean transit time, destination waiting time, and destination discharge time. A nine-zone ERA5 significant wave height index is used as a weather proxy for the transit leg. Five supervised machine learning models are developed, one per leg, evaluated across Random Forest, XGBoost, LightGBM, deep neural networks, and stacking ensembles with Bayesian hyperparameter tuning. We used mean absolute error (MAE) as a prediction error metric to evaluate these models. The best models achieve a MAE of 0.32 days for origin loading, 1.09 days for open-ocean transit, and 0.28 days for destination discharge. A Monte Carlo aggregator propagates empirical residual distributions across all five legs to produce a total voyage duration forecast of 25.5 days with a 90% confidence interval of [21.0, 32.5] days, enabling the sponsor to move from point-estimate voyage planning to probabilistic scheduling that can support downstream routing and optimization models.