> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/transit-digitization/implement-apple-transit/card-based-ticketing-cbt/lifecycle-management/park-from-transit-issuer.md).

# Park from Transit Issuer

The issuer-initiated parking workflow can be triggered through one of the following 2 methods:

1. User uses his mobile application.
2. Directly from Transit Issuer system following business rules.

In both cases, D1 Transit solution receives a request from Transit Issuer system.

This section provides an overview of the workflow, including detailed steps, sequence diagrams, and potential error scenarios.

### Workflow <a href="#workflow" id="workflow"></a>

Below are the high level steps of the issuer initiated parking workflow:

1. **Card Removal**: Transit issuer initiates the removal of the card from user's device.
2. **Park Card**: In CBT ecosystem, there is a need to read the content of the applet instance within the device. To do so, Apple intiates a park redirect session with device.

### Sequence diagram <a href="#sequence-diagram" id="sequence-diagram"></a>

#### Card removal <a href="#card-removal" id="card-removal"></a>

Transit Issuer initiates a "park" session with device using the **manageDigitalCard (unlink)** request to D1 Transit.

D1 Transit sends the unlink request to Apple, so device can be woken up in order to fetch the commands to be executed for parking the card.

#### Park card <a href="#park-card" id="park-card"></a>

Once device is online, it will connect to D1 Transit server with a get pending commands request. D1 Transit sends **getDigitalCardBundleCommands** to Transit Issuer to fetch the commands that shall be returned and executed on device side.

Several round trips may occur to complete the park session.

At the end of the park session, D1 Transit sends a lifecycle notification to Transit Issuer.

**Error Scenarios**

**Device Offline**

As the request is not device-initiated, there is no certainty that the device will be online. In such cases, the request may never reach the device.

<figure><img src="/files/cMKZyv0RBzmc9FYcUeU6" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.payments.thalescloud.io/transit-digitization/implement-apple-transit/card-based-ticketing-cbt/lifecycle-management/park-from-transit-issuer.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
