@dynamic-data/uber-mockups
Version:
Dynamic Data Faker for Uber
947 lines (855 loc) • 27.5 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var utils = require('@dynamic-data/utils');
var MOCK = require('@dynamic-data/uber-data');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var MOCK__default = /*#__PURE__*/_interopDefaultLegacy(MOCK);
var PriceEstimatesModel = {
localized_display_name: function localized_display_name(display_name) {
return display_name;
},
distance: function distance() {
return utils.getRandomInt(99, 999999) / 100;
},
display_name: function display_name() {
return utils.getRandomString(10);
},
product_id: function product_id() {
return utils.randomUUID();
},
high_estimate: function high_estimate(estimate, currency_code) {
if (estimate.includes("-")) {
var currency = utils.randomCurrency("SIMPLE WEST ISO-4217", {
code: currency_code
});
var a = estimate.split("-")[1];
var replaced = a.replace(currency.symbol, "");
return parseInt(replaced);
} else {
return null;
}
},
low_estimate: function low_estimate(estimate, currency_code) {
if (estimate.includes("-")) {
var currency = utils.randomCurrency("SIMPLE WEST ISO-4217", {
code: currency_code
});
var a = estimate.split("-")[0];
var replaced = a.replace(currency.symbol, "");
return parseInt(replaced);
} else {
return null;
}
},
duration: function duration() {
return utils.getRandomInt(0, 18000);
},
estimate: function estimate(currency_code) {
switch (currency_code) {
case null:
return "Metered";
default:
var currency = utils.randomCurrency("SIMPLE WEST ISO-4217", {
code: currency_code
});
switch (utils.getRandomInt(1, 2)) {
case 1:
var float = utils.getRandomInt(1000, 5000) / 100;
return currency.symbol + float.toString();
case 2:
var start = utils.getRandomInt(10, 12);
var difference = utils.getRandomInt(1, 30);
return "".concat(currency.symbol).concat(start.toString(), "-").concat(currency.symbol).concat((start + difference).toString());
}
}
},
currency_code: function currency_code() {
switch (utils.getRandomInt(1, 100)) {
case 1:
return null;
default:
return utils.randomCurrency("SIMPLE WEST ISO-4217").code;
}
}
};
var ProductDetailsModel = {
upfront_fare_enabled: function upfront_fare_enabled() {
return false;
},
capacity: function capacity() {
return utils.getRandomInt(0, 10);
},
product_id: function product_id() {
return utils.randomUUID();
},
image: function image() {
return "http://d1a3f4spazzrp4.cloudfront.net/car-types/mono/mono-uberx.png";
},
cash_enabled: function cash_enabled() {
return false;
},
shared: function shared() {
return utils.getRandBool();
},
short_description: function short_description() {
return utils.getRandomString(10);
},
display_name: function display_name() {
return utils.getRandomString(10);
},
product_group: function product_group() {
return utils.getRandomString(10);
},
description: function description() {
return utils.getRandomString(20);
},
service_fees: function service_fees() {
var final = [];
var number = utils.getRandomInt(0, 2);
for (var i = 0; i < number; i++) {
final.push({
"fee": utils.getRandomInt(0, 300) / 100,
"name": utils.getRandomString(10)
});
}
return final;
},
cost_per_minute: function cost_per_minute() {
return utils.getRandomInt(0, 200) / 100;
},
distance_unit: function distance_unit() {
var units = ["mile", "km"];
return units[utils.getRandomInt(0, units.length - 1)];
},
minimum: function minimum() {
return utils.getRandomInt(0, 1000) / 100;
},
cost_per_distance: function cost_per_distance() {
return utils.getRandomInt(0, 200) / 100;
},
base: function base() {
return utils.getRandomInt(0, 500) / 100;
},
cancellation_fee: function cancellation_fee() {
return utils.getRandomInt(0, 500) / 100;
},
currency_code: function currency_code() {
return utils.randomCurrency("SIMPLE WEST ISO-4217").code;
}
};
var RideDetailsModel = {
product_id: function product_id() {
return utils.randomUUID();
},
request_id: function request_id() {
return utils.randomUUID();
},
status: function status() {
var statuses = ["processing", "no_drivers_available", "accepted", "arriving", "in_progress", "driver_canceled", "rider_canceled", "completed"];
return statuses[utils.getRandomInt(0, statuses.length - 1)];
},
surge_multiplier: function surge_multiplier() {
return utils.getRandomInt(0, 200) / 100;
},
shared: function shared() {
return utils.getRandBool();
},
driver: function driver() {
return {
"phone_number": utils.randomIntPhone(),
"sms_number": utils.randomIntPhone(),
"rating": utils.getRandomInt(0, 5),
"picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/img.jpeg",
"name": utils.getRandomName()
};
},
vehicle: function vehicle() {
var car = utils.getRandomCarDetails();
return {
"make": car.make,
"model": car.model,
"license_plate": car.license,
"picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/car.jpeg"
};
},
location: function location() {
var location = utils.getRandomLatLng();
return {
"latitude": location[0],
"longitude": location[1],
"bearing": utils.getRandomInt(0, 360) - 1
};
},
pickup: function pickup(status) {
var location = utils.getRandomLatLng();
var address = utils.getRandomAddress();
var eta = null;
switch (status) {
case "accepted":
case "arriving":
eta = utils.getRandomInt(0, 60);
}
var alias = ["work", "home", null];
return {
"alias": alias[utils.getRandomInt(0, alias.length - 1)],
"latitude": location[0],
"longitude": location[1],
"name": "".concat(address["streetNumber"], " ").concat(address["streetName"]),
"address": "".concat(address["streetNumber"], " ").concat(address["streetName"], ", ").concat(address["city"], ", ").concat(address["county"], ", ").concat(address["postalCode"], ", ").concat(address["country"]),
"eta": eta
};
},
destination: function destination(status) {
var location = utils.getRandomLatLng();
var address = utils.getRandomAddress();
var eta = null;
switch (status) {
case "in_progress":
eta = utils.getRandomInt(0, 60);
}
var alias = ["work", "home", null];
return {
"alias": alias[utils.getRandomInt(0, alias.length - 1)],
"latitude": location[0],
"longitude": location[1],
"name": "".concat(address["streetNumber"], " ").concat(address["streetName"]),
"address": "".concat(address["streetNumber"], " ").concat(address["streetName"], ", ").concat(address["city"], ", ").concat(address["county"], ", ").concat(address["postalCode"], ", ").concat(address["country"]),
"eta": eta
};
},
waypoints: function waypoints(rider_id) {
var types = ["dropoff", "pickup"];
var location = utils.getRandomLatLng();
return {
"rider_id": rider_id,
"latitude": location[0],
"type": types[utils.getRandomInt(0, types.length - 1)],
"longitude": location[1]
};
},
riders: function riders(me) {
var riderID = utils.getRandomString(18);
switch (me) {
case false:
switch (utils.getRandomInt(1, 10)) {
case 1:
riderID = null;
}
}
return {
"rider_id": riderID,
"first_name": utils.getRandomName(),
"me": me
};
}
};
var RideMapDetailsModel = {
request_id: function request_id() {
return utils.randomUUID();
},
href: function href() {
return "https://trip.uber.com/abc123";
}
};
var RideReceiptDetailsModel = {
request_id: function request_id() {
return utils.randomUUID();
},
subtotal: function subtotal(total_fare, total_charged, currency_code) {
var currency = utils.randomCurrency("SIMPLE WEST ISO-4217", {
code: currency_code
});
var ammount = parseFloat(total_fare.replace(currency.symbol, ""));
ammount += parseFloat(total_charged.replace(currency.symbol, ""));
return "".concat(currency.symbol).concat(ammount.toFixed(2));
},
total_charged: function total_charged(currency_code) {
var currency = utils.randomCurrency("SIMPLE WEST ISO-4217", {
code: currency_code
});
var ammount = utils.getRandomInt(0, 10000) / 100;
return "".concat(currency.symbol).concat(ammount);
},
total_owed: function total_owed() {
return null;
},
total_fare: function total_fare(currency_code) {
var currency = utils.randomCurrency("SIMPLE WEST ISO-4217", {
code: currency_code
});
var ammount = utils.getRandomInt(0, 10000) / 100;
return "".concat(currency.symbol).concat(ammount);
},
currency_code: function currency_code() {
return utils.randomCurrency("SIMPLE WEST ISO-4217").code;
},
charge_adjustments: function charge_adjustments() {
return [];
},
duration: function duration() {
var hours = utils.getRandomInt(0, 24) - 1;
var minutes = utils.getRandomInt(0, 60) - 1;
var seconds = utils.getRandomInt(0, 60) - 1;
if (hours < 10) {
hours = "0".concat(hours);
}
if (minutes < 10) {
minutes = "0".concat(minutes);
}
if (seconds < 10) {
seconds = "0".concat(seconds);
}
return "".concat(hours, ":").concat(minutes, ":").concat(seconds);
},
distance: function distance() {
return utils.getRandomInt(0, 100000) / 100;
},
distance_label: function distance_label() {
var labels = ["miles"];
return labels[utils.getRandomInt(0, labels.length - 1)];
}
};
var SavedPlacesModel = {
address: function address() {
var address = utils.getRandomAddress();
return "".concat(address["streetNumber"], " ").concat(address["streetName"], ", ").concat(address["city"], ", ").concat(address["county"], ", ").concat(address["postalCode"], ", ").concat(address["country"]);
}
};
var TimeEstimatesModel = {
localized_display_name: function localized_display_name(display_name) {
return display_name;
},
estimate: function estimate() {
return utils.getRandomInt(10, 600);
},
display_name: function display_name() {
return utils.getRandomString(5, 10);
},
product_id: function product_id() {
return utils.randomUUID();
}
};
var PaymentMethodsModel = {
payment_methods: function payment_methods() {
var types = [{
Type: "airtel_money",
format: null
}, {
Type: "alipay",
format: ["***23", "ga***@uber.com"]
}, {
Type: "apple_pay",
format: "***23"
}, {
Type: "american_express",
format: "***23"
}, {
Type: "android_pay",
format: null
}, {
Type: "baidu_wallet",
format: "***23"
}, {
Type: "business_account",
format: "BusinessName"
}, {
Type: "family_account",
format: "FamilyName"
}, {
Type: "cash",
format: null
}, {
Type: "discover",
format: "***23"
}, {
Type: "jcb",
format: "***23"
}, {
Type: "lianlian",
format: "***23"
}, {
Type: "maestro",
format: "***23"
}, {
Type: "mastercard",
format: "***23"
}, {
Type: "paypal",
format: "ga***@uber.com"
}, {
Type: "paytm",
format: null
}, {
Type: "ucharge",
format: null
}, {
Type: "upi",
format: null
}, {
Type: "unionpay",
format: "***23"
}, {
Type: "unknown",
format: null
}, {
Type: "visa",
format: "***23"
}, {
Type: "zaakpay",
format: null
}];
var method = types[utils.getRandomInt(0, types.length - 1)];
var format = "";
switch (method.format) {
case null:
format = null;
break;
case "***23":
format = "***".concat(utils.getRandomInt(9, 99).toString());
break;
case "ga***@uber.com":
format = "".concat(utils.getRandomString(2), "***@").concat(utils.getRandomString(utils.getRandomInt(3, 7)), ".com");
break;
case "FamilyName":
format = utils.getRandomName();
break;
case "BusinessName":
format = utils.getRandomString(utils.getRandomInt(5, 15));
break;
}
return {
payment_method_id: utils.randomUUID(),
type: method.Type,
description: format
};
}
};
var UserInfoModel = {
picture: function picture() {
return "https://d1w2poirtb3as9.cloudfront.net/f3be498cb0bbf570aa3d.jpeg";
},
first_name: function first_name() {
return utils.getRandomName();
},
last_name: function last_name() {
return utils.getRandomName();
},
uuid: function uuid() {
return utils.randomUUID();
},
rider_id: function rider_id() {
return utils.getRandomString(132);
},
email: function email() {
return "".concat(utils.getRandomString(utils.getRandomInt(3, 7)), "@").concat(utils.getRandomString(utils.getRandomInt(3, 7)), ".com");
},
mobile_verified: function mobile_verified() {
return utils.getRandBool();
},
promo_code: function promo_code() {
return utils.getRandomString(10);
}
};
var dataModels = {
PriceEstimates: {
data: MOCK__default["default"].priceEstimates,
mockup: PriceEstimatesModel
},
ProductDetails: {
data: MOCK__default["default"].productDetails,
mockup: ProductDetailsModel
},
Products: {
data: MOCK__default["default"].products,
mockup: ProductDetailsModel
},
RideDetails: {
data: MOCK__default["default"].rideDetails,
mockup: RideDetailsModel
},
RideMapDetails: {
data: MOCK__default["default"].rideMapDetails,
mockup: RideMapDetailsModel
},
RideReceiptDetails: {
data: MOCK__default["default"].rideReceiptDetails,
mockup: RideReceiptDetailsModel
},
SavedPlaces: {
data: MOCK__default["default"].savedPlaces,
mockup: SavedPlacesModel
},
TimeEstimates: {
data: MOCK__default["default"].timeEstimates,
mockup: TimeEstimatesModel
},
PaymentMethods: {
data: MOCK__default["default"].paymentMethods,
mockup: PaymentMethodsModel
},
UserInfo: {
data: MOCK__default["default"].userInfo,
mockup: UserInfoModel
}
};
function getModelCSVHeader(dataModel) {
return dataModels[dataModel].data[0].split("\t");
}
function getPriceEstimatesMockupData(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
mockupData["prices"].forEach(function (priceEstimate) {
["distance", "display_name", "product_id", "duration", "currency_code", "estimate", "localized_display_name", "high_estimate", "low_estimate"].forEach(function (key, i) {
switch (key) {
case "estimate":
priceEstimate[key] = mockupModel[key](priceEstimate["currency_code"]);
break;
case "localized_display_name":
priceEstimate[key] = mockupModel[key](priceEstimate["display_name"]);
break;
case "high_estimate":
case "low_estimate":
priceEstimate[key] = mockupModel[key](priceEstimate["estimate"], priceEstimate["currency_code"]);
break;
default:
priceEstimate[key] = mockupModel[key]();
break;
}
});
});
return mockupData;
}
function getProductDetails(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
["upfront_fare_enabled", "capacity", "product_id", "price_details", "image", "cash_enabled", "shared", "short_description", "display_name", "product_group", "description"].forEach(function (key, i) {
switch (key) {
case "price_details":
switch (utils.getRandomInt(1, 100)) {
case 1:
mockupData[key] = null;
break;
default:
["service_fees", "cost_per_minute", "distance_unit", "minimum", "cost_per_distance", "base", "cancellation_fee", "currency_code"].forEach(function (key2, i2) {
switch (key2) {
default:
mockupData[key][key2] = mockupModel[key2]();
break;
}
});
break;
}
break;
default:
mockupData[key] = mockupModel[key]();
break;
}
});
return mockupData;
}
function getProducts(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
mockupData["products"] = [mockupData["products"][0]];
mockupData["products"].forEach(function (product) {
["upfront_fare_enabled", "capacity", "product_id", "price_details", "image", "cash_enabled", "shared", "short_description", "display_name", "product_group", "description"].forEach(function (key, i) {
switch (key) {
case "price_details":
switch (utils.getRandomInt(1, 100)) {
case 1:
product[key] = null;
break;
default:
["service_fees", "cost_per_minute", "distance_unit", "minimum", "cost_per_distance", "base", "cancellation_fee", "currency_code"].forEach(function (key2, i2) {
switch (key2) {
default:
product[key][key2] = mockupModel[key2]();
break;
}
});
break;
}
break;
default:
product[key] = mockupModel[key]();
break;
}
});
});
return mockupData;
}
function getRideDetails(dataType, dataModel, dataDate) {
//Improvements: Have the ride details make more sense, e.g. a 60 minute ride is reflected in the change of latitude and longitude
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
["product_id", "request_id", "status", "surge_multiplier", "shared", "driver", "vehicle", "location", "pickup", "destination", "riders", "waypoints"].forEach(function (key, i) {
switch (key) {
case "vehicle":
case "driver":
case "location":
case "surge_multiplier":
switch (mockupData["status"]) {
case "completed":
case "no_drivers_available":
case "driver_canceled":
case "rider_canceled":
mockupData[key] = null;
break;
default:
mockupData[key] = mockupModel[key]();
break;
}
break;
case "waypoints":
switch (mockupData["status"]) {
case "completed":
case "no_drivers_available":
case "driver_canceled":
case "rider_canceled":
mockupData[key] = null;
break;
default:
mockupData[key] = [mockupData[key][0]];
for (var index = 0; index < mockupData[key].length; index++) {
mockupData[key][index] = mockupModel[key](mockupData["riders"][utils.getRandomInt(0, mockupData["riders"].length - 1)]["rider_id"]);
}
break;
}
break;
case "riders":
switch (mockupData["status"]) {
case "completed":
case "no_drivers_available":
case "driver_canceled":
case "rider_canceled":
mockupData[key] = null;
break;
default:
mockupData[key] = [mockupData[key][0]];
for (var index = 0; index < mockupData[key].length; index++) {
switch (index) {
case 0:
mockupData[key][index] = mockupModel[key](true);
break;
default:
mockupData[key][index] = mockupModel[key](false);
break;
}
}
}
break;
case "pickup":
case "destination":
switch (mockupData["status"]) {
case "completed":
case "no_drivers_available":
case "driver_canceled":
case "rider_canceled":
mockupData[key] = null;
break;
default:
mockupData[key] = mockupModel[key](mockupData["status"]);
break;
}
break;
default:
mockupData[key] = mockupModel[key]();
break;
}
});
return mockupData;
}
function getRideMapDetails(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
["request_id", "href"].forEach(function (key, i) {
switch (key) {
default:
mockupData[key] = mockupModel[key]();
break;
}
});
return mockupData;
}
function getRideReceiptDetails(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
["request_id", "currency_code", "total_charged", "total_owed", "total_fare", "charge_adjustments", "duration", "distance", "distance_label", "subtotal"].forEach(function (key, i) {
switch (key) {
case "total_charged":
case "total_fare":
mockupData[key] = mockupModel[key](mockupData["currency_code"]);
break;
case "subtotal":
mockupData[key] = mockupModel[key](mockupData["total_fare"], mockupData["total_charged"], mockupData["currency_code"]);
break;
default:
mockupData[key] = mockupModel[key]();
break;
}
});
return mockupData;
}
function getSavedPlaces(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
["address"].forEach(function (key, i) {
switch (key) {
default:
mockupData[key] = mockupModel[key]();
break;
}
});
return mockupData;
}
function getTimeEstimates(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
mockupData["times"] = [mockupData["times"][0]];
mockupData["times"].forEach(function (time) {
["estimate", "display_name", "localized_display_name", "product_id"].forEach(function (key, i) {
switch (key) {
case "localized_display_name":
time[key] = mockupModel[key](time["display_name"]);
break;
default:
time[key] = mockupModel[key]();
break;
}
});
});
return mockupData;
}
function getPaymentMethods(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
mockupData["payment_methods"] = [mockupData["payment_methods"][0]];
for (var i = 0; i < mockupData["payment_methods"].length; i++) {
mockupData["payment_methods"][i] = mockupModel["payment_methods"]();
}
mockupData["last_used"] = mockupData["payment_methods"][utils.getRandomInt(0, mockupData["payment_methods"].length - 1)]["payment_method_id"];
return mockupData;
}
function getUserInfo(dataType, dataModel, dataDate) {
var mockupData = {};
var mockupModel = dataModels[dataModel].mockup;
if (dataType === "SYNC") {
mockupData = dataModels[dataModel].data;
}
if (dataType === "ASYNC") {
var mockupDataRow = dataModels[dataModel].data[1].split("\t");
var mockupDataHeader = dataModels[dataModel].data[0].split("\t");
mockupDataHeader.forEach(function (k, i) {
mockupData[k] = mockupDataRow[i];
});
}
["picture", "first_name", "last_name", "uuid", "rider_id", "email", "mobile_verified", "promo_code"].forEach(function (key, i) {
switch (key) {
default:
mockupData[key] = mockupModel[key]();
break;
}
});
return mockupData;
}
exports.getModelCSVHeader = getModelCSVHeader;
exports.getPaymentMethods = getPaymentMethods;
exports.getPriceEstimatesMockupData = getPriceEstimatesMockupData;
exports.getProductDetails = getProductDetails;
exports.getProducts = getProducts;
exports.getRideDetails = getRideDetails;
exports.getRideMapDetails = getRideMapDetails;
exports.getRideReceiptDetails = getRideReceiptDetails;
exports.getSavedPlaces = getSavedPlaces;
exports.getTimeEstimates = getTimeEstimates;
exports.getUserInfo = getUserInfo;