# HppSessionCloneDataDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Output DTO containing the data needed to clone an existing HPP session
into a new session creation form. Includes full prefilled field values
(not redacted like `HppSessionDto`).

## Fields
- `hostedPageId` (string(uuid)): The hosted page the source session belongs to. A clone is created on this same page, so a  caller that did not arrive from the page's own editor can still resolve where the new link  goes.
- `merchantId` (string(uuid)): The merchant that owns the source session.
- `prefilledFields` (object): The full prefilled field key/value pairs from the source session. (nullable)
- `prefilledListFields` (object): The list-valued prefills for multi-value custom fields from the source session, keyed by  field name, or `null` when the source carries none. Cloned verbatim so a link built  from another link keeps every list the original carried. (nullable)
- `label` (string): The label from the source session, if any. (nullable)
- `cancelUrl` (string): The Back link address from the source session, if any. (nullable)
- `level3Data` ([Level3Data](https://devportal.demo.winkpg.io/docs/api/models/Level3Data.md)): The Level 3 enhanced data from the source session (header fields and line items), or  `null` when the source carries none. A copy the caller owns: changing it never changes  the source session. Send it back as `level3Data` on the create request so the new link  carries the same lines.
  Fields:
  - `shipFromZip` (string): The ZIP code from where the item is shipped. Conditional: When ShipFromZip is not null. Max length: 10. (nullable, max length 10)
  - `destinationZip` (string): The destination ZIP code for the shipment. Conditional: When DestinationZip is not null. Max length: 10. (nullable, max length 10)
  - `destinationCountryCode` (string): The destination country code for the shipment (ISO 3166-1 alpha-3 format). Conditional: When DestinationCountryCode is not empty. Pattern: ^[A-Z]{3}$. (nullable, max length 3)
  - `invoiceNumber` (string): The invoice number associated with the transaction. Conditional: When InvoiceNumber is not null. Max length: 25. (nullable, max length 25)
  - `orderNumber` (string): The order number for the transaction. Conditional: When OrderNumber is not null. Max length: 25. (nullable, max length 25)
  - `dutyAmount` (number(double)): The total duty amount for the transaction. Must be non-negative. Conditional: When DutyAmount is not null. Must be >= 0. (nullable)
  - `freightAmount` (number(double)): The total freight/shipping amount for the transaction. Must be non-negative. Conditional: When FreightAmount is not null. Must be >= 0. (nullable)
  - `discountAmount` (number(double)): The total discount amount applied at the header level. Must be non-negative. Conditional: When DiscountAmount is not null. Must be >= 0. (nullable)
  - `lineItems` (array<[Level3LineItem](https://devportal.demo.winkpg.io/docs/api/models/Level3LineItem.md)>) required: The list of line items associated with the transaction. (nullable, max items 250)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
