{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/aegeanbot-com/json-schema/aegeanbot-com-manual-booking-in-schema.json",
  "title": "ManualBookingIn",
  "description": "A reservation the owner enters on the Multicalendar (phone / walk-in /\nrepeat guest): confirmed at once, no guest-facing page. Mirrors the fields\nof a PMS 'new reservation' dialog. Amount is the owner's total, not computed.",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/pms-aegeanbot-com-openapi.json#/components/schemas/ManualBookingIn",
  "properties": {
    "property_id": {
      "type": "string",
      "title": "Property Id"
    },
    "checkin": {
      "type": "string",
      "format": "date",
      "title": "Checkin"
    },
    "checkout": {
      "type": "string",
      "format": "date",
      "title": "Checkout"
    },
    "adults": {
      "type": "integer",
      "title": "Adults",
      "default": 1
    },
    "children": {
      "type": "integer",
      "title": "Children",
      "default": 0
    },
    "infants": {
      "type": "integer",
      "title": "Infants",
      "default": 0
    },
    "pets": {
      "type": "integer",
      "title": "Pets",
      "default": 0
    },
    "origin": {
      "type": "string",
      "title": "Origin",
      "default": "manual"
    },
    "status": {
      "type": "string",
      "title": "Status",
      "default": "confirmed"
    },
    "amount": {
      "type": "number",
      "title": "Amount"
    },
    "currency": {
      "type": "string",
      "title": "Currency",
      "default": "EUR"
    },
    "first_name": {
      "type": "string",
      "title": "First Name"
    },
    "last_name": {
      "type": "string",
      "title": "Last Name",
      "default": ""
    },
    "guest_email": {
      "type": "string",
      "title": "Guest Email",
      "default": ""
    },
    "guest_phone": {
      "type": "string",
      "title": "Guest Phone",
      "default": ""
    },
    "address": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Address"
    },
    "notes": {
      "type": "string",
      "title": "Notes",
      "default": ""
    },
    "paid_cash": {
      "type": "boolean",
      "title": "Paid Cash",
      "default": false
    },
    "settled_via": {
      "type": "string",
      "title": "Settled Via",
      "default": "cash"
    },
    "replaces_booking_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Replaces Booking Id"
    },
    "cleaning_fee": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cleaning Fee"
    },
    "extends_booking_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Extends Booking Id"
    }
  },
  "type": "object",
  "required": [
    "property_id",
    "checkin",
    "checkout",
    "amount",
    "first_name"
  ]
}