I have my own Android project that uses Google Analytics for Firebase for its event reporting. I have several events that use the same parameters, but some of them relate to the limit of user parameters, while others do not. The events that I use assume general events and use mainly the proposed parameters with one or two custom parameters. I have a few questions regarding how events and parameters are displayed on the Firebase console using the examples below (you can assume that the values provided are the correct data types).
BEGIN_CHECKOUT
Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, itemId); bundle.putString(FirebaseAnalytics.Param.ORIGIN, itemOrigin); bundle.putString(FirebaseAnalytics.Param.DESTINATION, itemDestination); bundle.putString(FirebaseAnalytics.Param.START_DATE, itemStartDate); bundle.putString(FirebaseAnalytics.Param.END_DATE, itemEndDate); bundle.putLong(FirebaseAnalytics.Param.NUMBER_OF_PASSENGERS, itemNumberOfPassengers); bundle.putString(FirebaseAnalytics.Param.TRAVEL_CLASS, itemTravelClass); bundle.putString(FirebaseAnalytics.Param.CURRENCY, itemCurrency); bundle.putDouble(FirebaseAnalytics.Param.VALUE, itemValue); bundle.putString("travel_type", itemTravelType); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.BEGIN_CHECKOUT, bundle);
In Firebase Analytics, the event tab displays this event as follows: 
Another example: ECOMMERCE_PURCHASE
Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, itemId); bundle.putString(FirebaseAnalytics.Param.ORIGIN, itemOrigin); bundle.putString(FirebaseAnalytics.Param.DESTINATION, itemDestination); bundle.putString(FirebaseAnalytics.Param.START_DATE, itemStartDate); bundle.putString(FirebaseAnalytics.Param.END_DATE, itemEndDate); bundle.putLong(FirebaseAnalytics.Param.NUMBER_OF_PASSENGERS, itemNumberOfPassengers); bundle.putString(FirebaseAnalytics.Param.TRAVEL_CLASS, itemTravelClass); bundle.putString(FirebaseAnalytics.Param.CURRENCY, itemCurrency); bundle.putDouble(FirebaseAnalytics.Param.VALUE, itemValue); bundle.putString("travel_type", itemTravelType); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.ECOMMERCE_PURCHASE, bundle);
Firebase Console:

My questions:
- Why are some parameters “automatically added” to the start_checkout report parameter in the Firebase Console, while others are not? e.g. destination and start_date vs item_id and currency
- Why don't these auto-added options appear in my panel? Only item_id is displayed here.
- Why isn’t there a single parameter “automatically added” to e-commerce reporting? The parameters do not even appear in the list on the left, I need to enter the parameter name myself
- Are custom options available for different events? For example, I have a custom parameter called "travel_type". In order for this parameter to be displayed on both events, I need to add this parameter to both events manually, so this parameter is doubled by the global limit of 10 text parameters?
- Am I just completely mistaken in believing that the use of predefined parameters should not be taken into account in the limit of user parameters? For example, "item_id" is a predefined parameter, but it takes into account the global quota, is this the intended behavior?
(This may be related, but my ecommerce_purchase event is automatically flagged as a conversion event, and I cannot change this while I set start_checkout as a manual conversion event).
For recording, the data of these events and parameters are displayed well in streaming and DebugViews.