{
  "schema_version": "1.0",
  "service_id": "night-print-toronto",
  "name": "Night Print",
  "url": "https://nightprint.shop/service",
  "summary": "Late-night A4 black-and-white PDF printing in North York, ordered through Telegram and paid by Interac e-Transfer.",
  "supported_order_interface": {
    "type": "TelegramBot",
    "url": "https://t.me/nightprint_bot?start=service_spec",
    "username": "@nightprint_bot"
  },
  "public_api": false,
  "service_area": ["North York", "Toronto"],
  "hours": {
    "timezone": "America/Toronto",
    "daily_open": "20:00",
    "daily_close": "02:00"
  },
  "accepted_inputs": {
    "format": ["application/pdf"],
    "files_per_order": {"minimum": 1, "maximum": 5},
    "printed_pages_maximum": 80,
    "password_protected_files": false
  },
  "output": {
    "media": "A4 paper",
    "colour": "black_and_white",
    "sides": "single_sided",
    "delivery_method": "pickup",
    "pickup_address": "39 Pemberton Ave, Toronto, ON M2M 4L6"
  },
  "pricing": {
    "currency": "CAD",
    "minimum": 10,
    "included_printed_pages": 10,
    "additional_page_price": 0.5,
    "exact_total_source": "Telegram bot after the customer finishes the order"
  },
  "payment": {
    "method": "Interac e-Transfer",
    "recipient_details": "Shown only inside the Telegram bot after order completion",
    "required_reference": "Put the order NP code in the Interac Message field"
  },
  "fulfilment": {
    "typical_ready_time": "About 15 minutes after a correctly matched payment",
    "guaranteed": false,
    "completion_signal": "Telegram ready-for-pickup message"
  },
  "success_criteria": [
    "Customer finishes the order in Telegram",
    "Exact Interac amount is received",
    "NP code is present in the Interac Message field",
    "Customer receives a ready-for-pickup message"
  ],
  "failure_handling": {
    "missing_or_incorrect_np_code": "Pause for manual payment review; customer should not send a second transfer",
    "wrong_payment_amount": "Pause for operator review and update the customer in Telegram",
    "invalid_pdf": "Do not print; explain the required correction",
    "printer_or_queue_delay": "Notify the customer in Telegram",
    "order_after_closing": "Move the order to the next service night"
  },
  "file_retention": "Completed, failed, or cancelled local files are deleted after 24 hours; unresolved-order files expire after 30 days.",
  "last_updated": "2026-07-21"
}
