{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/flight-order-management-form-of-payment-schema.json",
  "title": "FormOfPayment",
  "description": "form of payment used",
  "type": "object",
  "properties": {
    "b2bWallet": {
      "title": "B2bWallet",
      "type": "object",
      "description": "b2b wallet",
      "properties": {
        "cardId": {
          "readOnly": true,
          "description": "card identifier",
          "type": "string",
          "example": "1245365895336"
        },
        "cardUsageName": {
          "description": "card usage name",
          "type": "string",
          "example": "Sample Name"
        },
        "cardFriendlyName": {
          "description": "card name",
          "type": "string",
          "example": "CB1",
          "pattern": "[a-zA-Z0-9]{1,35}"
        },
        "reportingData": {
          "type": "array",
          "title": "reportingData",
          "items": {
            "title": "reportingData",
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "example": "reconcil1"
              },
              "value": {
                "type": "string",
                "example": "data1"
              }
            }
          }
        },
        "virtualCreditCardDetails": {
          "description": "detail information of the virtual card",
          "allOf": [
            {
              "$ref": "#/definitions/CreditCardCommon"
            },
            {
              "$ref": "#/definitions/ElementaryPrice"
            }
          ]
        },
        "flightOfferIds": {
          "description": "Id of the concern flightOffers",
          "type": "array",
          "minItems": 1,
          "maxItems": 6,
          "items": {
            "type": "string"
          },
          "example": "1"
        }
      }
    },
    "creditCard": {
      "title": "creditCard",
      "type": "object",
      "description": "credit card",
      "allOf": [
        {
          "title": "creditCardCommon",
          "type": "object",
          "description": "credit card common attribute",
          "properties": {
            "brand": {
              "$ref": "#/definitions/CreditCardBrand"
            },
            "holder": {
              "description": "card holder as on the card",
              "type": "string",
              "example": "MR DUPON DAMIEN"
            },
            "number": {
              "description": "card number",
              "type": "string",
              "example": "4012999999999999",
              "pattern": "[a-zA-Z0-9]{1,35}"
            },
            "expiryDate": {
              "description": "credit card expiration date following [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) (YYYY-MM format, e.g. 2012-08)",
              "type": "string",
              "example": "2021-08"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "securityCode": {
              "description": "card security code",
              "type": "string",
              "example": "123"
            },
            "flightOfferIds": {
              "description": "Id of the concern flightOffers",
              "type": "array",
              "minItems": 1,
              "maxItems": 6,
              "items": {
                "type": "string"
              },
              "example": "1"
            }
          }
        }
      ]
    },
    "other": {
      "title": "creditCard",
      "type": "object",
      "description": "other payment method",
      "properties": {
        "method": {
          "description": "other payment method",
          "type": "string",
          "enum": [
            "ACCOUNT",
            "CHECK",
            "CASH",
            "NONREFUNDABLE"
          ],
          "example": "CASH"
        },
        "flightOfferIds": {
          "description": "Id of the concern flightOffers",
          "type": "array",
          "minItems": 1,
          "maxItems": 6,
          "items": {
            "type": "string"
          },
          "example": "1"
        }
      }
    }
  }
}