import 'package:ambito/src/entity/entities.dart';
import 'package:isar/isar.dart';
import 'package:json_annotation/json_annotation.dart';

part 'service_provider.g.dart';

@JsonSerializable(explicitToJson: true)
@collection
class ServiceProvider extends BaseEntity with EntityWithId {
  ServiceProvider();

  @JsonKey(name: 'Name des Dienstleisters')
  @Index()
  String? name;
  @JsonKey(name: 'Link Webseite')
  String? website;
  @JsonKey(name: 'Postleitzahl und Ort')
  String? postalCodeAndCity;
  @JsonKey(name: 'Telefonnummer')
  String? phoneNumber;
  @JsonKey(name: 'E-Mail')
  String? email;
  @JsonKey(name: 'Ansprechpersonen')
  List<IdValue>? contactPerson;
  @JsonKey(name: '00 Maßnahmen_Main')
  List<IdValue>? measures;
  @JsonKey(name: 'Straße und Hausnummer')
  String? streetAddress;
  @JsonKey(name: 'Region')
  List<IdValueColor>? region;
  @JsonKey(name: 'Art des Unternehmens')
  List<IdValueColor>? businessType;
  @JsonKey(name: 'Bio-zertifiziert?')
  bool certifiedBio = false;

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

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