/*
 * Solidarity Mobility API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * API version: 1.0.0
 * Generated by: OpenAPI Generator (https://openapi-generator.tech)
 */

package openapi

type PunctualAvailabilitySlot struct {

	// UNIX UTC timestamp in seconds.
	Date int32 `json:"date"`

	// Start time for punctual scheduling (RFC3339 partial-time).
	StartTime string `json:"startTime"`

	// End time for punctual scheduling (RFC3339 partial-time).
	EndTime string `json:"endTime"`
}

// AssertPunctualAvailabilitySlotRequired checks if the required fields are not zero-ed
func AssertPunctualAvailabilitySlotRequired(obj PunctualAvailabilitySlot) error {
	elements := map[string]interface{}{
		"date":      obj.Date,
		"startTime": obj.StartTime,
		"endTime":   obj.EndTime,
	}
	for name, el := range elements {
		if isZero := IsZeroValue(el); isZero {
			return &RequiredError{Field: name}
		}
	}

	return nil
}

// AssertPunctualAvailabilitySlotConstraints checks if the values respects the defined constraints
func AssertPunctualAvailabilitySlotConstraints(obj PunctualAvailabilitySlot) error {
	return nil
}
