{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "ProgrammerCV Resume Schema",
    "type": "object",
    "properties": {
        "meta": {
            "type": "object",
            "description": "Contains metadata information for the resume",
            "properties": {
                "format": {
                    "type": "string",
                    "description": "The canonical resume format and version. E.g. 'PROGRAMMERCV@1.0.0'."
                },
                "version": {
                    "type": "string",
                    "description": "The semantic version number for this resume. E.g. 1.0.0"
                }
            }
        },
        "basics": {
            "type": "object",
            "description": "Your basic information like the name, a label, an image, summary, contact information, location information and social media profiles.",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Your name as it should appear on the resume."
                },
                "label": {
                    "type": "string",
                    "description": "Your label, e.g. 'Full-Stack Developer', 'Web Developer', 'iOS Developer'."
                },
                "image": {
                    "type": "string",
                    "description": "URL or path to your picture in JPEG, PNG, GIF, or BMP format."
                },
                "summary": {
                    "type": "string",
                    "description": "A short description or summary of yourself."
                },
                "disposition": {
                    "type": "string",
                    "description": "Your overall attitude towards new employment opportunities including: travel, relocation, schedule, desired type of work, work authorization (e.g. Visas)"
                },
                "contact": {
                    "type": "object",
                    "description": "Contact information, including phone numbers, emails, websites, IMs, and custom contact types.",
                    "properties": {
                        "email": {
                            "type": "string",
                            "description": "Primary contact email."
                        },
                        "phone": {
                            "type": "string",
                            "description": "Primary phone number."
                        },
                        "website": {
                            "type": "string",
                            "description": "Website, blog, or home page."
                        },
                        "location": {
                            "type": "string",
                            "description": "Location information, like address, country, region, city etc."
                        },
                        "social": {
                            "type": "array",
                            "description": "Social networking services and communities including GitHub, FaceBook, and the like.",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "network": {
                                        "type": "string",
                                        "description": "The name of the social network."
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "Your user name, number or identifier on this network."
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL of your profile page on this network."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "employment": {
            "type": "array",
            "description": "Your employment summary and list of employment history.",
            "items": {
                "type": "object",
                "properties": {
                    "employer": {
                        "type": "string",
                        "description": "Employer name."
                    },
                    "position": {
                        "type": "string",
                        "description": "Your position or formal job title."
                    },
                    "url": {
                        "type": "string",
                        "description": "Employer website."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Date you began work"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "Date you finished work"
                    },
                    "summary": {
                        "type": "string",
                        "description": "A summary of your achievements and responsibilities under this employer."
                    },
                    "location": {
                        "type": "string",
                        "description": "Freeform location of the job or position, e.g., 'San Francisco, CA' or 'Tokyo'."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this employment.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "education": {
            "type": "array",
            "description": "Your education summary and history, e.g. college and university",
            "items": {
                "type": "object",
                "properties": {
                    "institution": {
                        "type": "string",
                        "description": "College or school name."
                    },
                    "fieldOfStudy": {
                        "type": "string",
                        "description": "e.g. Computer Science"
                    },
                    "degree": {
                        "type": "string",
                        "description": "e.g. Bachelor"
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Date this schooling began"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "Date this schooling ended"
                    },
                    "grade": {
                        "type": "string",
                        "description": "Grade or GPA."
                    },
                    "url": {
                        "type": "string",
                        "description": "Website or URL of the institution or school."
                    },
                    "summary": {
                        "type": "string",
                        "description": "A short summary of this education experience."
                    },
                    "location": {
                        "type": "string",
                        "description": "Freeform location of the education, e.g., 'San Francisco, CA' or 'Tokyo'."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this education.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "projects": {
            "type": "array",
            "description": "The personal projects you worked on.",
            "items": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "description": "Project name or code-name."
                    },
                    "summary": {
                        "type": "string",
                        "description": "Project description and summary of your achievements and responsibilities on the project."
                    },
                    "url": {
                        "type": "string",
                        "description": "Project URL."
                    },
                    "repo": {
                        "type": "string",
                        "description": "Repo URL."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Date your work on the project began"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "Date your work on the project ended"
                    },
                    "category": {
                        "type": "string",
                        "description": "The type of the project. E.g. 'Software', 'iOs App', 'Mobile App', 'Desktop Software', 'API'"
                    },
                    "images": {
                        "type": "array",
                        "description": "Images and screenshots of the project",
                        "items": {
                            "type": "object",
                            "properties": {
                                "thumbnail": {
                                    "type": "string",
                                    "description": "Thumbnail of the image with 300px width and 300px height"
                                },
                                "big": {
                                    "type": "string",
                                    "description": "The image in its original size"
                                }
                            }
                        }
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this project.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "openSource": {
            "type": "array",
            "description": "The open-source projects you worked on or contributed to.",
            "items": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "description": "Project name or code-name."
                    },
                    "summary": {
                        "type": "string",
                        "description": "Project description and summary of your achievements and responsibilities on the project."
                    },
                    "url": {
                        "type": "string",
                        "description": "Project URL."
                    },
                    "repo": {
                        "type": "string",
                        "description": "Repo URL."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Date your involvement with project began"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "Date your involvement with project ended"
                    },
                    "category": {
                        "type": "string",
                        "description": "The type of the project. E.g. 'Software', 'iOs App', 'Mobile App', 'Desktop Software', 'API'"
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this project.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "skills": {
            "type": "array",
            "description": "Your formal skills and capabilities.",
            "items": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the skill: 'Programming', 'Frameworks', 'Programming Languages', 'Project Management' etc."
                    },
                    "summary": {
                        "type": "string",
                        "description": "Description of the skill."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this skill.",
                        "items": {
                            "type": "string",
                            "description": "A keyword relating to this skill."
                        }
                    }
                }
            }
        },
        "qualifications": {
            "type": "array",
            "description": "Your qualifications for the job: e.g. certificates, test scores, continuing education, standalone programs and courses.",
            "items": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "Type of qualification: test score, course, certificate, program etc."
                    },
                    "title": {
                        "type": "string",
                        "description": "Title of the qualification."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Start date of the qualification"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "End dateof the qualification"
                    },
                    "from": {
                        "type": "string",
                        "description": "Name of the company, insitution, individual or issuer of the qualification."
                    },
                    "summary": {
                        "type": "string",
                        "description": "A brief description of the qualification and why you received it."
                    },
                    "url": {
                        "type": "string",
                        "description": "A webpage or other associated URL."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this qualification.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "recognition": {
            "type": "array",
            "description": "Your public or professional plaudits, kudos, awards, and other forms of positive external reinforcement.",
            "items": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "Type of recognition: award, honor, prize, etc."
                    },
                    "title": {
                        "type": "string",
                        "description": "Title of the award or recognition."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Start date of the recognition"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "End date of the recognition"
                    },
                    "from": {
                        "type": "string",
                        "description": "Name of the awarding company, insitution, or individual."
                    },
                    "summary": {
                        "type": "string",
                        "description": "A brief description of the recognition and why you received it."
                    },
                    "url": {
                        "type": "string",
                        "description": "A webpage or other associated URL."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this recognition.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "writing": {
            "type": "array",
            "description": "Your writing and publication history, from blogs and essays to novels and dissertations.",
            "items": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "description": "Title of the article, essay, or book."
                    },
                    "category": {
                        "type": "string",
                        "description": "E.g. 'book', 'article', 'essay', 'blog post', 'dissertation' or 'series'."
                    },
                    "date": {
                        "type": "string",
                        "description": "Publication date."
                    },
                    "url": {
                        "type": "string",
                        "description": "Website or URL of this writing or publication."
                    },
                    "publisher": {
                        "type": "string",
                        "description": "Name of the publisher"
                    },
                    "summary": {
                        "type": "string",
                        "description": "A brief summary of the publication."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this writing.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "reading": {
            "type": "array",
            "description": "Your reading habits. It is intended to demonstrate familiarity with industry-relevant publications, blogs, books, or other media that a competent industry candidate should be expected to know.",
            "items": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "description": "Title of the book, blog, or article."
                    },
                    "category": {
                        "type": "string",
                        "description": "The type of reading: book, article, blog, magazine, series, etc."
                    },
                    "url": {
                        "type": "string",
                        "description": "URL of the book, blog, or article."
                    },
                    "author": {
                        "type": "string",
                        "description": "Author of the book, blog, or article."
                    },
                    "date": {
                        "type": "string",
                        "description": "Publication date"
                    },
                    "summary": {
                        "type": "string",
                        "description": "A brief description of the book, magazine, etc."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this reading.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "speaking": {
            "type": "array",
            "section": "Your speaking engagements and presentations.",
            "items": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "description": "Speaking engagement title."
                    },
                    "event": {
                        "type": "string",
                        "description": "Event at which you presented."
                    },
                    "location": {
                        "type": "string",
                        "description": "Freeform location of the event, e.g., 'San Francisco, CA' or 'Tokyo'."
                    },
                    "url": {
                        "type": "string",
                        "description": "URL of the event website, or to a video of the presentation."
                    },
                    "date": {
                        "type": "string",
                        "description": "Presentation date."
                    },
                    "summary": {
                        "type": "string",
                        "description": "A description of this speaking engagement."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this speaking.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "patents": {
            "type": "array",
            "description": "The patents you are holding",
            "items": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "description": "Title of the patent"
                    },
                    "url": {
                        "type": "string",
                        "description": "A public URL to the patent details."
                    },
                    "number": {
                        "type": "string",
                        "description": "Number of the patent or patent application"
                    },
                    "status": {
                        "type": "string",
                        "description": "Patent status, e.g. pending or granted"
                    },
                    "summary": {
                        "type": "string",
                        "description": "Description of the patent"
                    },
                    "date": {
                        "type": "string",
                        "description": "Date of the patent granted, or application filed"
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this patent.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "languages": {
            "type": "array",
            "description": "Your knowledge of world languages such as English, Spanish, or Chinese.",
            "items": {
                "type": "object",
                "properties": {
                    "language": {
                        "type": "string",
                        "description": "The name of the language: English, Spanish, etc."
                    },
                    "level": {
                        "type": "string",
                        "description": "Level of fluency with the language, e.g. 'elementary', 'limited-working', 'professional-working', 'full-professional', 'native-or-bilingual'"
                    },
                    "years": {
                        "type": "string",
                        "description": "Amount of time language spoken?"
                    }
                }
            }
        },
        "interests": {
            "type": "array",
            "description": "Your interests and enthusiasms outside of work.",
            "items": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name or title of the interest or hobby."
                    },
                    "summary": {
                        "type": "string",
                        "description": "The description of the interest or hobby."
                    }
                }
            }
        },
        "extracurricular": {
            "type": "array",
            "description": "Your involvement with industry-related events and enterprises outside of work. For example: attending conferences, workshops, hackathon or meetups.",
            "items": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string",
                        "description": "Title of the extracurricular activity."
                    },
                    "summary": {
                        "type": "string",
                        "description": "Summary of the extracurricular activity."
                    },
                    "category": {
                        "type": "string",
                        "description": "The category of the extracurricular experience. E.g conference, workshop, meetup, hackathon etc."
                    },
                    "location": {
                        "type": "string",
                        "description": "City, state, or other freeform location."
                    },
                    "url": {
                        "type": "string",
                        "description": "A public URL to the extracurricular details."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Start date."
                    },
                    "endDate": {
                        "type": "string",
                        "description": "End date."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this extracurricular.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "affiliation": {
            "type": "array",
            "description": "Your membership in groups, clubs, organizations, and professional associations whether at the collegiate, corporate, or personal level.",
            "items": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "The type of affiliation: club, group, organization, non-profit etc."
                    },
                    "organization": {
                        "type": "string",
                        "description": "The name of the organization or group."
                    },
                    "url": {
                        "type": "string",
                        "description": "Organization website."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Date your affiliation with the organization began"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "Date your affiliation with the organization ended"
                    },
                    "summary": {
                        "type": "string",
                        "description": "A summary of your achievements and responsibilities during this affiliation."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this affiliation.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, CRM, HIPAA."
                        }
                    },
                    "location": {
                        "type": "string",
                        "description": "Freeform location of the position, e.g., 'San Francisco, CA' or 'Tokyo'."
                    }
                }
            }
        },
        "governance": {
            "type": "array",
            "description": "Your leadership, standards, board, and committee roles.",
            "items": {
                "type": "object",
                "properties": {
                    "summary": {
                        "type": "string",
                        "description": "Summary of your governance at this organization."
                    },
                    "category": {
                        "type": "string",
                        "description": "Type of governance: committee, board, standards group, etc."
                    },
                    "organization": {
                        "type": "string",
                        "description": "The name of the organization or group"
                    },
                    "url": {
                        "type": "string",
                        "description": "Organization website."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Start date of your involvement"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "End date of your involvement"
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this governance stint.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, CRM, HIPAA."
                        }
                    }
                }
            }
        },
        "service": {
            "type": "array",
            "description": "Your overall service history in the true sense of the word 'service': volunteer work, military participation, civilian core, rescue and emergency services, and the like.",
            "items": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "The type of service work, such as volunteer or military."
                    },
                    "organization": {
                        "type": "string",
                        "description": "The service organization, such as Red Cross or National Guard."
                    },
                    "url": {
                        "type": "string",
                        "description": "Organization website."
                    },
                    "startDate": {
                        "type": "string",
                        "description": "Date you joined the organization"
                    },
                    "endDate": {
                        "type": "string",
                        "description": "Date you left the organization"
                    },
                    "summary": {
                        "type": "string",
                        "description": "A summary of your achievements and responsibilities at this organization."
                    },
                    "location": {
                        "type": "string",
                        "description": "Freeform location of the position, e.g., 'San Francisco, CA' or 'Tokyo'."
                    },
                    "keywords": {
                        "type": "array",
                        "description": "Keywords associated with this service.",
                        "items": {
                            "type": "string",
                            "description": "For example, C++, HTML, HIPAA, etc."
                        }
                    }
                }
            }
        },
        "references": {
            "type": "array",
            "description": "Your personal, professional, and/or technical references.",
            "items": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The full name of the person giving the reference."
                    },
                    "role": {
                        "type": "string",
                        "description": "The occupation of this reference, or his or her relationship to the candidate."
                    },
                    "company": {
                        "type": "string",
                        "description": "The company of this reference"
                    },
                    "summary": {
                        "type": "string",
                        "description": "Summary information for this reference."
                    }
                }
            }
        }
    }
}