killbill-aplcache

Changes

Details

diff --git a/api/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransition.java b/api/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransition.java
index 5ab44a4..035a349 100644
--- a/api/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransition.java
+++ b/api/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransition.java
@@ -58,8 +58,6 @@ public interface SubscriptionBaseTransition {
 
     public PriceList getNextPriceList();
 
-    public DateTime getRequestedTransitionTime();
-
     public DateTime getEffectiveTransitionTime();
 
     public SubscriptionBaseTransitionType getTransitionType();
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/BlockingStateOrdering.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/BlockingStateOrdering.java
index 18f9399..065076f 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/BlockingStateOrdering.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/BlockingStateOrdering.java
@@ -241,7 +241,6 @@ public class BlockingStateOrdering extends EntitlementOrderingBase {
         return new DefaultSubscriptionEvent(in.getId(),
                                             entitlementId,
                                             in.getEffectiveDate(),
-                                            in.getCreatedDate(),
                                             eventType,
                                             in.isBlockEntitlement(),
                                             in.isBlockBilling(),
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultSubscriptionEvent.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultSubscriptionEvent.java
index 83292a7..9035efc 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultSubscriptionEvent.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/DefaultSubscriptionEvent.java
@@ -55,7 +55,6 @@ public class DefaultSubscriptionEvent implements SubscriptionEvent {
     public DefaultSubscriptionEvent(final UUID id,
                                     final UUID entitlementId,
                                     final DateTime effectiveDate,
-                                    final DateTime requestedDate,
                                     final SubscriptionEventType eventType,
                                     final boolean blockingEntitlement,
                                     final boolean blockingBilling,
@@ -76,7 +75,7 @@ public class DefaultSubscriptionEvent implements SubscriptionEvent {
         this.id = id;
         this.entitlementId = entitlementId;
         this.effectiveDate = effectiveDate;
-        this.requestedDate = requestedDate;
+        this.requestedDate = effectiveDate;
         this.eventType = eventType;
         this.isBlockingEntitlement = blockingEntitlement;
         this.isBlockingBilling = blockingBilling;
diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java b/entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java
index 5d793a7..26ae84e 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/api/SubscriptionEventOrdering.java
@@ -154,7 +154,6 @@ public class SubscriptionEventOrdering extends EntitlementOrderingBase {
         return new DefaultSubscriptionEvent(in.getId(),
                                             in.getSubscriptionId(),
                                             in.getEffectiveTransitionTime(),
-                                            in.getRequestedTransitionTime(),
                                             eventType,
                                             false,
                                             false,
diff --git a/entitlement/src/test/java/org/killbill/billing/entitlement/api/TestDefaultSubscriptionBundleTimeline.java b/entitlement/src/test/java/org/killbill/billing/entitlement/api/TestDefaultSubscriptionBundleTimeline.java
index b9f5c6a..7c67a0e 100644
--- a/entitlement/src/test/java/org/killbill/billing/entitlement/api/TestDefaultSubscriptionBundleTimeline.java
+++ b/entitlement/src/test/java/org/killbill/billing/entitlement/api/TestDefaultSubscriptionBundleTimeline.java
@@ -68,7 +68,6 @@ public class TestDefaultSubscriptionBundleTimeline extends EntitlementTestSuiteN
             return new DefaultSubscriptionEvent(UUID.randomUUID(),
                                                 subscriptionId,
                                                 effectiveDate,
-                                                null,
                                                 type,
                                                 true,
                                                 true,
@@ -1391,7 +1390,6 @@ public class TestDefaultSubscriptionBundleTimeline extends EntitlementTestSuiteN
                                                   bundleId,
                                                   eventType,
                                                   apiEventType,
-                                                  requestedDate,
                                                   effectiveDate,
                                                   null,
                                                   null,
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/migration/DefaultSubscriptionBaseMigrationApi.java b/subscription/src/main/java/org/killbill/billing/subscription/api/migration/DefaultSubscriptionBaseMigrationApi.java
index 01746a9..436e64e 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/migration/DefaultSubscriptionBaseMigrationApi.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/migration/DefaultSubscriptionBaseMigrationApi.java
@@ -206,13 +206,12 @@ public class DefaultSubscriptionBaseMigrationApi extends SubscriptionApiBase imp
                     .setEventPriceList(cur.getPriceList())
                     .setActiveVersion(defaultSubscriptionBase.getActiveVersion())
                     .setEffectiveDate(cur.getEventTime())
-                    .setRequestedDate(now)
                     .setFromDisk(true);
 
             if (cur.getEventType() == EventType.PHASE) {
                 nextEventDate = nextEventDate != null && nextEventDate.compareTo(cur.getEventTime()) < 0 ? nextEventDate : cur.getEventTime();
                 final PhaseEvent nextPhaseEvent = PhaseEventData.createNextPhaseEvent(defaultSubscriptionBase.getId(), defaultSubscriptionBase.getActiveVersion(),
-                                                                                      cur.getPhase().getName(), now, cur.getEventTime());
+                                                                                      cur.getPhase().getName(), cur.getEventTime());
                 events.add(nextPhaseEvent);
 
             } else if (cur.getEventType() == EventType.API_USER) {
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/timeline/DefaultSubscriptionBaseTimeline.java b/subscription/src/main/java/org/killbill/billing/subscription/api/timeline/DefaultSubscriptionBaseTimeline.java
index 73de18a..fc33b62 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/timeline/DefaultSubscriptionBaseTimeline.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/timeline/DefaultSubscriptionBaseTimeline.java
@@ -110,7 +110,7 @@ public class DefaultSubscriptionBaseTimeline implements SubscriptionBaseTimeline
                     apiType = userEV.getApiEventType();
                     planName = userEV.getEventPlan();
                     planPhaseName = userEV.getEventPlanPhase();
-                    final Plan plan = (userEV.getEventPlan() != null) ? catalog.findPlan(userEV.getEventPlan(), cur.getRequestedDate(), startDate) : null;
+                    final Plan plan = (userEV.getEventPlan() != null) ? catalog.findPlan(userEV.getEventPlan(), cur.getEffectiveDate(), startDate) : null;
                     phaseType = (userEV.getEventPlanPhase() != null) ? catalog.findPhase(userEV.getEventPlanPhase(), cur.getEffectiveDate(), startDate).getPhaseType() : prevPhaseType;
                     productName = (plan != null) ? plan.getProduct().getName() : prevProductName;
                     billingPeriod = (userEV.getEventPlanPhase() != null) ? getBillingPeriod(catalog, userEV.getEventPlanPhase(), cur.getEffectiveDate(), startDate) : prevBillingPeriod;
@@ -131,7 +131,7 @@ public class DefaultSubscriptionBaseTimeline implements SubscriptionBaseTimeline
 
                 @Override
                 public DateTime getRequestedDate() {
-                    return cur.getRequestedDate();
+                    return cur.getEffectiveDate();
                 }
 
                 @Override
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java b/subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java
index 4abe2f7..49c3ca6 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/transfer/DefaultSubscriptionBaseTransferApi.java
@@ -103,7 +103,6 @@ public class DefaultSubscriptionBaseTransferApi extends SubscriptionApiBase impl
                 .setEventPriceList(spec.getPriceListName())
                 .setActiveVersion(subscription.getActiveVersion())
                 .setEffectiveDate(effectiveDate)
-                .setRequestedDate(effectiveDate)
                 .setFromDisk(true);
 
         switch (existingEvent.getSubscriptionTransitionType()) {
@@ -121,7 +120,7 @@ public class DefaultSubscriptionBaseTransferApi extends SubscriptionApiBase impl
 
             case PHASE:
                 newEvent = firstEvent ? new ApiEventTransfer(apiBuilder) :
-                           PhaseEventData.createNextPhaseEvent(subscription.getId(), subscription.getActiveVersion(), currentPhase.getName(), clock.getUTCNow(), effectiveDate);
+                           PhaseEventData.createNextPhaseEvent(subscription.getId(), subscription.getActiveVersion(), currentPhase.getName(), effectiveDate);
                 break;
 
             // Ignore these events except if it's the first event for the new subscription
@@ -241,7 +240,6 @@ public class DefaultSubscriptionBaseTransferApi extends SubscriptionApiBase impl
                                                                                          .setSubscriptionId(cur.getId())
                                                                                          .setActiveVersion(cur.getActiveVersion())
                                                                                          .setEffectiveDate(effectiveCancelDate)
-                                                                                         .setRequestedDate(effectiveTransferDate)
                                                                                          .setFromDisk(true));
 
                     TransferCancelData cancelData = new TransferCancelData(oldSubscription, cancelEvent);
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultEffectiveSubscriptionEvent.java b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultEffectiveSubscriptionEvent.java
index 9d16160..aca165c 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultEffectiveSubscriptionEvent.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultEffectiveSubscriptionEvent.java
@@ -37,7 +37,6 @@ public class DefaultEffectiveSubscriptionEvent extends DefaultSubscriptionEvent 
     public DefaultEffectiveSubscriptionEvent(@JsonProperty("eventId") final UUID eventId,
                                              @JsonProperty("subscriptionId") final UUID subscriptionId,
                                              @JsonProperty("bundleId") final UUID bundleId,
-                                             @JsonProperty("requestedTransitionTime") final DateTime requestedTransitionTime,
                                              @JsonProperty("effectiveTransitionTime") final DateTime effectiveTransitionTime,
                                              @JsonProperty("previousState") final EntitlementState previousState,
                                              @JsonProperty("previousPlan") final String previousPlan,
@@ -54,7 +53,7 @@ public class DefaultEffectiveSubscriptionEvent extends DefaultSubscriptionEvent 
                                              @JsonProperty("searchKey1") final Long searchKey1,
                                              @JsonProperty("searchKey2") final Long searchKey2,
                                              @JsonProperty("userToken") final UUID userToken) {
-        super(eventId, subscriptionId, bundleId, requestedTransitionTime, effectiveTransitionTime, previousState, previousPlan,
+        super(eventId, subscriptionId, bundleId, effectiveTransitionTime, effectiveTransitionTime, previousState, previousPlan,
               previousPhase, previousPriceList, nextState, nextPlan, nextPhase, nextPriceList, totalOrdering,
               transitionType, remainingEventsForUserOperation, startDate, searchKey1, searchKey2, userToken);
     }
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultRequestedSubscriptionEvent.java b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultRequestedSubscriptionEvent.java
index 8394193..2c78684 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultRequestedSubscriptionEvent.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultRequestedSubscriptionEvent.java
@@ -62,7 +62,7 @@ public class DefaultRequestedSubscriptionEvent extends DefaultSubscriptionEvent 
                                              final Long searchKey1,
                                              final Long searchKey2,
                                              final UUID userToken) {
-        this(nextEvent.getId(), nextEvent.getSubscriptionId(), subscription.getBundleId(), nextEvent.getRequestedDate(), nextEvent.getEffectiveDate(),
+        this(nextEvent.getId(), nextEvent.getSubscriptionId(), subscription.getBundleId(), nextEvent.getEffectiveDate(), nextEvent.getEffectiveDate(),
              null, null, null, null, null, null, null, null, nextEvent.getTotalOrdering(), transitionType, 0, null, searchKey1, searchKey2, userToken);
     }
 }
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java
index 184c3db..a0ecd94 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBase.java
@@ -629,13 +629,13 @@ public class DefaultSubscriptionBase extends EntityBase implements SubscriptionB
             PlanPhase nextPhase = null;
             PriceList nextPriceList = null;
 
-            nextPlan = (nextPlanName != null) ? catalog.findPlan(nextPlanName, cur.getRequestedDate(), getAlignStartDate()) : null;
-            nextPhase = (nextPhaseName != null) ? catalog.findPhase(nextPhaseName, cur.getRequestedDate(), getAlignStartDate()) : null;
-            nextPriceList = (nextPriceListName != null) ? catalog.findPriceList(nextPriceListName, cur.getRequestedDate()) : null;
+            nextPlan = (nextPlanName != null) ? catalog.findPlan(nextPlanName, cur.getEffectiveDate(), getAlignStartDate()) : null;
+            nextPhase = (nextPhaseName != null) ? catalog.findPhase(nextPhaseName, cur.getEffectiveDate(), getAlignStartDate()) : null;
+            nextPriceList = (nextPriceListName != null) ? catalog.findPriceList(nextPriceListName, cur.getEffectiveDate()) : null;
 
             final SubscriptionBaseTransitionData transition = new SubscriptionBaseTransitionData(
                     cur.getId(), id, bundleId, cur.getType(), apiEventType,
-                    cur.getRequestedDate(), cur.getEffectiveDate(),
+                    cur.getEffectiveDate(),
                     prevEventId, prevCreatedDate,
                     previousState, previousPlan, previousPhase,
                     previousPriceList,
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBaseApiService.java b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBaseApiService.java
index 2ff39bb..5ab57db 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBaseApiService.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionBaseApiService.java
@@ -286,7 +286,6 @@ public class DefaultSubscriptionBaseApiService implements SubscriptionBaseApiSer
         final SubscriptionBaseEvent uncancelEvent = new ApiEventUncancel(new ApiEventBuilder()
                                                                                  .setSubscriptionId(subscription.getId())
                                                                                  .setActiveVersion(subscription.getActiveVersion())
-                                                                                 .setRequestedDate(now)
                                                                                  .setEffectiveDate(now)
                                                                                  .setFromDisk(true));
 
@@ -296,7 +295,7 @@ public class DefaultSubscriptionBaseApiService implements SubscriptionBaseApiSer
         final InternalCallContext internalCallContext = createCallContextFromBundleId(subscription.getBundleId(), context);
         final TimedPhase nextTimedPhase = planAligner.getNextTimedPhase(subscription, now, internalCallContext);
         final PhaseEvent nextPhaseEvent = (nextTimedPhase != null) ?
-                                          PhaseEventData.createNextPhaseEvent(subscription.getId(), subscription.getActiveVersion(), nextTimedPhase.getPhase().getName(), now, nextTimedPhase.getStartPhase()) :
+                                          PhaseEventData.createNextPhaseEvent(subscription.getId(), subscription.getActiveVersion(), nextTimedPhase.getPhase().getName(), nextTimedPhase.getStartPhase()) :
                                           null;
         if (nextPhaseEvent != null) {
             uncancelEvents.add(nextPhaseEvent);
@@ -431,13 +430,12 @@ public class DefaultSubscriptionBaseApiService implements SubscriptionBaseApiSer
                 .setEventPriceList(realPriceList)
                 .setActiveVersion(activeVersion)
                 .setEffectiveDate(effectiveDate)
-                .setRequestedDate(effectiveDate)
                 .setFromDisk(true);
         final ApiEvent creationEvent = (reCreate) ? new ApiEventReCreate(createBuilder) : new ApiEventCreate(createBuilder);
 
         final TimedPhase nextTimedPhase = curAndNextPhases[1];
         final PhaseEvent nextPhaseEvent = (nextTimedPhase != null) ?
-                                          PhaseEventData.createNextPhaseEvent(subscriptionId, activeVersion, nextTimedPhase.getPhase().getName(), processedDate, nextTimedPhase.getStartPhase()) :
+                                          PhaseEventData.createNextPhaseEvent(subscriptionId, activeVersion, nextTimedPhase.getPhase().getName(), nextTimedPhase.getStartPhase()) :
                                           null;
         final List<SubscriptionBaseEvent> events = new ArrayList<SubscriptionBaseEvent>();
         events.add(creationEvent);
@@ -460,13 +458,12 @@ public class DefaultSubscriptionBaseApiService implements SubscriptionBaseApiSer
                                                                              .setEventPriceList(newPriceList)
                                                                              .setActiveVersion(subscription.getActiveVersion())
                                                                              .setEffectiveDate(effectiveDate)
-                                                                             .setRequestedDate(effectiveDate)
                                                                              .setFromDisk(true));
 
         final TimedPhase nextTimedPhase = planAligner.getNextTimedPhaseOnChange(subscription, newPlan, newPriceList, effectiveDate, internalTenantContext);
         final PhaseEvent nextPhaseEvent = (nextTimedPhase != null) ?
                                           PhaseEventData.createNextPhaseEvent(subscription.getId(), subscription.getActiveVersion(),
-                                                                              nextTimedPhase.getPhase().getName(), processedDate, nextTimedPhase.getStartPhase()) :
+                                                                              nextTimedPhase.getPhase().getName(), nextTimedPhase.getStartPhase()) :
                                           null;
 
         final List<SubscriptionBaseEvent> changeEvents = new ArrayList<SubscriptionBaseEvent>();
@@ -492,7 +489,6 @@ public class DefaultSubscriptionBaseApiService implements SubscriptionBaseApiSer
                                                                              .setSubscriptionId(subscription.getId())
                                                                              .setActiveVersion(subscription.getActiveVersion())
                                                                              .setEffectiveDate(effectiveDate)
-                                                                             .setRequestedDate(effectiveDate)
                                                                              .setFromDisk(true));
         cancelEvents.add(cancelEvent);
         if (subscription.getCategory() == ProductCategory.BASE && addCancellationAddOnForEventsIfRequired) {
@@ -543,7 +539,6 @@ public class DefaultSubscriptionBaseApiService implements SubscriptionBaseApiSer
                                                                                      .setSubscriptionId(cur.getId())
                                                                                      .setActiveVersion(cur.getActiveVersion())
                                                                                      .setEffectiveDate(effectiveDate)
-                                                                                     .setRequestedDate(effectiveDate)
                                                                                      .setFromDisk(true));
                 subscriptionsToBeCancelled.add(cur);
                 events.add(cancelEvent);
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionEvent.java b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionEvent.java
index 8389665..04601ac 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionEvent.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/user/DefaultSubscriptionEvent.java
@@ -56,7 +56,7 @@ public abstract class DefaultSubscriptionEvent extends BusEventBase implements S
         this(in.getId(),
              in.getSubscriptionId(),
              in.getBundleId(),
-             in.getRequestedTransitionTime(),
+             in.getEffectiveTransitionTime(),
              in.getEffectiveTransitionTime(),
              in.getPreviousState(),
              (in.getPreviousPlan() != null) ? in.getPreviousPlan().getName() : null,
@@ -185,7 +185,7 @@ public abstract class DefaultSubscriptionEvent extends BusEventBase implements S
 
     @Override
     public DateTime getRequestedTransitionTime() {
-        return requestedTransitionTime;
+        return effectiveTransitionTime;
     }
 
     @Override
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionData.java b/subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionData.java
index ab71855..df2ccad 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionData.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/api/user/SubscriptionBaseTransitionData.java
@@ -36,7 +36,6 @@ public class SubscriptionBaseTransitionData implements SubscriptionBaseTransitio
     private final UUID eventId;
     private final EventType eventType;
     private final ApiEventType apiEventType;
-    private final DateTime requestedTransitionTime;
     private final DateTime effectiveTransitionTime;
     private final EntitlementState previousState;
     private final PriceList previousPriceList;
@@ -60,7 +59,6 @@ public class SubscriptionBaseTransitionData implements SubscriptionBaseTransitio
                                           final UUID bundleId,
                                           final EventType eventType,
                                           final ApiEventType apiEventType,
-                                          final DateTime requestedTransitionTime,
                                           final DateTime effectiveTransitionTime,
                                           final UUID previousEventId,
                                           final DateTime previousEventCreatedDate,
@@ -83,7 +81,6 @@ public class SubscriptionBaseTransitionData implements SubscriptionBaseTransitio
         this.bundleId = bundleId;
         this.eventType = eventType;
         this.apiEventType = apiEventType;
-        this.requestedTransitionTime = requestedTransitionTime;
         this.effectiveTransitionTime = effectiveTransitionTime;
         this.previousState = previousState;
         this.previousPriceList = previousPriceList;
@@ -116,7 +113,6 @@ public class SubscriptionBaseTransitionData implements SubscriptionBaseTransitio
         this.bundleId = input.getBundleId();
         this.eventType = eventType;
         this.apiEventType = apiEventType;
-        this.requestedTransitionTime = input.getRequestedTransitionTime();
         this.effectiveTransitionTime = input.getEffectiveTransitionTime();
         this.previousEventId = input.getPreviousEventId();
         this.previousEventCreatedDate = input.getPreviousEventCreatedDate();
@@ -241,11 +237,6 @@ public class SubscriptionBaseTransitionData implements SubscriptionBaseTransitio
     }
 
     @Override
-    public DateTime getRequestedTransitionTime() {
-        return requestedTransitionTime;
-    }
-
-    @Override
     public DateTime getEffectiveTransitionTime() {
         return effectiveTransitionTime;
     }
@@ -276,7 +267,6 @@ public class SubscriptionBaseTransitionData implements SubscriptionBaseTransitio
         sb.append(", bundleId=").append(bundleId);
         sb.append(", eventId=").append(eventId);
         sb.append(", eventType=").append(eventType);
-        sb.append(", requestedTransitionTime=").append(requestedTransitionTime);
         sb.append(", effectiveTransitionTime=").append(effectiveTransitionTime);
         sb.append(", previousState=").append(previousState);
         sb.append(", previousPriceList=").append(previousPriceList);
@@ -349,9 +339,6 @@ public class SubscriptionBaseTransitionData implements SubscriptionBaseTransitio
         if (remainingEventsForUserOperation != null ? !remainingEventsForUserOperation.equals(that.remainingEventsForUserOperation) : that.remainingEventsForUserOperation != null) {
             return false;
         }
-        if (requestedTransitionTime != null ? requestedTransitionTime.compareTo(that.requestedTransitionTime) != 0 : that.requestedTransitionTime != null) {
-            return false;
-        }
         if (subscriptionId != null ? !subscriptionId.equals(that.subscriptionId) : that.subscriptionId != null) {
             return false;
         }
@@ -373,7 +360,6 @@ public class SubscriptionBaseTransitionData implements SubscriptionBaseTransitio
         result = 31 * result + (eventId != null ? eventId.hashCode() : 0);
         result = 31 * result + (eventType != null ? eventType.hashCode() : 0);
         result = 31 * result + (apiEventType != null ? apiEventType.hashCode() : 0);
-        result = 31 * result + (requestedTransitionTime != null ? requestedTransitionTime.hashCode() : 0);
         result = 31 * result + (effectiveTransitionTime != null ? effectiveTransitionTime.hashCode() : 0);
         result = 31 * result + (previousState != null ? previousState.hashCode() : 0);
         result = 31 * result + (previousPriceList != null ? previousPriceList.hashCode() : 0);
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/engine/core/DefaultSubscriptionBaseService.java b/subscription/src/main/java/org/killbill/billing/subscription/engine/core/DefaultSubscriptionBaseService.java
index bcd0b26..8b4fbe8 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/engine/core/DefaultSubscriptionBaseService.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/engine/core/DefaultSubscriptionBaseService.java
@@ -188,7 +188,7 @@ public class DefaultSubscriptionBaseService implements EventListener, Subscripti
             final TimedPhase nextTimedPhase = planAligner.getNextTimedPhase(subscription, now, context);
             final PhaseEvent nextPhaseEvent = (nextTimedPhase != null) ?
                                               PhaseEventData.createNextPhaseEvent(subscription.getId(), subscription.getActiveVersion(),
-                                                                                  nextTimedPhase.getPhase().getName(), now, nextTimedPhase.getStartPhase()) :
+                                                                                  nextTimedPhase.getPhase().getName(), nextTimedPhase.getStartPhase()) :
                                               null;
             if (nextPhaseEvent != null) {
                 dao.createNextPhaseEvent(subscription, nextPhaseEvent, context);
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java
index 4a72049..f2c5a4f 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/DefaultSubscriptionDao.java
@@ -728,7 +728,6 @@ public class DefaultSubscriptionDao extends EntityDaoBase<SubscriptionBundleMode
                     .setSubscriptionId(migrateBillingEvent.getSubscriptionId())
                     .setCreatedDate(now)
                     .setUpdatedDate(now)
-                    .setRequestedDate(migrateBillingEvent.getRequestedDate())
                     .setEffectiveDate(migrateBillingEvent.getEffectiveDate())
                     .setActiveVersion(migrateBillingEvent.getCurrentVersion())
                     .setEventPlan(prevPlan)
@@ -936,7 +935,6 @@ public class DefaultSubscriptionDao extends EntityDaoBase<SubscriptionBundleMode
                                                                                                   .setSubscriptionId(reloaded.getId())
                                                                                                   .setActiveVersion(((DefaultSubscriptionBase) reloaded).getActiveVersion())
                                                                                                   .setEffectiveDate(baseTriggerEventForAddOnCancellation.getEffectiveDate())
-                                                                                                  .setRequestedDate(now)
                                                                                                   .setCreatedDate(baseTriggerEventForAddOnCancellation.getCreatedDate())
                                                                                                   // This event is only there to indicate the ADD_ON is future canceled, but it is not there
                                                                                                   // on disk until the base plan cancellation becomes effective
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java
index 58d75af..73d4492 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/engine/dao/model/SubscriptionEventModelDao.java
@@ -47,7 +47,7 @@ public class SubscriptionEventModelDao extends EntityModelDaoBase implements Ent
     private long totalOrdering;
     private EventType eventType;
     private ApiEventType userType;
-    private DateTime requestedDate;
+    private DateTime requestedDate; // deprecated (similar to effectiveDate)
     private DateTime effectiveDate;
     private UUID subscriptionId;
     private String planName;
@@ -83,7 +83,7 @@ public class SubscriptionEventModelDao extends EntityModelDaoBase implements Ent
         this.totalOrdering = src.getTotalOrdering();
         this.eventType = src.getType();
         this.userType = eventType == EventType.API_USER ? ((ApiEvent) src).getApiEventType() : null;
-        this.requestedDate = src.getRequestedDate();
+        this.requestedDate = src.getEffectiveDate();
         this.effectiveDate = src.getEffectiveDate();
         this.subscriptionId = src.getSubscriptionId();
         this.planName = eventType == EventType.API_USER ? ((ApiEvent) src).getEventPlan() : null;
@@ -200,7 +200,6 @@ public class SubscriptionEventModelDao extends EntityModelDaoBase implements Ent
                 .setSubscriptionId(src.getSubscriptionId())
                 .setCreatedDate(src.getCreatedDate())
                 .setUpdatedDate(src.getUpdatedDate())
-                .setRequestedDate(src.getRequestedDate())
                 .setEffectiveDate(src.getEffectiveDate())
                 .setActiveVersion(src.getCurrentVersion())
                 .setActive(src.isActive());
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/events/EventBase.java b/subscription/src/main/java/org/killbill/billing/subscription/events/EventBase.java
index 35fdd1e..ed379f8 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/events/EventBase.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/events/EventBase.java
@@ -28,7 +28,6 @@ public abstract class EventBase implements SubscriptionBaseEvent {
     private final UUID subscriptionId;
     private final DateTime createdDate;
     private final DateTime updatedDate;
-    private final DateTime requestedDate;
     private final DateTime effectiveDate;
 
     private final long totalOrdering;
@@ -41,18 +40,12 @@ public abstract class EventBase implements SubscriptionBaseEvent {
         this.subscriptionId = builder.getSubscriptionId();
         this.createdDate = builder.getCreatedDate();
         this.updatedDate = builder.getUpdatedDate();
-        this.requestedDate = builder.getRequestedDate();
         this.effectiveDate = builder.getEffectiveDate();
         this.activeVersion = builder.getActiveVersion();
         this.isActive = builder.isActive();
     }
 
     @Override
-    public DateTime getRequestedDate() {
-        return requestedDate;
-    }
-
-    @Override
     public DateTime getEffectiveDate() {
         return effectiveDate;
     }
@@ -111,10 +104,6 @@ public abstract class EventBase implements SubscriptionBaseEvent {
             return -1;
         } else if (effectiveDate.isAfter(other.getEffectiveDate())) {
             return 1;
-        } else if (requestedDate.isBefore(other.getRequestedDate())) {
-            return -1;
-        } else if (requestedDate.isAfter(other.getRequestedDate())) {
-            return 1;
         } else if (getType() != other.getType()) {
             return (getType() == EventType.PHASE) ? -1 : 1;
         } else if (getType() == EventType.API_USER) {
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/events/EventBaseBuilder.java b/subscription/src/main/java/org/killbill/billing/subscription/events/EventBaseBuilder.java
index 7487b8a..4dd7b96 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/events/EventBaseBuilder.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/events/EventBaseBuilder.java
@@ -29,7 +29,6 @@ public abstract class EventBaseBuilder<T extends EventBaseBuilder<T>> {
     private UUID subscriptionId;
     private DateTime createdDate;
     private DateTime updatedDate;
-    private DateTime requestedDate;
     private DateTime effectiveDate;
 
     private long activeVersion;
@@ -44,7 +43,6 @@ public abstract class EventBaseBuilder<T extends EventBaseBuilder<T>> {
     public EventBaseBuilder(final SubscriptionBaseEvent event) {
         this.uuid = event.getId();
         this.subscriptionId = event.getSubscriptionId();
-        this.requestedDate = event.getRequestedDate();
         this.effectiveDate = event.getEffectiveDate();
         this.createdDate = event.getCreatedDate();
         this.updatedDate = event.getUpdatedDate();
@@ -56,7 +54,6 @@ public abstract class EventBaseBuilder<T extends EventBaseBuilder<T>> {
     public EventBaseBuilder(final EventBaseBuilder<?> copy) {
         this.uuid = copy.uuid;
         this.subscriptionId = copy.subscriptionId;
-        this.requestedDate = copy.requestedDate;
         this.effectiveDate = copy.effectiveDate;
         this.createdDate = copy.getCreatedDate();
         this.updatedDate = copy.getUpdatedDate();
@@ -90,11 +87,6 @@ public abstract class EventBaseBuilder<T extends EventBaseBuilder<T>> {
         return (T) this;
     }
 
-    public T setRequestedDate(final DateTime requestedDate) {
-        this.requestedDate = requestedDate;
-        return (T) this;
-    }
-
     public T setEffectiveDate(final DateTime effectiveDate) {
         this.effectiveDate = effectiveDate;
         return (T) this;
@@ -130,10 +122,6 @@ public abstract class EventBaseBuilder<T extends EventBaseBuilder<T>> {
         return subscriptionId;
     }
 
-    public DateTime getRequestedDate() {
-        return requestedDate;
-    }
-
     public DateTime getEffectiveDate() {
         return effectiveDate;
     }
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/events/phase/PhaseEventData.java b/subscription/src/main/java/org/killbill/billing/subscription/events/phase/PhaseEventData.java
index 6da067c..07afcdf 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/events/phase/PhaseEventData.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/events/phase/PhaseEventData.java
@@ -50,19 +50,17 @@ public class PhaseEventData extends EventBase implements PhaseEvent {
                 + ", phaseName=" + phaseName
                 + ", getType()=" + getType()
                 + ", getPhase()=" + getPhase()
-                + ", getRequestedDate()=" + getRequestedDate()
                 + ", getEffectiveDate()=" + getEffectiveDate()
                 + ", getActiveVersion()=" + getActiveVersion()
                 + ", getSubscriptionId()=" + getSubscriptionId()
                 + ", isActive()=" + isActive() + "]\n";
     }
 
-    public static PhaseEvent createNextPhaseEvent(final UUID subscriptionId, final long activeVersion, final String phaseName,  final DateTime now, final DateTime effectiveDate) {
+    public static PhaseEvent createNextPhaseEvent(final UUID subscriptionId, final long activeVersion, final String phaseName, final DateTime effectiveDate) {
         return (phaseName == null) ?
                 null :
                 new PhaseEventData(new PhaseEventBuilder()
                                            .setSubscriptionId(subscriptionId)
-                                           .setRequestedDate(now)
                                            .setEffectiveDate(effectiveDate)
                                            .setActiveVersion(activeVersion)
                                            .setPhaseName(phaseName));
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/events/SubscriptionBaseEvent.java b/subscription/src/main/java/org/killbill/billing/subscription/events/SubscriptionBaseEvent.java
index c610aa0..1f81e63 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/events/SubscriptionBaseEvent.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/events/SubscriptionBaseEvent.java
@@ -38,8 +38,6 @@ public interface SubscriptionBaseEvent extends Comparable<SubscriptionBaseEvent>
 
     public boolean isActive();
 
-    public DateTime getRequestedDate();
-
     public DateTime getEffectiveDate();
 
     public UUID getSubscriptionId();
diff --git a/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBase.java b/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBase.java
index be40564..98f6b9e 100644
--- a/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBase.java
+++ b/subscription/src/main/java/org/killbill/billing/subscription/events/user/ApiEventBase.java
@@ -77,7 +77,6 @@ public class ApiEventBase extends EventBase implements ApiEvent {
                + ", getEventPlan()=" + getEventPlan()
                + ", getEventPlanPhase()=" + getEventPlanPhase()
                + ", getType()=" + getType()
-               + ", getRequestedDate()=" + getRequestedDate()
                + ", getEffectiveDate()=" + getEffectiveDate()
                + ", getActiveVersion()=" + getActiveVersion()
                + ", getSubscriptionId()=" + getSubscriptionId()
diff --git a/subscription/src/test/java/org/killbill/billing/subscription/alignment/TestPlanAligner.java b/subscription/src/test/java/org/killbill/billing/subscription/alignment/TestPlanAligner.java
index 85bdaaf..0ec542a 100644
--- a/subscription/src/test/java/org/killbill/billing/subscription/alignment/TestPlanAligner.java
+++ b/subscription/src/test/java/org/killbill/billing/subscription/alignment/TestPlanAligner.java
@@ -219,7 +219,6 @@ public class TestPlanAligner extends SubscriptionTestSuiteNoDB {
         eventBuilder.setEventPriceList(priceList);
 
         // We don't really use the following but the code path requires it
-        eventBuilder.setRequestedDate(effectiveDate);
         eventBuilder.setFromDisk(true);
         eventBuilder.setActiveVersion(activeVersion);
 
diff --git a/subscription/src/test/java/org/killbill/billing/subscription/api/TestEventJson.java b/subscription/src/test/java/org/killbill/billing/subscription/api/TestEventJson.java
index 1141782..90b3822 100644
--- a/subscription/src/test/java/org/killbill/billing/subscription/api/TestEventJson.java
+++ b/subscription/src/test/java/org/killbill/billing/subscription/api/TestEventJson.java
@@ -35,7 +35,7 @@ public class TestEventJson extends GuicyKillbillTestSuiteNoDB {
     @Test(groups = "fast")
     public void testSubscriptionEvent() throws Exception {
 
-        final EffectiveSubscriptionInternalEvent e = new DefaultEffectiveSubscriptionEvent(UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), new DateTime(), new DateTime(),
+        final EffectiveSubscriptionInternalEvent e = new DefaultEffectiveSubscriptionEvent(UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), new DateTime(),
                                                                                            EntitlementState.ACTIVE, "pro", "TRIAL", "DEFAULT", EntitlementState.CANCELLED, null, null, null, 3L,
                                                                                            SubscriptionBaseTransitionType.CANCEL, 0, new DateTime(), 1L, 2L, null);