package org.fao.fenix.commons.msd.dto.full;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.fao.fenix.commons.annotations.Description;
import org.fao.fenix.commons.annotations.Format;
import org.fao.fenix.commons.annotations.Label;
import org.fao.fenix.commons.annotations.Order;
import org.fao.fenix.commons.msd.dto.JSONEntity;

import java.io.Serializable;
import java.util.Map;

public class OjContact extends JSONEntity implements Serializable {
    
    @JsonProperty
    @Label(en="Telephone number")
    @Description(en="Telephone numbers at which the organization or individual may be contacted.")
    @Order(1)
    @Format(Format.FORMAT.tel)
    private String phone;

    @JsonProperty
    @Label(en="Address")
    @Description(en="Physical address at which the organization or individual may be contacted.")
    @Order(2)
    @Format(Format.FORMAT.string)
    private String address;

    @JsonProperty
    @Label(en="e-mail address")
    @Description(en="E-mail address at which the organization or individual may be contacted.")
    @Order(3)
    @Format(Format.FORMAT.email)
    private String emailAddress;

    @JsonProperty
    @Label(en="Hour of service")
    @Description(en="Time period (including time zone) when individuals can contact the organization or individual.")
    @Order(4)
    @Format(Format.FORMAT.string)
    private Map<String, String> hoursOfService;

    @JsonProperty
    @Label(en="Instruction")
    @Description(en="Supplemental instructions on how or when to contact the individual or organization.")
    @Order(5)
    @Format(Format.FORMAT.string)
    private Map<String, String> contactInstruction;


    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getEmailAddress() {
        return emailAddress;
    }

    public void setEmailAddress(String emailAddress) {
        this.emailAddress = emailAddress;
    }

    public Map<String, String> getHoursOfService() {
        return hoursOfService;
    }

    public void setHoursOfService(Map<String, String> hoursOfService) {
        this.hoursOfService = hoursOfService;
    }

    public Map<String, String> getContactInstruction() {
        return contactInstruction;
    }

    public void setContactInstruction(Map<String, String> contactInstruction) {
        this.contactInstruction = contactInstruction;
    }
}

@@ -516,18 +516,67 @@
  number%22
+,fr=%22Num%C3%A9ro de t%C3%A9l%C3%A9phone%22,es=%22N%C3%BAmero de tel%C3%A9fono%22
 )%0A
-
     @Des
@@ -775,24 +775,52 @@
 en=%22Address%22
+,fr=%22Adresse%22,es=%22Direcci%C3%B3n%22
 )%0A    @Descr
@@ -1032,16 +1032,72 @@
 address%22
+,fr=%22Adresse Email%22,es=%22Direcci%C3%B3n de correo electr%C3%B3nico%22
 )%0A    @D
@@ -1316,16 +1316,65 @@
 service%22
+,fr=%22Heures de service%22,es=%22Horarios de servicio%22
 )%0A    @D
@@ -1592,32 +1592,32 @@
   @JsonProperty%0A
-
     @Label(en=%22I
@@ -1627,16 +1627,50 @@
 ruction%22
+,fr=%22Instruction%22,es=%22Instrucci%C3%B3n%22
 )%0A    @D

Update OjContact.java