# coding: utf-8

"""
    Street Manager API

    See API specification Resource Guide > Work API for more information on endpoints NOTE: Swagger Editor/UI does not display all description text for enumerations and child elements, check swagger.json for full description text  # noqa: E501

    OpenAPI spec version: 1.0.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class AuditEvent(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    """
    allowed enum values
    """
    HISTORIC_ACTION = "historic_action"
    INSPECTION_PASSED = "inspection_passed"
    INSPECTION_FAILED = "inspection_failed"
    INSPECTION_UNABLE_TO_CARRY_OUT = "inspection_unable_to_carry_out"
    INSPECTION_FURTHER_REQUIRED = "inspection_further_required"
    INSPECTION_AGREED_SITE_COMPLIANCE = "inspection_agreed_site_compliance"
    INSPECTION_WITHDRAW_DEFECT = "inspection_withdraw_defect"
    ACTIVITY_SUBMITTED = "activity_submitted"
    ACTIVITY_EDITED = "activity_edited"
    ACTIVITY_CANCELLED = "activity_cancelled"
    FPN_SUBMITTED = "fpn_submitted"
    FPN_ACCEPTED = "fpn_accepted"
    FPN_PAID = "fpn_paid"
    FPN_DISPUTED = "fpn_disputed"
    FPN_WITHDRAWN = "fpn_withdrawn"
    PERMIT_GRANTED = "permit_granted"
    PERMIT_REFUSED = "permit_refused"
    PERMIT_CANCELLED = "permit_cancelled"
    PERMIT_REVOKED = "permit_revoked"
    PERMIT_DEEMED = "permit_deemed"
    PAA_GRANTED = "paa_granted"
    PAA_REFUSED = "paa_refused"
    PAA_CANCELLED = "paa_cancelled"
    PAA_REVOKED = "paa_revoked"
    ALTERATION_SUBMITTED = "alteration_submitted"
    ALTERATION_REFUSED = "alteration_refused"
    ALTERATION_GRANTED = "alteration_granted"
    ALTERATION_GRANTED_WITH_DURATION_CHALLENGE = "alteration_granted_with_duration_challenge"
    ALTERATION_DEEMED = "alteration_deemed"
    ALTERATION_CANCELLED = "alteration_cancelled"
    LANE_RENTAL_ASSESSED = "lane_rental_assessed"
    REINSTATEMENT_SUBMITTED = "reinstatement_submitted"
    FILE_UPLOADED = "file_uploaded"
    COMMENT_SUBMITTED = "comment_submitted"
    WORK_START_LOGGED = "work_start_logged"
    WORK_STOP_LOGGED = "work_stop_logged"
    WORK_START_REVERTED = "work_start_reverted"
    WORK_STOP_REVERTED = "work_stop_reverted"
    FORWARD_PLAN_SUBMITTED = "forward_plan_submitted"
    FORWARD_PLAN_CANCELLED = "forward_plan_cancelled"
    USER_REMOVED = "user_removed"
    USER_INVITED = "user_invited"
    USER_NAME_UPDATED = "user_name_updated"
    INSPECTION_UNITS_LOGGED = "inspection_units_logged"
    PERMIT_SUBMITTED = "permit_submitted"
    PAA_SUBMITTED = "paa_submitted"
    FORWARD_PLAN_EDITED = "forward_plan_edited"
    PERMIT_DISCOUNT_UPDATED = "permit_discount_updated"
    PAA_DISCOUNT_UPDATED = "paa_discount_updated"
    PAA_DEEMED = "paa_deemed"
    ORGANISATION_CONTRACT_ADDED = "organisation_contract_added"
    ORGANISATION_CONTRACT_REMOVED = "organisation_contract_removed"
    ORGANISATION_UPDATED = "organisation_updated"
    WORKSTREAM_CREATED = "workstream_created"
    WORKSTREAM_UPDATED = "workstream_updated"
    INSPECTION_WORKS_STOPPED = "inspection_works_stopped"
    INSPECTION_WORKS_STOPPED_APPARATUS_REMAINING = "inspection_works_stopped_apparatus_remaining"
    INSPECTION_WORKS_IN_PROGRESS = "inspection_works_in_progress"
    INSPECTION_WORKS_IN_PROGRESS_NO_CARRIAGEWAY_INCURSION = "inspection_works_in_progress_no_carriageway_incursion"
    INSPECTION_NON_COMPLIANT_WITH_CONDITIONS = "inspection_non_compliant_with_conditions"
    PERMIT_MODIFICATION_REQUEST = "permit_modification_request"
    SCHEDULED_INSPECTION_CANCELLED = "scheduled_inspection_cancelled"
    SCHEDULED_INSPECTION_CREATED = "scheduled_inspection_created"
    ALTERATION_APPLIED_AUTO = "alteration_applied_auto"
    SECTION_81_SUBMITTED = "section_81_submitted"
    FINAL_REINSTATEMENT_UPDATED = "final_reinstatement_updated"
    SECTION_81_ACKNOWLEDGED = "section_81_acknowledged"
    SECTION_81_ACCEPTED = "section_81_accepted"
    SECTION_81_ACCEPTED_FIXED = "section_81_accepted_fixed"
    SECTION_81_REJECTED = "section_81_rejected"
    SECTION_81_RESOLVED_BY_HA = "section_81_resolved_by_ha"
    SECTION_81_CANCELLED = "section_81_cancelled"
    SUPPORT_DESK_ACTION = "support_desk_action"
    PERMIT_HS2_ACKNOWLEDGED = "permit_hs2_acknowledged"
    GEOGRAPHICAL_AREA_CREATED = "geographical_area_created"
    GEOGRAPHICAL_AREA_UPDATED = "geographical_area_updated"
    WORKSTREAM_ACCESS_UPDATED = "workstream_access_updated"
    PLANNED_WORKS_RECORD_CREATED = "planned_works_record_created"
    IN_PROGRESS_WORKS_RECORD_CREATED = "in_progress_works_record_created"
    HISTORIC_WORKS_RECORD_CREATED = "historic_works_record_created"
    NON_NOTIFIABLE_WORKS_RECORD_CREATED = "non_notifiable_works_record_created"
    SECTION_81_WORKS_RECORD_CREATED = "section_81_works_record_created"
    UNATTRIBUTABLE_WORKS_RECORD_CREATED = "unattributable_works_record_created"
    UPCOMING_EVENT = "upcoming_event"
    SAMPLE_INSPECTION_TARGET_CREATED = "sample_inspection_target_created"
    SAMPLE_INSPECTION_TARGET_UPDATED = "sample_inspection_target_updated"
    SAMPLE_INSPECTION_CREATED = "sample_inspection_created"
    SAMPLE_INSPECTION_COMPLETED = "sample_inspection_completed"
    SAMPLE_INSPECTION_REMOVED = "sample_inspection_removed"
    SAMPLE_INSPECTION_EXPIRED = "sample_inspection_expired"
    INTERNAL_COMMENT_SUBMITTED = "internal_comment_submitted"
    COMMENT_READ = "comment_read"
    EXCAVATION_CARRIED_OUT_UPDATED = "excavation_carried_out_updated"
    SAMPLE_INSPECTION_TARGET_CLOSED = "sample_inspection_target_closed"
    SECTION_81_LINKED_TO_PERMIT = "section_81_linked_to_permit"
    SECTION_81_UNLINKED_FROM_PERMIT = "section_81_unlinked_from_permit"
    SECTION_81_REASSIGNED = "section_81_reassigned"
    PERMIT_GRANTED_WITH_DURATION_CHALLENGE = "permit_granted_with_duration_challenge"
    INSPECTION_WITHDRAWN = "inspection_withdrawn"
    SECTION_74_WARNING_ISSUED = "section_74_warning_issued"
    SECTION_74_WARNING_ACKNOWLEDGED = "section_74_warning_acknowledged"
    SECTION_74_SITE_VISITED_AND_RECTIFIED = "section_74_site_visited_and_rectified"
    SECTION_74_CHARGES_ENDED = "section_74_charges_ended"
    SECTION_74_WARNING_DISPUTED = "section_74_warning_disputed"
    SECTION_74_WITHDRAWN = "section_74_withdrawn"
    SECTION_74_DRAFT_INVOICE_ISSUED = "section_74_draft_invoice_issued"
    SECTION_74_RESOLVED = "section_74_resolved"
    SECTION_74_DRAFT_INVOICE_ACKNOWLEDGED = "section_74_draft_invoice_acknowledged"
    SECTION_74_CHARGE_UNDER_REVIEW = "section_74_charge_under_review"
    SECTION_74_CHARGE_AGREED = "section_74_charge_agreed"
    ALTERATION_DURATION_CHALLENGE_ACCEPTED = "alteration_duration_challenge_accepted"
    ALTERATION_DURATION_CHALLENGE_NOT_ACCEPTED = "alteration_duration_challenge_not_accepted"
    ALTERATION_DURATION_CHALLENGE_NON_ACCEPTANCE_RESPONSE = "alteration_duration_challenge_non_acceptance_response"
    PERMIT_DURATION_CHALLENGE_ACCEPTED = "permit_duration_challenge_accepted"
    PERMIT_DURATION_CHALLENGE_NOT_ACCEPTED = "permit_duration_challenge_not_accepted"
    PERMIT_DURATION_CHALLENGE_NON_ACCEPTANCE_RESPONSE = "permit_duration_challenge_non_acceptance_response"
    SECTION_58_CREATED = "section_58_created"
    SECTION_58_PROGRESSED = "section_58_progressed"
    SECTION_58_CANCELLED = "section_58_cancelled"
    SECTION_58_CLOSED = "section_58_closed"
    REINSTATEMENT_DELETED = "reinstatement_deleted"
    SITE_DELETED = "site_deleted"
    INSPECTION_DELETED = "inspection_deleted"
    SITE_SUBSUMED = "site_subsumed"
    FPN_DELETED = "fpn_deleted"
    CURRENT_TRAFFIC_MANAGEMENT_TYPE_UPDATED = "current_traffic_management_type_updated"
    ANCILLARY_INFO_ADDED = "ancillary_info_added"
    ANCILLARY_INFO_REMOVED = "ancillary_info_removed"
    SAMPLE_INSPECTION_ISSUED = "sample_inspection_issued"
    INSPECTION_OUTCOME_ACCEPTED = "inspection_outcome_accepted"
    INSPECTION_OUTCOME_DISPUTED = "inspection_outcome_disputed"
    INSPECTION_OUTCOME_PROMOTER_ACCEPTS_FAILED_INSPECTION = "inspection_outcome_promoter_accepts_failed_inspection"
    SAMPLE_INSPECTION_TARGET_DELETED = "sample_inspection_target_deleted"
    SAMPLE_INSPECTION_QUARTER_STARTED = "sample_inspection_quarter_started"
    SAMPLE_INSPECTION_QUARTER_ENDED = "sample_inspection_quarter_ended"
    FEE_MATRIX_UPDATED = "fee_matrix_updated"
    ORGANISATION_FPN_DETAILS_UPDATED = "organisation_fpn_details_updated"
    INSPECTION_AUTO_ACCEPTED = "inspection_auto_accepted"
    SAMPLE_INSPECTION_QUARTER_END_REVERTED = "sample_inspection_quarter_end_reverted"
    PRIVATE_STREET_NOTICE_ISSUED = "private_street_notice_issued"
    PRIVATE_STREET_NOTICE_CANCELLED = "private_street_notice_cancelled"
    NON_COMPLIANCE_ISSUED = "non_compliance_issued"
    NON_COMPLIANCE_WITHDRAWN = "non_compliance_withdrawn"
    NON_COMPLIANCE_RESOLVED = "non_compliance_resolved"
    INSPECTION_LINKED_TO_NON_COMPLIANCE = "inspection_linked_to_non_compliance"
    PERMIT_LINKED_TO_NON_COMPLIANCE = "permit_linked_to_non_compliance"
    INSPECTION_OUTCOME_JOINT_SITE_MEETING_NEEDED = "inspection_outcome_joint_site_meeting_needed"
    INSPECTION_OUTCOME_REVIEWING_DISPUTE = "inspection_outcome_reviewing_dispute"
    INSPECTION_OUTCOME_NO_AGREEMENT = "inspection_outcome_no_agreement"
    NON_COMPLIANCE_WORKS_COMPLETED_AND_PASSED = "non_compliance_works_completed_and_passed"
    NON_COMPLIANCE_JOINT_SITE_MEETING_SUGGESTED = "non_compliance_joint_site_meeting_suggested"
    NON_COMPLIANCE_WILL_ATTEND_JOINT_SITE_MEETING = "non_compliance_will_attend_joint_site_meeting"
    NON_COMPLIANCE_WORKS_COMPLETE_READY_FOR_INSPECTION = "non_compliance_works_complete_ready_for_inspection"
    NON_COMPLIANCE_JOINT_SITE_MEETING_NOT_NEEDED = "non_compliance_joint_site_meeting_not_needed"
    EVENT_SUBSCRIPTION_CREATED = "event_subscription_created"
    EVENT_SUBSCRIPTION_REMOVED = "event_subscription_removed"
    MATERIAL_CLASSIFICATION_SUBMITTED = "material_classification_submitted"
    NON_COMPLIANCE_ACCEPT_SUGGESTION = "non_compliance_accept_suggestion"
    PERMIT_UNDER_ASSESSMENT = "permit_under_assessment"
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
    }

    attribute_map = {
    }

    def __init__(self):  # noqa: E501
        """AuditEvent - a model defined in Swagger"""  # noqa: E501
        self.discriminator = None

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(AuditEvent, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, AuditEvent):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
