type: object
additionalProperties: false
required:
  - transactionRequestId
  - from
  - to
  - amountType
  - currency
  - amount
  - transactionType
properties:
  transferId:
    $ref: ./CorrelationId.yaml
  homeR2PTransactionId:
    type: string
    description: >-
      Transaction ID from the DFSP backend, used to reconcile transactions
      between the Switch and DFSP backend systems.
  transactionRequestId:
    $ref: ./CorrelationId.yaml
  from:
    $ref: ./transferParty.yaml
  to:
    $ref: ./transferParty.yaml
  amountType:
    $ref: ./AmountType.yaml
  currency:
    $ref: ./Currency.yaml
  amount:
    $ref: ./Amount.yaml
  transactionType:
    $ref: ./transferTransactionType.yaml
  note:
    $ref: ./Note.yaml
  currentState:
    $ref: ./transferStatus.yaml
  quoteId:
    $ref: ./CorrelationId.yaml
  quoteResponse:
    type: object
    required:
      - body
    properties:
      body:
        $ref: ./QuotesIDPutResponse.yaml
      headers:
        type: object
  quoteResponseSource:
    type: string
    description: >
      FSPID of the entity that supplied the quote response. This may not be the
      same as the FSPID of the entity which owns the end user account in the
      case of a FOREX transfer. i.e. it may be a FOREX gateway.
  authorizationResponse:
    type: object
    required:
      - body
    properties:
      body:
        $ref: ./AuthorizationIDPutResponse.yaml
      headers:
        type: object
  fulfil:
    type: object
    required:
      - body
    properties:
      body:
        $ref: ./TransfersIDPutResponse.yaml
      headers:
        type: object
  lastError:
    $ref: ./transferError.yaml
