import 'package:json_annotation/json_annotation.dart';

part '../../.generated/services/models/room_dto.g.dart';

@JsonSerializable()
class RoomDto {
  final String confirmationNumber;
  String? assignedTo;
  final String name;
  final String description;
  final int guests;
  @JsonKey(defaultValue: [])
  final Iterable<String> imageAssets;
  @JsonKey(defaultValue: [])
  final Iterable<String> tags;

  RoomDto({
    required this.confirmationNumber,
    this.assignedTo,
    required this.name,
    required this.description,
    required this.guests,
    required this.imageAssets,
    required this.tags,
  });

  factory RoomDto.fromJson(Map<String, dynamic> json) => _$RoomDtoFromJson(json);

  Map<String, dynamic> toJson() => _$RoomDtoToJson(this);
}