001package com.studentgui.apphelpers.dto;
002
003/**
004 * Typed payload for contact log entries.
005 */
006public class ContactPayload implements SessionPayload {
007    /** Database session id. */
008    public int sessionId;
009    /** Guardian/parent name. */
010    public String guardian;
011    /** Method of contact (Phone/Email/etc). */
012    public String method;
013    /** Phone number. */
014    public String phone;
015    /** Email address. */
016    public String email;
017    /** Brief response summary. */
018    public String response;
019    /** High-level general notes. */
020    public String general;
021    /** Specific action items or points. */
022    public String specific;
023    /** Full notes text. */
024    public String notes;
025
026    /** No-arg constructor for Jackson. */
027    public ContactPayload() {}
028
029    /**
030     * Create a contact payload.
031     *
032    * @param sessionIdParam database session id
033    * @param guardianParam guardian/parent name
034    * @param methodParam method of contact (Phone/Email/etc)
035    * @param phoneParam phone number
036    * @param emailParam email address
037    * @param responseParam brief response summary
038    * @param generalParam high-level general notes
039    * @param specificParam specific action items or points
040    * @param notesParam full notes text
041     */
042    public ContactPayload(final int sessionIdParam, final String guardianParam, final String methodParam, final String phoneParam, final String emailParam, final String responseParam, final String generalParam, final String specificParam, final String notesParam) {
043        this.sessionId = sessionIdParam;
044        this.guardian = guardianParam;
045        this.method = methodParam;
046        this.phone = phoneParam;
047        this.email = emailParam;
048        this.response = responseParam;
049        this.general = generalParam;
050        this.specific = specificParam;
051        this.notes = notesParam;
052    }
053
054    @Override
055    /**
056     * Return the database session id associated with this contact payload.
057     *
058     * @return numeric session id for the recorded contact entry
059     */
060
061    public int getSessionId() { return this.sessionId; }
062}