Refunding Orders

In this article we will go through the steps to identify refundable items in an order and to initiate the refund.

  1. Performing a will call check
  2. Finding a refund reason
  3. Refunding the order

Performing a will call check

The first step we need to perform when refunding an order is to perform a will call check. This will return a list of all items in the order including a refundable status and non-refundable reason if applicable. To perform a will call check you only need the order token.

GET  /v1/orders/token-FA8C7CC8-24B0-439F-A47A-195CD68E87C6/will-call-check

Response

{
    "lineItems": [
        {
            "lineNumber": 1,
            "pickedUp": false,
            "refundable": true,
            "selfServiceRefundable": true
        },
        {
            "lineNumber": 2,
            "pickedUp": false,
            "refundable": true,
            "selfServiceRefundable": true
        },
        {
            "lineNumber": 3,
            "refundable": false,
            "nonRefundableReason": "The product has already been refunded.",
            "selfServiceRefundable": false,
            "nonSelfServiceRefundableReason": "The product has already been refunded."
        }
    ],
    "_links": {
        "self": {
            "href": "https://api.amctheatres.com/v1/orders/token-fa8c7cc8-24b0-439f-a47a-195cd68e87c6/will-call-check",
            "templated": false
        },
        "refund": {
            "href": "https://api.amctheatres.com/v1/orders/token-fa8c7cc8-24b0-439f-a47a-195cd68e87c6/refunds",
            "templated": false
        }
    }
}

Make note of all line items containing the following refundable property:

"refundable": true

In this order, line items 1 and 2 are refundable so we will make note of those for later use.


Finding a refund reason

Before we attempt to refund the items we found in step 1, we first need to select a refund reason.

GET  /v1/refund-reasons

Response

{
    "refundReasons": [
        {
            "description": "Changed Mind/Can't Make Show",
            "name": "ChangedMindCannotMakeShow",
            "typeDescription": "Guest Self Service"
        },
        {
            "description": "Self Service Refund",
            "name": "SelfServiceRefund",
            "typeDescription": "Guest Self Service"
        },
        {
            "description": "Too Many Tickets",
            "name": "TooManyTickets",
            "typeDescription": "Guest Self Service"
        },
        {
            "description": "Wrong Day",
            "name": "WrongDay",
            "typeDescription": "Guest Self Service"
        },
        {
            "description": "Wrong Movie/Format",
            "name": "WrongMovieFormat",
            "typeDescription": "Guest Self Service"
        },
        {
            "description": "Wrong Seat(s)",
            "name": "WrongSeats",
            "typeDescription": "Guest Self Service"
        },
        {
            "description": "Wrong Theatre",
            "name": "WrongTheatre",
            "typeDescription": "Guest Self Service"
        },
        {
            "description": "Wrong Ticket Type",
            "name": "WrongTicketType",
            "typeDescription": "Guest Self Service"
        },
        {
            "description": "Wrong Time",
            "name": "WrongTime",
            "typeDescription": "Guest Self Service"
        }
    ],
    "_links": {
        "self": {
            "href": "https://api.amctheatres.com/v1/refund-reasons",
            "templated": false
        }
    }
}
                    

Select an appropriate refund reason. We will pick the "Changed Mind/Can't Make Show" reason. To use this, we will need the reason name.

"name": "ChangedMindCannotMakeShow"

Now that we have selected a refund reason, and know which line items we wish to refund we can proceed to the final step of performing the refund.


Refunding the order

Now that we know what we are going to refund, and which refund reason we are going to use let's issue a refund for this order:

POST  /v1/orders/token-fa8c7cc8-24b0-439f-a47a-195cd68e87c6/refunds

Request

{
  "refundReasonName": "ChangedMindCannotMakeShow",
  "lineNumbers": [
    1,
    2
  ]
}
                    

Response

HTTP/1.1 200 OK
                    

After the refund is completed, we can get the order and see that all 3 tickets in this order now each have an item in the Fulfilled and a corresponding item in the Refunded status.

GET  /v3/orders/token-FA8C7CC8-24B0-439F-A47A-195CD68E87C6

Response

{
    "id": 235912,
    "email": "developers@amctheatres.com",
    "status": "Refunded",
    "createdDateUtc": "2019-01-28T20:11:57.2Z",
    "total": 0,
    "subtotal": 0,
    "paid": 0,
    "savings": 0,
    "token": "fa8c7cc8-24b0-439f-a47a-195cd68e87c6",
    "paymentOptions": [
        "creditCard",
        "giftCard"
    ],
    "expirationDateUtc": "2019-01-28T20:19:14.56Z",
    "subscriptionDiscountsAreWaived": false,
    "_embedded": {
        "products": [
            {
                "sku": "TICKET-GA-22641-ADULT",
                "status": "Fulfilled",
                "cost": 10.91,
                "tax": 0.92,
                "name": "ADULT Ticket",
                "theatre": "AMC DINE-IN Studio 28",
                "theatreId": 610,
                "movie": "Halloween",
                "showDateTime": "2019-01-29 09:20",
                "showDateTimeUtc": "2019-01-29T15:20:00Z",
                "performanceNumber": 3873,
                "format": "",
                "internalReleaseNumber": 63332,
                "auditorium": 16,
                "components": [],
                "modifiers": [],
                "expirationDateUtc": "2019-01-28T20:19:14.56Z",
                "confirmationCode": "0109724903",
                "confirmationQrCode": "https://graph.amctheatres.com/assets/orders/qr/228028250135179250136039176003082234151252188239",
                "confirmationQrCodeValue": "A0109724903",
                "token": "5e9c9c19-be40-4ff8-af04-4ec6a30839fd",
                "fees": [
                    {
                        "cost": 1.92,
                        "name": "convenience",
                        "quantity": 1,
                        "total": 1.92,
                        "waived": false,
                        "waivedReason": "",
                        "tax": 0.17
                    }
                ],
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/1",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/movie": {
                        "href": "https://api.amctheatres.com/v2/movies/53099",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/theatre": {
                        "href": "https://api.amctheatres.com/v2/theatres/610",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v3/sms-ticket-confirmation": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/1/sms-ticket-confirmation/{phone-number}",
                        "templated": true
                    },
                    "https://api.amctheatres.com/rels/v1/passbook-ticket": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/1/passbook",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/showtime": {
                        "href": "https://api.amctheatres.com/v2/showtimes/22641",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v1/event": {
                        "href": "https://api.amctheatres.com/v1/events/bnVsbC0yMzU5MTI1",
                        "templated": false
                    }
                },
                "lineItemNumber": 1
            },
            {
                "sku": "TICKET-GA-22641-ADULT",
                "status": "Fulfilled",
                "cost": 10.91,
                "tax": 0.92,
                "name": "ADULT Ticket",
                "theatre": "AMC DINE-IN Studio 28",
                "theatreId": 610,
                "movie": "Halloween",
                "showDateTime": "2019-01-29 09:20",
                "showDateTimeUtc": "2019-01-29T15:20:00Z",
                "performanceNumber": 3873,
                "format": "",
                "internalReleaseNumber": 63332,
                "auditorium": 16,
                "components": [],
                "modifiers": [],
                "expirationDateUtc": "2019-01-28T20:19:14.56Z",
                "confirmationCode": "0109724903",
                "confirmationQrCode": "https://graph.amctheatres.com/assets/orders/qr/046199208180129012185239211123129186048147233196",
                "confirmationQrCodeValue": "A0109724903",
                "token": "4b4ad587-6a2f-4c79-b8f1-9cbaf8e65862",
                "fees": [
                    {
                        "cost": 1.92,
                        "name": "convenience",
                        "quantity": 1,
                        "total": 1.92,
                        "waived": false,
                        "waivedReason": "",
                        "tax": 0.17
                    }
                ],
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/2",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/movie": {
                        "href": "https://api.amctheatres.com/v2/movies/53099",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/theatre": {
                        "href": "https://api.amctheatres.com/v2/theatres/610",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v3/sms-ticket-confirmation": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/2/sms-ticket-confirmation/{phone-number}",
                        "templated": true
                    },
                    "https://api.amctheatres.com/rels/v1/passbook-ticket": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/2/passbook",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/showtime": {
                        "href": "https://api.amctheatres.com/v2/showtimes/22641",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v1/event": {
                        "href": "https://api.amctheatres.com/v1/events/bnVsbC0yMzU5MTI1",
                        "templated": false
                    }
                },
                "lineItemNumber": 2
            },
            {
                "sku": "TICKET-GA-22641-ADULT",
                "status": "Fulfilled",
                "cost": 10.91,
                "tax": 0.92,
                "name": "ADULT Ticket",
                "theatre": "AMC DINE-IN Studio 28",
                "theatreId": 610,
                "movie": "Halloween",
                "showDateTime": "2019-01-29 09:20",
                "showDateTimeUtc": "2019-01-29T15:20:00Z",
                "performanceNumber": 3873,
                "format": "",
                "internalReleaseNumber": 63332,
                "auditorium": 16,
                "components": [],
                "modifiers": [],
                "expirationDateUtc": "2019-01-28T20:19:14.56Z",
                "confirmationCode": "0109724903",
                "confirmationQrCode": "https://graph.amctheatres.com/assets/orders/qr/218206149172129041190019101198168016121060053038",
                "confirmationQrCodeValue": "A0109724903",
                "token": "28e4fe88-561e-4f6d-8ced-b58bb4b76a6a",
                "fees": [
                    {
                        "cost": 1.92,
                        "name": "convenience",
                        "quantity": 1,
                        "total": 1.92,
                        "waived": false,
                        "waivedReason": "",
                        "tax": 0.17
                    }
                ],
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/3",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/movie": {
                        "href": "https://api.amctheatres.com/v2/movies/53099",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/theatre": {
                        "href": "https://api.amctheatres.com/v2/theatres/610",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v3/sms-ticket-confirmation": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/3/sms-ticket-confirmation/{phone-number}",
                        "templated": true
                    },
                    "https://api.amctheatres.com/rels/v1/passbook-ticket": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/3/passbook",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/showtime": {
                        "href": "https://api.amctheatres.com/v2/showtimes/22641",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v1/event": {
                        "href": "https://api.amctheatres.com/v1/events/bnVsbC0yMzU5MTI1",
                        "templated": false
                    }
                },
                "lineItemNumber": 3
            },
            {
                "sku": "TICKET-GA-22641-ADULT",
                "status": "Refunded",
                "cost": 10.91,
                "tax": 0.92,
                "name": "Refund for ADULT Ticket",
                "theatre": "AMC DINE-IN Studio 28",
                "theatreId": 610,
                "movie": "Halloween",
                "showDateTime": "2019-01-29 09:20",
                "showDateTimeUtc": "2019-01-29T15:20:00Z",
                "performanceNumber": 3873,
                "format": "",
                "internalReleaseNumber": 63332,
                "auditorium": 16,
                "refundDateUtc": "2019-01-28T20:14:51.3Z",
                "components": [],
                "modifiers": [],
                "expirationDateUtc": "2019-01-28T20:19:14.56Z",
                "confirmationCode": "0109724903",
                "token": "28e4fe88-561e-4f6d-8ced-b58bb4b76a6a",
                "fees": [
                    {
                        "cost": 1.92,
                        "name": "convenience",
                        "quantity": -1,
                        "total": -1.92,
                        "waived": false,
                        "waivedReason": "",
                        "tax": 0.17
                    }
                ],
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/4",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/movie": {
                        "href": "https://api.amctheatres.com/v2/movies/53099",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/theatre": {
                        "href": "https://api.amctheatres.com/v2/theatres/610",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/showtime": {
                        "href": "https://api.amctheatres.com/v2/showtimes/22641",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v1/event": {
                        "href": "https://api.amctheatres.com/v1/events/bnVsbC0yMzU5MTI1",
                        "templated": false
                    }
                },
                "lineItemNumber": 4
            },
            {
                "sku": "TICKET-GA-22641-ADULT",
                "status": "Refunded",
                "cost": 10.91,
                "tax": 0.92,
                "name": "Refund for ADULT Ticket",
                "theatre": "AMC DINE-IN Studio 28",
                "theatreId": 610,
                "movie": "Halloween",
                "showDateTime": "2019-01-29 09:20",
                "showDateTimeUtc": "2019-01-29T15:20:00Z",
                "performanceNumber": 3873,
                "format": "",
                "internalReleaseNumber": 63332,
                "auditorium": 16,
                "refundDateUtc": "2019-01-28T21:06:37.173Z",
                "components": [],
                "modifiers": [],
                "expirationDateUtc": "2019-01-28T20:19:14.56Z",
                "confirmationCode": "0109724903",
                "token": "5e9c9c19-be40-4ff8-af04-4ec6a30839fd",
                "fees": [
                    {
                        "cost": 1.92,
                        "name": "convenience",
                        "quantity": -1,
                        "total": -1.92,
                        "waived": false,
                        "waivedReason": "",
                        "tax": 0.17
                    }
                ],
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/5",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/movie": {
                        "href": "https://api.amctheatres.com/v2/movies/53099",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/theatre": {
                        "href": "https://api.amctheatres.com/v2/theatres/610",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/showtime": {
                        "href": "https://api.amctheatres.com/v2/showtimes/22641",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v1/event": {
                        "href": "https://api.amctheatres.com/v1/events/bnVsbC0yMzU5MTI1",
                        "templated": false
                    }
                },
                "lineItemNumber": 5
            },
            {
                "sku": "TICKET-GA-22641-ADULT",
                "status": "Refunded",
                "cost": 10.91,
                "tax": 0.92,
                "name": "Refund for ADULT Ticket",
                "theatre": "AMC DINE-IN Studio 28",
                "theatreId": 610,
                "movie": "Halloween",
                "showDateTime": "2019-01-29 09:20",
                "showDateTimeUtc": "2019-01-29T15:20:00Z",
                "performanceNumber": 3873,
                "format": "",
                "internalReleaseNumber": 63332,
                "auditorium": 16,
                "refundDateUtc": "2019-01-28T21:06:37.173Z",
                "components": [],
                "modifiers": [],
                "expirationDateUtc": "2019-01-28T20:19:14.56Z",
                "confirmationCode": "0109724903",
                "token": "4b4ad587-6a2f-4c79-b8f1-9cbaf8e65862",
                "fees": [
                    {
                        "cost": 1.92,
                        "name": "convenience",
                        "quantity": -1,
                        "total": -1.92,
                        "waived": false,
                        "waivedReason": "",
                        "tax": 0.17
                    }
                ],
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/products/6",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/movie": {
                        "href": "https://api.amctheatres.com/v2/movies/53099",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/theatre": {
                        "href": "https://api.amctheatres.com/v2/theatres/610",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v2/showtime": {
                        "href": "https://api.amctheatres.com/v2/showtimes/22641",
                        "templated": false
                    },
                    "https://api.amctheatres.com/rels/v1/event": {
                        "href": "https://api.amctheatres.com/v1/events/bnVsbC0yMzU5MTI1",
                        "templated": false
                    }
                },
                "lineItemNumber": 6
            }
        ],
        "payments": [
            {
                "type": "Visa",
                "cardNumberLast4": "1111",
                "balance": 0,
                "amount": 38.49,
                "status": "Settled",
                "lineItemNumber": 1,
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/payments/1",
                        "templated": false
                    }
                }
            },
            {
                "type": "Visa",
                "cardNumberLast4": "1111",
                "balance": 0,
                "amount": -38.49,
                "status": "Voided",
                "refundDateUtc": "2019-01-28T20:14:49.207Z",
                "lineItemNumber": 2,
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/payments/2",
                        "templated": false
                    }
                }
            },
            {
                "type": "Visa",
                "cardNumberLast4": "1111",
                "balance": 0,
                "amount": 25.66,
                "status": "Settled",
                "lineItemNumber": 3,
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/payments/3",
                        "templated": false
                    }
                }
            },
            {
                "type": "Visa",
                "cardNumberLast4": "1111",
                "balance": 0,
                "amount": -25.66,
                "status": "Voided",
                "refundDateUtc": "2019-01-28T21:06:37.08Z",
                "lineItemNumber": 4,
                "_links": {
                    "self": {
                        "href": "https://api.amctheatres.com/v3/orders/235912/payments/4",
                        "templated": false
                    }
                }
            }
        ]
    },
    "refundedPayments": [
        {
            "type": "Visa",
            "cardNumberLast4": "1111",
            "amount": 12.83,
            "refundDateUtc": "2019-01-28T20:14:49.207Z"
        },
        {
            "type": "Visa",
            "cardNumberLast4": "1111",
            "amount": 25.66,
            "refundDateUtc": "2019-01-28T21:06:37.08Z"
        }
    ],
    "messages": [],
    "_links": {
        "self": {
            "href": "https://api.amctheatres.com/v3/orders/235912",
            "templated": false
        },
        "https://api.amctheatres.com/rels/v1/order-will-call-check": {
            "href": "https://api.amctheatres.com/v1/orders/token-fa8c7cc8-24b0-439f-a47a-195cd68e87c6/will-call-check",
            "templated": false
        },
        "https://api.amctheatres.com/rels/v1/order-self-service-refund": {
            "href": "https://api.amctheatres.com/v1/orders/token-fa8c7cc8-24b0-439f-a47a-195cd68e87c6/refunds",
            "templated": false
        }
    }
}