{
  "$schema" : "http://json-schema.org/draft-04/schema#",
  "type" : "object",
  "properties" : {
    "amount" : {
      "type" : "integer",
      "maximum" : 9223372036854775807
    },
    "isFinal" : {
      "type" : "boolean"
    },
    "order" : {
      "$ref" : "#/definitions/CapturePaymentOrder"
    }
  },
  "additionalProperties" : false,
  "definitions" : {
    "AirlineData" : {
      "type" : "object",
      "properties" : {
        "agentNumericCode" : {
          "type" : "string"
        },
        "code" : {
          "type" : "string"
        },
        "flightDate" : {
          "type" : "string"
        },
        "flightLegs" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AirlineFlightLeg"
          },
          "minItems" : 0,
          "uniqueItems" : false
        },
        "invoiceNumber" : {
          "type" : "string"
        },
        "isETicket" : {
          "type" : "boolean"
        },
        "isRegisteredCustomer" : {
          "type" : "boolean"
        },
        "isRestrictedTicket" : {
          "type" : "boolean"
        },
        "isThirdParty" : {
          "type" : "boolean"
        },
        "issueDate" : {
          "type" : "string"
        },
        "merchantCustomerId" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "numberInParty" : {
          "type" : "integer",
          "maximum" : 2147483647
        },
        "passengerName" : {
          "type" : "string"
        },
        "passengers" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AirlinePassenger"
          },
          "minItems" : 0,
          "uniqueItems" : false
        },
        "placeOfIssue" : {
          "type" : "string"
        },
        "pnr" : {
          "type" : "string"
        },
        "pointOfSale" : {
          "type" : "string"
        },
        "posCityCode" : {
          "type" : "string"
        },
        "ticketDeliveryMethod" : {
          "type" : "string"
        },
        "ticketNumber" : {
          "type" : "string"
        },
        "totalFare" : {
          "type" : "integer",
          "maximum" : 10000
        },
        "totalFee" : {
          "type" : "integer",
          "maximum" : 10000
        },
        "totalTaxes" : {
          "type" : "integer",
          "maximum" : 10000
        },
        "travelAgencyName" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "AirlineFlightLeg" : {
      "type" : "object",
      "properties" : {
        "airlineClass" : {
          "type" : "string"
        },
        "arrivalAirport" : {
          "type" : "string"
        },
        "arrivalTime" : {
          "type" : "string"
        },
        "carrierCode" : {
          "type" : "string"
        },
        "conjunctionTicket" : {
          "type" : "string"
        },
        "couponNumber" : {
          "type" : "string"
        },
        "date" : {
          "type" : "string"
        },
        "departureTime" : {
          "type" : "string"
        },
        "endorsementOrRestriction" : {
          "type" : "string"
        },
        "exchangeTicket" : {
          "type" : "string"
        },
        "fare" : {
          "type" : "string"
        },
        "fareBasis" : {
          "type" : "string"
        },
        "fee" : {
          "type" : "integer",
          "maximum" : 10000
        },
        "flightNumber" : {
          "type" : "string"
        },
        "number" : {
          "type" : "integer",
          "maximum" : 2147483647
        },
        "originAirport" : {
          "type" : "string"
        },
        "passengerClass" : {
          "type" : "string"
        },
        "serviceClass" : {
          "type" : "string"
        },
        "stopoverCode" : {
          "type" : "string"
        },
        "taxes" : {
          "type" : "integer",
          "maximum" : 10000
        }
      },
      "additionalProperties" : false
    },
    "AirlinePassenger" : {
      "type" : "object",
      "properties" : {
        "firstName" : {
          "type" : "string"
        },
        "surname" : {
          "type" : "string"
        },
        "surnamePrefix" : {
          "type" : "string"
        },
        "title" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "CapturePaymentOrder" : {
      "type" : "object",
      "properties" : {
        "additionalInput" : {
          "$ref" : "#/definitions/CapturePaymentOrderAdditionalInput"
        },
        "references" : {
          "$ref" : "#/definitions/CapturePaymentOrderReferences"
        }
      },
      "additionalProperties" : false
    },
    "CapturePaymentOrderAdditionalInput" : {
      "type" : "object",
      "properties" : {
        "airlineData" : {
          "$ref" : "#/definitions/AirlineData"
        },
        "lodgingData" : {
          "$ref" : "#/definitions/LodgingData"
        }
      },
      "additionalProperties" : false
    },
    "CapturePaymentOrderReferences" : {
      "type" : "object",
      "properties" : {
        "merchantCaptureReference" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "LodgingCharge" : {
      "type" : "object",
      "properties" : {
        "chargeAmount" : {
          "type" : "integer",
          "maximum" : 9223372036854775807
        },
        "chargeAmountCurrencyCode" : {
          "type" : "string"
        },
        "chargeType" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "LodgingData" : {
      "type" : "object",
      "properties" : {
        "charges" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/LodgingCharge"
          },
          "minItems" : 0,
          "uniqueItems" : false
        },
        "checkInDate" : {
          "type" : "string"
        },
        "checkOutDate" : {
          "type" : "string"
        },
        "folioNumber" : {
          "type" : "string"
        },
        "isConfirmedReservation" : {
          "type" : "boolean"
        },
        "isFacilityFireSafetyConform" : {
          "type" : "boolean"
        },
        "isNoShow" : {
          "type" : "boolean"
        },
        "isPreferenceSmokingRoom" : {
          "type" : "boolean"
        },
        "numberOfAdults" : {
          "type" : "integer",
          "maximum" : 2147483647
        },
        "numberOfNights" : {
          "type" : "integer",
          "maximum" : 2147483647
        },
        "numberOfRooms" : {
          "type" : "integer",
          "maximum" : 2147483647
        },
        "programCode" : {
          "type" : "string"
        },
        "propertyCustomerServicePhoneNumber" : {
          "type" : "string"
        },
        "propertyPhoneNumber" : {
          "type" : "string"
        },
        "renterName" : {
          "type" : "string"
        },
        "rooms" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/LodgingRoom"
          },
          "minItems" : 0,
          "uniqueItems" : false
        }
      },
      "additionalProperties" : false
    },
    "LodgingRoom" : {
      "type" : "object",
      "properties" : {
        "dailyRoomRate" : {
          "type" : "string"
        },
        "dailyRoomRateCurrencyCode" : {
          "type" : "string"
        },
        "dailyRoomTaxAmount" : {
          "type" : "string"
        },
        "dailyRoomTaxAmountCurrencyCode" : {
          "type" : "string"
        },
        "numberOfNightsAtRoomRate" : {
          "type" : "integer",
          "maximum" : 2147483647
        },
        "roomLocation" : {
          "type" : "string"
        },
        "roomNumber" : {
          "type" : "string"
        },
        "typeOfBed" : {
          "type" : "string"
        },
        "typeOfRoom" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    }
  }
}
