{
    "type": "object",
    "title": "Receipt Event",
    "description": "Informs the client of new receipts.",
    "allOf": [{
        "$ref": "core-event-schema/event.yaml"
    }],
    "properties": {
        "content": {
            "type": "object",
            "patternProperties": {
                "^\\$": {
                    "type": "object",
                    "x-pattern": "$EVENT_ID",
                    "title": "Receipts",
                    "description": "The mapping of event ID to a collection of receipts for this event ID. The event ID is the ID of the event being acknowledged and *not* an ID for the receipt itself.",
                    "properties": {
                        "m.read": {
                            "type": "object",
                            "title": "Users",
                            "description": "A collection of users who have sent ``m.read`` receipts for this event.",
                            "patternProperties": {
                                "^@": {
                                    "type": "object",
                                    "title": "Receipt",
                                    "description": "The mapping of user ID to receipt. The user ID is the entity who sent this receipt.",
                                    "x-pattern": "$USER_ID",
                                    "properties": {
                                        "ts": {
                                            "type": "number",
                                            "description": "The timestamp the receipt was sent at."
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "type": {
            "type": "string",
            "enum": ["m.receipt"]
        },
        "room_id": {
            "type": "string"
        }
    },
    "required": ["room_id", "type", "content"]
}