Contract cancellation

This use case focuses on contract cancellation, with a cancellation on which the end date of the contract is set to a timestamp in the future.

T1 Contract created with an immediate start

{
    "ContractId": "6463decb0507e90bf5acfdd3",
    "CustomerId": "6463decb0507e90bf5acfdcf",
    "ExternalCustomerId": "103759",
    "ContractChangeId": "6463decb0507e90bf5acfdeb",
    "Event": "ContractCreated",
    "EntityId": "63b2d4405b49105c19fa7714"
}
{
    "ContractId": "6463decb0507e90bf5acfdd3",
    "CustomerId": "6463decb0507e90bf5acfdcf",
    "ExternalCustomerId": "103759",
    "ContractChangeId": "6463decb0507e90bf5acfdeb",
    "ContractChangeType": "Signup",
    "Event": "ContractChanged",
    "EntityId": "63b2d4405b49105c19fa7714"
}
{
    "Id": "6463decb0507e90bf5acfdeb",
    "Type": "Signup",
    "Timestamp": "2023-05-16T19:51:39.4890000Z",
    "OrderId": "6463decbeb8377ea9d65c146",
    "ContractId": "6463decb0507e90bf5acfdd3",
    "ChangeDate": "2023-05-16T19:51:38.8320000Z",
    "NewPlanVariantId": "63e62a0d9864a09b6e4b2048",
    "NewPlanId": "63e62a0d9864a09b6e4b2045",
    "Contract": {
        "Id": "6463decb0507e90bf5acfdd3",
        "After": {
            "CurrentPhase": {
                "Type": "Normal",
                "StartDate": "2023-05-16T19:51:38.8320000Z",
                "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                "PlanId": "63e62a0d9864a09b6e4b2045",
                "Quantity": 1,
                "InheritStartDate": false
            },
            "Phases": [
                {
                    "Type": "Normal",
                    "StartDate": "2023-05-16T19:51:38.8320000Z",
                    "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                    "PlanId": "63e62a0d9864a09b6e4b2045",
                    "Quantity": 1,
                    "InheritStartDate": false
                }
            ]
        }
    }
}

T2 Contract cancellation with a contract end date in the future

{
    "ContractId": "6463decb0507e90bf5acfdd3",
    "CustomerId": "6463decb0507e90bf5acfdcf",
    "ContractChangeId": "6463df470507e90bf5acfe0a",
    "ExternalCustomerId": "103759",
    "ContractChangeType": "EndContract",
    "Event": "ContractChanged",
    "EntityId": "63b2d4405b49105c19fa7714"
}
{
    "ContractId": "6463dd710507e90bf5acfda9",
    "CustomerId": "6463dd710507e90bf5acfda5",
    "ContractChangeId": "6463df470507e90bf5acfe0a",
    "Event": "ContractCancelled",
    "EntityId": "63b2d4405b49105c19fa7714"
}
{
    "Id": "6463df470507e90bf5acfe0a",
    "Type": "EndContract",
    "Timestamp": "2023-05-16T19:53:43.7890000Z",
    "ContractId": "6463decb0507e90bf5acfdd3",
    "ChangeDate": "2024-05-16T19:51:38.8320000Z",
    "NewPlanVariantId": "",
    "NewPlanId": "",
    "Contract": {
        "Id": "6463decb0507e90bf5acfdd3",
        "Before": {
            "CurrentPhase": {
                "Type": "Normal",
                "StartDate": "2023-05-16T19:51:38.8320000Z",
                "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                "PlanId": "63e62a0d9864a09b6e4b2045",
                "Quantity": 1,
                "InheritStartDate": false
            },
            "Phases": [
                {
                    "Type": "Normal",
                    "StartDate": "2023-05-16T19:51:38.8320000Z",
                    "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                    "PlanId": "63e62a0d9864a09b6e4b2045",
                    "Quantity": 1,
                    "InheritStartDate": false
                }
            ]
        },
        "After": {
            "CurrentPhase": {
                "Type": "Normal",
                "StartDate": "2023-05-16T19:51:38.8320000Z",
                "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                "PlanId": "63e62a0d9864a09b6e4b2045",
                "Quantity": 1,
                "InheritStartDate": false
            },
            "Phases": [
                {
                    "Type": "Normal",
                    "StartDate": "2023-05-16T19:51:38.8320000Z",
                    "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                    "PlanId": "63e62a0d9864a09b6e4b2045",
                    "Quantity": 1,
                    "InheritStartDate": false
                },
                {
                    "Type": "Inactive",
                    "StartDate": "2024-05-16T19:51:38.8320000Z",
                    "InheritStartDate": false
                }
            ]
        }
    }
}

T3 Timebased/scheduled contract end

{
    "ContractId": "6463decb0507e90bf5acfdd3",
    "CustomerId": "6463decb0507e90bf5acfdcf",
    "ContractChangeId": "664647aad62cb79f59c63701",
    "ContractChangeType": "Timebased",
    "Event": "ContractChanged",
    "EntityId": "63b2d4405b49105c19fa7714"
}
{
    "Id": "664647aad62cb79f59c63701",
    "Type": "Timebased",
    "Timestamp": "2024-05-16T19:51:38.8320000Z",
    "ContractId": "6463decb0507e90bf5acfdd3",
    "Contract": {
        "Id": "6463decb0507e90bf5acfdd3",
        "Before": {
            "CurrentPhase": {
                "Type": "Normal",
                "StartDate": "2023-05-16T19:51:38.8320000Z",
                "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                "PlanId": "63e62a0d9864a09b6e4b2045",
                "Quantity": 1,
                "InheritStartDate": false
            },
            "Phases": [
                {
                    "Type": "Normal",
                    "StartDate": "2023-05-16T19:51:38.8320000Z",
                    "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                    "PlanId": "63e62a0d9864a09b6e4b2045",
                    "Quantity": 1,
                    "InheritStartDate": false
                },
                {
                    "Type": "Inactive",
                    "StartDate": "2024-05-16T19:51:38.8320000Z",
                    "InheritStartDate": false
                }
            ]
        },
        "After": {
            "CurrentPhase": {
                "Type": "Inactive",
                "StartDate": "2024-05-16T19:51:38.8320000Z",
                "InheritStartDate": false
            },
            "Phases": [
                {
                    "Type": "Normal",
                    "StartDate": "2023-05-16T19:51:38.8320000Z",
                    "PlanVariantId": "63e62a0d9864a09b6e4b2048",
                    "PlanId": "63e62a0d9864a09b6e4b2045",
                    "Quantity": 1,
                    "InheritStartDate": false
                },
                {
                    "Type": "Inactive",
                    "StartDate": "2024-05-16T19:51:38.8320000Z",
                    "InheritStartDate": false
                }
            ]
        }
    }
}