# Migration Guide

## 1. API Endpoint Update

### Old API Endpoint:


```
/tickets/{ticketId}/qr:
  get:
    summary: Get ticket QR code
    description: Return an image of your ticket with scannable QR code. Used for event entry.
    operationId: getTicketCode
    tags:
      - Tickets
    parameters:
      - $ref: "#/components/parameters/TicketId"
    responses:
      "200":
        description: Scannable event ticket in image format.
        content:
          image/png:
            schema:
              $ref: "#/components/schemas/GetTicketCodeResponse"
      "400":
        $ref: '#/components/responses/BadRequest'
      "404":
        $ref: '#/components/responses/NotFound'
```

### New API Endpoint:


```
/tickets/{ticketId}/pkpass:
  get:
    summary: Get pkpass for a ticket
    description: Return a pkpass for your ticket. Can be added to your wallet app and used for event entry.
    operationId: getPkpass
    tags:
      - Tickets
    parameters:
      - $ref: "#/components/parameters/TicketId"
    responses:
      "200":
        description: Pkpass for a ticket.
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GetPkpassResponse"
      "400":
        $ref: '#/components/responses/BadRequest'
      "404":
        $ref: '#/components/responses/NotFound'
```

## 2. Key Changes and Benefits

### Changes:

- **Endpoint URL:** Updated from `/tickets/{ticketId}/qr` to `/tickets/{ticketId}/pkpass`.
- **Response Format:** Changed from image/png to application/json.
- **Description Update:** Clarified that the pkpass can be added to a wallet app for use.


### Benefits of pkpass Tickets:

- **Enhanced User Experience:** Users can easily add tickets to their mobile wallets with a tap.
- **Dynamic Updates:** Real-time updates for event details without issuing new tickets.
- **Security:** Encrypted and digitally signed, reducing fraud risks.


## 3. Migration Steps

### Technical Implementation:

- **API Integration:** Update API clients to call the new `/pkpass` endpoint.
- **Backend Updates:** Adjust backend systems to generate and serve pkpass files in JSON format.
- **Client Communication:** Notify users of the transition from QR codes to pkpass tickets, emphasizing benefits and instructions for adding tickets to their wallet apps.


### Testing and Rollout:

- **Testing:** Conduct thorough testing to ensure the new endpoint functions correctly across different scenarios.
- **Rollout Plan:** Deploy changes gradually, starting with internal testing and then moving to a phased rollout for external users.


## 4. Support and Documentation

### Update Documentation:

- **API Documentation:** Revise documentation to reflect the new endpoint and provide examples of retrieving and using pkpass tickets.
- **User Guides:** Create user guides or FAQs explaining how to add pkpass tickets to various wallet apps (e.g., Apple Wallet).


### Support Transition:

- **Customer Support:** Prepare support teams with knowledge about pkpass tickets to assist users with any questions or issues.
- **Feedback Collection:** Gather feedback from users to continuously improve the ticketing experience.