# Interface: FlowResult

Defined in: [packages/sdk/src/core/types.ts:220](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L220)

Result of a presented flow. Always resolved from `plandalf.present()` —
successful completions and user dismissals both produce a FlowResult so
callers can branch on `status` without needing a `.catch`. Only real
errors (network failure, bad slug, etc.) reject the promise.

## Properties

### customer?

> `optional` **customer?**: [`Customer`](https://plandalf.com/docs/packages/sdk/interfaces/Customer)

Defined in: [packages/sdk/src/core/types.ts:233](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L233)

Convenience — same as `result.session.customer`.

***

### reason?

> `optional` **reason?**: `"complete"` \| `"cancel"` \| `"escape"`

Defined in: [packages/sdk/src/core/types.ts:224](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L224)

When dismissed, why — backdrop / close button / escape.

***

### redirectUrl?

> `optional` **redirectUrl?**: `string`

Defined in: [packages/sdk/src/core/types.ts:235](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L235)

Where to redirect the customer after complete (if the offer configures one).

***

### session?

> `optional` **session?**: [`CheckoutSessionPayload`](https://plandalf.com/docs/packages/sdk/interfaces/CheckoutSessionPayload)

Defined in: [packages/sdk/src/core/types.ts:231](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L231)

The full CheckoutSession at the moment of completion (populated on
status='complete' only). Invoice + everything else lives in here —
inspect via `result.session.uuid`, `result.session.total`,
`result.session.invoice`, etc.

***

### status

> **status**: [`FlowResultStatus`](https://plandalf.com/docs/packages/sdk/type-aliases/FlowResultStatus)

Defined in: [packages/sdk/src/core/types.ts:222](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L222)

'complete' = user finished the flow. 'dismissed' = closed early.

Source: https://plandalf.com/docs/packages/sdk/interfaces/FlowResult
